메인프레임 문자 형식
TI(트랜잭션 통합자) 프로젝트에서 데이터를 메인프레임으로 보낼 때 TI 런타임 환경에서 만들 메인프레임 문자 형식을 지정할 수 있습니다. TI에서 지원하는 두 가지 메인프레임 문자 형식은 다음과 같습니다.
PIC X(n) COBOL 또는 RPG A
PIC G(n) COBOL 또는 RPG G
TI Project에서 문자열 매개 변수, 필드 또는 열을 만들면 PIC X(n) 또는 RPG A 데이터 형식 형식이 자동으로 선택됩니다.
필요한 경우 Properties 명령을 사용하여 메인프레임 문자 형식을 변경할 수 있습니다.
문자열에 대해 PIC X 또는 RPG A 형식을 선택하면 TI 런타임 환경에서 이 문자열을 EBCDIC(Extended Binary Coded Decimal Interchange Code) 문자열 또는 혼합된 문자 문자열로 변환합니다. 특히 TI 프로젝트에서 정의하는 TI 구성 요소가 EBCDIC 코드 페이지가 있는 RE(원격 환경)에 할당된 경우 TI 런타임 환경은 PIC X 또는 RPG A 형식의 문자열을 EBCDIC 문자열로 변환합니다. TI 구성 요소의 RE가 DBCS(더블 바이트 문자 집합) 코드 페이지를 식별하는 경우 TI 런타임 환경은 PIC X 형식의 문자열을 혼합 문자열로 변환합니다(RPG에서는 지원되지 않음).
문자열에 대해 PIC G 또는 RPG G 형식을 선택하는 경우 TI 런타임 환경은 항상 문자열을 DBCS 문자열로 변환합니다. 따라서 PIC G 또는 RPG G 형식의 문자열을 사용하는 TI 구성 요소는 DBCS 코드 페이지가 있는 RE에 할당되어야 합니다.
PIC G 또는 RPG G 형식의 문자열을 사용하는 TI 구성 요소가 EBCDIC 코드 페이지가 있는 RE에 할당된 경우 TI 런타임 환경은 문자열을 PIC G 또는 RPG G 형식으로 변환하려고 할 때 변환 오류를 보고합니다. TI 런타임 환경은 이 변환 문제를 설명하는 오류 메시지를 Windows 이벤트 로그에 배치하고 호출 클라이언트 애플리케이션에 오류를 반환합니다.
다음 표에서는 문자열 형식 및 코드 페이지의 선택이 TI 런타임 환경에서 수행하는 문자 변환 유형을 제어하는 방법을 요약합니다.
문자열 형식 | EBCDIC 코드 페이지 | DBCS 코드 페이지 |
---|---|---|
PIC X 또는 RPG A | EBCDIC 문자열 | 혼합 문자열 |
PIC G 또는 RPG G | TI 런타임 환경은 변환 오류를 보고합니다. | DBCS 문자열 |
문자열 차원 값
문자열 차원(PIC X(n) 또는 RPG A(n)의 n 부분과 PIC G(n) 또는 RPG G(n) 형식의 n 부분)의 의미는 사용 중인 문자 형식을 기반으로 합니다. TI(트랜잭션 통합자) 프로젝트의 COBOL 정의 속성 페이지에서 문자열의 차원을 지정합니다.
PIC G 또는 RPG G 형식의 문자열에 대한 차원 값은 문자열의 메인프레임 표현에 사용되는 더블바이트 문자 수를 제공합니다. PIC G 또는 RPG G 형식의 문자열이 변환되면 SO 및 SI 문자 쌍이 추가되지 않습니다.
PIC X 또는 RPG A 형식의 문자열에 대한 차원 값은 메인프레임 표현에 사용되는 바이트 수를 제공합니다. PIC X 또는 RPG 형식 문자열에 배치하거나 사용할 수 있는 문자 수는 의 수에 따라 달라집니다.
DBCS(더블바이트 문자 집합) 문자입니다. 각 문자에는 2바이트의 스토리지가 필요합니다.
SO 및 SI 문자 쌍이 필요합니다. 각 2바이트 쌍은 DBCS 문자의 연속된 각 스트림을 캡슐화해야 합니다.
TI를 사용하는 개발자는 TI 프로젝트에서 차원 값을 지정할 때 혼합된 문자열의 크기에서 이러한 가변성을 고려해야 합니다.
PIC X 또는 RPG A 형식의 EBCDIC 코드 페이지를 사용하여 변환된 문자열의 바이트 수는 문자열에 DBCS 문자가 없기 때문에 문자 수와 동일합니다.
그러나 PIC X 또는 RPG A 형식의 DBCS 코드 페이지를 사용하여 변환된 문자열의 경우 지정된 바이트 수에 배치할 수 있는 실제 문자 수는 다릅니다. 예를 들어 UNICODE로 또는 유니코드로 변환할 때 DBCS 문자를 사용할 필요가 없는 경우(즉, 메인프레임 문자열에 SO 및 SI 문자가 사용되지 않음) 각 문자는 단일 바이트를 차지합니다. 그러나 DBCS 문자가 메인프레임 문자열 내에 표시되는 경우 SO 및 SI 문자 쌍이 필요합니다.
가져오기 마법사에서 문자열을 정의하는 방법
TI(트랜잭션 통합자) 프로젝트의 가져오기 마법사를 사용하여 호스트 정의를 가져와서 새 메서드 및 레코드 집합을 만드는 경우 마법사는 가져온 호스트 정의에 따라 메인프레임 문자 형식을 선택합니다. 다음 표에서는 마법사가 다른 COBOL 선언을 문자열에 매핑하는 방법을 보여 줍니다.
COBOL 유형 | 만든 문자열 형식 |
---|---|
PIC X(n) 또는 RPG A | n바이트 크기의 문자열 |
PIC G(n) 또는 RPG G | n자 크기의 문자열 |