COBOL-데이터 유형

데이터 분할은 프로그램에서 사용되는 변수를 정의하는 데 사용됩니다. COBOL에서 데이터를 설명하려면 다음 용어를 이해해야합니다.

  • 데이터 이름
  • 레벨 번호
  • 그림 조항
  • 가치 조항
01            TOTAL-STUDENTS            PIC9(5)            VALUE '125'.
|                    |                    |                    |
|                    |                    |                    |
|                    |                    |                    | 
Level Number     Data Name           Picture Clause       Value Clause

데이터 이름

데이터 이름은 절차 부서에서 사용하기 전에 데이터 부서에서 정의해야합니다. 사용자 정의 이름이 있어야합니다. 예약어는 사용할 수 없습니다. 데이터 이름은 실제 데이터가 저장되는 메모리 위치를 참조합니다. 기본 또는 그룹 유형이 될 수 있습니다.

다음 예제는 유효하고 유효하지 않은 데이터 이름을 보여줍니다-

Valid:
   WS-NAME
   TOTAL-STUDENTS
   A100
   100B

Invalid:
   MOVE            (Reserved Words)
   COMPUTE         (Reserved Words)
   100             (No Alphabet)
   100+B           (+ is not allowed)

레벨 번호

레벨 번호는 레코드의 데이터 레벨을 지정하는 데 사용됩니다. 기본 항목과 그룹 항목을 구분하는 데 사용됩니다. 기본 항목을 함께 그룹화하여 그룹 항목을 만들 수 있습니다.

Sr. 아니. 레벨 번호 및 설명
1

01

레코드 설명 항목

2

02 to 49

그룹 및 기본 항목

66

조항 항목 이름 변경

4

77

세분화 할 수없는 항목

5

88

조건 이름 입력

  • Elementary items더 이상 나눌 수 없습니다. 레벨 번호, 데이터 이름, 그림 절 및 값 절 (선택 사항)은 기본 항목을 설명하는 데 사용됩니다.

  • Group items하나 이상의 기본 항목으로 구성됩니다. 레벨 번호, 데이터 이름 및 값 절 (선택 사항)은 그룹 항목을 설명하는 데 사용됩니다. 그룹 레벨 번호는 항상 01입니다.

다음 예는 그룹 및 기본 항목을 보여줍니다-

DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-NAME    PIC X(25).                               ---> ELEMENTARY ITEM 
01 WS-CLASS   PIC 9(2)  VALUE  '10'.                   ---> ELEMENTARY ITEM

01 WS-ADDRESS.                                         ---> GROUP ITEM   
   05 WS-HOUSE-NUMBER    PIC 9(3).                     ---> ELEMENTARY ITEM
   05 WS-STREET          PIC X(15).                    ---> ELEMENTARY ITEM
   05 WS-CITY            PIC X(15).                    ---> ELEMENTARY ITEM
   05 WS-COUNTRY         PIC X(15)  VALUE 'INDIA'.     ---> ELEMENTARY ITEM

그림 조항

그림 절은 다음 항목을 정의하는 데 사용됩니다.

  • Data type숫자, 알파벳 또는 영숫자 일 수 있습니다. 숫자 유형은 0에서 9까지의 숫자로만 구성됩니다. 알파벳 유형은 A에서 Z까지의 문자와 공백으로 구성됩니다. 영숫자 유형은 숫자, 문자 및 특수 문자로 구성됩니다.

  • Sign숫자 데이터와 함께 사용할 수 있습니다. + 또는 – 일 수 있습니다.

  • Decimal point position숫자 데이터와 함께 사용할 수 있습니다. 가정 위치는 소수점 위치이며 데이터에 포함되지 않습니다.

  • Length 데이터 항목에서 사용하는 바이트 수를 정의합니다.

그림 절에 사용 된 기호-

Sr. 아니. 기호 및 설명
1

9

숫자

2

A

알파벳

X

영숫자

4

V

암시 적 십진수

5

S

기호

6

P

가정 십진수

다음 예제는 PIC 절의 사용을 보여줍니다-

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.

DATA DIVISION.
   WORKING-STORAGE SECTION.
   01 WS-NUM1 PIC S9(3)V9(2).
   01 WS-NUM2 PIC PPP999.
   01 WS-NUM3 PIC S9(3)V9(2) VALUE -123.45.
   01 WS-NAME PIC A(6) VALUE 'ABCDEF'.
   01 WS-ID PIC X(5) VALUE 'A121$'.

PROCEDURE DIVISION.
   DISPLAY "WS-NUM1 : "WS-NUM1.
   DISPLAY "WS-NUM2 : "WS-NUM2.
   DISPLAY "WS-NUM3 : "WS-NUM3.
   DISPLAY "WS-NAME : "WS-NAME.
   DISPLAY "WS-ID : "WS-ID.
STOP RUN.

JCL 위의 COBOL 프로그램을 실행하려면-

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEP1 EXEC PGM = HELLO

위의 프로그램을 컴파일하고 실행하면 다음과 같은 결과가 생성됩니다.

WS-NUM1 : +000.00
WS-NUM2 : .000000
WS-NUM3 : -123.45
WS-NAME : ABCDEF
WS-ID : A121$

가치 조항

Value 절은 데이터 항목을 초기화하는 데 사용되는 선택적 절입니다. 값은 숫자 리터럴, 영숫자 리터럴 또는 형상 상수 일 수 있습니다. 그룹 및 기본 항목 모두에 사용할 수 있습니다.

다음 예제는 VALUE 절의 사용을 보여줍니다-

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.

DATA DIVISION.
   WORKING-STORAGE SECTION.
   01 WS-NUM1 PIC 99V9 VALUE IS 3.5.
   01 WS-NAME PIC A(6) VALUE 'ABCD'.
   01 WS-ID PIC 99 VALUE ZERO.

PROCEDURE DIVISION.
   DISPLAY "WS-NUM1 : "WS-NUM1.
   DISPLAY "WS-NAME : "WS-NAME.
   DISPLAY "WS-ID   : "WS-ID.
STOP RUN.

JCL 위의 COBOL 프로그램을 실행하려면-

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEP1 EXEC PGM = HELLO

위의 프로그램을 컴파일하고 실행하면 다음과 같은 결과가 생성됩니다.

WS-NUM1 : 03.5
WS-NAME : ABCD
WS-ID   : 00