setError()

sysLib.setError() 시스템 함수는 메시지와 여러 가능한 컨테이너 중 하나를 연관시킵니다.

sysLib.setError()에서 다음 컨테이너를 사용할 수 있습니다.
  • JSF 핸들러의 필드
  • VGUIRecord의 필드
  • JSF 핸들러 자체
메시지가 배치되는 위치는 다음과 같이 다를 수 있습니다.
  • JSF 핸들러가 함수를 호출하는 경우 메시지는 JSP에서 메시지 또는 메시지 태그의 위치에 배치됩니다.
  • VGWebTransaction 프로그램이 함수를 호출하는 경우 메시지는 JSP에서 연관 필드의 위치에 배치됩니다.

관련 웹 페이지가 표시되면 메시지가 표시됩니다.

유효성 검증 함수가 sysLib.setError()를 호출하면 함수가 종료될 때 웹 페이지가 자동으로 다시 표시됩니다.

"구문"의 함수에 표시된 처음 3개의 시그니처 중 첫 번째는 JSF 핸들러 또는 VGWebTransaction 프로그램에서 사용 가능하지만 두 번째와 세 번째는 JSF 핸들러에서만 사용 가능합니다.

여러 메시지를 필드 또는 JSF 핸들러와 연관시킬 수 있습니다. JSF 핸들러가 forward 문을 실행하거나 VGWebTransaction 프로그램이 transfer 문 또는 show 문을 실행하는 경우 메시지가 손실됩니다.

JSF 핸들러의 onPostRenderFunction 특성에 지정된 함수에서 sysLib.setError()를 사용할 수 있지만 onPostRenderFunction 또는 onConstructionFunction 특성에 지정된 함수에서는 사용할 수 없습니다.

구문

  sysLib.setError(
    fieldInError anyPageVariable in,
    msgKey STRING in
    [, msgInsert STRING in])
  sysLib.setError(
    this enumerationThis in,
    msgKey STRING in
    {, msgInsert STRING in})
  sysLib.setError(msgText STRING in)
fieldInError
JSF 핸들러에서 sysLib.setError()가 실행되는 경우 fieldInError는 웹 페이지의 컴포넌트에 바인드된 JSF 핸들러의 변수입니다.

sysLib.setError가 VGWebTransaction 프로그램에서 실행되는 경우에는 fieldInError가 프로그램의 inputUIRecord 또는 show 문이나 converse 문에서 지정된 VGUI 레코드의 필드입니다.

this
sysLib.setError() 호출을 실행하는 JSF 핸들러를 가리킵니다. 이 경우 메시지는 필드에 고유하지 않고 JSF 핸들러 자체와 연관됩니다. this에 대한 세부사항은 "this" 키워드의 내용을 참조하십시오.
msgKey
입력은 STRING 유형과 지정 호환 가능한 표현식 또는 변수입니다(EGL의 지정 호환성 참조). msgKey는 런타임 시 사용되는 특성 파일 또는 메시지 자원 번들에 대한 키를 제공합니다. 키가 공백인 경우 메시지는 모든 메시지의 연결입니다.
msgInsert
입력은 STRING 유형과 지정 호환 가능한 표현식 또는 변수입니다(EGL의 지정 호환성 참조). msgInsert는 출력 메시지에 삽입됩니다. 메시지 텍스트의 대체 기호는 다음 예제와 같이 중괄호로 묶인 정수입니다.
  Invalid file name {0}
삽입항목의 배열을 사용하는 sysLib.getMessage()와 달리 sysLib.setError()에서는 하나의 msgInsert 문자열만 허용됩니다.
msgText
입력은 STRING 유형과 지정 호환 가능한 표현식 또는 변수입니다(EGL의 지정 호환성 참조). 이는 웹 페이지와 연관된 메시지의 텍스트입니다.

예제

다음 예제는 메시지 파일 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

호환성 고려사항

표 1. 호환성 고려사항
플랫폼 문제
JavaScript 생성 sysLib.setError() 함수는 지원되지 않습니다.
JSF 핸들러 msgTable 유형 DataTable에서 메시지의 삽입이 지원됩니다. 첫 번째 삽입은 {0}입니다.
웹 트랜잭션 msgTable 유형 DataTable에서 메시지의 삽입이 지원됩니다. 첫 번째 삽입은 {1}입니다.