1. DEFINE statement

DEFINE statement는 사용자가 PL/I 데이터 타입에 대해 별칭을 지정하거나 열거형 데이터 타입을 정의할 수 있다.

1.1. DEFINE ALIAS statement

DEFINE ALIAS statement는 사용자가 PL/I 데이터 타입에 대해 별칭을 정의할 수 있다.

figure syntax define alias
항목 설명

alias-name

별칭으로 사용할 이름을 지정한다.

attributes

별칭의 데이터 속성을 지정한다.

다음은 DEFINE ALIAS statement를 이용하여 별칭을 정의하고, 별칭을 이용하여 변수를 선언하는 예제이다.

  DEFINE ALIAS NAME CHAR(32);
  DECLARE COMPANY_NAME TYPE NAME;

1.2. DEFINE ORDINAL statement

DEFINE ORDINAL statement는 열거형 타입을 정의한다.

figure syntax define ordinal

ordinal-value-list :

image

항목 설명

ordinal-name

열거형 타입으로 사용할 이름을 지정한다.

member

열거형 타입의 멤버 이름을 지정한다.

VALUE

멤버의 값을 지정한다.

  • VALUE를 지정할 경우 integer 값은 이전 멤버의 값 보다 커야한다.

  • VALUE 속성을 지정하지 않고, 첫 번째 멤버일 경우 값은 0이 된다. VALUE 속성을 지정하지 않고, 첫 번째 멤버가 아닐 경우 값은 이전 멤버의 값 + 1이 된다.

PRECISION

VALUE의 PRECISION 속성을 지정한다. 만일 PRECISION 속성을 생략할 경우 VALUE 값을 기준으로 결정된다.

SIGNED, UNSIGNED

VALUE의 SIGNED, UNSIGNED 속성을 지정한다.

다음은 DEFINE ORDINAL statement를 이용하여 열거형 타입을 정의하고, 열거형 변수를 선언하는 예제이다.

  DEFINE ORDINAL LANG ( PLI, COBOL, ASSEMBLER, C, CPP );
  DECLARE COMPILER ORDINAL LANG;