APPC


The following considerations apply to Advanced Program-to-Program Communications (APPC):

  • Synchronous and Asynchronous Sessions

    Sessions between IMS and an LU 6.2 device can be synchronous or asynchronous. A synchronous session occurs when the LU 6.2 device sends an inbound message to IMS through APPC and stays connected waiting for a response, which is then delivered back to the originating device (the outbound message). There is no APPC TPNAME associated with a synchronous session.

    An asynchronous session occurs when the LU 6.2 device sends an inbound message to IMS through APPC, then disconnects. IMS/APPC sends the response, the outbound message, asynchronously to TPNAME DFSASYNC or DFSCMD at the originating LUNAME. Asynchronous messages can also be sent by using DFSAPPC and specifying the TPNAME and LUNAME or an LU 6.2 descriptor which contains the TPNAME and LUNAME. An application program may also insert to a specific TPNAME and LUNAME or to an LU 6.2 descriptor.

    Another type of APPC 'message' is used to schedule a CPIC driven transaction. This 'message' is actually considered a 'scheduling request' and is never placed on the message queues. It is, therefore, not processed by Message Advisor.

  • Asynchronous Outbound Message Processing

    Asynchronous outbound messages are queued on the message queues and are anchored to a Queue Anchor Block (QAB) which represents a specific TPNAME/LUNAME combination. You can DISPLAY, UNLOAD, DEQUEUE, and REQUEUE these messages by using Message Advisor. Message Advisor will process these messages no differently than messages queued to other destinations. On the Message Advisor commands, the DEST= keyword is used to specify the TPNAME. If the TPNAME is unique, that is all that is necessary. If the TPNAME is not unique, the LUNAME= keyword must also be specified.

  • Inbound and Synchronous Outbound Message Processing

    Inbound messages and synchronous outbound messages are associated with a Transaction Instance Block (TIB) which represents an existing APPC session. Message Advisor will DISPLAY, UNLOAD, and DEQUEUE inbound messages destined to an IMS-defined transaction since they are queued to the transaction (the TIB is the origin). Message Advisor will not DISPLAY, UNLOAD, or DEQUEUE synchronous outbound messages, inbound messages for DFSAPPC, or inbound commands since these messages do not normally remain on the message queues.

    Certain types of APPC messages are considered discardable because they are not retained by IMS after a warm start. The following types of APPC messages are discardable:

    • Synchronous inbound messages
    • Synchronous outbound messages
    • Asynchronous inbound messages if an APPC synclevel of NONE is used
    • Inbound messages destined for an inquiry-only or nonrecoverable transaction

    When you use Message Advisor to REQUEUE APPC messages, the discardable messages will be written to the SCRAP file (they will not be requeued) unless you use the new Message Advisor keyword, DISCARD=NO. DISCARD=NO allows discardable messages to be requeued. This keyword will also cause nonrecoverable messages not related to APPC to be requeued.

    When using the REQUEUE command to reprocess discardable messages, inbound and synchronous outbound messages cannot be requeued because no APPC session (TIB) exists to associate them with. Instead, Message Advisor will change these messages to asynchronous messages and requeue them. This change will cause any responses to be queued asynchronously to TPNAME DFSASYNC or DFSCMD. If asynchronous queuing is not desirable, then DISCARD=NO should not be used.

    Inbound messages destined for DFSAPPC and inbound IMS commands will never be requeued. They will always be written to the SCRAP file; however, outbound messages from DFSAPPC and commands will be requeued.

  • Report Processing

    In DISPLAY and other reports, Message Advisor follows the IMS convention that if the TPNAME is DFSSIDE, it is not the real TPNAME, and the LUNAME is not the real LUNAME. Instead, the LUNAME is the symbolic destination name and is the key of an entry in the APPC/MVS side information table. This side information entry contains the real TPNAME and LUNAME. The real names are not known to IMS or Message Advisor and thus cannot be used in any Message Advisor command.

  • Message Advisor does not support TPNAMEs for the following keywords:
    • ORIGIN on a SELECT or REJECT subcommand
    • CHGDEST DEST or NEWDEST keywords

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*

Message Advisor for IMS 1.8