IFCALL (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 IFCALL call (CALL) issues a call to a Host Language Interface function by number.
Thread type
multiple cursor IFSTRT, single cursor IFSTRT
IFCALL function number
Not applicable

Syntax

IFCALL(FUNC_NO,RETCODE,PARM_LIST)

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

Specify the parameters in the syntax order shown above.

Parameter Description
FUNC_NO [I,i,r] The function number is the required first parameter (input) that specifies the preassigned number of a particular HLI call to be run. Specify the function number as an integer value using one of the values listed in Host Language Interface function numbers. You can specify one number per call.
RETCODE [O,i,r] The Model 204 return code is a required output parameter. Model 204 returns a completion code for the call whose function number is specified. The code is a binary integer value.
PARM_LIST [I,c,r] The parameter list is a required input parameter that specifies the parameter(s) required by the call (excluding return code) whose function number is specified. Specify a character string using the following format:

parm1 [,parm2...];

See the parameter description, excluding the return code, for the call whose number is specified.

Usage notes

The IFCALL call is not valid on an IFAM1 type of IFSTRT thread, or on an IFDIAL thread. The form and action of the IFCALL call are no different on a multiple cursor or single cursor IFSTRT thread.

You can use IFCALL to call by number any Host Language Interface call that is assigned a number in the following table. Note that IFCALL does not have its own function number. There are also no function numbers for IFSTRT (in IFAM1) and IFLOG.

Function numbers are only available for use with IFCALL. IFCALL provides an alternative for coding calls where the host language limits the name variable length.

Host Language Interface function numbers

Number-call name Number-call name Number-call name
0 - reserved 47 - IFFINDE | IFFDE 94 - reserved
1 - IFSTRT (in IFAM2 and IFAM4) 48 - IFGETC 95 - IFOCUR
2 - IFSTHRD | IFSTRD 49 - IFGETE 96 - IFCSA
3 - IFFNSH 50 - IFGETXE | IFGTXE 97 - IFABXIT
4 - IFSTRTN | IFSTRN 51 - IFMOREC | IFMREC 98 - IFFTCH
5 - reserved 52 - IFMOREE | IFMREE 99 - IFFTCHC | IFFCHC
6 - IFDIAL 53 - IFMORXE | IFMRXE 100 - IFFTCHE | IFFCHE
7 - IFDIALN | IFDILN 54 - IFPUTC 101 - reserved
8 - IFHNGUP | IFHNGP 55 - IFPUTE 102 - reserved
9 - IFREAD 56 - IFFNDX | IFFD 103 - IFRELR
10 - IFWRITE | IFWRIT 57 - IFFNDXC | IFFDXC 104 - IFRELA
11 - IFOPEN 58 - IFFNDXE | IFFDXE 105 - IFCMTR
12 - IFCLOSE | IFCLOS 59 - IFRFLD 106 - IFOCURC | IFOCRC
13 - IFFIND | IFFD 60 - IFDISP 107 - IFOCURE | IFOCRE
14 - IFCOUNT | IFCNT 61 - IFFLS 108 - IFCLST
15 - IFGET 62 - IFDELF 109 - IFPROLS | IFPRLS
16 - IFMORE 63 - IFNFLD 110 - IFRRFLS | IFRFLS
17 - IFLIST 64 - IFUTBL 111 - reserved
18 - IFPUT 65 - IFCTO 112 - IFSTOR
19 - IFDREC 66 - IFCTOC 113 - IFSTRC
20 - IFBREC 67 - IFCTOE 114 - IFSTRE
21 - IFDSET 68 - IFSORT 115 - IFUPDT
22 - IFFILE 69 - IFSRTC 116 - IFUPDTC | IFUPDC
23 - IFINIT 70 - IFSRTE 117 - IFUPDTE | IFUPDE
24 - IFDFLD 71 - IFBOUT 118 - IFFRN
25 - IFEPRM 72 - IFCMMT 119 - IFFRNC
26 - IFSPRM 73 - IFDALL 120 - IFFRNE
27 - IFRPRM 74 - IFFDV 121 - IFRNUM
28 - IFERR 75 - IFFDVC 122 - IFOCC
29 - IFGERR 76 - IFFDVE 123 - IFOCCC
30 - IFCHKPT | IFCHKP 77 - IFGETV 124 - IFOCCE
31 - reserved 78 - IFGTVC 125 - IFCCUR
32 - IFDVAL 79 - IFGTVE 126 - IFFAC
33 - IFPROL 80 - IFSRTV 127 - IFFACC
34 - IFRRFL 81 - IFSTVC 128 - IFFACE
35 - IFOPENX | IFOPNX 82 - IFSTVE 129 - reserved
36 - IFGETX 83 - IFSKEY 130 - reserved
37 - IFMOREX | IFMREX 84 - IFSKYC 131 - reserved
38 - IFDEQ 85 - IFSKYE 132 - reserved
39 - IFENQ 86 - IFSETUP | IFSETP 133 - reserved
40 - IFENQL 87 - IFFWOL | IFFWO 134 - reserved
41 - IFDEQL 88 - IFFWOLC | IFFWOC 135 - reserved
42 - IFDTHRD | IFDTRD 89 - IFFWOLE | IFFWOE 136 - reserved
43 - IFATTN 90 - reserved 137 - reserved
44 - IFPOINT | IFPNT 91 - reserved 138 - IFERLC
45 - IFFLUSH | IFFLSH 92 - reserved 139 - IFEFCC
46 - IFFINDC | IFFDC 93 - reserved  

Coding example (COBOL)

WORKING-STORAGE SECTION. 01 ARGS-FOR-CALL. 05 FUNC-NUM PIC 9(5) VALUE 14. 05 RETCODE PIC 9(5) COMP SYNC. 05 COUNT PIC 9(5). . . . PROCEDURE DIVISION. . . . CALL "IFCALL" USING FUNC-NUM, RETCODE, COUNT.

In this example, IFCALL calls function number 14, IFCOUNT, which requires a single parameter for the output parameter, called COUNT.