audit()

sysLib.audit() 시스템 함수는 추적 정보를 COBOL 환경의 시스템 로그 또는 저널에 기록합니다.

이 함수가 의미 있는 개별 환경에 대한 정보는 이 주제의 "호환성"을 참조하십시오.

sysLib.audit() 함수는 시스템에 따라 다릅니다. 지원되는 환경과 지원되지 않는 환경 간 이식성이 필요한 경우 지원되지 않는 환경에서 서비스 호출을 수신하도록 시스템 함수(audit)와 동일한 이름의 비EGL 프로그램을 개발하십시오. 서비스가 지원되지 않는 환경에서 사용하도록 생성하는 경우 EGL은 함수 호출을 동일한 이름의 프로그램에 대한 호출로 전환합니다. 또는 sysVar.sysType의 값을 테스트하여 런타임 환경을 판별한 후 환경이 지원하는 경우에만 sysLib.audit()를 호출할 수 있습니다.

구문

  sysLib.audit(
    record BasicRecord in
    [, jid SMALLINT in] )
record
저널 파일에 작성할 레코드의 이름입니다.

처음 2바이트에 작성할 레코드 길이가 들어 있습니다. 다음 2바이트에는 저널 레코드의 소스를 식별하는 코드가 들어 있습니다. 해당 코드의 첫 번째 바이트는 X'A0' - X'FF' 범위에 있어야 합니다.

처음 28바이트는 레코드 길이와 레코드 ID 코드를 포함하는 용도와 시스템 사용 용도로 예약됩니다. 처음 28바이트에는 사용자 데이터가 없어야 합니다. 29 - 32767바이트를 감사 데이터에 사용할 수 있습니다.

jid
함수가 레코드를 기록하는 저널 파일의 ID(1-99)를 지정하는 선택적 매개변수입니다. jid가 생략된 경우에는 함수가 기본적으로 시스템 저널에 레코드를 기록합니다. 매개변수는 2바이트 2진 숫자입니다.

예제

package com.companyb.customer;

Record wrkRecord type basicRecord
  10 length    smallint;
  10 code    char(2);
  10 reserved  char(24);
  10 data     char(32737);
end
Program calc2
  wrkrec wrkRecord;
  jrnlid    smallint;

  Function main()
    wrkrec.length = 32765;
    wrkrec.code = x"A012";
    wrkrec.data = "THIS IS THE DATA TO BE WRITTEN TO JOURNAL NUMBER 2";
    jrnlid = 2;
    sysLib.audit(wrkrec, jrnlid);
  end  // main() 
end  // program

호환성

표 1. audit()의 호환성 고려사항
플랫폼 문제
CICS® 함수가 CICS 저널에 기록합니다. V6 예외 모드(V6 예외 호환성 사용 참조)에 있는 경우 EGL이 sysVar.errorCode를 다음과 같이 설정합니다.
00000000
완료
00000201
길이 오류
00000202
사용자 소스 코드 오류
00000204
저널 ID 오류
00000803
입출력(I/O) 오류
IMS™ 함수가 IMS 로그에 기록합니다. EGL은 길이에 2를 더하고 길이 필드 뒤에 2바이트의 2진 0을 삽입하여 레코드를 IMS 로그 형식으로 자동으로 변환합니다. 레코드 ID 코드의 첫 번째 바이트만 사용됩니다. 레코드 ID 코드의 두 번째 바이트는 무시됩니다. jid 매개변수는 무시됩니다. IMS/VS에는 최대 32,765바이트 제한이 있습니다.
iSeries COBOL sysLib.audit() 함수가 지원되지 않습니다.
Java™ 생성 sysLib.audit()가 지원되지 않습니다.
JavaScript 생성 sysLib.audit()가 지원되지 않습니다.
z/OS® 일괄처리 sysLib.audit() 함수를 z/OS 일괄처리에서 사용하려면 프로그램의 PSB를 지정해야 하고 프로그램은 다음 기준 중 최소한 하나를 충족해야 합니다.
  • 프로그램의 명령문에서 PSB 또는 PCB 참조
  • PSB 정의에 ELAWORK 이외의 DL/I 데이터베이스가 있음
  • 다음 시스템 함수 중 하나 사용:
    • dliLib.AIBTDLI()
    • dliLib.EGLTDLI()
    • vgLib.VGTDLI()
  • 최소한 하나의 파일 또는 프린터가 GSAM과 연관됨
이러한 조건에서 sysLib.audit()는 IMS에서 작동하는 것과 동일한 방식으로 z/OS 일괄처리 환경에서 작동합니다.