2014-04-24 2 views
0

저는 Cobol Sort VSAM 파일로 첫 프로젝트를 진행하고 있습니다. 나는 RELEASE라는 키워드를 만났다.Cobol RELEASE 성명?

책 읽기 방법은 내가 가진 것을 정렬 작업의 입력 단계에 입력 절차에서 "릴리스 문이 전송 기록이다

내 질문은 다음과 같습니다. 나는에 가지고 무엇을 적 소요 내 정렬 - 녹화 (또는 나는 그것을 붙인) 내 SORT의 OUTPUT 절차 부분에 직접 전송

여기 나에게 혼란을 보인다

코볼 코드 :?.

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.         

답변

3

코볼의 종류를 사용하여 조금 하나 개의 프로그램에서 두 개 또는 세 개의 별도의 프로그램을하는 것과 같다, 빌에서 다음.

Pre-Sort (PROC-THE-REC in your case) 
    | 
    V 
    Sort 
    | 
    V 
Post sort (WRITE-THE-RPT in your case) 

RELEASE"정렬" 단계에 레코드를 "기록". 당신이 으로 출시 교환이 개 별도의 프로그램을 작성

  • (사전 및 사후 정렬)
  • 하여 같은 일을 달성 할 수 유닉스에서

    는 사전의 출력을 파이프

  • 기록 정렬까지.

메인 프레임에서 3 개의 JCL 단계와 임시 파일을 사용합니다. 메인 프레임에


, 나는 코볼의 사용 종류 동사 억제 (금지)에서 근무하고이 개 프로그램을 작성하고 유틸리티 정렬을 사용하는 것이 대부분의 사이트.

2

릴리스 명령문은 레코드를 입력 조작 절차에서 입력 조작 단계 인 으로 전송합니다.

정렬의 입력 단계는 SORT가이 경우 데이터를 가져 오는 곳입니다.

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 문 시점에 프로그램에 다시 표시되며 정렬 된 모든 파일이 처리 될 때까지 계속됩니다 (반환 후 물건, 다른 반환, 완료 될 때까지 반복) 일찍 멈추고 싶지 않은 것은 아무 것도 잘못되지 않습니다.)

0

INPUT PROCEDURE는 SORT의 SD 항목에 선언 된 작업 파일에 레코드를 기록하여 정렬 프로세스에 레코드를 제공합니다. 그러나 레코드를 작업 파일에 쓰려면 특수 동사 - RELEASE 동사가 사용됩니다.

입력 파일에서 레코드를 가져 와서 작업 파일에 기록하는 INPUT PROCEDURE의 작동 템플릿은 아래와 같습니다. 일반적으로

0

http://www.csis.ul.ie/cobol/course/SortMerge.htm에서 내 튜토리얼을 참조 SORT에 대한 자세한 내용은

OPEN INPUT InFileName 
READ InFileName 
PERFORM UNTIL TerminatingCondition 
    Process input record to create SDWorkRec 
    RELEASE SDWorkRec 
    READ InFileName 
END-PERFORM 
CLOSE InFileName 

, COBOL 정렬 절차는 다음과 같습니다

SORT SORTFILE ON SORT-ID, SORT-PHONE SORT-NAME,

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. 

PRINT-SORTED SECTION.

loop: 

    RETURN SORT-REC. 
    DISPLAY "id#: " SORT-ID. 
    DISPLAY "Name: " SORT-NAME. 
    DISPLAY "Phone: " SORT-PHONE.