OnWindowTransaction

스크립트를 실행하고 하나 이상의 레코드 변경이 성공적으로 커밋된 후 스크립트 매개변수로 JSON 대상체를 전달합니다. JSON 대상체는 커밋된 각 레코드 작업에 대한 파일 이름, 기본 테이블 이름, 레코드 ID, 작업 및 컨텍스트 필드의 내용을 포함합니다.

이 스크립트 트리거를 활성화하는 동작에는 다음이 있습니다.

  • 레코드가 생성, 수정 또는 삭제된 후에 커밋됩니다.

  • 열린 처리 작업이 성공적으로 커밋되었습니다.

스크립트 수행 

이벤트가 처리된 후.

트리거를 사용할 수 있는 모드 

탐색 및 찾기 모드.

결과 

없음.

호환성 

제품 지원

FileMaker Pro

FileMaker Go

FileMaker WebDirect

FileMaker Server

FileMaker Cloud

FileMaker Data API

사용자 설정 웹 발행

다음 버전에서 시작됨 

20.1

설명 

하나 이상의 레코드를 커밋하는 모든 작업은 이 스크립트 트리거를 활성화합니다. 이는 열린 트랜잭션 내(처리 작업 열기 스크립트 단계 참조) 여부와 관계없이 적용됩니다. 이 트리거는 스크립트에 JSON 대상체를 스크립트 매개변수로 전달하며, 커밋에 대한 정보를 포함합니다. 이 트리거를 모든 레코드 생성, 수정 및 삭제를 기록하는 스크립트와 함께 사용할 수 있습니다. 예를 들어, 변경 사항을 누가 언제 만들었는지에 대한 감사 로그에 기록할 수 있습니다.

트리거된 스크립트에서 Get(스크립트 매개 변수) 함수를 사용하여 JSON 객체를 검색하십시오. JSON 대상체의 구조는 다음과 같습니다.

복사
{
  "파일 이름" : { 
    "BaseTableName" : [ 
      [ "Operation", RecordID, FieldContent],
      ...
    ]
  }
}
  • "FileName"은 파일 확장자를 포함하지 않은 데이터베이스 파일 이름입니다.

  • "BaseTableName"은 영향을 받는 레코드의 기본 테이블 이름입니다.

  • "Operation""New", "Modified", 또는 "Deleted"입니다.

  • RecordID는 레코드의 내부 ID 번호입니다.

  • FieldContent는 해당 레코드에 대한 컨텍스트 필드의 내용입니다. 이 필드를 사용하여 스크립트에 추가 정보를 전달할 수 있습니다(예: 현재 사용자, 타임스탬프 및 필드 값). 필드에 유효한 JSON이 포함되어 있으면 텍스트 문자열이 아니라 JSON 값으로 포함됩니다. 테이블에 일치하는 컨텍스트 필드가 없을 경우, 빈 문자열이 사용됩니다.

커밋이 여러 기본 테이블의 레코드에 영향을 미칠 경우, 각 테이블은 "FileName" 키 아래에 자체 배열이 있습니다. 다른 파일의 관련 테이블의 레코드가 영향을 받을 경우, 각 파일마다 고유한 최상위 키가 있습니다.

컨텍스트 필드는 이 트리거를 구성할 때 Field Name 옵션에 지정됩니다. Field Name이 비어 있는 경우, 트리거는 각 기본 테이블에서 OnWindowTransaction이라는 이름의 필드를 칮습니다. 테이블에서 일치하는 필드가 없을 경우, FieldContent는 해당 테이블의 레코드에 대한 빈 문자열입니다.

참고 

  • 이 트리거는 파일별로 구성됩니다. 다른 파일의 관련 테이블에서 레코드가 수정된 경우, 해당 레코드 항목은 해당 파일에 OnWindowTransaction 스크립트 트리거가 구성되지 않더라도 JSON 매개변수에 포함됩니다.

  • 삭제된 레코드의 경우, 레코드가 삭제되기 전에 컨텍스트 필드 데이터가 기록됩니다. 새 레코드와 수정 레코드의 경우, 레코드가 커밋된 후에 컨텍스트 필드 데이터가 캡처됩니다.

  • 복구된 레코드나 트랜잭션은 이 트리거를 활성화하지 않습니다. 레코드/요청 복귀처리 작업 복귀 스크립트 단계를 확인하십시오.

  • FileMaker Data API 또는 OData API를 통해 데이터베이스에 직접 접근하는 것은 이 트리거를 활성화하지 않습니다. 하지만 해당 API를 통해 실행된 스크립트는 이를 활성화할 수 있습니다.

  • OnWindowTransaction과 함께 사용할 감사 로깅 스크립트 예시는 이 Claris 엔지니어링 블로그 게시물을 참조하십시오.