startTransaction()
vgLib.startTransaction() 시스템 함수는
기본 프로그램을 비동기식으로 호출하고 레코드를 전달하여
다음과 같은 결과를 얻습니다.
- 대상 프로그램이 EGL에서 생성되면 레코드가 입력 레코드를 초기화하는 데 사용됩니다.
- 대상 프로그램이 VisualAge® Generator에서 생성되면 레코드가 작업 스토리지 레코드를 초기화하는 데 사용됩니다.
transfer 또는 call 명령문과 달리(둘 다 동기식으로 프로그램 호출), vgLib.startTransaction()을 통해 호출 프로그램이 계속해서 피호출 프로그램과 동시에 실행될 수 있습니다.
Java™에 대해 생성 중인 경우 함수 호출에서 매개변수로 시작하는 데 프로그램을 지정하여 레코드에서 프로그램 이름을 대체할 수 있습니다.
구문
vgLib.startTransaction(
request ANY in
[, prID INT or CHAR inOut
[, termID INT or CHAR(4) inOut ]])
vgLib.startTransaction(
request ANY in
[, progName CHAR inOut ])
- request
- 다음 형식이어야 하는 기본 레코드의 이름입니다.
- 처음 2개 바이트(10진수 없는 SMALLINT 또는 BIN)에는 전달되지 않는 2개의 필드(이 필드 포함)에 대한 10에 더하여 시작된 트랜잭션에 전달될 데이터의 길이가 포함됩니다.
- 다음 8개의 바이트(CHAR)도 전달되지 않습니다. 컨텐츠는 대상 시스템에 따라 다릅니다. 이 주제의 "호환성" 절을 참조하십시오.
- 나머지 요청 레코드는 전달됩니다.
- prID
- 이 인수는 CICS® 및 iSeries COBOL 플랫폼에서만 사용됩니다. 이 주제의 "호환성" 절을 참조하십시오.
- termID
- 이 인수는 CICS 플랫폼에서만 사용됩니다. 이 주제의 "호환성" 절을 참조하십시오.
- progName
- 비동기식으로 시작될 프로그램의 이름입니다. 이 옵션은 Java 전용입니다. 이 주제의 "호환성" 절을 참조하십시오.
예제
다음 예제는 vgLib.startTransaction() 함수를 표시합니다.
myRequest RequestPart;
myRequest.prefix = "18";
myRequest.progName = "MyProgrm";
myRequest.reqrec = "MyData";
vgLib.startTransaction(myRequest);
프로그램 코드에 대한 이 예제를 동반하는 레코드 선언은 다음과 같습니다.
Record RequestPart type BasicRecord
10 prefix SMALLINT;
10 progName CHAR(8);
10 reqrec CHAR(8);
end
호환성
| 플랫폼 | 문제 |
|---|---|
| Java 생성 |
|
| CICS |
|
| CICS(계속) |
|
| iSeries COBOL |
|
| IMS/VS 또는 IMS™ BMP |
|
| z/OS® 일괄처리 | 이 함수는 지원되지 않습니다. |