IMS MFS 메시지 입력 디스크립터(MID)의 형식

지연된 프로그램 대 프로그램 메시지 전환을 위해 양식을 읽고 터미널에 쓰는 IMS™ MFS 메시지 입력 디스크립터(MID)와 메시지 출력 디스크립터(MOD)는 같은 기본 형식을 공유합니다. 아래 표에는 MID의 레코드 레이아웃이 표시되어 있습니다. MFS MOD의 경우에는 IMS 트랜잭션 이름 및 COND 매개변수의 값(양식 이름)이 예약되어 있습니다. 또한 MOD의 일부 필드는 무시됩니다.

표 1. MFS 메시지 입력 디스크립터(MID)의 형식
필드 길이(바이트) 데이터 유형 설명
세그먼트 길이 2 2진 세그먼트의 길이입니다.
예약됨 2 2진 IMS를 위해 예약되어 있습니다.
IMS 트랜잭션 이름 8 문자 EGL 프로그램의 IMS 트랜잭션 이름입니다.
예약됨 1 문자 Rational® COBOL Runtime for zSeries를 위해 예약되어 있습니다.
양식 이름 8 문자 지연된 프로그램 대 프로그램 메시지 전환의 MID에 있는 MFS COND 매개변수의 값입니다.
추가 Rational COBOL Runtime for zSeries 필드 51 다양함 Rational COBOL Runtime for zSeries에서 양식을 유효성 검증하는 데 사용하는 필드의 그룹입니다. 프로그램 양식 필드 시작 전 모든 필드의 전체 길이는 72바이트입니다.
프로그램 양식 필드 다양함 다양함 이 영역은 EGL 양식을 위해 정의된 필드를 포함합니다.
다음 예제에는 지연된 프로그램 대 프로그램 메시지 전환의 메시지 입력 디스크립터(MID)에 대한 COBOL 정의가 표시되어 있습니다. PL/I는 COBOL에 사용되는 2바이트 길이 필드가 아니라 4바이트 길이 필드를 필요로 한다는 것을 기억하십시오. 추가 정보는 사용자의 시스템에 해당하는 IMS/VS 문서를 참조하십시오. 특정 필드 이름은 설명을 위해서만 사용되었으며 생성되는 코드의 실제 필드 이름은 다를 수 있습니다.
* CopyMember ELAAHMMI
 01 EZEMAP-IO-AREA.
   05 EZEMAP-HEADER.
     10 EZEMAP-LL                   PIC S9(4) COMP.
     10 EZEMAP-ZZ
       15 EZEMAP-Z1                 PIC X(1).
       15 EZEMAP-Z2                 PIC X(1).
     10 EZEMAP-ZZ-BIN               REDEFINES EZEMAP-ZZ
                                    PIC S9(4) COMP.
     10 EZEMAP-MID-TRANCODE.                            Note 1
       15 EZEMAP-MOD-MAP            PIC X(8).
     10 FILLER                      PIC X(1).
     10 EZEMAP-MOD-TRANCODE.
       15 EZEMAP-MID-MAP            PIC X(8).
     10 EZEMAP-STRUCTURE-TYPE       PIC X(4).
       88 EZEMAP-IS-A-MAP           VALUE "MAP ".
     10 EZEMAP-SCA                  PIC X(2).           Note 2
     10 EZEMAP-SCA-BIN              REDEFINES EZEMAP-SCA
                                    PIC S9(4) COMP.
     10 EZEMAP-EZEAID               PIC X(2).           Note 3
     10 EZEMAP-HELP-PF-KEY          PIC X(2).
     10 EZEMAP-BYPASS-PF-KEYS.
       15 EZEMAP-BYPASS-PF-KEY      PIC X(2)
                                    OCCURS 5 TIMES.
     10 EZEMAP-HELP-MAP-NAME        PIC X(8).
     10 EZEMAP-CURSOR.
       15 EZEMAP-ROW                PIC S9(4) COMP.
       15 EZEMAP-COL                PIC S9(4) COMP.
     10 EZEMAP-GEN-DATE-TIME.
       15 EZEMAP-DATE               PIC X(8).
       15 EZEMAP-TIME               PIC X(8).
     10 EZEMAP-SSM-STATUS-ATTR      PIC X(2).           Note 4
       88 EZEMAP-SSM-PREMODIFIED    VALUE X"0081".
     10 EZEMAP-SSM-STATUS           PIC X(1).           Note 5
       88 EZEMAP-SSM-INVALID        VALUE X"40" X"FF" X"00".
       88 EZEMAP-SSM-WSR-SAVED      VALUE "C".
       88 EZEMAP-SSM-WSR-MAP-SAVED  VALUE "D".
       88 EZEMAP-SSM-FILL-CHAR      VALUE X"FF".
* Copymember for form group formGroup
 01 EZEMFS-form                     REDEFINES EZEMAP-IO-AREA.
   05 EZEMFS-form-HEADER            PIC X(72).          Note 6
   05 EZEMAP-DATA.
     10 formField.                                      Note 7
       15 EZEATTR                   PIC X(08).
       15 EZEDATA                   PIC ....            Note 8
       .
       .
       .
이 예제에는 다음 참고사항이 적용됩니다.
  1. MOD의 경우에는 트랜잭션 이름 및 맵 이름이 예약되어 있습니다. 대화식 트랜잭션이 IMS /FORMAT 명령을 사용하여 시작된 경우 IMS는 데이터 스트림에서 해당 트랜잭션 이름을 제거합니다.
  2. MID에서 SCA는 공백으로 설정됩니다. MOD에서 SCA는 MOD를 삽입하는 프로그램에 의해 2진 0으로 초기화되어야 합니다.
  3. MOD에서 EZEMAP-GEN-DATETIME 필드를 통한 EZEAID 필드는 비워 둘 수 있습니다. 이러한 필드에 삽입된 값은 입력 시 리턴되지 않습니다.
  4. 전송 프로그램은 EZEMAP-SSM-PREMODIFIED를 TRUE로 설정하여 EZEMAP-SSM-STATUS의 값이 대상 프로그램으로 전송되도록 해야 합니다.
  5. 전송 프로그램에서 입력 레코드를 초기화하는 데 사용하기 위해 대상 비대화식 프로그램의 작업 데이터베이스에 데이터를 저장하는 경우, 이 프로그램은 이 필드를 설정하는 데 레벨 88 EZEMAP-SSM-WSR-SAVED를 사용해야 합니다. 그렇지 않은 경우에는 레벨 88 EZEMAP-SSM-INVALID를 사용하여 이 필드를 초기화해야 합니다.

    대상 프로그램은 EZEMAP-SSM-STATUS의 값을 테스트하여 작업 데이터베이스에 복원할 데이터가 있는지 판별해야 합니다. EZEMAP-SSM-WSR-SAVED 또는 EZEMAP-SSM-WSR-MAP-SAVED가 true인 경우에는 작업 데이터베이스에 복원할 레코드가 있는 것입니다.

  6. Form은 EGL에 정의된 양식의 실제 이름 또는 양식의 alias 특성으로 지정된 이름이며, 생성 시에 별명이 지정된 경우에는 이 별명입니다.
  7. formField는 양식에 정의된 필드의 실제 이름이며, 생성 시에 별명이 지정된 경우에는 이 별명입니다. formField가 배열이면 OCCURS 절이 사용됩니다.
  8. PIC 표시는 양식 필드의 유형 및 길이에 따라 달라집니다.
EGL은 FormGroup과 연관된 MID/MOD의 COBOL 카피북을 생성합니다. 이 카피북 파트의 이름은 FormGroup 이름이며, FormGroup의 별명이 지정된 경우에는 이 별명입니다. 비EGL 프로그램은 이 카피북을 사용하여 EGL 프로그램이 입력 양식에서 필요로 하는 메시지 형식, 그리고 EGL 프로그램이 비EGL 프로그램에 제어를 전송할 때 수신하는 메시지 형식을 올바르게 정의할 수 있습니다.