IFDIALN (HLI function)

From m204wiki
Jump to navigation Jump to search

The conventions used on this page are described in Function call notation conventions.

Summary

Description
The IFDIALN call (DIAL) starts an IFDIAL thread that establishes a direct connection to the Model 204 SOUL facility using a specified Host Language Interface/Model 204 service program. The connection is made through the specified channel name (in IFAM2).
Thread type
IFDIAL
IFCALL function number
7

Syntax

IFDIALN|IFDILN(RETCODE,LANG_IND,[SSNX:]CHAN,BUFFER,IO_LEN)

Compile-only form
Not available
Execute-only form
Not available

Specify the parameters in the syntax order shown above.

Parameter Description
RETCODE [O,i,r] The Model 204 return code is the required first parameter. The code is a binary integer value.
LANG_IND [I,i,r] The language indicator is a required input parameter that establishes the calling sequence convention to be used corresponding to the host language. The indicator specifies the format of parameters that are passed in subsequent calls. Specify one of the following integer values:

1 =PL/1 F-level, and BAL languages

2 =COBOL, FORTRAN, and BAL languages

3 =PL/1 with +Optimizer/Checkout compilers, VS/FORTRAN, and BAL languages

Note: Any convention can be specified for use with the BAL language, and the BAL programmer must adhere to the convention that is specified when coding parameters.

[SSNX:]CHAN [I,c,r] The channel name is a required input parameter that specifies the CRAM, or IUCV/ VMCF communications channel name (the value of the CRIOCHNL parameter) for a particular service program. Specify the name as an eight-character string.

The four-character, secondary subsystem name, SSNX, is optional. If present, the colon is a required delimiter. You can use it when you want to override the default value stored in IGCLM244. See Subsystem names, channel names, and IODEV settings for defaults.

Note: Do not append a semicolon.

If the host language is PL/1, pass the address of the string using a based variable that overlays the original parameter.

BUFFER [O,i,o] The buffer size is an optional output parameter that specifies the size of the CRAM buffer which is the maximum buffer length for I/O to Model 204. Model 204 returns the size of the buffer as an integer value.

BUFFER is required if IO_LEN is specified.

IO_LEN [I,i,o] The I/O length is an optional input parameter that specifies the default length for I/O to Model 204. This is the length that is used if a length parameter is not specified in an IFREAD or IFWRITE call. See the LINE_LEN parameter for IFREAD.

Usage notes

Use the IFDIALN call to establish an IFDIAL connection using a specific Host Language Interface/Model 204 service program. IFDIALN performs the same basic function as IFDIAL. The IFDIALN call includes a parameter which is not available with IFDIAL that is used to specify the communications channel name for the service program.

Note: When an IFDIALN call is made with a language indicator of 1 or 3, Model 204 expects the channel name to be a string and not a PL/1 dope vector.

For more information about IFAM2, CRAM, and the Host Language Interface/Model 204 service program, see HLI: Job requirements and HLI: IFAM2 CICS processing.

Completion return code (RETCODE)

If the IFDIALN call is unsuccessful, Model 204 returns one of the following error codes:

Code Error condition
80 No current thread. (Action: Call IFSETUP.)
90 An IFDIAL connection already exists for this application program. The attempt to establish more than one simultaneous connection for this application is ignored.
101 Invalid module load. (Action: Check STEPLIB for correct release.)
500 Invalid function called.
800 All Model 204 IFDIAL connections are busy. (Action: Make sure the proper number of IODEV 29 init statements were included in the HLI Model 204 service program.)
1001 HLI Model 204 service program is not up, the HLI is halted or drained, or no host language threads were defined in Model 204. (This might indicate that the IFAM4 load module was link-edited without the REUS option.)
1003 Not enough memory for CRAM.

Coding examples

COBOL example

WORKING-STORAGE SECTION. 01 CALL-ARGS. 05 RETCODE PIC 9(5) COMP SYNC. 05 COBOL-IND PIC 9(5) VALUE 2. 05 CHAN-NAME PIC X(8) VALUE "M204CHNB". . . . PROCEDURE DIVISION. OPEN INPUT... CALL "IFDIALN" USING RETCODE, COBOL-IND, CHAN-NAME. . . .

Assembler example

. . . CALL IFDIALN,(RETCODE,LANGID,CHAN0,CRAMSIZE),VL . . . RETCODE DC F'0' LANGID DC F'2' CHAN0 DC C'USR204C0' CRAMSIZE DC F'0' END