Presentation is loading. Please wait.

Presentation is loading. Please wait.

이행 DATA 자동 편집 USER 작성 프로그램

Similar presentations


Presentation on theme: "이행 DATA 자동 편집 USER 작성 프로그램"— Presentation transcript:

1 이행 DATA 자동 편집 USER 작성 프로그램
(별첨1) 1.SOURCE LIBRARY - GEM-LIB : Y1.GLIB.V90 - COPY-LIB: Y1.CLIB.V90 - EB-LIB : Y1.ELIB.V90 - JCL-LIB : Y1.JLIB.V90 - USER작성 프로그램 Sample : YFD200BF, YFD200OS, YFD200BS 2.MAIN 프로그램 수정부분 -. 로 된 부분만 수정 필요. . AS-IS검증-F, TO-BE 편성-F, AS-IS 원장 File의 Length 기술 --> 초기 DATA SETUP용 프로그램 . 프로그램 LOGIC 처리부분: LOGIC 처리 필요시 : 공통 3.전제사항: 가. 공통 사항 -.TO-BE LAY-OUT의 항목 갯수는 500개 이내에서만 사용 할수있다. (500개 이상시 필히 사전 협의 요함) 나. 초기 DATA 편성시 -.AS-IS 및 TO-BE FILE의 LENGTH는 최소 12 BYTE이상, MAX 32,760 BYTE 이내에서만 사용할수 있다 -.편성 실행 JCL 작성시, AS-IS 및 TO-BE FILE의 BLKSIZE는 MAX 32,760 BYTE를 넘을수 없다(이상 지정시 JCL ERROR) -.3번 사항과 관련 RECORD LENGTH가 320 BYTE내에 것은 통상 100배 이내에서 BLKSIZE를 지정하고 LENGTH가 이보다 큰것은 가능한 한 32,760 BYTE에 근접하게 BLKSIZE를 지정한다. 다. REAL DATA 편성시 -.AS-IS 추출 송신대상 FILE 및 TO-BE 편성 송신용 FILE은 DAM-F로 한다 -.DAM-F LENGTH : 권장사항 1. REAL 송신용(B/C DATA) AS-IS DAM-F: 25,000 BYTE 2. REAL 송신용(B/C DATA) TO-BE DAM-F: 5,000 BYTE 3. 일괄 송신용(P/C DATA) AS-IS DAM-F: 3,000 BYTE 3. 일괄 송신용(P/C DATA) TO-BE DAM-F: 3,000 BYTE 4.프로그램 처리시 Data의 취득 방법 가.AS-IS 항목 Data -.프로그램 WORKING AREA 내 해당 AS-IS 항목 COPY LAYOUT를 정의한후 AS-IS 추출 파일의 해당 RECORD부분을 각각 MOVE 처리후 항목 ID로 처리 나.TO-BE 항목 Data -.별도의 COPY LAYOUT 신규 작성후 항목 ID로 처리: .시스템에서 제작 제공: TO-BE 항목 기준 T/B 편성 JOB 실행시 자동작성 .File Length: 위에서 작성된 Copy Layout 하단에 기술되어 있음 5.추출 FILE 공통부 LAY-OUT *********************************************************** * YDMDW10W : AS-IS 파일 공통부 * * WORK COPY-REC ( 200 BYTE ) * 01 ASIS-COMMON. 03 ASIS-SEQ PIC 9(10). -> SEQ-NO 03 ASIS-ID PIC X(10). -> FILE-ID or DATA-ID 03 ASIS-RECORD OCCURS TIMES. 통 레코드 편성 순서 순 05 ASIS-RECORD PIC X(10). -> AS-IS항목 RECORD-ID 05 ASIS-LENGTH PIC 9(05). -> AS-IS항목 RECORD 총 길이 03 FILLER PIC X(20). 03 ASIS-REAL-DATA. -> REAL DATA 편성용 05 ASIS-UPMU-GB PIC X(02). -> 업무구분 코드 05 ASIS-DATA-GB PIC X(01). -> DATA 발생 구분 코드 05 FILLER PIC X(07). -주의사항: 1. AS-IS항목 RECORD-ID는 필히 TO-BE 항목에 대응된 RECORD ID로 해야 한다. 2. AS-IS항목 RECORD 총 길이는 해당 RECORD의 총 LENGTH 기술. 3. AS-IS RECORD-ID 및 RECORD 길이의 기술은 필히 AS-IS 통 RECORD 편성 순서순으로 기술 하여야 한다. 4. REAL DATA 편성시는 필히 ASIS-ID에 발생 DATA-ID 및 ASIS-REAL-DATA Filed에 지정된 사항들을 기술하여야 한다 1

2 USER 작성 프로그램 SAMPLE (초기 DATA 편성시)
(별첨1: YFD200BF) INPUT-OUTPUT SECTION. FILE-CONTROL. * SELECT ASIS-F ASSIGN TO ASIS1. SELECT TOBE-F ASSIGN TO TOBE1. SELECT DATA-F ASSIGN TO ASIS2. * *================================================================* DATA DIVISION. *================================================================* FILE SECTION. * *-- AS-IS INPUT FILE LENGTH 변경 * FD ASIS-F LABEL RECORD IS STANDARD DATA RECORD IS ASIS-R. * ASIS-R PIC X(0255). * *-- TO-BE OUTPUT FILE LENGTH 변경 * FD TOBE-F LABEL RECORD IS STANDARD DATA RECORD IS TOBE-R. * TOBE-R PIC X(0111). * *-- AS-IS DATA 검증용 FILE LENGTH 변경 * FD DATA-F LABEL RECORD IS STANDARD DATA RECORD IS DATA-R. * DATA-R PIC X(0089). * * *================================================================* WORKING-STORAGE SECTION. *================================================================* WORK-AREA. END-M PIC X(001). READ-CNT PIC 9(005). WRITE-CNT PIC 9(005). Y2K-YMD. Y2K-YY PIC X(04). Y2K-MM PIC X(02). Y2K-DD PIC X(02). * * 프로그램 처리시 AS-IS, TO-BE COPY구 정의: 이하 예 * COPY ASISCOPY. * COPY TOBECOPY. * OPEN INPUT ASIS-F OUTPUT TOBE-F DATA-F. * INIT-EXIT. EXIT. * * * SUB-PROGRAM 용 LINKAGE 영역 정의:SUB PROGRAM ONLY 영역 * * * COPY YDMD200C. * * * LINKAGE SECTION. * * LINK-R. LK-PARM PIC S9(04) COMP. LK-TOBE-ID PIC X(10). LK-ASIS-M PIC X(01). * *================================================================* PROCEDURE DIVISION USING LINK-R. *================================================================* PROCESS-STN SECTION. *================================================================* PROCESS-RTN. * PERFORM INIT-STN. PERFORM MAIN-STN UNTIL END-M = '*'. PERFORM FINAL-STN. * PROCESS-EXIT. EXIT. * *================================================================* INIT-STN SECTION. *================================================================* INIT-RTN. * MOVE FUNCTION CURRENT-DATE TO Y2K-YMD. DISPLAY '===== YFD200BF PGM STARTED ====' Y2K-YMD. DISPLAY '=> TO-BE 제공용 이행 DATA 편성 MAIN PGM =>'. * INITIALIZE WORK-AREA. * * 서브 프로그램 CALL를 위한 편성대상 TO-BE ID 연계 INITIALIZE SUB-PGM-WORK. MOVE LK-TOBE-ID TO SUB-TOBE-ID. * * * 서브 프로그램 CALL를 위한 AS-IS, TO-BE, 검증-F LENGTH 지정 * MOVE TO IN-LEN. MOVE TO OUT-LEN. MOVE TO AS-LEN. * * 2

3 USER 작성 프로그램 SAMPLE (초기 DATA 편성시)
(별첨1: YFD200BF) * *================================================================* MAIN-STN SECTION. *================================================================* MAIN-RTN. * READ ASIS-F AT END MOVE '*' TO END-M GO TO MAIN-EXIT. * ADD TO READ-CNT. * * 필요시 자동편성 SUB PROGRAM CALL 여부판단 조건문기술 * - ASIS-R을 편성된 각 RECORD 단위로 AS-IS COPY-R 에 * MOVE 후 AS-IS RECORD의 원 항목ID로 조건문 기술 * * 서브 프로그램 CALL를 위한 TO-BE RECORD 연계 MOVE ASIS-R TO SUB-ASIS-R. * * 자동 편성 서브 프로그램 CALL CALL 'CPI2DATA' USING SUB-PGM-WORK YDMDT12T-R ASIS-COMMON SUB-ASIS-R SUB-TOBE-R SUB-DATA-R. * IF SUB-RT-CODE = 'E' MOVE '*' TO END-M DISPLAY 'TO-BE 기준 TABLE ERROR !!! ' DISPLAY '!!! 프로그램 강제종료 !!! ' GO TO MAIN-EXIT. * * 프로그램 로직 처리시는 MAIN 프로그램에서 별도처리. IF SUB-RT-CODE = 'P' PERFORM PROGRAM-STN. * * 서브 프로그램 에서 편성된 RECORD 를 출력 RECORD에 MOVE MOVE SUB-TOBE-R TO TOBE-R. MOVE SUB-DATA-R TO DATA-R. * * 편성완료된 TO-BE 이행 DATA WRITE. WRITE TOBE-R. * * 검증용 AS-IS 원장 DATA WRITE(필요시만) IF LK-ASIS-M = '*' WRITE DATA-R. * ADD TO SUB-HKEY-NO WRITE-CNT. * MAIN-EXIT. EXIT. * *================================================================* PROGRAM-STN SECTION. *================================================================* PROGRAM-RTN. * * 1.프로그램 처리 사전준비 처리(필수) * * -필요 AS-IS RECORD를 RECORD단위로 WORK내 ASISCOPY-R로 MOVE * MOVE ASIS-R(201:800) TO ASISCOPY-R. * * -SUB PGM에서 편성된 SUB-TOBE-R을 WORK내 TOBECOPY-R로 MOVE * MOVE SUB-TOBE-R TO TOBECOPY-R. * * 2.프로그램 로직 본처리 * 본처리 사항 기술 * IF DP-DK OF DP-EJ0001R = 'ABC' AND * DP-DK111(2:2) OF DP-EJ0002R = '99' * MOVE 'A1234' TO YD-MAT-PRE-FAC. * * 3.프로그램 로직 마감처리(필수) * - WORK내 TOBECOPY-R을 OUT-F TOBE-R에 MOVE * MOVE TOBECOPY-R TO SUB-TOBE-R. * * 4.주의:AS-IS VS TO-BE가 1:N 복수 WRITE시 HIDDEN-KEY 처리. * - WRITE 후 SUB-HKEY-NO에 ADD 1 하여 HIDDEN-KEY MOVE * * PROGRAM-EXIT. EXIT. * *================================================================* FINAL-STN SECTION. *================================================================* FINAL-RTN. * CLOSE ASIS-F TOBE-F DATA-F. * DISPLAY '==> TOTAL READ COUNT ==> ' READ-CNT. DISPLAY '==> TOTAL WRITE COUNT ==> ' WRITE-CNT. * STOP RUN. * FINAL-EXIT. EXIT. 3

4 USER 작성 프로그램 SAMPLE (B/C REAL-DATA)
(별첨2: YFD200OS) *================================================================* DATA DIVISION. *================================================================* * *================================================================* WORKING-STORAGE SECTION. *================================================================* * WORK-AREA. END-M PIC X(001). READ-CNT PIC 9(005). WRITE-CNT PIC 9(005). * * 프로그램 처리시 AS-IS, TO-BE COPY구 정의: * COPY ASISCOPY. * COPY TOBECOPY. * * * * REAL-DATA 송신용 DAM-F COPY LAY-OUT : 5000 BYTE * * * * COPY YDMDAMBC. * * * * SYNCHRONUS DATA COMMUNICATION CONTROL AREA * * * SYNDCOM. COPY COBSDCOM. COPY CBACSAPI. * ACSSPA PIC X(256). * * * LINKAGE SECTION. * * * * SUB-PROGRAM 용 LINKAGE 영역 정의:SUB PROGRAM ONLY 영역 * COPY YDMD200C. COPY YDMDEAIC. * *================================================================* PROCEDURE DIVISION USING SUB-PGM-WORK YDMDT12T-R ASIS-COMMON SUB-ASIS-R SUB-TOBE-R SUB-DATA-R YDMDEAIC-R. *================================================================* PROCESS-STN SECTION. *================================================================* PROCESS-RTN. * INITIALIZE WORK-AREA. * PERFORM MAIN-PROCESS-STN. * EXIT PROGRAM. * PROCESS-EXIT. EXIT. * *================================================================* MAIN-PROCESS-STN SECTION. *================================================================* MAIN-PROCESS-RTN. * * 자동 편성 서브 프로그램 CALL CALL 'CPI2DATA' USING SUB-PGM-WORK YDMDT12T-R ASIS-COMMON SUB-ASIS-R SUB-TOBE-R SUB-DATA-R. * * SUB PGM 편집 ERROR시 상위 MAIN PGM에서 강제종료처리됨. IF SUB-RT-CODE = 'E' GO TO MAIN-PROCESS-EXIT. * * 프로그램 로직 처리시는 MAIN 프로그램에서 별도처리. IF SUB-RT-CODE = 'P' PERFORM PROGRAM-STN. * * EAI 송신용 DAM-F WRITE 처리. * PERFORM WRITE-STN. * MAIN-PROCESS-EXIT. EXIT. 4

5 USER 작성 프로그램 SAMPLE (B/C REAL-DATA)
(별첨2: YFD200OS) * * * * 프로그램 로직 처리 필요시 * *================================================================* PROGRAM-STN SECTION. *================================================================* PROGRAM-RTN. * * 1.프로그램 처리 사전준비 처리(필수) * * -필요 AS-IS RECORD를 RECORD단위로 WORK내 ASISCOPY-R로 MOVE * MOVE ASIS-R(201:800) TO ASISCOPY-R. * * -SUB PGM에서 편성된 SUB-TOBE-R을 WORK내 TOBECOPY-R로 MOVE * MOVE SUB-TOBE-R TO TOBECOPY-R. * * 2.프로그램 로직 본처리 * 본처리 사항 기술 * * 3.프로그램 로직 마감처리(필수) * - WORK내 TOBECOPY-R을 OUT-F TOBE-R에 MOVE * MOVE TOBECOPY-R TO SUB-TOBE-R. * * PROGRAM-EXIT. EXIT. * * * * EAI 송신용 DAM-F WRITE 처리. *================================================================* WRITE-STN SECTION. *================================================================* WRITE-RTN. * * EAI 송신용 DAM-F 실 WRITE * MOVE 'TOBE1W' TO DD-NAME. MOVE SUB-WRITE-POINT TO DD-ADDR. * MOVE SUB-TOBE-R TO TOBE-R. * CALL 'ACSAPI' USING DSWRITE DD-NAME TOBE-R DD-ADDR. * * TO-BE DAM-F NEXT WRITE POINT 계산 * ADD TO SUB-WRITE-POINT. IF SUB-WRITE-POINT > SUB-MAX-POINT MOVE TO SUB-WRITE-POINT. * WRITE-EXIT. EXIT. * 5

6 USER 작성 프로그램 SAMPLE (P/C REAL-DATA)
(별첨3: YFD200BS) *================================================================* DATA DIVISION. *================================================================* * *================================================================* WORKING-STORAGE SECTION. *================================================================* * WORK-AREA. END-M PIC X(001). READ-CNT PIC 9(005). WRITE-CNT PIC 9(005). * * 프로그램 처리시 AS-IS, TO-BE COPY구 정의 * COPY ASISCOPY. * COPY TOBECOPY. * * * LINKAGE SECTION. * * * * SUB-PROGRAM 용 LINKAGE 영역 정의:SUB PROGRAM ONLY 영역 * COPY YDMD200C. COPY YDMDEAIC. * *================================================================* PROCEDURE DIVISION USING SUB-PGM-WORK YDMDT12T-R ASIS-COMMON SUB-ASIS-R SUB-TOBE-R SUB-DATA-R YDMDEAIC-R. *================================================================* PROCESS-STN SECTION. *================================================================* PROCESS-RTN. * INITIALIZE WORK-AREA. * PERFORM MAIN-PROCESS-STN. * EXIT PROGRAM. * PROCESS-EXIT. EXIT. *================================================================* MAIN-PROCESS-STN SECTION. *================================================================* MAIN-PROCESS-RTN. * * 자동 편성 서브 프로그램 CALL CALL 'CPI2DATA' USING SUB-PGM-WORK YDMDT12T-R ASIS-COMMON SUB-ASIS-R SUB-TOBE-R SUB-DATA-R. * * SUB PGM 편집 ERROR시 상위 MAIN PGM에서 강제종료처리됨. IF SUB-RT-CODE = 'E' GO TO MAIN-PROCESS-EXIT. * * 프로그램 로직 처리시는 MAIN 프로그램에서 별도처리. IF SUB-RT-CODE = 'P' PERFORM PROGRAM-STN. * MAIN-PROCESS-EXIT. EXIT. * * * * 프로그램 로직 처리 필요시 * *================================================================* PROGRAM-STN SECTION. *================================================================* PROGRAM-RTN. * * 1.프로그램 처리 사전준비 처리(항목간 대응시만 필요) * * -필요 AS-IS RECORD를 RECORD단위로 WORK내 ASISCOPY-R로 MOVE * MOVE SUB-ASIS-R(201:800) TO ASISCOPY-R. * * -SUB PGM에서 편성된 SUB-TOBE-R을 WORK내 TOBECOPY-R로 MOVE * MOVE SUB-TOBE-R TO TOBECOPY-R. * * 2.프로그램 로직 본처리(본처리사항 기술) * * * 3.프로그램 로직 마감처리(항목간 대응시만 필요) * - WORK내 TOBECOPY-R을 OUT-F TOBE-R에 MOVE * MOVE TOBECOPY-R TO SUB-TOBE-R. * * PROGRAM-EXIT. EXIT. 6


Download ppt "이행 DATA 자동 편집 USER 작성 프로그램"

Similar presentations


Ads by Google