When ALST transaction is running by synchronous transaction servers (ARTSTRN/ARTSTR1), it calls user plug-in to get the application list.
• It is built as a dynamic shared library named libkixauthalst.so.
• It provides a function entry called ARTKIX__GET_USER_ALST. For more information, see ARTKIX__GET_USER_ALST.In terms of input, when calling ARTKIX__GET_USER_ALST, ART for CICS fills VERSION, USERID, and LISTSZ fields, and sets the RESERVED field to 0.
Table 7‑1 Input/Output Parameters When using LISTSZ as input, it specifies the length of APPLIST, indicating how many applications that the application list can contain at most. Fill the application list in the address right after this field. See Listing 7‑1 for an example, which denotes that the application list can contain 128 applications at most.When using LISTSZ as output, ARTKIX__GET_USER_ALST returns the number of applications that are actually used. List of applications to be authorized. Array length is specified in LISTSZ field; every array item is composed of seven sub-fields.
• transid (4 bytes): Transaction ID of the application. This must be a valid transaction in ART for CICS.
• sessid (8 non-blank bytes): Session ID. It should be unique for a user.
• fnkey (1 byte): Reserved for future use. The value of function key associating with the application. This value uses ASCII encoding.
• label (35 bytes): Business name of the application.
• startupACLName (8 bytes): Startup ACL CICS program name.
• termACLName (8 bytes): Reserved for future use.
• reserved (3 bytes): Must be binary zero.Listing 7‑1 C Definitions of ALST_INOUT_PRARMListing 7‑2 is an example.Listing 7‑2 Example of COMMAREAUSERID of the user.If ACL-RETCODE=0, ACL-RETMSG contains initial input string that denotes how to call a transaction (the input string is the exact input that user types in 3270 terminal instead of the real 3270 data stream. ART for CICS will compose the 3270 data stream from the input string). The size of this field is 1920 bytes (padded with trailing spaces if needed).If ACL-RETCODE=-1, ACL-RETMSG contains the detailed error message, which ALST shows it on terminal. The error message is 160 bytes long (padded with trailing spaces if needed).Length of the initial input string ACL-RETMSG.Set transaction input string just like you enter on a 3270 blank screen (ARTKIX__SET_TRAN_INIT_STR will convert this input string to 3270 data stream for you).If you issue RECEIVE command after the call, RECEIVE can get the input data; if you do not issue RECEIVE command, the data stream is discarded when the transaction returns to ARTTCP.Input. The input string used to start the transaction. It should be ASCII encoded other than EBCDIC.For example, If you type XXXX abcd1234 in 3270 console, XXXX is the transaction ID to be started, and abcd1234 is the input message. Therefore, XXXX abcd1234 should be passed with pbuf.Input. The Action ID. It should be ASCII encoded other than EBCDIC. If aid is NULL, the aid DFHENTER will be used by default.Get output data string that the last SEND verb (in the transaction) sends. You do not need to decompose this output string to 3270 data stream as ARTKIX__GET_TRAN_OUT_STR will do it for you.Input. Max length of the buffer that pbuf points."Implementing Using Multiple Session Management" in Oracle Tuxedo Application Runtime for CICS User Guide