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 엔지니어링 블로그 게시물을 참조하십시오.