getMessage()
sysLib.getMessage() 시스템 함수는 여러 가능한 소스 중 하나에서 메시지를 리턴합니다.
이 함수는 다음 소스 중 하나에서 메시지를 검색합니다.
- Java™ 런타임 설정 vgj.messages.file에서 참조되는 파일
- EGL 오류 메시지의 목록
- Informix® 오류 메시지의 목록
메시지에 포함할 삽입을 지정할 수 있습니다. 함수는 일반적으로 사용자 정의 오류 메시지를 검색합니다.
vgj.messages.file 설정에서는 서로
다른 언어와 위치에 사용할 여러 파일이 있는 경우 확장할 수
있는 기본 파일 이름을 참조합니다. 예를 들어, 설정이 다음과
같이 표시됩니다.
vgj.messages.file = files/messages/errorMessages
가장
단순한 경우 files/messages 폴더에 하나의 파일
errorMessages.properties가 있습니다. 자국어 지원이
필요한 경우 기본 이름에 밑줄과 두 글자 언어 코드(예:
errorMessages_fr.properties)를 추가하십시오. 특정 로케일에 대해 사용자 정의된 파일의 경우 다른 밑줄과
두 글자 국가 코드를 추가할 수 있습니다. 예를 들어, 애플리케이션이
캐나다에서 사용하도록 디자인된 경우 다음과 같은 두 개의 사용자 정의
오류 메시지 파일을 사용할 수 있습니다.
- errorMessages_fr_CA.properties
- errorMessages_en_CA.properties
vgj.messages.file과 같은 Java 런타임 특성 설정에 대한 정보는 Java 런타임 특성 개요의 내용을 참조하십시오. 메시지를 형식화하는 방법에 대한 전체 설명은 java.text.MessageFormat 클래스와 관련된 Java API 문서를 참조하십시오.
sysLib.getMessage()를 사용하여 EGL 오류
메시지를 검색할 수도 있습니다. 예를 들어, "EGL0001I" 키는 "{0}에서
오류 발생"이라는 메시지를 리턴합니다. 또한 EGL은 다음과 같은
상황에서 Informix JDBC
드라이버를 조회하여 Informix
메시지를 찾습니다.
- vgj.messages.file에 지정된 파일에서 지정된 키가 있는 메시지를 찾을 수 없습니다.
- 지정된 키가 있는 EGL 메시지를 찾을 수 없습니다.
- dbms 빌드 디스크립터 옵션이 INFORMIX로 설정된 채 프로그램이 생성되었습니다.
- 키에 숫자만 있습니다.
언어 코드는 ISO 639-2 표준을 준수하며 국가 코드는 ISO 3166 표준을 준수합니다. 자세한 정보는 이 주제의 끝에 있는 관련 참조 링크를 참조하십시오.
다음 구문은 메시지 파일에 있는 항목의 형식을
표시합니다.
key = message
key는 메시지를 식별하는 고유 문자열입니다. 메시지는 대체를 작성할 수 있는 위치를 표시하기 위해 중괄호 안에 정수를 포함할 수 있습니다. 정수를 0으로 시작하고 순서대로 늘리십시오. 해당 정수는 대체 문자열의 배열에 색인을 제공합니다. 이 주제에서 뒤에 나오는 예제를 참조하십시오.
다중 언어 버전을 사용하는 경우에는 key ID가 파일의 모든 버전에서 동일해야 합니다.
구문
sysLib.getMessage(
key STRING in
[, insertArray STRING[] in])
returns (result STRING)
- key
- 입력은 STRING 유형과 지정 호환 가능한 표현식 또는 변수입니다. 이 매개변수는 런타임 시 사용되는 메시지 파일에 키를 제공합니다. 키가 공백이면 파일의 모든 메시지가 연결됩니다.
- insertArray
- STRING 유형의 배열입니다. 각 요소에는 검색 중인 메시지에 포함할
삽입이 포함되어 있습니다. 메시지 텍스트에서 대체 기호는 메시지 파일의 다음 예제와 같이 중괄호로 묶인 정수입니다.
VGJ0216E = {0} is not a valid date mask for {1}.insertArray의 첫 번째 요소는 번호 0이 매겨진 플레이스홀더에 지정되고 두 번째 요소는 번호 1이 매겨진 플레이스홀더에 지정되는 식입니다.
- result
- STRING 유형과 지정 호환 가능한 모든 변수에 결과를 지정할 수 있습니다. key를 찾을 수 없는 경우에는 함수가 널 문자열을 리턴합니다.
예제
다음 예제는 메시지 파일 errorMessages_en_US.properties의 항목입니다.
badname = The name you entered, {0}, is not valid.
다음 코드 섹션에서 이 메시지를 사용합니다.
userName STRING = getUserName(); // ask for input
rc = validateUserName(userName);
if (rc < 0)
SysLib.setError( SysLib.getMessage( "badname", [ userName ] ) );
end
호환성
| 플랫폼 | 문제 |
|---|---|
| COBOL 생성 | sysLib.getMessage() 함수는 지원되지 않습니다. |
| JavaScript 생성 | sysLib.getMessage() 함수는 지원되지 않습니다. |
