CICS-BMS

BMS는 기본 매핑 지원으로 알려져 있습니다. 애플리케이션은 터미널과 CICS 프로그램 사이의 다리 역할을하는 형식화 된 화면으로 구성됩니다. 터미널과 CICS 프로그램 사이에 통신이 발생하기 위해 우리는 CICS 터미널 입력 / 출력 서비스를 사용합니다. BMS를 사용하여 적절한 위치와 속성을 가진 화면 디자인을 만듭니다. 다음은 BMS의 기능입니다-

  • BMS는 터미널과 CICS 프로그램 간의 인터페이스 역할을합니다.

  • 화면의 디자인과 형식은 응용 프로그램의 논리와 별개입니다.

  • BMS는 애플리케이션 하드웨어를 독립적으로 만듭니다.

포맷 된 화면

아래 표시된 화면은 메뉴 화면으로 BMS를 사용하여 설계 할 수 있습니다. 그 요점은 다음과 같습니다-

  • 화면에는 제목, 날짜 및 표시 될 기타 정보가있을 수 있습니다.

  • 옵션 1, 2 및 3은 화면 제목 인 이름없는 필드입니다.

  • 선택 필드에서 입력을 제공해야합니다. 이 입력은 추가 처리를 위해 CICS 프로그램으로 전송됩니다.

  • 화면 하단에 동작 키가 표시됩니다.

  • 모든 필드와 화면 자체는 BMS 매크로로 정의됩니다. 전체 맵이 정의되면 JCL을 사용하여 어셈블 할 수 있습니다.

BMS 기본 용어

다음은 다음 모듈에서 사용할 기본 용어입니다.

지도

지도는 BMS 매크로를 사용하여 디자인 할 수있는 단일 화면 형식입니다. 1 ~ 7 개의 문자를 포함하는 이름을 가질 수 있습니다.

맵셋

Mapset은 함께 링크되어로드 모듈을 형성하는 맵 모음입니다. PPT 항목이 있어야합니다. 1 ~ 7 자의 이름을 가질 수 있습니다.

BMS 매크로

BMS 맵은 화면을 관리하기 위해 어셈블리 언어로 작성된 프로그램입니다. 화면을 정의하는 데 사용되는 세 가지 매크로는 DFHMSD, DFHMDI 및 DFHMDF입니다.

DFHMSD

DFHMSD 매크로는 Mapset 정의를 생성합니다. 맵셋을 시작하고 있음을 보여주는 매크로 식별자입니다. 맵셋 이름은로드 모듈 이름이며 PPT 테이블의 항목이 있어야합니다. 다음 표는 DFHMSD에서 사용할 수있는 매개 변수 목록을 보여줍니다.

Sr. 아니요 매개 변수 및 설명
1

TYPE

TYPE은지도 유형을 정의하는 데 사용됩니다. TYPE = MAP-
물리적 맵이 생성 된 경우
DSECT-심볼릭 맵이 생성됨
&& SYSPARM-물리적 및 심볼릭, 둘 다 생성됨 FINAL-
맵셋 코딩의 끝을 나타냅니다.

2

MODE

MODE는 입력 / 출력 작업을 나타내는 데 사용됩니다. IF MODE =
IN-입력 맵 전용
OUT-출력 맵 전용
INOUT 입력 및 출력 맵 모두 용

LANG

LANG = ASM / COBOL / PL1
응용 프로그램에 복사하기위한 DSECT 구조의 언어를 결정합니다.

4

STORAGE

STORAGE =
AUTO 인 경우 -각 맵셋에 대해 별도의 심볼릭 맵 영역을 확보하려면
BASE-둘 이상의 맵셋의 심볼릭 맵에 대해 동일한 스토리지 기반을 갖기 위해

5

CTRL

CRTL은 장치 제어 요청을 정의하는 데 사용됩니다. CTRL =
FREEKB 인 경우 -키보드 잠금을 해제하려면
FRSET-MDT를 0 상태로 재설정하려면 ALARM-
화면 표시 시간에 알람을 설정 하려면 PRINT-
프린터로 보낼 맵셋을 표시합니다.

6

TERM

TERM = 유형은 장치 독립성을 보장하며 3270 터미널이 아닌 다른 터미널을 사용하는 경우 필요합니다.

7

TIOAPFX

TIOAPFX = YES / NO
YES-BMS 명령이 TIOA에 올바르게 액세스 할 수 있도록 접두어 공간 (12 바이트)을 예약합니다. CICS 명령 레벨에 필요합니다.

다음 예제는 맵셋 정의를 코딩하는 방법을 보여줍니다-

MPST01  DFHMSD TYPE = &SYSPARM, X
   CTRL = (FREEKB,FRSET), X
   LANG = COBOL, X 
   STORAGE = AUTO, X
   TIOAPFX = YES, X
   MODE = INOUT, X
   TERM = 3270
   DFHMSD TYPE = FINAL 
END

DFHMDI

DFHMDI 매크로는 맵 정의를 생성합니다. 새지도를 시작하고 있음을 보여줍니다. Mapname 뒤에는 DFHMDI 매크로가옵니다. Mapname은지도를 보내거나받는 데 사용됩니다. 다음 표는 DFHMDI 매크로 내에서 사용하는 매개 변수를 보여줍니다.

Sr. 아니요 매개 변수 및 설명
1

SIZE

SIZE = (Line, Column)
이 매개 변수는지도의 크기를 제공합니다. BMS를 사용하면 여러 맵을 사용하여 화면을 만들 수 있으며,이 매개 변수는 단일 맵셋에서 둘 이상의 맵을 사용할 때 중요합니다.

2

LINE

지도의 출발 선 번호를 나타냅니다.

COLUMN

지도의 시작 열 번호를 나타냅니다.

4

JUSTIFY

전체지도 또는지도 필드를 왼쪽 또는 오른쪽으로 정렬하는 데 사용됩니다.

5

CTRL

CRTL은 장치 제어 요청을 정의하는 데 사용됩니다. CTRL =
FREEKB-키보드 잠금을 해제하려면
FRSET-MDT를 0 상태로 재설정하려면 ALARM-
화면 표시 시간에 알람을 설정 하려면 PRINT-
프린터로 보낼 맵을 표시합니다.

6

TIOAPFX

TIOAPFX = 예 / 아니요

예-BMS 명령이 TIOA에 올바르게 액세스 할 수 있도록 접두어 공간 (12 바이트)을 예약합니다. CICS 명령 레벨에 필요합니다.

다음 예제는지도 정의를 코딩하는 방법을 보여줍니다-

MAPSTD DFHMDI SIZE = (20,80), X
   LINE = 01, X
   COLUMN = 01, X
   CTRL = (FREEKB,FRSET)

DFHMDF

DFHMDF 매크로는 필드 이름을 정의하는 데 사용됩니다. DFHMDF 매크로가 코딩되는 필드 이름이 언급됩니다. 이 필드 이름은 프로그램 내에서 사용됩니다. 프로그램 내에서 사용하고 싶지 않은 상수 필드에 대해서는 필드 이름을 쓰지 않습니다. 다음 표는 DFHMDF 매크로 내에서 사용할 수있는 매개 변수 목록을 보여줍니다.

Sr. 아니요 매개 변수 및 설명
1

POS

필드가 표시되어야하는 화면의 위치입니다. 필드는 속성 바이트로 시작하므로 POS = (1,1)로 코딩하면 해당 필드의 속성 바이트는 열 1의 라인 1에 있고 실제 데이터는 열 2에서 시작됩니다.

2

LENGTH

이것은 속성 바이트를 계산하지 않는 필드의 길이입니다.

INITIAL

출력 필드의 문자 데이터입니다. 이를 사용하여 화면의 레이블과 제목을 지정하고 프로그램과 독립적으로 유지합니다. 예를 들어 메뉴 화면의 첫 번째 필드에 대해 INITIAL = 'MENU'를 코딩합니다.

4

JUSTIFY

전체지도 또는지도 필드를 왼쪽 또는 오른쪽으로 정렬하는 데 사용됩니다.

5

ATTRB

ATTRB = (ASKIP / PROT / UNPROT, NUM, BRT / NORM / DRK, IC, FSET) 필드의 속성을 설명합니다.

ASKIP-Autoskip. 이 필드에는 데이터를 입력 할 수 없습니다. 커서가 다음 필드로 건너 뜁니다.

PROT-보호 필드. 이 필드에는 데이터를 입력 할 수 없습니다. 데이터를 입력하면 입력 금지 상태가됩니다.

UNPROT-보호되지 않은 필드. 데이터를 입력 할 수 있으며 이는 모든 입력 필드에 사용됩니다.

NUM-숫자 필드. 숫자 (0 ~ 9)와 특수 문자 ( '.'및 '-') 만 허용됩니다.

BRT-밝은 필드 표시 (강조 표시).

NORM-일반 디스플레이.

DRK-어두운 디스플레이.

IC-커서를 삽입합니다. 커서는이 필드에 위치합니다. IC가 두 번 이상 지정된 경우 커서는 마지막 필드에 위치합니다.

FSET-필드 세트. MDT는 사용자가 필드를 실제로 수정했는지 여부에 관계없이 필드 데이터가 터미널에서 호스트 컴퓨터로 전송되도록 설정됩니다.

6

PICIN

PICIN은 PICIN = 9 (8)과 같이 입력으로 사용되는 데이터 필드에 적용됩니다.

7

PICOUT

PICIN은 PICOUT = Z (8)과 같이 출력으로 사용되는 데이터 필드에 적용됩니다.

다음 예제는 필드 정의를 코딩하는 방법을 보여줍니다.

DFHMDF POS = (01,01), X
   LENGTH = 7, X
   INITIAL = ‘SCREEN1’, X
      ATTRB = (PROT,NORM)
      STDID DFHMDF POS = (01,70), X
      LENGTH = 08, X
      ATTRB = (PROT,NORM)