프로그램에서 제어 전송
함수 간 제어 전송 외에도 EGL에서 프로그램 간에
제어를 전환하는 서로 다른 여러 방법이
있습니다.
- call 문은 함수에서 호출된 프로그램으로
제어를 전달하며 선택적으로 일련의 값을 전달합니다.
(자세한 정보는 기본 프로그램 대 호출된 프로그램의 내용을 참조하십시오.) 호출된 프로그램이 종료되면 제어가 호출자에게
리턴됩니다. 호출된 프로그램이 변수로 전달된 데이터를
변경하는 경우 변수의 컨텐츠가 호출자에서 변경됩니다.
자동 서버 측 커미트가 발생해도 호출은 데이터베이스 또는 기타 복구 가능한 자원을 커미트하지 않습니다.
프로그램은 EGL로 생성되거나 외부에서 정의된 것으로 간주됩니다. 이 주제에 대한 자세한 정보는 호출 또는 전송에서 연계 옵션 파트 사용의 내용을 참조하십시오.
수에는 실제적인 한계가 없습니다.
- 두 가지 유형의 transfer 문이 한 기본
프로그램의 제어를 다른 프로그램에 제공하고 전송 프로그램을 종료하며
선택적으로 데이터가 수신 프로그램의 입력 레코드로 승인되는
레코드를 전달합니다.
- transfer to transaction 문은 대부분의 환경에서 사용 가능하며 복구 가능한 자원을 커미트하거나 롤백하는 기능이 있습니다.
- transfer to program 문은 복구 가능한 자원을 커미트하거나 롤백하지 않지만 파일을 닫고 잠금을 해제하며 동일한 실행 단위에서 프로그램을 시작합니다.
- vgLib.startTransaction() 시스템 함수는 실행 단위를 비동기로 시작합니다. 이 조작은 전송 중인 프로그램을 종료하지 않으며 전송 중인 프로그램의 데이터베이스, 파일, 잠금에 영향을 미치지 않습니다. 수신 프로그램의 입력 레코드에 데이터를 전달하는 옵션을 사용할 수 있습니다.
- 특정 UI 기술의 컨텍스트에서만 EGL show 문을 사용하십시오. 사용 중인 기술에 관한 정보는 이 주제의 끝에 있는 관련 참조를 참조하십시오.
- Java™ 환경 또는 UI 컨텍스트에서
실행되는 프로그램에서만 EGL forward 문을
사용하십시오. 명령문은 다음 조치를 수행합니다.
- 복구 가능 자원을 커미트하고 파일을 닫으며 잠금을 해제합니다.
- 제어를 전달합니다.
- 코드를 종료합니다.
이 경우 대상은 다른 프로그램 또는 웹 페이지입니다. 세부사항은 forward의 내용을 참조하십시오.