처리 작업 열기
처리 작업을 시작한 후 ‘처리 작업 커밋’ 또는 ‘처리 작업 복귀’ 스크립트 단계가 수행될 때까지 후속 레코드 변경사항이 처리 작업에 유지됩니다.
참고 처리 작업은 원래 윈도우 내에서 처리됩니다. 원래 처리 작업의 윈도우와 다른 윈도우에서 수행된 작업은 기존 처리 작업 외부에서 자동으로 커밋됩니다.
다음도 참조하십시오.
옵션
-
데이터 입력 유효성 검증 뛰어넘기는 필드에 대한 데이터 입력 유효성 검증 옵션 설정을 무시하고 레코드를 커밋합니다. 이 옵션은 필드 옵션 대화상자에서 데이터를 입력하는 동안만 유효성 검증 옵션으로 설정된 필드에 대해 유효성 검증을 건너뜁니다. 항상 유효성 검증으로 설정된 필드는 데이터 입력 유효성 검증 뛰어넘기 옵션이 선택되어 있어도 여전히 검증됩니다. 필드 유효성 검증 정의하기를 참조하십시오.
-
ESS 잠금 충돌 무시하기를 사용하면 긍정적 잠금이 커밋 동작을 방지할 때 ODBC 데이터 원본의 클라이언트가 변경사항을 강제로 커밋할 수 있습니다. ODBC 데이터 원본은 외부 SQL 원본(ESS)이라고도 합니다.
호환성
제품 | 지원 |
FileMaker Pro | 예 |
FileMaker Go | 예 |
FileMaker WebDirect | 예 |
FileMaker Server | 예 |
FileMaker Cloud | 예 |
FileMaker Data API | 예 |
사용자 설정 웹 발행 | 예 |
다음 버전에서 시작됨
19.6.1
설명
처리 작업은 현재 윈도우에 있는 하나 이상의 레코드에 대한 변경사항으로 구성됩니다. 처리 작업의 변경사항은 여러 데이터베이스 파일의 여러 테이블에 영향을 줄 수 있습니다. 처리 작업의 모든 변경사항은 함께 커밋되거나, 오류가 발생하면 함께 복귀됩니다. 처리 작업은 ‘처리 작업 열기’ 스크립트 단계로 시작됩니다. 처리 작업을 시작한 후 ‘처리 작업 커밋’ 또는 ‘처리 작업 복귀’ 스크립트 단계가 수행될 때까지 후속 레코드 변경사항이 처리 작업에 유지됩니다. 아래 단계는 데이터베이스 스키마에 저장된 레코드를 변경할 수 있으며 처리 작업 스크립트 단계로 사용할 수 있습니다.
-
새로운 테이블이 가져오기 대상인 경우에 처리 작업이 커밋되지 않으면 테이블, 테이블 발생 및 레이아웃이 삭제됩니다. ‘처리 작업 커밋’ 스크립트 단계가 오류를 반환하거나 ‘처리 작업 복귀’ 스크립트 단계가 수행되면 처리 작업이 커밋되지 않습니다.
-
편집 스크립트 단계: 지우기, 오려두기, 붙이기, 찾기/대치 수행, 실행 취소/다시 실행
-
삽입 스크립트 단계: 오디오/비디오 삽입, 계산된 결과 삽입, 현재 날짜 삽입, 현재 시간 삽입, 현재 사용자 이름 삽입, 파일 삽입, 장비에서 삽입, 인덱스에서 삽입, 마지막으로 방문한 레코드에서 삽입, URL에서 삽입, PDF 삽입, 그림 삽입, 텍스트 삽입
‘처리 작업 열기’ 스크립트 단계를 스크립트에 추가하면 ‘처리 작업 커밋’ 스크립트 단계가 스크립트와 자동으로 쌍을 이룹니다.
처리 작업:
-
우선, 진행하기 전에 현재 활성화된 레코드를 종료하고 변경 사항을 커밋합니다. 활성화된 레코드를 종료할 수 없는 경우, ‘처리 작업 열기’는 오류를 반환하고 처리 작업 내의 스크립트 단계를 건너뜁니다.
-
하나 이상의 필드 또는 테이블 수정사항을 단일 변경사항으로 결합
-
모든 변경사항을 커밋 또는 복귀
-
‘처리 작업 열기’ 및 ‘처리 작업 커밋’ 스크립트 단계 간의 그룹 필드 또는 테이블 수정
-
보다 안정적인 변경사항 생성
-
‘처리 작업 복귀’ 스크립트 단계를 사용하여 자동으로 복귀
-
그룹으로 성공(커밋) 또는 실패(복귀)
-
스키마 규칙이 충족되는 경우 성공
-
스키마 규칙이 충족되지 않는 경우 자동으로 복귀
-
선택적으로 유효성 검증 설정을 건너뛰고 스키마 규칙이 충족되지 않는 경우 자동으로 복귀를 무시할 수 있음. 스키마 규칙을 무시하면 처리 작업 무결성이 손상될 수 있습니다.
-
‘처리 작업 커밋’ 스크립트 단계에서 변경사항을 기본 파일에 저장하기 전에 로컬 임시 파일에서 수정됨
처리 작업은 다음과 같은 경우에 자동으로 커밋되고 종료됩니다.
-
다음 스크립트 단계가 레이아웃 윈도우를 변경하는 경우: 새로운 윈도우, 윈도우 닫기 또는 윈도우 선택
-
다음 대화상자가 사용되는 경우: 데이터베이스 관리, 컨테이너 관리 또는 데이터 원본 관리
-
다음 동작 또는 스크립트 단계가 수행되는 경우: 복사본 별도 저장 또는 다시 로그인
-
파일이 닫혀 있는 경우
기본적으로 처리 작업은 다음과 같은 경우에 자동으로 복귀됩니다.
-
처리 작업을 시작하기 전에 확인되지 않은 스키마 오류가 있어 처리 작업이 자동으로 건너뛰는 경우.
-
항상 유효성을 검증하도록 설정된 필드의 변경사항이 필드의 유효성 검증 옵션과 일치하지 않는 경우
-
‘처리 작업 복귀’ 스크립트 단계가 사용된 경우
-
스크립트가 취소된 경우
-
‘스크립트 중지’ 스크립트 단계가 처리 작업 내에서 사용된 경우
-
‘스크립트 디버거’를 사용하여 스크립트가 취소된 경우
-
필드 접근 권한 없음, 레코드 접근 권한 없음 및 테이블 접근 권한 없음과 같은 권한 오류가 있는 경우
특정 오류가 발생했을 때 처리 작업이 자동으로 복귀되는지 여부를 제어하려면 오류 발견 시 처리 작업 복귀 설정 스크립트 단계를 사용하십시오.
참고
-
중첩된 처리 작업:
-
동일한 스크립트 내에서 허용되지 않습니다(스크립트 작업공간은 한 처리 작업을 다른 처리 작업에 넣는 것을 방지).
-
주 스크립트에서 처리 작업을 연 다음 스크립트 수행 스크립트 단계를 사용해 하위 스크립트를 호출하여 대략적으로 계산할 수 있습니다. 하위 스크립트의 모든 작업은 현재 열려 있는 처리 작업 범위 내에서 수행됩니다. 하위 스크립트에 ‘처리 작업 열기’ 및 ‘처리 작업 커밋’ 단계가 포함된 경우, 해당 단계는 건너뛰고 오류 3("명령을 사용할 수 없습니다")을 반환하지만, 하위 스크립트의 해당 단계 이전, 사이, 이후의 모든 작업은 주 스크립트의 처리 작업 범위 내에서 수행됩니다. 하위 스크립트에 '처리 작업 복귀' 단계가 포함되어 있다면, 주 스크립트의 처리 작업을 복귀시키고 처리 작업과 일치하는 ‘처리 작업 커밋’ 단계로 이동할 수 있습니다. 예제 4를 참조하십시오.
-
-
‘레코드 삭제’ 동작을 처리 작업 내에서 사용하면 한 번에 하나의 레코드를 삭제합니다.
-
‘테이블 비우기’ 동작은 복귀할 수 없습니다.
-
‘레코드 가져오기’ 동작을 처리 작업 내에서 사용하면 요약을 표시하지 않습니다.
-
‘처리 작업 복귀’ 스크립트 단계는 일련 번호 증분 자동 입력 값을 복귀하지 않습니다.
-
레이아웃 설정의 자동으로 레코드 변경사항 저장 옵션은 처리 작업 중에 무시됩니다.
-
FileMaker Data API 실행 스크립트 단계에서 적용된 변경 사항은 스크립트의 처리 작업에 포함되지 않습니다. 이 스크립트 단계 내에서 완료된 모든 작업은 처리 작업 내에 포함된 경우에도 복귀되지 않습니다.
-
처리 작업이 현재 열려 있는지 확인하려면, Get(처리 작업 열기 상태) 함수를 사용합니다.
예제 1
처리 작업을 열고 커밋합니다.
처리 작업 열기 []
레코드/요청 열기
필드 설정 [ 자산::설명 ; "설명 텍스트" ]
처리 작업 커밋
예제 2
데이터 입력 유효성 검증 없이 처리 작업을 열고 커밋합니다.
처리 작업 열기 [ 데이터 입력 유효성 검증 뛰어넘기 ]
레코드/요청 열기
필드 설정 [ 자산::설명 ; "설명 텍스트" ]
처리 작업 커밋
예제 3
ESS 잠금 보호 없이 처리 작업을 열고 커밋합니다.
처리 작업 열기 [ ESS 잠금 충돌 무시하기 ]
레코드/요청 열기
필드 설정 [ 자산:: 설명 ; "설명 텍스트" ]
처리 작업 커밋
예제 4
주 스크립트는 처리 작업을 열고, 텍스트 필드를 설정한 다음, 하위 스크립트를 호출합니다. 처리 작업이 이미 열려 있는 동안 하위 스크립트가 호출되기 때문에, '처리 작업 열기' 단계를 건너뛰고, 텍스트 필드가 다른 값으로 설정되고, '처리 작업 복귀' 단계의 조건이 평가됩니다.
숫자 필드가 1이면, 현재 처리 작업(주 스크립트에서 열림)이 복귀됩니다. 하위 스크립트의 '처리 작업 커밋' 단계를 건너뛰면, 제어가 주 스크립트의 '처리 작업 커밋' 단계로 다시 전달되어 스크립트 수행 이후의 모든 단계를 건너뜁니다. 주 스크립트가 완료되면, 텍스트 필드의 값은 변경되지 않습니다.
숫자 필드가 0이면, 하위 스크립트는 처리 작업을 복귀시키지 않으므로, 제어는 스크립트 수행 이후의 단계로 다시 전달됩니다. 여기서 텍스트 필드는 abc123으로 설정되고 처리 작업이 커밋됩니다.
주 스크립트
처리 작업 열기 [ ]
필드 설정 [ 테이블::텍스트 필드 ; "abc" ]
스크립트 수행 [ 지정: 목록에서 ; "하위 스크립트" ; 매개 변수: ]
필드 설정 [ 테이블::텍스트 필드 ; "abc123" ]
처리 작업 커밋
하위 스크립트
처리 작업 열기 [ ]
필드 설정 [ 테이블::텍스트 필드 ; "xyz456" ]
처리 작업 복귀 [ 조건: 테이블::숫자 필드 = 1 ]
처리 작업 커밋