COBOL에서 들여오기: 지원되는 기능

다음 표는 COBOL 정의가 메시지 모델에서 XML 스키마 설정값에 영향을 미치는 방식을 표시합니다.

일부 xsd 유형의 뒤에는 '-'가 있음에 유의하십시오. 이것은 이 유형에 근거한 익명의 단순 유형임을 표시합니다. 문자열에서 익명 유형의 목적은 길이 제한을 추가하는 것이며, 숫자 유형에서 이 유형의 목적은 최소 및/또는 최대 값 제한을 추가하는 것입니다.
COBOL 절 XML 스키마 데이터 유형 참고
PIC A xsd:string -  
PIC G xsd:string -

이를 처리하려면 컴파일 시간 로케일 이름을 Windows - 환경설정 - 임포터 - COBOL에서 ja_JP로 설정하십시오.

PIC N xsd:string -

이를 처리하려면 컴파일 시간 로케일 이름을 Windows - 환경설정 - 임포터 - COBOL에서 ja_JP로 설정하십시오.

PIC X xsd:string -  
PIC 9(n) n = 1-4 xsd:short - DISPLAY, COMP 또는 COMP-3
PIC 9(n) n = 5-9 xsd:int - DISPLAY, COMP 또는 COMP-3
PIC 9(n) n = 10-18 xsd:long - DISPLAY, COMP 또는 COMP-3
PIC 9(n) n = 19-31 xsd:integer - DISPLAY, COMP 또는 COMP-3
PIC 9(n)V9(m) xsd:decimal - DISPLAY, COMP 또는 COMP-3 임의의 가상 소수점 값
COMP-1 xsd:float -  
COMP-2 xsd:double -  
임의의 편집 문자열 xsd:string -  
임의의 편집 수 xsd:string - 예를 들면, PIC Z
VALUE 모두 비 88 레벨의 VALUE 절은 스키마 디폴트 값으로 들여올 수 있습니다(들여오기 마법사의 옵션).

다음 표는 COBOL 정의가 메시지 모델에서 생성된 요소의 물리적 CWF 특성에 영향을 미치는 방식을 표시합니다.

COBOL 키워드 CWF 물리적 유형 CWF 길이 특성 기타 CWF 특성
PIC X(n)

PIC A(n)

고정 길이 문자열 길이 = n

길이 단위 = 바이트

조정 = 왼쪽 맞추기

패딩 문자 = SPACE

PIC G(n)

PIC N(n)

고정 길이 문자열 길이 = n

길이 단위 = 문자

조정 = 왼쪽 맞추기

패딩 문자 = SPACE

PIC 9(n) DISPLAY n=1-31 외부 10진수(External Decimal) 길이 = n

길이 단위 = 바이트

조정 = 오른쪽 맞추기

패딩 문자 = '0'

사인됨 = Unticked

사인 방향 = 후미 문자

PIC 9(n) COMP, COMP-4, COMP-5 or BINARY 정수 길이 = n에 근거한 2, 4 또는 8

길이 단위 = 바이트

사인됨 = Unticked

사인 방향 = 공백

PIC 9(n) COMP-3 n=1-18 Packed Decimal 길이 = CEILING((n+1)/2)

길이 단위 = 바이트

사인됨 = Unticked

사인 방향 = 공백

PIC S9(n) DISPLAY n=1-31 외부 10진수(External Decimal) 길이 = n

길이 단위 = 바이트

사인됨 = Ticked

사인 방향 = 후미 문자

*주 1 참조

PIC S9(n) COMP 또는 COMP-3

n=1-18

정수 또는 Packed Decimal 길이 = 위의 COMP 및 COMP-3 정의 참조

길이 단위 = 바이트

사인됨 = Ticked

사인 방향 = 공백

PIC 9(m)V9(n) DISPLAY n=1-31 외부 10진수(External Decimal) 길이 = n+m

길이 단위 = 바이트

사인됨 = Unticked

사인 방향 = 후미 문자

가상 소수점 = n

PIC 9(m)V9(n) COMP 또는 COMP-3 정수 또는 Packed Decimal 길이 = COMP-3의 CEILING((n+m+1)/2)

길이 = COMP의 2, 4 또는 8

길이 단위 = 바이트

사인됨 = Unticked

사인 방향 = 공백

가상 소수점 = n

COMP-1 Float 길이 = 4

길이 단위 = 바이트

사인됨 = Ticked

사인 방향 = 공백

COMP-2 Float 길이 = 8

길이 단위 = 바이트

사인됨 = Ticked

사인 방향 = 공백

SYNC Float, 정수 또는 Packed Decimal   적절한 선두 문자 건너뛰기 수

적절한 후미 문자 건너뛰기 수

적절한 바이트 맞추기

*주 2 참조

주:
  1. 사인, 즉 부호 방향은 COBOL 정의에서 SEPARATE, LEADING 또는 TRAILING 키워드에 근거하여 다음 값 중 하나를 가질 수 있습니다.
    • 선두 문자(Leading)
    • 선두 문자 분리(Leading Separate)
    • 후미 문자(Trailing)
    • 후미 문자 분리(Trailing Separate)
  2. SYNC 키워드는 필드를 1, 2, 4 또는 8 바이트 경계에 맞춥니다. 이것은 필드 앞이나 뒤에 'slack 바이트'를 추가할 수 있게 합니다. 선두 문자 건너뛰기 수는 필드 앞에 추가한 바이트 수이며, 후미 문자 건너뛰기 수는 필드 뒤에 추가한 바이트 수입니다.

    선두 문자 건너뛰기 수 및 후미 문자 건너뛰기 수는 SYNC 절과는 별도로 임포터로 들여온 각 요소별로 계산됩니다. SYNC 절이 있는 경우 0이 아닌 값을 갖습니다.

    반복 요소가 있고 선두 문자 건너뛰기 수 및 후미 문자 건너뛰기 수가 반복 요소의 첫 번째 발생항목에 사용되는 경우, 후속 발생항목에 대해서는 후미 문자 건너뛰기 수만 사용됩니다.

    바이트 맞추기를 필요로 하는 필드에 대한 자세한 내용은 COBOL 참조 자료를 참조하십시오.

  3. COBOL 임포터의 경우 들여오는 모든 파일은 구문이 정확해야 합니다. 그렇지 않을 경우 결과를 예상할 수 없습니다.
  4. POINTER, COMP-X, INDEX 및 PROCEDURE-POINTER를 포함하는 COBOL 데이터 유형은 지원되지 않습니다.
  5. 키워드 NATIVE가 포함된 COBOL은 오류를 일으키고 들여올 수 없습니다.
  6. COBOL 레벨 66 및 레벨 77 데이터 항목은 들여올 수 없습니다.
  7. 16진 바이너리 값은 숫자가 아닌 리터럴과 관련이 없습니다. 16진 바이너리 값은 COBOL 임포터로 들여온 LINKAGE SECTION에 상주할 수 없습니다. 그 이외의 경우 COBOL 파일 어느 곳이든 상주할 수 있습니다. 또는 16진 값을 PIC X의 char 문자열로 변환하거나 PIC 9의 10진수로 변환할 수 있습니다.
  8. Java 언어 키워드와 요소 이름이 상충될 경우 요소 이름 접두부에 단일 밑줄 문자를 사용하여 수정됩니다.
  9. COBOL 85에 대한 오브젝트 지향 확장자는 지원되지 않습니다. 예를 들면, OBJECT-REFERENCE는 지원되지 않습니다.
  10. COBOL OCCURS DEPENDING ON 절. 그러한 구조에서 요소에 대한 바이트 맞추기, 선두 문자 건너뛰기 수 및 후미 문자 건너뛰기 수 CWF 등록 정보가 적절하게 설정되지 않습니다. 메시지 편집기를 사용하여 수정해야 합니다.
  11. 들여온 COBOL 소스 파일에 그림 문자열의 값 절에 있는 QUOTE 또는 QUOTES가 포함된 경우, COBOL 임포터 마법사의 들여오기 옵션 페이지에서 COBOL QUOTE 컴파일 옵션을 SINGLE로 설정한 경우를 제외하고 디폴트 작동은 큰따옴표 표시를 사용하여 데이터를 채우는 것입니다.

부호, 즉 사인이 있는 External Decimal 숫자

WebSphere Message Broker의 사용자 정의 Wire 형식(CWF) 구성요소는 External Decimal(Zoned Decimal이라고도 함) 데이터 형식을 사용한 숫자 데이터 모델화 지원을 제공합니다. 이 형식에서, 숫자는 내부적으로 10진수 문자 데이터로 저장됩니다. 예를 들면, EBCDIC 코드를 사용하는 시스템에서 4바이트 External Decimal 필드에 저장된 숫자 1234는 문자열 "1234"로 저장되고 실제 내부 16진 표현은 F1F2F3F4가 됩니다.

부호가 있는 External Decimal 숫자에서 첫 번째 또는 마지막 바이트의 전반부를 수정함으로써 부호를 실제 데이터에 포함시킬 수 있습니다(부호 선두 문자 또는 부호 후미 문자 표현을 사용하는지 여부에 따라 다름). 일반적으로, '0xC'는 양수를 표현하는 데 사용되고 '0xD'는 음수를 표현하는 데 사용되며, '0xF'는 부호가 없는 숫자를 표현하는 데 사용됩니다.

주: 일반적으로, '0xA', '0xC', '0xE' 또는 '0xF'를 사용하여 양수 값을 나타낼 수 있고 '0xB' 또는 '0xD'를 사용하여 음수 값을 나타낼 수 있습니다. 선호하는 실제 표현은 실제 하드웨어 아키텍처에 따라 달라집니다.

ASCII 시스템에는 External Decimal 데이터의 내부 표현에 사용되는 여러 메커니즘이 있습니다. IBM의 pSeries 시스템에 의해 사용되는 한 가지 표현('부호 ASCII')은, 부호가 없는 숫자와 양수의 첫 번째/마지막 숫자에 대해서는 정상 ASCII 코드("0" [hex 30] - "9" [hex 39])를 사용하고, 음수에 대해서는 "p" [hex 70] - "y" [hex 79]를 사용합니다.

일부 다른 ASCII 기반 시스템에서는 대체 메소드(부호 EBCDIC 사용자 정의)가 사용됩니다. 이 메소드는 실제 내부 16진 표현이 다른 경우에도 EBCDIC 기반 시스템과 같은 문자를 사용합니다. 이 기술을 사용하면 EBCDIC 및 ASCII 플랫폼에 대한 캐릭터 문자열이 동일합니다. EBCDIC 플랫폼에서 메시지를 수신할 수도 있으며(PIC XXX 및 PIC S999와 같은 항목을 포함하는 COBOL 사본으로부터 작성됨), 전체 메시지를 ASCII로 변환하거나 반대로 변환할 수도 있습니다. 메시지의 External Decimal 필드를 표현하는 캐릭터 문자열 (ASCII/EBCDIC 변환 후)은 10진수의 올바른 부호를 나타내는 코드 포인트로 맵핑됩니다. 이 메소드에 제한사항이 있음을 유의해야 합니다. 중괄호 문자는 가변적입니다. (즉, 다른 EBCDIC 코드페이지에서 다른 코드 포인트를 갖습니다.) 이 메커니즘은 중괄호 문자 '{' 및 '}'(부호가 있는 0을 표현하는 데 사용)가 정확히 코드 포인트 x'C0' 및 x'D0'를 갖는 EBCDIC 코드 페이지에서만 작동합니다. 예를 들면, 코드 페이지 500에서는 작동하지만 중괄호 코드 포인트가 X'8E' 및 X'9C인 코드 페이지 871에서는 작동하지 않습니다.

ASCII 환경에서(런타임 시 CCSID 등록 정보에 의해 판별), 입력 및 출력의 디폴트값은 '부호 ASCII' 표현입니다. CWF 물리적 계층에서 10진수, Float 및 정수 유형의 로컬 속성 및 로컬 요소에 적용되는 표현을 지정할 수 있습니다.

주: 이것은 External Decimal 물리적 표현을 갖고 임베드된('선두 문자' 또는 '후미 문자') 부호('사인 방향' 등록 정보에 따라 결정)가 있는 요소 또는 속성에만 적절합니다.

아래 표는 각각 선두 문자 또는 후미 문자가 포함된(임베드된) External Decimal 숫자의 첫 번째 또는 마지막 숫자에 대한 내부 표현(문자 및 실제 16진 값)을 보여줍니다. (주: 테이블에서 ASCII의 경우 0x30-0x39이고 EBCDIC의 경우 0xF0-0xF9인 부호가 없는 값에 대한 표현은 제공하지 않습니다.)

  양의 부호 값   음의 부호 값
ASCII 환경 EBCDIC 환경 ASCII 환경 EBCDIC 환경
숫자 부호 ASCII 부호 EBCDIC 사용자 정의   부호 ASCII 부호 EBCDIC 사용자 정의  
0 0(30) {(7B) {(C0) p(70) }(7D) }(D0)
1 1(31) A(41) A(C1) q(71) J(4A) J(D1)
2 2(32) B(42) B(C2) r(72) K(4B) K(D2)
3 3(33) C(43) C(C3) s(73) L(4C) L(D3)
4 4(34) D(44) D(C4) t(74) M(4D) M(D4)
5 5(35) E(45) E(C5) u(75) N(4E) N(D5)
6 6(36) F(46) F(C6) v(76) O(4F) O(D6)
7 7(37) G(47) G(C7) w(77) P(50) P(D7)
8 8(38) H(48) H(C8) x(78) Q(51) Q(D8)
9 9(39) I(49) I(C9) y(79) R(52) R(D9)

다음 표는 이러한 방법을 사용하여 전송하거나 수신할 수 있는 것의 전형이 되는 단순 숫자 범위에 대한 일부 예를 제공합니다.

  부호 선두 문자 부호 후미 문자
  ASCII 환경 EBCDIC 환경 ASCII 환경 EBCDIC 환경
10진수 값 부호 ASCII 부호 EBCDIC 사용자 정의   부호 ASCII 부호 EBCDIC 사용자 정의  
1234

31 32 33 34
"1234"

31 32 33 34
"1234"

F1 F2 F3 F4
"1234"

31 32 33 34
"1234"

31 32 33 34
"1234"

F1 F2 F3 F4
"1234"

+1234

31 32 33 34
"1234"

41 32 33 34
"A234"

C1 F2 F3 F4
"A234"

31 32 33 34
"1234"

31 32 33 44
"123D"

F1 F2 F3 C4
"123D"

-1234

71 32 33 34
"q234"

4A 32 33 34
"J234"

D1 F2 F3 F4
"J234"

31 32 33 74
"123t"

31 32 33 4D
"123M"

F1 F2 F3 D4
"123M"

7890

37 38 39 30
"7890"

37 38 39 30
"7890"

F7 F8 F9 F0
"7890"

37 38 39 30
"7890"

37 38 39 30
"7890"

F7 F8 F9 F0
"7890"

+7890

37 38 39 30
"7890"

47 38 39 30
"G890"

C7 F8 F9 F0
"G890"

37 38 39 30
"7890"

37 38 39 7B
"789{"

F7 F8 F9 C0
"789{"

-7890

77 38 39 30
"w890"

50 38 39 30
"P890"

D7 F8 F9 F0
"P890"

37 38 39 70
"789p"

37 38 39 7D
"789}"

F7 F8 F9 D0
"789}"

관련 개념
메시지 모델링
메시지 모델
관련 태스크
메시지 모델 개발
메시지 정의 파일 관련 작업
메시지 모델 오브젝트에 대한 작업
관련 참조
메시지 모델 참조 정보
메시지 모델 오브젝트 등록 정보
주의사항 | 등록상표 | 다운로드 | 라이브러리 | 지원 | 피드백
Copyright IBM Corporation 1999, 2006 마지막 갱신 날짜: 2006/08/21
ad06900_