양방향 데이터 작업
아랍어 및 히브리어 등의 양방향(bidi) 언어는 텍스트가 오른쪽에서 왼쪽으로 사용자에게 표시되지만 텍스트 내의 숫자 및 라틴 알파벳 문자열은 왼쪽에서 오른쪽으로 표시되는 언어입니다. 또한 프로그램 변수 내에서 문자가 나타나는 순서가 다를 수 있습니다. COBOL 환경에서 프로그램 변수의 텍스트가 일반적으로 visual 순서인데, 이는 텍스트가 사용자 인터페이스에 나타나는 순서와 동일합니다. Java™ 환경에서는 텍스트가 일반적으로 logical 순서로 저장되며, 이는 문자가 입력 필드에 입력되는 순서입니다.
순서 지정 설계, 텍스트 방향 및 기타 양방향 형식 문자의 이러한 차이로 인해
프로그램이
하나의 형식에서 다른 형식으로 양방향 텍스트 문자열을 변환해야 합니다.
- FormGroup 필드에서 양방향 텍스트 문자열의 형식을 제어하려면 양방향 런타임 파일을 사용하십시오.
- 서버 및 클라이언트 간에 양방향 텍스트 문자열의 형식을 제어하려면 양방향 변환 테이블을 사용하십시오.
참고: 다른 프로그래밍 언어의 양방향 리터럴 문자열을
EGL로 마이그레이션할 때, 이 문자열이
마이그레이션 이전에 논리적(입력) 순서에 있어야 합니다.
양방향 런타임 파일
bidiRuntime 빌드
디스크립터 옵션이 양방향 런타임 파일을 지정합니다. XML 형식의 이 파일은
애플리케이션과 연관된 양식 그룹에서 필드의 양방향 동작을 제어하는
옵션의 세트를 포함합니다.
이러한 옵션 중 몇몇은 기존의 bidi 특성에 해당합니다.
양방향 런타임 파일이 EGL에 추가되기 전에(버전 7.5 이전) 개별 특성이 이 동작을 제어했습니다. 해당 특성은 계속 EGL의 파트입니다. 코드가 이러한 개별 특성을 FormGroup과 연관시키는 경우 런타임 파일을 변경하면 EGL이 그에 따라 개별 특성의 값을 변경합니다. 개별 특성을 변경하는 경우 EGL은 새 값을 사용하지만 런타임 파일을 업데이트하지 않습니다.
양방향 런타임 파일을 설정하는 방법에 대한 정보는 양방향 런타임 파일 작성의 내용을 참조하십시오.
양방향 변환표
EGL이 양방향 변환표(BCT)를 사용하여 "서버" 및 "클라이언트" 형식 간에 변환을 수행합니다. 파일은 형식이 XML이고 파일 확장자가 .bct입니다. 여러 BCT를 작성하여 EGL 마법사를 통해 여러 bidi 형식 변환을 지원할 수 있습니다. 프로그램은 변환표의 이름을 참조하여 속성 변환이 수행되어야 하는 방법을 표시합니다.
모든 경우 bidi 변환표 참조가
.bct 확장자와 함께 1 - 4자 파일 이름으로 지정됩니다. 예를 들어,
이름이 hct1.bct인 bidi 변환표를 작성한 경우
프로그램의 시작 시 다음 명령문을 추가하여 프로그램에서 formConversionTable의
값을
설정할 수 있습니다.
sysVar.formConversionTable = "hct1.bct" ;
bidi 변환표를 사용하려면 다음을 수행해야 합니다.
- 발생해야 하는 변환을 지정하는 bidi 변환표를 작성하십시오. Java 클라이언트 및 COBOL 호스트 간에 전달되는 데이터를 변환하고 Java 환경에서 텍스트 또는 인쇄 양식으로 표시될 데이터를 변환하는 데 여러 테이블이 필요합니다. bidi 변환표 마법사를 통해 bidi 변환표 파일을 빌드합니다. 자세한 정보는 양방향 변환표 작성를 참조하십시오.
- 생성에 사용할 bidi 변환표를 지정하십시오. bidi 변환표를 지정하는
방법은
생성 중인 코드에 따라 다릅니다.
- COBOL 환경에 대해 생성하는 경우 다음을 수행하십시오.
- bidiConversionTable 빌드 디스크립터 옵션을 COBOL 생성에 대해 작성한 bidi 변환표의 이름으로 설정하십시오. bidi 변환표는 테이블에서 요청된 기타 형식화 변환과 함께 COBOL 환경에 대해 논리적 순서에서 시각적 순서로 리터럴 텍스트의 변환을 제어합니다.
- clientCodeSet 및 serverCodeSet 빌드
디스크립터 옵션을 설정하여 다음 표에 표시된 대로
ASCII에서 EBCDIC로 코드 페이지의 변환을 제어하십시오.
표 1. clientCodeSet 및 serverCodeSet 빌드 디스클비터 옵션 값 언어 clientCodeSet serverCodeSet 아랍어 IBM-864 IBM-420 히브리어 IBM-1255 IBM-424
- 원격 COBOL 프로그램을 호출하는 Java 프로그램을 생성하는 경우
다음 옵션 중 하나를 통해
conversionTable 특성이 피호출 프로그램에 대해
callLink 요소에 있도록
연계 옵션 파트를 사용자 정의하십시오.
- bidi 변환표를 해당 특성의 값으로 지정하십시오(예: conversionTable="hct.bct").
- 특성을 PROGRAMCONTROLLED로 설정하십시오. 그러면 호출 프로그램이 다른 프로그램을 호출하기 전에 bidi 변환표를 지정합니다. 호출자는 bidi 변환표 이름을 sysVar.callConversionTable 시스템 변수에 지정하여 표를 지정합니다. sysVar.callConversionTable 시스템 변수에 대한 자세한 정보는 EGL 언어 참조의 "callConversionTable" 주제에서 찾을 수 있습니다.
- EGL 배치 디스크립터(.egldd) 파일에서 서비스에 대해 EGL 바인딩을 지정할 때, 로컬이 아닌 임의의 프로토콜에서 conversionTable 특성(예: conversionTable="hct1.bct")에 대해 .bct 파일 이름을 지정하십시오.
- Java에 생성하려고 계획하는 프로그램을 개발하고 해당 프로그램이 bidi 언어 텍스트와 함께 텍스트 또는 인쇄 양식을 사용할 때, 양식을 표시하기 전에 sysVar.formConversionTable 시스템 함수에 변환표 이름을 지정하는 프로그램에 명령문을 추가하십시오.
- COBOL 환경에 대해 생성하는 경우 다음을 수행하십시오.