Cobol发布声明?
我正在使用Cobol排序VSAM文件进行我的第一个项目。我遇到了一个关键字发布 我读这本书的方式是release语句将记录从输入过程传输到排序操作的输入阶段 我的问题是:这会将我在Sort Rec或我称之为它的任何内容直接发送到Sort的输出过程部分吗 我觉得这里很混乱 Cobol代码:Cobol发布声明?,cobol,Cobol,我正在使用Cobol排序VSAM文件进行我的第一个项目。我遇到了一个关键字发布 我读这本书的方式是release语句将记录从输入过程传输到排序操作的输入阶段 我的问题是:这会将我在Sort Rec或我称之为它的任何内容直接发送到Sort的输出过程部分吗 我觉得这里很混乱 Cobol代码: SORT SORT-FILE ASCENDING KEY SORT-PROVIDER INPUT PROCEDURE IS PROC-THE-REC THRU PTR-X OUT
SORT SORT-FILE ASCENDING KEY SORT-PROVIDER
INPUT PROCEDURE IS PROC-THE-REC THRU PTR-X
OUTPUT PROCEDURE IS WRITE-THE-RPT THRU WTR-X.
MOVE CC-CERT-NO TO SAVE-CERT-NO.
MOVE CC-CERT-STATUS TO SAVE-CERT-STATUS.
MOVE CC-CERT-BEGIN-DATE TO SAVE-CERT-BEGIN-DATE.
MOVE CC-CERT-END-DATE TO SAVE-CERT-END-DATE.
MOVE CC-CERT-FUNDING TO SAVE-CERT-FUNDING.
MOVE CC-PROV-NUMB TO SAVE-PROV-NUMB.
MOVE CC-PROV-RES-CNTY TO SAVE-PROV-RES-CNTY.
MOVE CC-PROV-TYPE TO SAVE-PROV-TYPE.
MOVE CC-WORKER-USERID TO SAVE-WORKER-USERID.
MOVE CC-WORKER-NAME TO SAVE-WORKER-NAME.
RELEASE SORT-REC.
release语句将记录从输入过程传输到
排序操作的输入阶段
在本例中,排序的输入阶段是排序从中获取数据的位置
COBOL Program
Loop-construct
Some COBOL code
Release
Next
The sort is actually an external program. In the case of the Mainframe,
it is the installed SORT product (usually DFSORT or SyncSort)
Input Phase of SORT
SORT
Output Phase of SORT
Another-Loop-construct
Some COBOL code
Return
Next
COBOL Program
您的输入过程将处理、发布,然后继续。所有数据发布后,将进行排序。排序后的记录将在您编写的RETURN语句处返回给您的程序,这将继续返回,一次返回后再返回,再次返回,重复直到完成,直到处理完所有排序后的文件,假设没有任何问题,并且您希望提前停止
release语句将记录从输入过程传输到
排序操作的输入阶段
在本例中,排序的输入阶段是排序从中获取数据的位置
COBOL Program
Loop-construct
Some COBOL code
Release
Next
The sort is actually an external program. In the case of the Mainframe,
it is the installed SORT product (usually DFSORT or SyncSort)
Input Phase of SORT
SORT
Output Phase of SORT
Another-Loop-construct
Some COBOL code
Return
Next
COBOL Program
您的输入过程将处理、发布,然后继续。所有数据发布后,将进行排序。排序后的记录将在您将要编码的返回语句处显示回您的程序,这将继续返回,返回后填充,再次返回,重复直到完成,直到处理完所有排序后的文件,假设没有任何问题,您希望提前停止。从Bill开始
在Cobol中使用排序有点像在一个程序中有两个或三个单独的程序
Pre-Sort (PROC-THE-REC in your case)
|
V
Sort
|
V
Post sort (WRITE-THE-RPT in your case)
RELEASE语句将记录写入排序步骤
在Unix中,您可以通过
在排序前和排序后编写两个单独的程序
用写操作替换发行版
将输出从预排序输送到排序。
在大型机上,您将使用3个JCL步骤和临时文件
在大型机上,我工作过的大多数站点都禁止使用Cobol排序动词,您可以编写两个程序并使用实用程序排序。下面是Bill
在Cobol中使用排序有点像在一个程序中有两个或三个单独的程序
Pre-Sort (PROC-THE-REC in your case)
|
V
Sort
|
V
Post sort (WRITE-THE-RPT in your case)
RELEASE语句将记录写入排序步骤
在Unix中,您可以通过
在排序前和排序后编写两个单独的程序
用写操作替换发行版
将输出从预排序输送到排序。
在大型机上,您将使用3个JCL步骤和临时文件
在大型机上,我工作过的大多数站点都禁止使用Cobol排序谓词,您将编写两个程序并使用实用程序排序。输入过程通过将记录写入排序的SD条目中声明的工作文件来向排序过程提供记录。但是要将记录写入工作文件,需要使用一个特殊的动词-RELEASE动词 输入过程的操作模板如下所示,该模板从输入文件中获取记录并将其发布到工作文件中
OPEN INPUT InFileName
READ InFileName
PERFORM UNTIL TerminatingCondition
Process input record to create SDWorkRec
RELEASE SDWorkRec
READ InFileName
END-PERFORM
CLOSE InFileName
有关排序的更多详细信息,请参见我的教程,网址为。输入过程通过将记录写入排序的SD条目中声明的工作文件来为排序过程提供记录。但是要将记录写入工作文件,需要使用一个特殊的动词-RELEASE动词 输入过程的操作模板如下所示,该模板从输入文件中获取记录并将其发布到工作文件中
OPEN INPUT InFileName
READ InFileName
PERFORM UNTIL TerminatingCondition
Process input record to create SDWorkRec
RELEASE SDWorkRec
READ InFileName
END-PERFORM
CLOSE InFileName
有关排序的更多详细信息,请参见我的教程,网址为。通常情况下,COBOL排序过程包括: 根据SORT-ID、SORT-NAME、SORT-PHONE对SORT文件进行排序
INPUT PROCEDURE IS READ-IN
OUTPUT PROCEDURE IS PRINT-SORTED.
读入部分
loop:
READ INPUTFILE.
MOVE IN-ID TO SORT-ID.
MOVE IN-NAME TO SORT-NAME.
MOVE IN-PHONE TO SORT-PHONE.
RELEASE SORT-REC.
打印排序部分
loop:
RETURN SORT-REC.
DISPLAY "id#: " SORT-ID.
DISPLAY "Name: " SORT-NAME.
DISPLAY "Phone: " SORT-PHONE.
通常,COBOL排序程序包括: 根据SORT-ID、SORT-NAME、SORT-PHONE对SORT文件进行排序
INPUT PROCEDURE IS READ-IN
OUTPUT PROCEDURE IS PRINT-SORTED.
读入部分
loop:
READ INPUTFILE.
MOVE IN-ID TO SORT-ID.
MOVE IN-NAME TO SORT-NAME.
MOVE IN-PHONE TO SORT-PHONE.
RELEASE SORT-REC.
打印排序部分
loop:
RETURN SORT-REC.
DISPLAY "id#: " SORT-ID.
DISPLAY "Name: " SORT-NAME.
DISPLAY "Phone: " SORT-PHONE.