IMS 프로그램을 위한 양식 정의

EGL은 사용자의 FormGroup 파트를 IMS™ MFS(Message Format Services) 맵으로 생성합니다. IMS 환경에서 사용하기 위해 정의하는 각 양식은 다음과 같은 공간을 제공해야 합니다.
  • IMS 트랜잭션 이름을 저장하는 데 사용되는 8바이트 상수 필드
  • EGL이 작업 데이터베이스에 저장된 정보의 유형을 기록하는 데 사용하는 2바이트 영역

보호어두움 속성으로 8바이트 상수 필드를 정의할 수 있습니다. 양식의 속성 바이트는 EGL 생성 MFS 제어 블록에서 속성 바이트가 됩니다. 8바이트 상수는 양식이 처리될 때 시작된 IMS 트랜잭션의 이름을 포함합니다. 양식에서 상수를 지정하면 사용자가 트랜잭션을 시작하는 형식화된 화면을 표시하는 IMS /FORMAT 명령을 지정할 수 있게 해줍니다. 양식의 변수 필드에 초기 기본값이 있는 경우 /FORMAT 명령을 사용하지 마십시오. /FORMAT 명령이 사용되면 기본값이 나타나지 않습니다.

양식에 8바이트의 보호된 다크 상수를 정의하지 않으면 EGL은 양식에서 아홉 개의 공백으로 된 문자열을 검색하여, 이 영역을 생성된 MFS 맵에서 따로 보호된 다크 변수 필드로 설정합니다(1바이트 속성, 8바이트 데이터). 생성된 프로그램은 이 필드를 사용하여 converse 또는 show 문 뒤에 실행하도록 다음 IMS 트랜잭션의 이름을 저장합니다. IMS에는 기본 트랜잭션 이름이 없으므로 사용자가 /FORMAT 명령을 사용하여 해당 양식의 트랜잭션을 시작할 수 없습니다.

양식에서 2바이트 영역을 명시적으로 정의할 필요는 없습니다. EGL은 맵에서 두 개의 인접한 공백 바이트를 선택하여 이를 보호된 다크 변수 필드(1바이트 속성, 1바이트 데이터)로 취급합니다.

formGroup을 위한 MFS 블록의 크기 평가

EGL이 formGroup을 생성할 때 해당 formGroup에 대한 MFS 제어 블록을 생성합니다. 세 유형의 MFS 제어 블록이 있습니다.
디바이스 입력 형식(DIF) 및 디바이스 출력 형식(DOF)
이러한 제어 블록은 디바이스 프리젠테이션 공간의 데이터 필드와 리터럴의 배열을 설명합니다(예: 3270 디바이스를 위한 화면).

3270 유형의 디바이스에 대해서는 하나의 명령문 세트가 DIF와 DOF를 둘 다 설명합니다. 프린터에 대해서는 DOF만 필요합니다. 각 디바이스 필드에는 메시지 입력 및 출력 디스크립터에서 명령문이 참조할 수 있는 이름이 지정됩니다.

EGL FormGroup 파트에서 DOF는 양식 상수를 포함하므로 DOF가 항상 DIF보다 큽니다.

메시지 출력 디스크립터(MOD)
이 제어 블록은 프로그램에 의해 삽입된 출력 메시지 정보의 다양한 필드를 설명합니다. 또한 각 메시지 필드의 데이터가 이동되는 해당 디바이스 필드를 식별합니다.
메시지 입력 디스크립터(MID)
이 제어 블록은 프로그램이 검색하는 입력 메시지 정보의 다양한 필드를 설명합니다. MID는 각 메시지 필드의 데이터가 들어오는 해당 디바이스 필드를 식별합니다.
MFS 제어 블록은 32748바이트를 초과할 수 없습니다. 큰 FormGroup 파트를 사용 중인 경우 다음 공식은 생성될 제어 블록 크기의 상한값을 평가하기 위한 가이드라인을 제공합니다. 디자인 중에 해당 공식을 사용하면 FormGroup 파트를 더 작게 분할해야 하는지 여부를 판별하는 데 도움이 됩니다. 생성된 제어 블록이 너무 큰 경우 MFS 생성이 3022 비정상 종료를 실행합니다.

표시 디바이스를 위한 DOF 크기 계산

다음 공식을 사용하여 DOF의 크기를 예상할 수 있습니다.

DOF 크기 =
    150  + (388 * formGroup의 프린터 양식 수)
  + (208 * formGroup의 표시 양식 수)
  +  (63 * formGroup의 표시 양식에서
           변수 필드 발생 수)
  +  (62 * formGroup의 표시 양식에서
           상수 필드 수)
  +(1.12 * formGroup의 표시 양식에서 모든 상수 필드의
          총 길이)

프린터 디바이스를 위한 DOF 크기 계산

다음 공식을 사용하여 DOF의 크기를 예상할 수 있습니다.
DOF 크기 =
    206  +  (68 * formGroup의 트린터 양식 수)
  + (374 * formGroup의 표시 양식 수)
  +  (63 * formGroup의 프린터 양식에서
           변수 필드 발생 수)
  +  (62 * formGroup의 프린터 양식에서
           상수 필드 수)
  +(1.12 * formGroup의 프린터 양식에서 모든 상수 필드의
           총 길이)

모든 양식을 위한 MOD 크기 계산

다음 공식을 사용하여 MOD의 크기를 예상할 수 있습니다.
MOD 크기 =
     36  + (724 * formGroup의 표시 양식 수)
  + (202 * formGroup의 프린터 양식 수)
  +  (52 * formGroup의 변수 필드 발생 수)

터미널 맵을 위한 MID 크기 계산

다음 공식을 사용하여 터미널 맵에 대해 MID의 크기를 예상할 수 있습니다.
MID 크기 =
     36  + (858 * formGroup의 표시 양식 수)
  +  (52 * formGroup의 표시 양식에 대한
           변수 필드 발생 수)