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

我正在使用Cobol排序VSAM文件进行我的第一个项目。我遇到了一个关键字发布

我读这本书的方式是release语句将记录从输入过程传输到排序操作的输入阶段

我的问题是:这会将我在Sort Rec或我称之为它的任何内容直接发送到Sort的输出过程部分吗

我觉得这里很混乱

Cobol代码:

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.