callLink 요소의 parmForm
연계 옵션 파트의 callLink 요소에 대한 parmForm 특성은 호출 매개변수의 형식을 지정합니다. parmForm 특성은 호출 프로그램의 생성에 영향을 줍니다. CICS® 환경에 있는 COBOL 프로그램의 경우 이 특성은 호출된 프로그램의 생성에도 영향을 줍니다.
COBOL 프로그램을 생성하는 경우 parmForm은
다음의 두 조건에 모두 해당되면 적용될 수 있습니다.
- pgmName 특성이 생성된 프로그램을 참조하거나 생성된 프로그램에 의해 호출된 CICS 기반 프로그램을 참조합니다.
- type 특성이 localCall 또는 remoteCall입니다.
- type이 localCall인 경우 유효한 parmForm 값(이후 설명 참조)은 CHANNEL, CICSOSLINK, COMMDATA, COMMPTR(기본값), OSLINK(z/OS® 일괄처리의 경우 기본값)입니다.
- type이 remoteCall인 경우 유효한 parmForm 값은 CHANNEL, CICSOSLINK, COMMDATA(기본값), COMMPTR(Java™ 코드에서 호출된 COBOL 프로그램을 참조하는 경우) 및 OSLINK입니다.
Java 프로그램을 생성하는 경우 parmForm은
다음의 상황에서 적용할 수 있습니다.
- pgmName 특성이 생성 중인 프로그램에 의해 호출된 CICS 기반 프로그램을 참조합니다.
- type 특성이 ejbCall 또는 remoteCall이며 어느 경우에나 유효한 parmForm 값(이후 설명 참조)은 CHANNEL, COMMDATA(기본값), COMMPTR입니다.
Java 랩퍼를 생성하는 경우 다음의 상황에서 parmForm을
적용할 수 있습니다.
- pgmName 특성이 Java 랩퍼를 통해 호출되는 생성된 COBOL 프로그램을 참조합니다.
- type 특성이 ejbcall 또는 remoteCall이며 어느 경우에나 유효한 parmForm 값(이후 설명 참조)은 CHANNEL, COMMDATA(기본값) 또는 COMMPTR입니다.
다음 목록에서 값을 선택하십시오.
- CHANNEL
CHANNEL 매개변수 형식의 경우 컨테이너가 채널에서 전달됩니다. 채널은 CICS 프로그램 간에 데이터를 전달하기 위한 매개변수와 같은 기능의 컨테이너 세트입니다. COMMAREA가 CHANNEL 매개변수 형식에 전달되지 않습니다.
EGL 생성 프로그램이 호출된 프로그램에 채널을 전달하는 경우 채널에는 호출된 프로그램과 동일한 이름이 있습니다. 그러나 EGL 호출된 프로그램이 채널을 수신하는 경우 프로그램은 CICS API 호출을 사용하여 전달된 채널의 이름을 검색합니다.
컨테이너에는 EGL-PARM-1부터 EGL-PARM-n까지의 이름이 지정되며 여기서 n의 최대값은 30입니다.
예를 들어, 유형이 INT, Record(33,000바이트) 및 EGL STRING인 세 개의 매개변수를 전달하는 경우 다음의 표에 표시된 바와 같이 채널에는 세 개의 컨테이너가 포함됩니다.
표 1. 컨테이너 및 매개변수 예 컨테이너 이름 컨테이너의 값 EGL-PARM-1 INT를 표시하는 4바이트 EGL-PARM-2 레코드를 표시하는 33,000바이트 EGL-PARM-3 STRING에 대한 포인터를 표시하는 4바이트(호출된 프로그램은 EGL이어야 함) - CICSOSLINK
- 호출된 프로그램이 데이터에 대한 포인터를 예상하여
표준 COBOL 매개변수 전달 규칙이 적용됨을 지정합니다.
CICS EIB 및 COMMAREA는
항상 처음 두 개의 인수와 그 뒤의 프로그램 특정 인수로
전달됩니다. CICSOSLINK를 사용하려면 다음 설정이 필요합니다.
- type 특성이 localCall 또는 remoteCall입니다.
- linkType 특성이 STATIC 또는 DYNAMIC입니다.
- COMMDATA
- 호출자가 비즈니스 데이터(데이터에 대한 포인터가 아님)를 COMMAREA에
배치함을 지정합니다.
각 인수 값은 경계 맞추기에 관계없이 이전 값에 인접한 버퍼로 이동됩니다.
type 특성이 remoteCall 또는 ejbCall인 경우 COMMDATA가 기본값입니다.
- COMMPTR
- 호출자가 다음과 같은 역할을 하도록 지정합니다.
- COMMAREA에 전달된 인수 당 한 포인터씩 일련의 4바이트 포인터를 배치합니다.
- 마지막 포인터의 상위 비트를 1로 설정합니다.
type 특성의 값이 localCall인 경우 COMMPTR이 기본값입니다.
- OSLINK
- 호출된 프로그램이 데이터에 대한 포인터를 예상하며
CICS EIB 또는 COMMAREA를
사용하지 않고 표준 COBOL 매개변수 전달 규칙이 적용됨을
지정합니다. OSLINK는 COBOL 프로그램을 생성하는 경우에만 유효합니다. OSLINK를 사용하려면 다음 설정이 필요합니다.
- type 특성이 localCall 또는 remoteCall입니다.
- linkType 특성이 STATIC 또는 DYNAMIC입니다.