공백으로 메인프레임 문자열을 패딩하는 방법
TI(트랜잭션 통합자) 런타임 환경에서 null 종료 문자에 종속되는 대신 문자열의 메인프레임 표현을 채우기 위해 공백 문자를 추가하도록 문자열의 속성을 정의할 수 있습니다.
공백 문자 또는 null 종료 문자를 사용하려면
Microsoft Visual Studio에서 개체를 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다.
속성 창의 호스트 데이터 형식 정보에서 문자열 구분을 클릭합니다.
공백 패딩 또는 Null 종료를 선택합니다.
다음 표에서는 표시된 문자열 형식으로 변환할 때 각 구분 옵션(Space Padded 또는 Null 종료됨)에서 발생하는 작업을 설명합니다.
문자열 작업 유형 | 문자열 구분 작업의 각 형식에 대해 수행되는 작업 |
---|---|
EBCDIC 문자열로 변환 | 공백 패딩. TI 런타임 환경은 PIC X 형식 문자열의 모든 바이트가 채워질 때까지 문자열의 끝에 단일 바이트 공백 문자를 추가합니다. |
Null이 종료되었습니다. TI 런타임 환경은 바이트에 대한 PIC X 개수에 공간이 있는 경우 문자열의 끝에 단일 null 문자를 추가합니다. | |
EBCDIC 문자열에서 변환 | 공백 패딩. TI 런타임 환경은 문자열의 끝에서 단일 바이트 공백 문자를 제거합니다. |
Null이 종료되었습니다. TI 런타임 환경은 문자열의 시작 부분에서 검색하고 문자열에서 발생하는 첫 번째 null 문자에서 변환을 중지합니다. | |
DBCS 문자열로 변환 | 공백 패딩. TI 런타임 환경에서는 PIC G 형식 문자열의 모든 문자가 채워 질 때까지 문자열 끝에 더블바이트 공백 문자를 추가합니다. |
Null이 종료되었습니다. TI 런타임 환경은 바이트에 대한 PIC G 개수에 공간이 있는 경우 문자열 끝에 DBCS(더블바이트 문자 집합) null 문자를 추가합니다. | |
DBCS 문자열에서 변환 | 공백 패딩. TI 런타임 환경은 문자열의 끝에서 더블바이트 공백 문자를 제거합니다. |
Null이 종료되었습니다. TI 런타임 환경은 문자열의 시작 부분에서 검색하고 문자열에서 발생하는 첫 번째 DBCS null 문자에서 변환을 중지합니다. | |
혼합 문자열로 변환 | 공백 패딩. TI 런타임 환경은 PIC X 형식 문자열의 모든 바이트가 채워질 때까지 문자열의 끝에 단일 바이트 공백 문자를 추가합니다. UNICODE 문자열의 종료 문자가 DBCS 문자에 매핑되는 경우 TI 런타임 환경에서 공간 문자를 추가하기 전에 SI 문자를 추가합니다. |
Null이 종료되었습니다. TI 런타임 환경은 PIC X 개수에 공간이 있는 경우 문자열의 끝에 단일 바이트 null 문자를 추가합니다. UNICODE 문자열의 종료 문자가 DBCS 문자에 매핑되는 경우 TI 런타임 환경에서는 Null 문자를 추가하기 전에 SI 문자를 추가합니다. | |
혼합 문자열에서 변환 | 공백 패딩. TI 런타임 환경은 문자열 끝에서 종료되는 싱글바이트 및 더블바이트 공백 문자를 제거합니다. 공간 문자를 제거하면 TI 런타임 환경에서 종료되는 SI 문자를 마치 공백인 것처럼 처리합니다. |
Null이 종료되었습니다. TI 런타임 환경은 문자열의 시작 부분에서 검색하고 발생한 첫 번째 null 문자(너비)에서 변환을 중지합니다. |
호스트 버퍼에서 마지막이고 마지막 가 변수로 플래그가 지정된 문자열에 대해 특수 처리 가 발생합니다. 예:
공백 패딩. EBCDIC(Extended Binary Coded Decimal Interchange Code) 문자열로 변환하면 문자열이 포함된 버퍼의 길이 수에 의해 종료되므로 추가 공백 문자가 포함되지 않습니다. EBCDIC 문자열에서 변환할 때 버퍼는 포함된 버퍼의 길이 수에 의해 종료된 것으로 간주됩니다. 그런 다음 빈 안쪽 여백에 대해 문자열을 검사합니다. 호스트는 이 문자열을 빈 패딩이 중요한 데이터 이상으로 보내거나 빈 패딩되지 않고 포함하는 버퍼의 마지막 위치에 있는 문자열의 마지막 중요한 문자로 보낼 수 있습니다. 공백 문자는 문자열 형식(단일, 이중 또는 섞임)에 따라 결정됩니다.
Null이 종료되었습니다. EBCDIC 문자열로 변환하면 문자열이 있는 그대로 전송됩니다. TI 런타임 환경은 문자열의 길이를 확인한 다음 정확한 문자 수가 전송되었는지 확인합니다. 즉, 전송된 문자 수는 문자열의 길이와 같습니다. 문자열의 끝에 null 종결자 또는 공백이 추가되지 않습니다.
다음 표에서는 문자열 구분 속성이 Space Padded로 설정되고 Null이 변수 크기 설정과 함께 종료될 때 문자열 구분이 작동하는 방식을 보여 줍니다. 모든 예제에서는 메인프레임 데이터 선언을 PIC X(5)로 가정합니다. "b"는 공백을 나타냅니다."는 할당되지 않은 데이터를 나타내고 "\0"은 null을 나타냅니다.
공백 패딩으로 설정된 문자열 구분 기호 및 가변 크기가 활성화되지 않음
워크스테이션 | Direction | 메인프레임 |
---|---|---|
ABC\0 | 호스트하려면 | 'ABCbb' |
ABCb | 호스트하려면 | 'ABCbb' |
Cba | 호스트에서 | 'CBAbb' |
CBA\0? | 호스트에서 | 'CBA\0?' |
CBA\0 | 호스트에서 | 'CBA\0b' |
스페이스 패딩 및 변수 크기 활성으로 설정된 문자열 구분
워크스테이션 | Direction | 메인프레임 |
---|---|---|
ABC\0 | 호스트하려면 | 'ABC' |
Abb | 호스트하려면 | 'Abb' |
Cba | 호스트에서 | 'CBAbb' |
CBA\0? | 호스트에서 | 'CBA\0?' |
CBA\0 | 호스트에서 | 'CBA\0b' |
Null로 설정된 문자열 구분 기호가 종료되고 변수 크기가 활성화되지 않음
워크스테이션 | Direction | 메인프레임 |
---|---|---|
ABC\0 | 호스트하려면 | 'ABC\0?' |
ABC | 호스트에서 | 'ABC\0?' |
ABCbb | 호스트에서 | 'ABCbb' |
ABC | 호스트에서 | ABC\0\0' |
문자열 구분이 Null로 설정되고 가변 크기가 활성으로 설정됨
워크스테이션 | Direction | 메인프레임 |
---|---|---|
ABC\0 | 호스트하려면 | 'ABC\0' |
ABC | 호스트에서 | 'ABC\0?' |
ABCbb | 호스트에서 | 'ABCbb' |
ABC | 호스트에서 | ABC\0\0' |