포맷 정의 소스

본 장에서는 포맷 정의 소스의 구성 및 기술 형식과 의미에 대해 살펴보도록 한다.

1. 개요

PSAM(Presentation Service Access Method)은 애플리케이션과 외부 단말의 입출력 통신이 가능하도록 하기 위하여 OpenFrame AIM이 제공하는 표시 서비스이다. PSAM은 화면 형식 및 장표 형식을 애플리케이션과 독립된 정의체로 작성하고 이를 사용하여 표시 서비스를 제공한다.

다음은 표시 서비스의 개요를 나타낸 그림이다.

figure 4 1
표시 서비스 개요

위의 그림에서 알 수 있듯이 PSAM의 기능은 크게 포맷 정의 기능과 표시 서비스 기능으로 나눌 수 있다.

포맷 정의 소스로부터 jybfg000 툴을 통해 포맷 정의체를 생성하고, 표시 서비스 프로그램을 이용하여 애플리케이션의 내부 데이터 형식과 단말의 외부 표현 형식 사이의 데이터를 변환한다.

데이터 변환은 다음과 같은 포맷 정의체의 정보를 이용하여 이루어진다.

  • 단말 제어 정보

  • 화면 또는 장표의 표현 형식(레이아웃 정보)

  • 애플리케이션의 데이터 형식

  • 화면 또는 장표의 표현과 애플리케이션의 데이터와의 대응관계

jybfg000 툴에 대한 자세한 설명은 OpenFrame AIM "툴 참조 안내서"를 참고한다.

2. 포맷 정의 소스의 구성

포맷 정의 소스는 단말의 종류에 따라 조금씩 차이가 있으나 상당 부분 비슷한 형식을 갖는다. OpenFrame AIM은 디스플레이 단말과 프린터 단말을 지원한다.

본 절에서는 디스플레이 단말과 프린터 단말에 대한 포맷 정의 소스의 구성을 살펴본다.

2.1. 디스플레이 단말

디스플레이 단말은 사용자의 데이터 입력을 통하여 OpenFrame AIM의 애플리케이션과의 입출력 통신이 가능하다. 프린터 단말의 경우에는 장표를 통한 출력만 가능하다. 그러므로 디스플레이 단말을 위한 포맷 정의 소스에서는 반드시 입력이 가능한 레코드를 정의해야 한다. 디스플레이 단말의 경우에는 DEVICE 문의 DVK값이 DP10(기본값)이다.

디스플레이 단말의 경우에는 화면 레이아웃의 기술 방법에 따라 화면 형식과 제어문 형식으로 나누어진다. 화면 형식은 LAYOUT 문과 LAYEND 문 사이의 화면 레이아웃 기술을 이용하여 포맷을 정의하고, 제어문 형식은 FIELD 문, WINDOW 문으로 정의한 문자 필드, 윈도우 필드를 이용하여 포맷을 정의한다.

화면 형식

화면 형식에서는 SCHAR 문, SWINDOW 문, LAYOUT 문, LAYEND 문, 화면 레이아웃 기술 영역이 존재하는 것이 특징이다. 그리고 화면 레이아웃의 정의가 레코드 정의보다 먼저 기술된다. 화면 형식은 디스플레이 단말에만 기술할 수 있다.

다음은 디스플레이 단말의 화면 형식을 보여주는 그림이다.

figure 4 2
디스플레이 단말의 화면 형식 구성
제어문 형식

제어문 형식에서는 FIELD 문, WINDOW 문, REPEAT 문, REPEND 문이 존재하는 것이 특징이다. 그리고 레코드 정의가 화면 레이아웃의 정의보다 먼저 기술된다.

다음은 디스플레이 단말의 제어문 형식을 보여주는 그림이다.

figure 4 3
디스플레이 단말의 제어문 형식 구성

2.2. 프린터 단말

프린터 단말은 사용자의 데이터를 입력할 수 없고, 오직 출력만 가능한 장치이다. 그러므로 프린터 단말을 위한 포맷 정의 소스에서는 출력용 레코드만 정의해야 한다. 프린터 단말의 경우에는 DEVICE 문의 DVK 값이 PR10이다. 프린터 단말은 화면 형식으로 기술할 수 없고, 제어문 형식으로만 기술한다.

다음은 프린터 단말의 제어문 형식을 보여주는 그림이다.

figure 4 4
프린터 단말의 제어문 형식 구성

디스플레이 단말의 제어문 형식과의 차이점은 행간격을 정의하는 LINE 문과 바코드 필드를 정의하는 XBARCODE 문이 존재할 수 있는 것이다. 그리고 화면 분배를 정의하는 DIST 문과 입출력 항목 단위를 정의하는 GROUP 문은 존재하지 않는다.

3. 포맷 정의 소스의 기술 형식

포맷 정의 소스의 기술 형식은 레코드 형식에 따라 고정형 레코드와 가변형 레코드로 구분된다. 고정형 레코드에서 레코드의 길이는 80~255의 값이 가능하며, 가변형 레코드에서는 84~255의 값이 가능하다.

다음은 고정형 레코드의 포맷 정의 기술 형식을 보여주는 그림이다.

figure 4 5
포맷 정의 소스의 기술 형식 – 고정형 레코드

다음은 가변형 레코드의 포맷 정의 기술 형식을 보여주는 그림이다.

figure 4 6
포맷 정의 소스의 기술 형식 – 가변형 레코드

다음은 포맷 정의 소스의 기술 형식에 대한 설명이다.

  • 명찰란

    영문자로 시작하는 8문자 이내의 영숫자를 기술한다. 고정형 레코드에서는 1열부터, 가변형 레코드에서는 10열부터 기입한다.

  • 명령란

    명찰의 직후에 하나 이상의 공백 문자를 입력한 후 기술한다. 명찰이 없는 경우에는 고정형 레코드에서는 2열, 가변형 레코드에서는 11열 이후의 임의의 위치에서부터 기술할 수 있다.

  • 오퍼랜드란

    오퍼랜드는 명령 이후에 하나 이상의 공백 문자를 입력한 후 기술한다. 고정형 레코드에서는 계속란의 앞까지 기술이 가능하고, 가변형 레코드에서는 최대 레코드 길이까지 기술이 가능하다.

    오퍼랜드와 오퍼랜드 사이는 다음 3가지 중 하나로 구분한다.

    • 하나의 콤마(,)

    • 하나의 콤마(,)와 하나 이상의 공백 문자

    • 하나 이상의 공백 문자

    오퍼랜드의 형식은 키워드 형식을 따른다. 키워드, 등호(=), 오퍼랜드의 값으로 구성된다. 등호의 직후에는 하나 이상의 공백 문자가 올 수 있다.

    • XXXX=AAAA

    • XXXX=_AAAA

    • XXXX=___AAAA

    'XXXX’는 키워드, 'AAAA’는 오퍼랜드 값을 의미하며, '_'는 공백 문자를 나타낸다.

    오퍼랜드의 값이 여러 개의 요소로 구성되는 경우에는 양단을 괄호로 둘러싼다. 여러 개의 요소들 각각을 서브 오퍼랜드라고 부른다. 괄호 전후에는 공백 문자를 둘 수 있다. 서브 오퍼랜드와 서브 오퍼랜드 사이를 구분짓는 방법은 오퍼랜드와 오퍼랜드를 구분짓는 방법과 동일하다.

    • XXXX=(AA,BB,CC)

    • XXXX=__(_AA,BB,CC_)

    • XXXX=__(_AA,_BB,_CC_)

    'AA', 'BB', 'CC’는 모두 서브 오퍼랜드이다.

    EQU 문에서는 위에서 언급한 오퍼랜드 규칙이 적용되지 않는다. EQU 문에서는 오퍼랜드와 서브 오퍼랜드의 구분이 하나의 콤마(,)로만 가능하고, 등호(=) 직후의 공백 문자를 허용하지 않는다.

  • 계속란

    오퍼랜드는 다음의 방법으로 다음 행에 계속하여 기술할 수 있다.

    • 오퍼랜드의 마지막에 콤마(,)를 두고(콤마는 생략 가능), 다음 행의 시작을 고정형 레코드에서는 2열, 가변형 레코드에서는 11열 이후로 하여 다음 오퍼랜드를 기술한다.

    • 서브 오퍼랜드의 마지막에 콤마(,)를 두고(콤마는 생략 가능), 다음 행의 시작을 고정형 레코드에서는 2열, 가변형 레코드에서는 11열 이후로 하여 다음 서브 오퍼랜드를 기술한다.

    • 인용부호로 둘러싸여 있는 문자열의 경우에는 고정형의 경우 계속란 앞까지 기술하고, 나머지 부분은 다음 행의 16행부터 기술한다. 가변형의 경우에는 최대 레코드 길이까지 기술하고, 나머지 부분은 다음 행의 25행부터 기술한다.

    계속란은 계속을 지정하는 용도로 사용하지만 문법 체크를 하지 않는다. 하나의 문장은 최대 80행까지 사용할 수 있다.

    다음의 제어문은 계속행을 사용할 수 없다.

    • EQU 문

    • LAYOUT 문

    • LAYEND 문

    • END 문

  • 주석

    고정형 레코드의 경우는 1열, 가변형 레코드의 경우는 10열에 애스터리스크(*)를 기술하면 그 행은 주석으로 간주한다.

4. 화면 포맷의 기술

화면 레이아웃의 기술 방법에는 화면 형식과 제어문 형식 2가지가 있다.

  • 화면 형식

    • LAYOUT 문과 LAYEND 문 사이의 화면 레이아웃 기술을 이용하여 포맷 정의한다.

    • 레코드 형식은 가변형이다.

    • 화면 형식의 경우 다음과 같은 제한 사항이 있으나, 보수의 용이성을 고려하면 화면 형식을 사용하는 것이 권장된다.

      • 길이가 1인 서브 필드를 사용할 수 없다.

      • 길이가 2인 서브 필드를 첫번째 및 중간 서브 필드에서 사용할 수 없다.

      • 윈도우의 높이가 1행 또는 2행이 될 수 없다.

      • 윈도우의 폭이 그래프 레코드의 폭보다 작을 수 없다.

      • 문자 필드는 윈도우 경계를 넘어가면 안된다.

      • 윈도우는 다른 윈도우와 겹쳐질 수 없다.

      • 서브 필드의 속성을 기술할 수 없다.

      • 배열 형식의 데이터 항목은 필드 위치의 오름차순으로만 표시가 가능하다.

      • 입력 필드 속성으로 보호(Protection) 속성을 지정할 수 없다.

  • 제어문 형식

    • FIELD 문, WINDOW 문을 사용하여 문자 필드, 윈도우 필드를 정의한다.

    • 레코드 형식은 고정형 또는 가변형이다.

    • 모든 PSAM 기능 사용 가능하다.

4.1. 화면 형식과 제어문 형식의 공통 기술

다음은 화면 형식과 제어문 형식을 이용한 포맷 기술에서 공통적으로 사용할 수 있는 문장에 대한 설명이다.

문장 설명

FID 문

다음의 내용을 설정한다.

  • 포맷 정의체의 이름(FID )

  • 포맷 정의체의 종류(TYPE)

  • 애플리케이션의 종류(PGM)

  • 애플리케이션의 언어(LANG)

DEVICE 문

화면 포맷 기술의 시작을 나타내며 단말의 고유 정보를 지정한다.

다음의 내용을 설정한다.

  • 단말의 종류(DVK)

  • 화면의 크기(SIZE)

  • 입력 데이터 삭제 코드(DELETE)

  • 단말의 해상도(GPLANE)

FRAME 문

화면 포맷의 설정 방법을 기술한다.

다음의 내용을 설정한다.

  • 필드 길이의 형태(FLNGTH)

  • 논리 화면의 크기(VSIZE)

  • 스크롤 영역 지정(VSCROLL)

  • 비스크롤 영역 지정(FIX)

  • 프린트 서식 제어 방법(VPOS)

  • 반각 문자의 대상(HALF)

PART 문

디스플레이 단말의 경우에는 다음의 내용을 설정한다.

  • 단말 제어 정보(CONTROL)

  • 화면의 아웃풋 모드(WRITE)

  • 입력 데이터의 체크 방법(AKCHECK)

  • 주의 코드 지정(ATT)

프린터 단말의 경우는 다음의 내용을 설정한다.

  • 장표의 크기(SIZE)

  • 기준 문자의 크기(NPO)

4.2. 화면 형식의 기술

화면 형식은 디스플레이 단말에만 사용할 수 있고, LAYOUT 문과 LAYEND 문 사이의 화면 레이아웃 기술을 이용하여 포맷을 정의한다.

다음은 화면 형식의 기술을 위해 사용하는 문장이다.

문장 설명

SCHAR 문

레이아웃 기술에 사용하는 문자의 용도를 정의한다. 자세한 설명은 SCHAR 문을 참고한다.

SWINDOW 문

그래프 윈도우, 이미지 윈도우, 도형 윈도우의 설정 정보를 기술한다.

LAYOUT 문

화면 레이아웃 기술의 시작을 나타낸다.

LAYEND 문

화면 레이아웃 기술의 마지막을 나타낸다.

SCHAR 문

레이아웃 기술에 사용하는 문자의 용도를 정의한다.

  • 문자 필드의 개시 또는 종료를 나타내는 문자(ATTR)

  • Separator 문자(SEP)

  • 화면 내의 고정 문자(CHAR)

문자 필드의 경우 FILED 지정을 통해 다음과 같이 구분한다. 그리고 각 필드에는 필드의 속성을 부여한다.

  • 텍스트 필드(TEXT)

  • 입력 필드(IN)

  • 출력 필드(OUT)

  • 종료 필드(END)

다음은 필드 속성을 지정하는 표의 문자(system figurative constant)를 보여주는 표이다.

  • 기본 속성

    분류 표의 문자 속성

    [Protection][Detectability]

    [Intensity]

    [I|O][D|U][H|L|S]

    입력가능 여부와 검사가능 여부, 밝기를 지정 기술 시 각각의 표의문자 중 하나를 기술해야 하며, 붙여서 기술해야 한다. 예를 들어 입력이 가능하고 검사가 가능하며 가장 밝은 정도의 필드를 만들고 싶다면 IDH로 기술해야 한다.

    • I : 입력 가능 필드

    • O : 입력 불가 필드, 출력 필드

    • D : 라이트펜 기능 사용 가능(미지원)

    • U : 라이트펜 기능 사용 불가(미지원)

    • H : 고휘도

    • L : 저휘도

    • S : 필드 내 글자 미표시

    입력 속성(복수 지정 가능)

    NUM

    숫자(0~9), 점(.), 마이너스 기호(-)만 입력 문자로 사용

    CUR

    커서 지정

    MDT

    입력하지 않더라도 입력한 것처럼 취급

    FIL

    입력 필드의 길이만큼 입력해야 함

    ENT

    반드시 입력되어야 함

    TRG

    트리거(trigger)로 이용되는 입력 필드

    NOC

    소문자 입력을 대문자로 변환하지 않고 그대로 사용

    AEN

    자동 엔터

    외곽선(OTL을 제외하고 복수 지정 가능)

    UDL

    필드 아래에 실선 표시

    OVL

    필드 위에 실선 표시

    VTL

    필드 왼쪽에 실선 표시

    VTR

    필드 오른쪽에 실선 표시

    OTL

    필드에 박스형으로 실선 표시(UDL+OVL+VTL+VTR)

    특수 기능

    SPF

    하드웨어 장치에 따라 동작이 달라짐

    PTN

    패턴 표시

  • 확장 속성

    분류 표의 문자 속성

    강조(복수 지정 불가)

    BLK

    깜빡임

    RVS

    반전

    UDS

    밑줄

    색상(복수 지정 불가)

    BLU

    파란색

    RED

    빨강색

    PNK

    분홍색

    GRN

    초록색

    TUR

    청록색

    YLW

    노랑색

    WHT

    하얀색

레이아웃 기술

화면 레이아웃 부분을 LAYOUT 문과 LAYEND 문 사이에 기술한다.

화면 레이아웃 기술에서 다음과 같은 사항을 주의한다.

  • 화면의 원점(1행 1열)에 둘 수 있는 문자

    • 필드 개시 문자

    • 필드 종료 문자

    • 공백 문자

  • 텍스트 필드와 아웃풋 필드의 구분

    고정 문자열 필드 또는 고정 문자열과 변수가 같이 사용되는 필드는 텍스트 필드로 정의한다. 하나의 변수로만 이루어진 필드는 텍스트 필드 또는 아웃풋(output) 필드로 정의할 수 있다. 단, 텍스트 필드는 변수 개시 문자가 필요하기 때문에 길이가 1인 필드는 아웃풋 필드로만 정의가 가능하다.

    • 텍스트 필드

      아래의 경우 변수 A가 나타내는 필드는 길이가 2인 텍스트 필드이다. 즉, 텍스트 필드는 길이가 1이 될 수 없다.

      ○@A△
    • 아웃풋 필드

      아래의 경우 변수 A가 나타내는 필드는 길이가 1인 아웃풋 필드이다.

      ○A△

    위의 기호의 의미는 다음과 같다.

    구분 의미

    필드 개시 문자

    필드 종료 문자

    @

    변수 개시 문자

    !

    변수 종료 문자

  • 필드의 길이

    • 필드 개시 문자와 필드 종료 문자 사이에 정의된 필드

      필드 개시 문자와 필드 종료 문자는 실화면에서 속성 문자에 대응한다. 필드 개시 문자의 위치에는 반드시 속성 문자가 위치하게 되지만, 필드 종료 문자의 위치에는 항상 속성 문자가 위치하는 것은 아니다. 변수를 포함하는 필드의 길이는 변수의 데이터 항목의 길이에 의해서 정해지기 때문에, 필드의 종료를 나타내는 속성 문자의 위치도 변수의 데이터 항목의 길이에 따라 달라진다. 따라서 필드 종료 문자를 사용하는 필드는 변수에 해당하는 데이터 항목의 길이를 변경하더라도 다음 필드와 겹치지 않는 범위에서는 레이아웃 기술을 변경할 필요가 없다.

    • 필드 개시 문자와 필드 개시 문자 사이에 정의된 필드

      필드의 전후에 속성 문자가 놓여지기 위해서 필드의 길이는 고정이 되어야만 한다. 따라서 변수에 해당하는 데이터 항목의 길이와 일치해야만 한다.

    필드의 길이와 변수에 해당하는 데이터 항목의 길이 사이에 모순이 생기는 것을 검출하기 위하여, LAYOUT 문에 LENGCHK 오퍼랜드를 사용할 수 있다.

  • 메시지 필드

    메시지는 일반적인 아웃풋 필드로 지정할 수 있지만, 메시지 표시용 아웃풋 필드(또는 메시지 필드라고도 함)를 사용하면 메시지 ID를 사용하여 메시지 본문을 정의할 수 있다. 따라서 하나의 필드에 다양한 메시지 내용의 출력이 가능해지고, 메시지 내용의 변경이 용이하다.

  • 공백행

    레이아웃 기술에서 공백행은 실화면의 공백행을 나타내기 때문에 생략할 수 없다. 단 LAYEND 문 직전의 화면 최하단부의 공백행은 생략 가능하다.

  • 레이아웃 기술과 EQU 문의 관계

    EQU 문으로 정의된 치환 변수가 레이아웃 기술 부분에서는 영향을 미치지 않는다.

  • 2차원 배열을 가지는 데이터 항목의 정의

    2차원 배열을 가지는 데이터 항목은 다음과 같이 정의된다. 1차 지표와 2차 지표의 값에 유의한다.

    figure 4 7
    2차원 배열의 데이터 항목과 화면 레이아웃 기술의 예

4.3. 제어문 형식의 기술

제어문 형식에서만 사용할 수 있는 문장에 대하여 설명한다. 제어문 형식은 디스플레이 단말뿐만 아니라 프린터 단말에서도 사용할 수 있다. FIELD 문, WINDOW 문을 사용하여 개개의 필드 속성을 직접 정의한다.

다음은 제어문 형식의 기술을 위해 사용하는 문장이다.

문장 설명

WINDOW 문

그래프 또는 이미지를 표시하기 위한 표시 영역을 지정한다.

FIELD 문

화면 또는 장표의 필드를 정의한다.

  • 필드의 시작 위치

  • 1차 속성

  • 2차 속성

  • 필드의 고정 데이터

  • 가변 데이터

  • 입력 데이터 항목

REPEAT 문

표를 구성하는 필드를 설정하는 경우, 동일 속성의 필드를 행방향 또는 열방향으로 반복하여 표시될 수 있도록 한다. 필드의 위치와 지표를 변경할 수 있는 정보를 제공해야 한다.

REPEND 문

표를 구성하는 필드 정의의 마지막을 나타낸다.

5. 프린터 단말의 기술

프린트 단말에서만 기술할 수 있는 문장에 대하여 설명한다.

다음은 프린터 단말의 기술을 위해 사용하는 문장이다.

문장 설명

LINE 문

행간격을 지정한다.

PART 문 직후에 지정가능하며, 생략할 경우에는 6LPI(Line Per Inch)의 간격으로 설정된다.

BARCODE 문

장표에 출력될 바코드 필드를 정의한다. 애플리케이션이 메시지 파일 인터페이스를 이용하여 단말과의 통신을 하는 경우에 BARCODE 문을 사용한다.

다음의 내용을 정의한다.

  • 바코드의 위치

  • 바코드의 종류

  • 바코드의 크기

  • 바코드 데이터를 저장하는 데이터 항목의 변수명

  • 기타 옵션

XBARCODE 문

장표에 출력될 바코드 필드를 정의한다.

애플리케이션이 표시 파일 인터페이스를 이용하여 단말과의 통신을 하는 경우에 XBARCODE 문을 사용한다. BARCODE 문의 기능을 확장한 형태이다. 정의하는 내용은 BARCODE 문과 동일하다.

6. 레코드의 기술

단말에서 입력한 데이터는 표시 서비스 프로그램을 통해서 애플리케이션으로 전달되고, 애플리케이션에서 처리된 데이터는 표시 서비스 프로그램을 통해서 외부 표현 형식으로 변환되어 출력된다. 표시 서비스 프로그램과 애플리케이션 사이에서 주고받는 내부 데이터 형식을 정의한 것을 레코드라고 한다.

다음은 레코드의 기술을 위해 사용하는 문장이다.

문장 설명

RECORD 문

레코드 기술의 시작을 나타내며 레코드의 종류(입력, 출력, 입출력)를 구분한다.

DATA 문

데이터 항목에 대해서 다음의 내용을 정의한다.

  • 데이터 항목의 이름

  • 데이터 항목의 용도

  • 데이터 항목의 편집 속성

  • 데이터 항목의 길이

  • 초기값

  • 입력 데이터 정당성 체크 방식

  • 반복 횟수

  • 페이징 지정

SDATA 문

집단 항목을 구성하는 데이터 항목을 정의한다.

GROUP 문

애플리케이션과 단말 사이의 입출력을 실시하는 단위를 정의한다. 그룹에 속하는 가변 데이터를 지정한다.

DIST 문

화면의 분배를 정의한다.

해당 화면에 대한 오퍼레이터의 응답의 값에 따라 다음 화면을 표시하거나, 애플리케이션으로 메시지를 전달한다. 분배에 영향을 주는 응답 데이터의 데이터 항목을 분배키라고 한다. 분배 키는 데이터 항목의 일부분이 될 수도 있다.

표시 파일 형식과 메시지 파일 형식에서 DIST 문의 기술 형식이 달라지지만, 기능은 거의 동일하다. 표시 파일 형식에서는 여러 개의 DIST 문 처리가 가능하다는 차이점이 있다. 즉 표시 파일 형식에서는 복수의 입력 데이터 값에 의해 화면 분배가 가능하다.

GRECORD 문

그래프 레코드의 시작을 나타내며 그래프의 종류를 기술한다.

그래프 레코드를 기술하기 위해서 사용되는 문장에는 GRECORD 문, PDATA 문, UNIT 문, GDATA 문이 있다.

PDATA 문

그래프 플롯 데이터 및 그래프 마스크 데이터의 형식을 정의한다.

UNIT 문

그래프 플롯 데이터의 그래프 유닛에 대한 이름과 속성을 정의한다.

GDATA 문

그래프 텍스트 데이터 또는 그래프 리파인 데이터를 지정한다.

데이터 항목을 기술할 때 EDIT 오퍼랜드에 패턴을 지정할 수 있으며, 패턴의 종류는 다음과 같다.

  • PIC가 9타입인 경우

    P01(999,999), P02(ZZZ,ZZ9), P03(9999999), P04(ZZZZZZ9), P28(ZZZZZZZ)
  • PIC가 S타입인 경우

    P12(\\\\\\,\\\\9CR), P14(ZZZ,ZZ9-), P20(-ZZZ,ZZ9), P22(-ZZZZZZ9),
    P25(----,--9), P26(-------9), P29(99.99.99), P63(ZZZ9.Z9.Z9), P64(9999.99.99)

7. 메시지의 기술

출력할 메시지의 내용을 레코드의 데이터 항목에 직접 기술할 수도 있지만, 이러한 경우 일반적으로 데이터의 양이 많아지고, 메시지의 내용을 변경하고 싶은 경우 애플리케이션을 수정하여 다시 빌드해야 한다. 이러한 점을 보완하기 위하여 사용하려는 메시지의 내용과 해당 메시지에 대한 메시지 ID를 포맷 정의 소스에서 정의하고, 레코드의 데이터 항목에는 메시지의 ID만 지정함으로서 메시지를 출력할 수 있도록 지원한다. 이 경우 레코드에는 메시지 ID만 지정하면 데이터의 양을 줄일 수 있고, 메시지의 내용을 변경하고 싶은 경우에는 애플리케이션의 수정 대신에 포맷 정의 소스를 수정하여 빌드하면 된다.

다음은 메시지의 기술을 위해 사용하는 문장이다.

문장 설명

MSG 문

메시지 필드에 표시할 메시지 본문을 정의한다.

8. 백그라운드의 기술

디스플레이 단말의 벡터 표시 기능을 사용하여 배경을 표시하는데, 벡터 표시 기능을 지원하지 않는 단말에서는 백그라운드의 정의가 무시된다. 벡터 표시 기능은 도형 전용 명령(점과 점을 연결하는 벡터의 집합을 이용한 명령)으로 도형을 화면에 표시하거나 프린터의 장표에 인쇄하는 기능이다.

다음은 디스플레이 장치의 배경(백그라운드)을 정의하기 위하여 사용되는 문장에 대한 설명이다.

문장 설명

BACK 문

단말의 벡터 표시 인쇄 기능을 사용하여 배경을 그리기 위한 배경 정의의 시작을 나타낸다.

SET 문

DRAW 문, CHAR 문의 앞에 기술하여, 선과 문자의 표시 형식을 설정한다.

DRAW 문

배경에 그리는 도형을 지정한다.

CHAR 문

배경에 표시하는 문자의 위치와 값을 지정한다.

REPEAT 문

배경에 나타낼 도형 및 문자를 반복하여 기술하고 싶을 때 사용한다.

REPEAT 문과 REPEND 문 사이에 사용할 수 있는 제어문은 DRAW 문과 CHAR 문만 가능하다. SET 문은 지정할 수 없다.

REPEND 문

도형 및 문자의 반복 정의의 마지막을 나타낸다.

9. 보조 제어문의 기술

포맷의 정의, 레코드의 정의, 메시지의 정의, 백그라운드의 정의는 표시 서비스 프로그램에서 동적으로 사용되는 정보이다.

동적으로 표시 서비스 프로그램에서 사용되는 정보가 아니라 포맷 정의 소스에서 포맷 정의체를 만들 때에만 필요한 정적인 정보를 기술할 수도 있는데, 이러한 정보를 기술하는 문장을 보조 제어문이라 한다. 포맷 정의 소스에서 사용하는 매크로의 정의 문장, 포맷 정의의 마지막을 지정하는 문장 등이 이에 해당한다.

다음은 보조 제어문의 기술을 위해 사용하는 문장이다.

문장 설명

EQU 문

치환 변수를 정의하여 포맷 정의 소스에 사용된 치환 변수를 정의된 값으로 변경할 수 있다. 치환 변수는 영문자(#, @, \를 포함)로 시작되는 2자리 문자의 영숫자로 지정한다. 화면 형식의 레이아웃 기술 부분은 치환의 대상에서 제외한다.

EQU 문은 FID 문보다 이전에 지정되어야만 한다.

END 문

포맷 정의의 마지막을 나타낸다.