Using the FSI API

 

The API

FSI Version 1, Release 2 implements the use of VDEFINE instead of the VGET and VPUT methods used with

the previous release.  In addition the VDEFINE function there is also a DISPLAY function.

 

VDEFINE

VDEFINE is used to define program variables to FSI.  A FSI variable is identified by a name consisting of one to eight characters.  FSI variables can be a maximum length of 255 bytes long.  The VDEFINE API function call specifies the variable name, the variable type (character or numeric), the data length and the data to set the variable to.  

 

The $VDEFINE assembler macro is provided to invoke the VDEFINE function.

 

$VDEFINE( variable name , data address, variable type, data length, copy option )

 

Variable name is the name of the variable.  It must be one to eight characters long.  It can be specified as the address of an eight byte name (padded with blanks) or it can be specified as a constant.

 

Data address is the pointer to the variable in the program.

 

Variable type is a full word integer value indicating the data type.  1 = Numeric, 2 = Character

 

Data length is the length of the data string.  It can be specified as the address of a full word containing the data length or it can be specified as a constant value.

 

The copy option is a full word integer value but is currently ignored.

 

Examples:

$VPUT('PF03',MYPF03,2,8,0)

This will set the value of the variable 'PF03' to an eight byte character string called MYPF03.

 

You can accomplish the same thing using the $VPUT macro without constants:

$VPUT(VNAME,VDATA,VLEN,VTYPE,0)

 

VNAME    DC   CL8'PF03'

VLEN        DC   F'3'

VDATA     DC   C'END'

VTYPE      DC   F'2'

 

To code the parameter list directly you would use:

 

PLST   DC    A(VNAME)

            DC    A(VDATA)

            DC    A(VTYPE)

            DC    A(VLEN)

            DC    X'80',AL3(VZERO)

 

VZERO  DC  F'0'

    

 

 

DISPLAY

DISPLAY is used to display a panel on the terminal and get a response from the terminal user.  The DISPLAY function call specifies the name of the panel to display, an optional error message and an optional cursor position.  If the error message is specified, the error message must be defined in the MLIB data set.  If a cursor field is specified, the cursor will be placed into the screen field specified.

 

The $DISPLAY assembler macro is provided to invoke the DISPLAY function.

 

$DISPLAY( panel name , error message, cursor field )

 

Each of the parameters can either be specified as the name of an eight byte area (padded with blanks) or it can be specified as a constant.

 

$VDISPLAY('SAMP01','SAMP0101','USERID')

$VDISPLAY('SAMP01')

 

$VDISPLAY(PANEL,ERMSG,CSRFLD)

 

PANEL   DC  CL8'SAMP01'

ERMSG  DC  CL8'SAMP0101'

CSRFLD DC  CL8'USERID'

 

PANELS