콜백으로 서버에서 스크립트 수행

클라이언트를 일시 정지하지 않고 현재 파일을 호스팅하는 서버에서 스크립트를 수행하고 서버 스크립트가 완료되면 클라이언트에서 지정된 콜백 스크립트를 수행합니다.

다음도 참조하십시오. 

옵션 

  • 스크립트는 서버에서 실행할 스크립트입니다.

  • 콜백 스크립트는 서버에서 서버 스크립트가 완료된 후에 클라이언트에서 실행할 스크립트입니다.

호환성 

제품 지원

FileMaker Pro

FileMaker Go

FileMaker WebDirect

FileMaker Server

아니요

FileMaker Cloud

아니요

FileMaker Data API

아니요

사용자 설정 웹 발행

아니요

다음 버전에서 시작됨 

20.1

설명 

현재 파일은 FileMaker Server 또는 FileMaker Cloud에서 호스트되어야 합니다. 그렇지 않은 경우, 이 스크립트 단계는 오류를 반환합니다. FileMaker Server 및 FileMaker Cloud에서 스크립트 수행하기 정보를 참조하십시오.

콜백 스크립트는 OnTimer 스크립트 설치 스크립트 단계 및 OnWindowTransaction 스크립트 트리거로 트리거되는 스크립트와 마찬가지로 현재 스크립트가 완료된 후에 클라이언트에서 실행될 예정입니다. 스크립트가 실행되는 문맥은 알 수 없으며 이 스크립트 단계가 실행된 때와 동일하다고 확신할 수 없습니다. 필요한 경우, 콜백 스크립트의 매개 변수를 사용하여 사용할 레이아웃 및 찾기 세트와 같이 클라이언트에서 예상대로 실행하기에 충분한 문맥을 다시 전달하십시오.

참고  콜백 스크립트에서 계산을 매개 변수로 지정하면 콜백 스크립트가 클라이언트에서 실행될 때 계산이 평가됩니다.

아래 예에서는 클라이언트에서 콜백 스크립트가 실행될 때 $data가 존재하지 않기 때문에 아무 것도 반환되지 않습니다.

  • 호출자

    • 변수 설정 [ $data ; 값: 1 ]

    • 콜백으로 서버에서 스크립트 수행 [ 스크립트: "테스트" ; 콜백 스크립트: "콜백" ; 매개 변수: $data ]

  • 테스트

    • 변수 설정 [ $data ; 값: 2 ]

  • 콜백

    • 변수 설정 [ $param ; 값: Get(스크립트 매개 변수) ]

    • 사용자 설정 대화상자 보기 [ $param ]

예제 1 

서버에서 스크립트를 실행하고 현재 레이아웃 이름, 고객 ID 및 고객 이메일 주소를 스크립트 매개 변수로 전송합니다. 서버는 매개 변수에서 지정된 레이아웃과 레코드가 현재 레코드의 스냅샷 링크를 저장하고, 스냅샷 링크를 매개 변수에서 지정된 이메일 주소로 이메일을 보내고 결과를 반환합니다. 클라이언트가 서버에서 스크립트 결과를 가져와서 사용자 설정 대화상자에 표시합니다.

주 스크립트: 이메일 스냅샷 링크(클라이언트)

복사
콜백으로 서버에서 스크립트 수행 [ 스크립트: "이메일 스냅샷 링크(서버)" ; 매개 변수: List(Get(레이아웃 이름) ; 고객::ID ; 고객::이메일) ; 콜백 스크립트: "전체 메시지(클라이언트)" ]

하위 스크립트: 이메일 스냅샷 링크(서버)

복사
레이아웃으로 이동 [ GetValue(Get(스크립트 매개 변수) ; 1) ; 애니메이션: 없음 ]
찾기 모드로 전환 [ 일시 정지: 끔 ]
필드 설정 [ 고객::ID ; GetValue(Get(스크립트 매개 변수) ; 2) ]
찾기 수행 [ ]
변수 설정 [ $PATH ; 값: Get(임시 경로) & "Snapshot.fmpsl" ]
레코드를 스냅샷 링크로 저장 [ "$PATH" ; 현재 레코드 ; 폴더 생성: 끔 ]
메일 보내기 [ SMTP 서버를 통해 보내기 ; 대화상자 없음 ; 받는 사람: GetValue(Get(스크립트 매개 변수) ; 3) ; "$PATH" ]
스크립트 종료 [ 텍스트 결과: "스냅샷 링크 전송됨." ]

콜백 스크립트: 전체 메시지(클라이언트)

복사
사용자 설정 대화상자 보기 [ Get(스크립트 결과) ]

참고 

  • 콜백 스크립트는 다음 시나리오에서 호출되지 않습니다.

    • 서버 또는 클라이언트가 예기치 않게 종료된 경우

    • 서버에서 스크립트가 완료되기 전에 사용자가 클라이언트를 종료하거나 파일을 닫는 경우

    • 스크립트 단계가 실행되는 동안 네트워크 연결이 끊긴 경우 하지만 서버 스크립트가 완료된 후 10분 내에 다시 연결하면 콜백 스크립트가 실행됩니다.

  • 이 스크립트 단계의 여러 인스턴스를 연속적으로 실행할 수 있습니다. 콜백 스크립트는 이 스크립트 단계가 완료하는 순서로 실행됩니다.

  • 콜백 스크립트가 지정되지 않은 경우 이 스크립트 단계는 서버에서 스크립트 수행 스크립트 단계와 유사하게 실행됩니다.