메시지 세트: COBOL에서 가져오기: 지원되는 기능

COBOL 임포터는 COBOL 데이터 유형을 메시지 모델 요소에 맵핑할 때 기본값 및 동작 세트를 사용합니다.

다음 표는 COBOL 정의가 메시지 모델의 XML 스키마 설정에 영향을 주는 방법을 보여 준다.

COBOL 절 XML 스키마 데이터 유형 Notes
PIC A xsd: string  
PIC G xsd: string 이를 처리하려면 > 환경 설정 > 임포터 > 파인 에서 컴파일시 로케일 이름을 ja_JP로 설정하십시오.
PIC N xsd: string 이를 처리하려면 > 환경 설정 > 임포터 > 파인 에서 컴파일시 로케일 이름을 ja_JP로 설정하십시오.
PIC X xsd: string  
PIC 9 (n) n = 1-4 xsd: short 표시, COMP 또는 COMP-3
PIC 9 (n) n = 5-9 xsd: int 표시, COMP 또는 COMP-3
PIC 9 (n) n = 10-18 xsd: long 표시, COMP 또는 COMP-3
PIC 9 (n) n = 19-31 xsd: integer 표시, COMP 또는 COMP-3
PIC 9 (n) V9 (m) xsd: 소수 표시, 완료 또는 완료 -3 가상 소수점 값
콤프-1 xsd: float  
콤프-2 xsd: double  
편집된 문자열 xsd: string  
편집된 숫자 xsd: string 예를 들어, 다음 문자를 포함하는 COBOL PICTURE절이 있습니다.
  • ' Z '
  • '+'
  • '-'
  • '.'
  • ','
  • ' B '
  • '0'
또는 통화 기호입니다.

통합 노드 논리 유형이 숫자 1이 되도록 하려면 COBOL PICTURE절에 이러한 문자가 포함되어 있지 않은지 확인하십시오.

가치 모든 비88 레벨 값 절을 스키마 기본값으로 가져올 수 있습니다 (가져오기 마법사의 옵션).

다음 표는 COBOL 정의가 메시지 모델에서 생성된 요소의 실제 MRM CWF 특성에 영향을 주는 방법을 보여줍니다.

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

PIC A (n)

고정 길이 문자열 길이 = n

길이 단위 = 바이트

조정 = 왼쪽 맞춤

패딩 문자 = 공간

PIC G (n)

PIC N (n)

고정 길이 문자열 길이 = n

길이 단위 = 문자

조정 = 왼쪽 맞춤

패딩 문자 = 공간

PIC 9 (n) 디스플레이 n=1-31 외부 소수점 길이 = n

길이 단위 = 바이트

주정함 = 오른쪽 맞춤

패딩 문자 = ' 0 '

서명됨 = 미표시

사인 방향 = 회전

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

길이 단위 = 바이트

서명됨 = 미표시

사인 방향 = 공백

PIC 9 (n) COMP-3 n=1-18 팩형 10 진수 길이 = CEILING ((n+1 )/ 2)

길이 단위 = 바이트

서명됨 = 미표시

사인 방향 = 공백

PIC S9 (n) 디스플레이 n=1-31 외부 소수점 길이 = n

길이 단위 = 바이트

서명됨 = 티크됨

사인 방향 = 회전

* 참고 1 참조

PIC S9 (n) COMP 또는 COMP-3

n=1-18

정수 또는 팩 십진 길이 = 위의 COMP및 COMP-3 정의 참조

길이 단위 = 바이트

서명됨 = 티크됨

사인 방향 = 공백

PIC 9 (m) V9 (n) 디스플레이 n=1-31 외부 소수점 길이 = n+m

길이 단위 = 바이트

서명됨 = 미표시

사인 방향 = 회전

가상 소수점 = n

PIC 9 (m) V9 (n) COMP 또는 COMP-3 정수 또는 팩 십진 COMP-3에 대한 길이 = CEILING ((n+m+1 )/ 2)

COMP의 경우 길이 = 2, 4또는 8

길이 단위 = 바이트

서명됨 = 미표시

사인 방향 = 공백

가상 소수점 = n

콤프-1 부동 길이 = 4

길이 단위 = 바이트

서명됨 = 티크됨

사인 방향 = 공백

콤프-2 부동 길이 = 8

길이 단위 = 바이트

서명됨 = 티크됨

사인 방향 = 공백

동기화 부동, 정수 또는 압축된 소수   선행 건너뛰기 계수가 적절합니다.

스킵 스킵 계수를 적절하게

적합한 바이트 정렬

* 참고 2 참조

Notes:
  1. 사인 방향 는 COBOL 정의의 분리, 선두또는 후미 키워드를 기준으로 다음 값 중 하나를 사용할 수 있습니다.
    • 선두
    • 선두적인 분리
    • 후미
    • 트레일링 분리
  2. 동기화 키워드를 사용하면 필드가 1, 2, 4또는 8바이트경계에서 정렬됩니다. 이로 인해 필드 앞뒤에 '슬랙 바이트' 가 추가될 수 있습니다. 선행 건너뛰기 수 는 필드 앞에 추가된 이러한 바이트 수입니다. 트레일링 건너뛰기 수 는 필드 뒤에 추가되는 바이트 수입니다.

    선행 건너뛰기 수트레일링 건너뛰기 수 는 SYNC절과 무관하게 임포터가 가져온 각 요소의 임포터에 의해 계산됩니다. SYNC절이 존재하는 경우에는 0이 아닌 값을 갖는다.

    반복되는 요소가 있는 경우 선행 건너뛰기 수트레일링 건너뛰기 수 는 반복 요소의 첫 번째 발생에 사용됩니다. 후속 발생에서는 트레일링 건너뛰기 수 만 사용됩니다.

    바이트 맞추기가 필요한 필드에 대한 세부사항은 COBOL 참조 자료를 참조하십시오.

  3. 가져오는 모든 파일은 구문적으로 올바른 파일이어야 합니다. 가져오기 중인 파일이 동기화적으로 올바르지 않은 경우 결과를 예측할 수 없습니다.
  4. POINTER, COMP-X, INDEX 또는 PROCEDURE-POINTER 키워드가 있는 COBOL 데이터 유형은 지원되지 않는다.
  5. NATIVE 키워드를 포함하는 COBOL절은 오류이며 가져오지 않습니다.
  6. COBOL 레벨 66과 레벨 77데이터 항목은 가져오지 않습니다.
  7. 16진 2진 값은 숫자가 아닌 리터럴에 해당될 수 없습니다. COBOL 임포터가 가져온 LINKAGE SECTIONs에는 상주할 수 없다. 이 파일은 COBOL 파일의 다른 위치에 있을 수 있습니다. 또는 16진 값을 PIC X의 문자열 또는 PIC 9의 10진수로 변환할 수 있다.
  8. 요소 이름이 Java™ 언어 키워드와 충돌하는 경우 요소 이름을 단일 밑줄 문자로 접두부로 수정하여 요소 이름을 수정합니다.
  9. COBOL 85에 대한 오브젝트 지향 확장은 지원되지 않습니다. 예를 들어, OBJECT-REFERENCE는 지원되지 않는다.
  10. COBOL OCCURS DEPENDING ON절. 이러한 구조 내에서 요소의 바이트 맞추기, 선행 건너뛰기 수트레일링 건너뛰기 수 CWF 특성이 올바르게 설정되지 않았습니다. 메시지 편집기를 사용하여 이를 정정해야 합니다.
  11. 가져온 COBOL 소스 파일이 그림 문자열의 값 절에 QUOTE 또는 QUOTES를 포함하는 경우, COBOL 임포터 마법사의 가져오기 옵션 페이지에서 COBOL QUOTE 컴파일 옵션을 SINGLE로 설정하지 않으면 기본 동작은 큰따옴표로 데이터를 입력하는 것이다.

서명된 외부 10진수 숫자

IBM® 통합 버스 의 MRM 사용자 정의 연결 형식 (CWF) 및 TDS 컴포넌트는 숫자 데이터에 대해 외부 십진 (Zoned Decimal이라고도 알려짐) 데이터 형식을 지원합니다. 이 형식의 숫자 데이터는 내부적으로 십진 문자 데이터로 저장됩니다. 예를 들어, EBCDIC 코드를 사용하는 시스템에서 4바이트 외부 십진 필드에 저장된 숫자 1234는 문자열 '1234' 로 저장되고 실제 내부 16진 표현은 'F1F2F3F4' 이다.

부호가 있는 외부 10진수가 있는 경우, 부호는 첫 번째 또는 마지막 바이트의 처음 절반을 수정하여 실제 데이터에 통합될 수 있습니다 (기호 선행 또는 사인 후행 표시를 사용하는지 여부에 따라 다름). 통상적으로, '0xC' 는 양수를 나타내는데 사용되고, '0xD' 는 음수를 나타내는데 사용되고, '0xF' 는 부호 없는 숫자를 나타내기 위해 사용된다.

참고: 일반적으로, '0xA', '0xC', '0xE' 또는 '0xF' 중 임의의 것은 양의 값을 나타내기 위해 사용될 수 있고, '0xB' 또는 '0xD' 는 음의 값을 나타내기 위해 사용될 수 있다. 실제 바람직한 표현은 실제 하드웨어 아키텍처에 의존한다.

ASCII 머신에서는 외부 10진수 데이터의 내부 표시를 위한 많은 메커니즘이 있다. IBM의 pSeries 시스템에서 사용하는 하나의 표시 ('부호 ASCII') 는 비부호화 및 양수의 첫 번째 또는 마지막 숫자에 대한 일반 ASCII 코드 ('0' [hex 30] to '9' [hex 39]) 와 음수의 경우 'p' [hex 70]~'y' [hex 79] 로 문자 'p' [hex 70] 를 사용합니다.

대체 메소드 (서명 EBCDIC 사용자 정의) 는 일부 다른 ASCII 기반 시스템에서 사용된다. 이 메소드는 실제 내부 16진 표시가 다르더라도 동일한 문자를 EBCDIC 기반 시스템과 사용합니다. 이 기술을 사용하는 경우, EBCDIC및 ASCII 플랫폼 모두에 대한 문자열이 동일합니다. PIC XXX와 PIC S999와 같은 항목을 포함하는 COBOL 카피북에서 작성된 메시지를 잠재적으로 수신하고 전체 메시지를 ASCII로 변환하거나 다른 방법으로 변환할 수 있다. 메시지의 외부 10진수 필드를 나타내는 문자열 (ASCII 에서 EBCDIC로, 또는 EBCDIC 에서 ASCII로의 변환) 은 십진에 대한 올바른 기호를 나타내는 코드 포인트로 맵핑된다.

이 메소드에는 중괄호 문자가 변형되어 있다는 제한이 포함되어 있습니다 (서로 다른 EBCDIC 코드 페이지에서 서로 다른 코드 포인트를 가짐). 이 메커니즘은 중괄호 문자 '{' and '}' (서명된 0을 표시하는 데 사용됨) 가 정확히 코드 포인트 X'C0 '및 X'D0' 을 갖는 EBCDIC 코드 페이지에 대해서만 작동합니다. 예를 들어, 코드 페이지 (500) 에서는 작동하지만 코드 페이지 (871) 에는 작동하지 않으며, 여기서 중괄호는 코드 포인트 X'8E ' 및 X' 9C를 갖는다.

ASCII 환경 (런타임 시의 CCSID 특성에 의해 결정됨) 에서 입력 및 출력의 기본값은 '부호 ASCII' 표시입니다. 로컬 속성의 경우 CWF 물리층에 적용 가능한 표시와 10진수, 부동 소수점 및 정수 유형의 로컬 요소를 지정할 수 있다.

참고: 이 옵션은 외부 10진수 실제 표시가 있고 임베디드 ('선행' 또는 '후미') 부호 ( 사인 방향 특성에 의해 판별됨) 가 있는 요소 또는 속성에 대해서만 적합합니다.

다음 표에는 외부 10진수에 대한 첫 번째 또는 마지막 숫자의 내부 표현 (문자와 실제 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) (41) (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) 오 (4F) O (D6)
7 7(37) G (47) G (C7) (77) P (50) P (D7)
8 8(38) H (48) H (C8) x (78) Q (51) Q (D8)
9 9(39) (49) (C9) (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 F4 F4
"1234"
31 32 33 34
"1234"
31 32 33 34
"1234"
F1 F2 F4 F4
"1234"
+1234
31 32 33 34
"1234"
41 32 33 34
"A" 는 1이고;
C1-2 F4 F4 F4 F4 F4 F4
"A" 는 1이고;
31 32 33 34
"1234"
31 32 33 44
"123D"
F1 F2 F3 C4
"123D"
-1234
71 32 33 34
"q234"
도면 1
"J234"-;
D1 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 F9 F0 F0
"7890"
37 38 39 30
"7890"
37 38 39 30
"7890"
F7 F9 F0 F0
"7890"
+7890
37 38 39 30
"7890"
47 38 39 30
"G" - 기;
F9 F9 F0 F9 F9 F9 F0
"G" - 기;
37 38 39 30
"7890"
37 38 39
"789{"
F7 F9 C0
"789{"
-7890
77 38 39 30
"w" 는 1이고;
50 38 39 30
"P"-"P" -
D7 F9 F9 F9 F9 F9 F9 F0
"P"-"P" -
37 38 39 70
"789 p"
37 3839 7D
"789}"
F7 F9 D0
"789}"