Application Programming Guide


 Return to Library  Contents  Previous Topic  Bottom of Topic  Next Topic  Index  Help


Chapter 6. Coordinated Voice and Data

 

This chapter includes sections about the CallCoordinator application programming interfaces (APIs) related to the Coordinated Voice and Data feature. These sections are:

These APIs are defined as general-use programming interfaces. The exit is a product-sensitive programming interface. See "Programming Interfaces" for definitions of general-use and product-sensitive programming interfaces.


Transferring a Call and Displaying a Different Application

 

There are various ways of controlling the data that appears at a transferred-to terminal. The information here is to help you select the method most appropriate for your installation.

This example is based on the one shown in Figure 7. In the example a call is transferred from the auto insurance agent to the home insurance agent:

  1. The auto insurance agent receives the call and the default screen is presented.

  2. The auto agent may perform file or data base updates during this transaction.

  3. The auto agent reaches a point where the call needs to be transferred to the home agent.

There are various combinations of API calls that can be used to achieve the transfer, as follows:

Re-initialize API (CAMI788C)
This API is mandatory if a new application panel is to be displayed. It could be used to invoke the installations default panel for home agents without any further controls or combined with other API calls.

The Re-initialize API changes the REINIT-TRANS field in the CMCT (Call Management Control Table).

A specific transaction does not need to be specified because the application may not have, or need, the information about what the transaction is or where the transferred call is going. In this case, CallCoordinator performs a normal Intelligent Answering search for a transaction to start at the target. This API is used if screen transfers are to be prevented, that is when we do not want to give the IVR or the agent and/or the caller the opportunity to transfer the call before Re-initialize issued).

Set Control Number API (CAMI730C)
The control number could be set by the transaction at the transfer-from terminal, then the transaction at the transfer-to terminal could inquire upon it and take appropriate action.

Inquire Call API (CAMI726C)
This API call could be issued at the transfer-to terminal to obtain information from the CMCT about the call being transferred. For example the Control Number set by the sending agent could be inquired upon. The CAMC726-ORIGINAL-CNTRL-NO field contains the number set by the transfer-from terminal.

Start With Data API (CAMI500C)
This API can be used to pass data to the initial transaction. However, it is equally applicable to a Re-Initialized transaction. Therefore ANI or DNIS based information could be used to obtain data and pass it to the transfer-to terminal. The SPM Start Option in the agents table must be set to 'Y' at the transfer-to terminal.

Access User Data API (CAMI735C)
This API can be used to store and retrieve T-Server User Data. This data is specific for the call for which it is set. It will remain for the duration of the call even when the call is transferred off-switch (as long as the destination switch is in the T-Server network and active in CallPath). User Data is also available in the Genesys PC network and can therefore be used by other Genesys products, such as Universal Routing Server.


Screen Presentation Manager Exit (CAMI770C)

+-------------Product-sensitive programming interface information-------------- 
+

                       

What This Exit Does

   

This exit enables CallCoordinator to access a program that renames temporary storage queues and performs other screen processing functions. It passes the data needed by this program to perform these processes.

The renaming function is required when your application programs use temporary storage queues, and the associated data is subject to transfer with call transfers. It may also be necessary for you to perform application specific screen processing functions such as the removal of data subject to security regulations prior to screen transfer. This exit provides the interface to pass the required data for these processes from CallCoordinator screen presentation processing to your screen presentation processing program.

Transfers from one agent's screen to another may be direct or deferred. In both situations exits are provided at both the to-terminal and from-terminal. This exit occurs after reading of the screen image, and saving the Commarea at the from-terminal. The exit occurs before the screen image and Commarea are restored, when the exit is invoked for the to-terminal.

The interface data includes the data needed by the exit program to:

This interface is defined as an installation-wide exit as well as a product-sensitive programming interface.

When to Use This Exit

Nothing need be done with this interface unless temporary storage queues are used in screen processing business applications or the transaction environment should be copied rather than moved. If TSQs are used, it still is not necessary to do anything with this interface unless the standards for setting up TSQs differ from the standard assumed by the CallCoordinator's Sample Screen Presentation Manager Exit program (CAMI770C). CallCoordinator assumes that TSQs:

If the naming standards differ from the above standard or special screen processing functions are required, you can use the interface data to customize your application for renaming TSQs and performing application-specific screen processing.

Note: In a sysplex environment, you must manage these TSQs yourself.

How to Use This Exit

To use this exit to do your own screen presentation processing, do the following:

  1. Create a CICS communication data area in working storage of your Screen Presentation Manager Exit program by copying the communication data area for this exit. The fields for this data area are described in Table 24. A layout is provided in the CallCoordinator SEZPCOPY target library, member name CAMC770. Refer to the library member for the actual field names.

    Table 24. CICS Communication Data Area for the Screen Presentation Manager Exit (CAMC770)
      
    Field Attributes Description
    COMMAREA-DATA N/A 01 level name.
    COMMAREA-LEN PIC S9(04) COMP VALUE +208 Length in bytes of the CICS communication data area.
    FROM-PROGRAM-NAME PIC X(08) The name of the program invoking the API
    TO-PROGRAM-NAME PIC X(08) The name of this exit (CAMI770C).
    FILLER PIC X(120) Spaces. Reserved for future use.
    FROM-TERM-ID PIC X(08) When the Screen Presentation Manager Exit program is running for the transferred-from-terminal, this field contains the terminal ID of the transferred-from-terminal. When it is running for the transferred-to-terminal, this field is blank.
    TO-TERM-ID PIC X(08) When the Screen Presentation Manager Exit program is running for the transferred-to-terminal, this field contains the terminal ID of the transferred-to-terminal. When it is running for the transferred-from-terminal, this field is blank.
    NEXT-TRANS-ID PIC X(08) The Transaction ID that is initiated for the transferred-to-terminal. DT-NUMBER is added to NEXT-TRANS-ID to generate a temporary name for the TSQ.
    DT-NUMBER PIC 9(04) The last 4 bytes of the application connect ID.
    CA-APPLC-CONN-ID PIC 9(09) This is the Application Connect ID that is a unique number assigned to track and control the screen activities (Transfer, Save, Restore and Cleanup).
    CA-ACTION-CODE PIC X(02) This is the screen action code to indicate the screen processing action when a call is transferred:
    • 02 = transfer
    • 03 = save
    • 04 = restore
    • 05 = cleanup
    CA-TRANS- COMMAREA- PTR PIC S9(09) COMP This is the application Commarea address of the terminal transaction. You can access/modify this Commarea for the terminal transaction.
    CA-TRANS- COMMAREA- LEN PIC S9(04) COMP This is the application Commarea length of the terminal transaction commarea.
    CA-KEEP- TRANS- FLAG PIC X(01) This is a return flag from the Screen Presentation Manager exit. It is passed as spaces. Set this flag to "Y" to tell CallCoordinator to keep the "from" terminal transaction environment.
    CA-FROM-TOR-SYSID PIC X(4) The CICS SysID of the TOR associated with the FROM-TERM-ID.
    CA-TO-TOR-SYSID PIC X(4) The CICS SysID of the TOR associated with the TO-TERM-ID.
    CA-FROM-COR-SYSID PIC X(4) The CICS SysID of the COR associated with the FROM-TERM-ID.
    CA-TO-COR-SYSID PIC X(4) The CICS SysID of the COR associated with the TO-TERM-ID.
    FILLER PIC X(8) spaces

  2. Include programming statements to rename TSQs according to your naming conventions as follows:

    When CallCoordinator invokes the Screen Presentation Manager exit program the first time, it passes the ID of the transferred-from-terminal in the FROM-TERM-ID field of the interface. The TO-TERM-ID field is blank. The module needs to read the TSQ of the transferred-from-terminal and write it to a new TSQ. The NEXT-TRANS-ID and DT-NUMBER fields of the interface are used to identify the new TSQ.

    When CallCoordinator invokes the Screen Presentation Manager exit program the second time, it passes the ID of the transferred-to-terminal in the TO-TERM-ID field of the interface. The FROM-TERM-ID field is now blank. The module needs to read the TSQ it created and identified using the NEXT-TRANS-ID and DT-NUMBER fields of the interface. It writes the data into a new TSQ for the transferred-to-terminal.  

    In an MRO environment, if the TSQs do not reside in main storage or in the CallCoordinator region or are not defined to CICS as remote resources, your Screen Presentation Manager exit program must get the names of the links to the terminal-owning regions (TOR) of the terminals. To do this:

    1. Provide a field in working storage to store the link name:
                     01 WS-TERM-OWN-LINK-NAME   PIC X(04).
              

    2. INQUIRE to get the name of the link to the TOR of the transferred-from-terminal.
                     EXEC CICS INQUIRE
                               TERMID(FROM-TERM-ID)
                               REMOTESYSTEM(WS-TERM-OWN-LINK-NAME)
                               END-EXEC.
              

    3. Include the link name in the READQ command.
                     EXEC CICS READQ TS
                               QUEUE(queue-name)
                               FROM(data-area)
                               LENGTH(queue-length)
                               SYSID(WS-TERM-OWN-LINK-NAME)
                               END-EXEC.
              

    4. INQUIRE to get the name of the link to the TOR of the transferred-to-terminal.

    5. Include the link name in the WRITEQ command.

  3. Include programming statements to handle special processing functions.

    The following shows the information passed to the Screen Presentation Manager exit program for this purpose when the Screen Presentation Manager exit occurs during Transfer (save) or Save steps:

    The following shows the information passed to the Screen Presentation Manager exit program for this purpose when the Screen Presentation Manager exit occurs during Transfer (save), Save, Transfer (restore) or Restore steps:

    When running at the to-terminal, the Screen Presentation Manager exit has access to the Commarea that applies to the transaction currently running.

    Table 25 shows the data values passed in the Screen Presentation interface fields for different screen actions.

    Table 25. Data Values Passed in the Screen Presentation Interface Fields for Different Screen Actions
    Field Name Transfer (Save) Transfer (Restore) Save Restore Cleanup
    FROM-TERM-ID From Term ID Spaces From Term ID Spaces Spaces
    TO-TERM-ID Spaces To Term ID Spaces To Term ID Spaces
    CA-NEXT-TRANS-ID Applcation Trans ID Applcation Trans ID Applcation Trans ID Applcation Trans ID Applcation Trans ID
    CA-DT-NUMBER Unique number Unique number Unique number Unique number Unique number
    CA-APPLC-CONN-ID Unique number Unique number Unique number Unique number Unique number
    CA-ACTION-CODE 02 02 03 04 05
    CA-TRANS- COMMAREA-PTR Address of Commarea Address of Commarea Address of Commarea Address of Commarea zero
    CA-TRANS- COMMAREA-LEN Length of Commarea Length of Commarea Length of Commarea Length of Commarea zero
    CA-KEEP- TRANS-FLAG Space Space Space Space Space

  4. Type the name of your Screen Presentation Manager Exit program in the Screen Presentation - Exit name field of the COR Telephony Settings panel.

Sample Program

Sample program source code for the Screen Presentation Manager Exit is provided as a source library member in the CallCoordinator SEZPSRCE target library, member name CAMI770C.

CallCoordinator insures the accessibility of the data saved in a temporary queue (associated with a transferred-from terminal) at the transferred-to terminal during a screen transfer. It does this by changing the Terminal ID part of the name of the queue from the transferred-from Terminal ID to the transferred-to Terminal ID.

When a call is transferred, CallCoordinator invokes the Screen Presentation Manager Exit program once for the transferred-from terminal and then again for the transferred-to terminal. The first time, CallCoordinator exits to the sample exit program that reads the TSQ of the transferred-from terminal and writes it to a new TSQ. The second time, CallCoordinator exits to the sample program that reads the new TSQ and writes it to a TSQ for the transferred-to terminal. The interface data is passed in the DFHCOMMAREA to the Screen Presentation Manager exit program.

+----------End of Product-sensitive programming interface information---------- 
+


Host-Initiated Telephony API (CAMI775C)

         

What this API Does

This API enables agents to perform the following list of telephony actions using their terminals rather than their telephones and this ability is known as hands-free telephony (for details see "Definitions"):

Note: The availability of these functions is dependent upon the telephone switch being used. For more information, see the CallPath Services Reference [Switch Name] for your switch. This IBM series of manuals gives the details for interfacing switches with the CallPath Services family of products.

When an Agent wishes to use one of these functions, the API requires that the appropriate request type and target number be entered. This provides the advance notice CallCoordinator needs for the relevant screen activity. The API sends a series of CallPath/CICS for OS/390 program calls which result in requests being sent to the switch to accomplish the requested function.

If Genesys T-Servers are in use, inter-switch transfers will be handled by the T-Servers. The T-Servers must be configured to work together. Using T-Servers to transfer inter-switch calls renders CallCoordinator's Inter-Switch Tracking numbers unnecessary. Any switch can transfer to any other switch and the call will be tracked by CallCoordinator, as long as the various T-Servers are configured properly.

Using T-Server's Inter Server Call Control to transfer calls allows CallCoordinator to utilize T-Server User Data. This User Data (aka Attached Data) will follow the call throughout the T-Server network. User Data may be set using the Access User Data API (CAMI735C).

The request types for this API are described in Table 26.

Definitions

Client

The originator of the CallCoordinator telephone call.

Requesting Agent

This is the agent signed on to CallCoordinator at the terminal identified by EIBTRMID or, if specified, TERM-ID.

Requested Agent

This is the agent signed on to CallCoordinator and is identified by TARGET-NBR.

Target Agent

If the target agent is known, this field may be used in place of the TARGET-NBR and/or TARGET-SWITCH fields. TARGET-AGENT must be a signed-on CallCoordinator agent.

Target Switch

This is the switch to which the call is being transferred. It is used only when both the sending and receiving switches are controlled by networked T-Servers. If this field is left blank, then HIT will attempt to determine the target switch using the Switch-to-Switch Dialing Prefix table. Leave this field blank if the call is to be transferred to the same switch. If TARGET-AGENT is specified then HIT will use it to determine the target switch.

Blind transfer/transfer without consultation

The requesting agent hangs up before the requested agent answers the telephone. From the client's perspective it will appear as follows:

  1. The client is placed on hold and the requesting agent drops out of the call.

  2. The requested agent's telephone starts ringing.

  3. The requested agent answers the telephone and speaks with the client.

Only the client and the requested agent are participants in the call from the time the requesting agent hangs up.

Blind conference/conference without consultation

The call enters conference mode before the requested agent answers the telephone. From the client's perspective it will appear as follows:

  1. The client is placed on hold.

  2. The requested agent's telephone starts ringing.

  3. The client and the requesting agent are reconnected.

  4. The requested agent answers the telephone.

  5. All three parties are in a conference call.

Screened transfer/transfer with consultation

The requesting agent waits until the requested agent answers the telephone before completing the transfer. The requesting and requested agents may consult with one another at this time whilst the client remains on hold, not participating in the conversation. Once the two agents have finished consulting, the following scenarios can occur:

  1. The requesting agent can complete the transfer thereby connecting the client with the requested agent.

  2. The requesting agent can retrieve the held call thereby reconnecting him/her with the client and the requested agent is dropped from the call.

  3. The requested agent can hang up and (depending upon the switch) the call between the client and the requesting agent is reconnected. On some switches the requesting agent may have to retrieve the held call to accomplish this.
From the client's perspective it will appear as if they have been placed on hold until they are reconnected to the call at which point they can speak to the requesting or requested agent dependent upon which option was taken from the above list.

Screened conference/conference with consultation

The requesting agent waits until the requested agent answers the telephone before completing the conference. The requesting and requested agents may consult with one another at this time while the client remains on hold, not participating in the conversation. Once the two agents have finished consulting, the following scenarios can occur:

  1. The requesting agent can complete the conference thereby connecting the client with both agents.

  2. The requesting agent can retrieve the held call thereby connecting him/her with the client and the requested agent is dropped from the call.

  3. The requested agent can hang up and, depending upon the switch, the call between the client and the requesting agent is reconnected (it may be necessary to issue a retrieve to accomplish this).
From the client's perspective it will appear as if the call has been placed on hold until the call is reconnected, at which point the client can speak to the requesting or both agents dependent upon which option was taken from the above list.

Account code

This field specifies the account code to be associated with the call. The account code can be used to provide more specific billing information than just the party to be billed. For example, in a legal environment, the account code could be associated with one of multiple cases for the same client that is being handled by the law office.

Also on the DMS100 switch, the account code can be used as the authorization code for the call.

Program Data.

Program Data provides the ability for CallPath programs to pass data to the CallPath subsystem on CallPath Program Calls such as Make_Call and to receive that data in the associated CallPath messages such as Call_Alerting. CallCoordinator has implemented Program Data such that the first 16 bytes are reserved for its own use and the remaining 496 bytes (subject to switch limitations) are available to the user.

CallCoordinator associates Program Data with a call whenever the user invokes the Host-Initiated Telephony API with one of the following request codes:

The first 16 bytes of Program Data will contain the following:

  1. Program Data ID -- 4 bytes.

  2. The CMCT Index of the call on whose behalf the Host-Initiated Telephony API is being invoked -- 4 bytes.

  3. The SYSID from which this call originated -- 4 bytes.

  4. The last four digits of the Call Index of the call on whose behalf the Host-Initiated Telephony API is being invoked -- 4 bytes.

The Program Data ID can have one of the following values indicating how the program data was originated:

The Program Data is then associated with the Call Data record of the call that has resulted from the action performed as a result of the Host-Initiated Telephony API request and can be retrieved using the Inquire Call Data API. The CallCoordinator portion of this Program Data (16 bytes) contains the CMCT Index, Applid, the last 3 digits of the Call Index and a Reason Code from the originating call. The user portion can contain any data that the user placed in the USER-PROGRAM-DATA field.

Thus it is possible to retrieve the Program Data for a call using the Inquire Call Data API, interrogate the Reason Code and then use the CMCT Index as a search argument in another Inquire Call Data API request and obtain call-related data such as Control Number, Business Value or User Program data pertaining to the originating telephone call. It is, therefore, possible to transfer data with a telephone call between two different switches if the transport of Program Data across the switch network is supported by the switch (for example Lucent G3).

When to Use the Host-Initiated Telephony API

You might want your application program to use this API so that agents can initiate call transfers, call conferences, call answering, call hang up, by way of the host using an application program. This could be necessary under the following circumstances:

How to Use the Host-Initiated Telephony API

To use the Host-Initiated Telephony API in your application program, do the following:

  1. Create a CICS communication data area in working storage of the program by copying CAMC775. The fields for this API are described in Table 26 (note that the field names in the figure are missing the CAMC775 prefix for the sake of brevity). A layout for this data area is provided in the CallCoordinator SEZPCOPY target library, member name CAMC775. Refer to the library member for the actual field names.

    If calling the API from COBOL II or later, INITIALIZE the Communication data area (CAMC775-COMMAREA-DATA) before setting any of the fields.

    Table 26. CICS Communication Data Area for Host-Initiated Telephony API (CAMC775)
    Field Attributes In/Out Description
    COMMAREA N/A N/A 01 level name.
    COMMAREA-LEN PIC S9(04) COMP VALUE +256 N/A Length in bytes of this communications data area.
    COMMAREA-DATA N/A N/A 03 level name.
    FROM-PROGRAM-NAME PIC X(08) In The name of the program that is linking to this API.
    TO-PROGRAM-NAME PIC X(08) In The name of this API (CAMI775C).
    RETURN-CODE PIC S9(09) COMP Out The return code can have the following values (see also "Return Code Details"):

    0000
    No errors.

    0001
    CallCoordinator not active.

    0002
    Requesting agent not signed on.

    0003
    Request not valid.

    0004
    Extend purpose not valid.

    0005
    Switch subsystem reported error.

    0008
    Routing error. See REASON-CODE

    0009
    System error See REASON-CODE

    0010
    Other error.

    0011
    Trigger tag not valid.

    0017
    Table access error

    0018
    Invalid party connection

    0019
    Null connection pointer
    REQUEST-TYPE PIC X(02) In The following requests can be made for this API:

    01
    Blind Conference

    02
    Blind Transfer

    03
    Extend Call

    04
    Complete Screened Conference

    05
    Complete Screened Transfer

    06
    Retrieve Call

    07
    Answer Call

    08
    Disconnect Call

    09
    Hold Call

    10
    Make Call

    11
    Redirect Call

    12
    Return Control

    13
    Immediate Transfer

    14
    Reject Call

    15
    Revertive Make call
    TARGET-NBR PIC X(32) In The directory number upon which the API is to operate.
    TERM-ID PIC X(08) In The Terminal ID that identifies the requesting agent.
    EXTEND-PURPOSE PIC X(01) In The purpose for which the EXTEND request is being issued. This field can have the following values:

    ' '
    The EXTEND purpose is UNSPECIFIED. The field value is a space (X'40').

    0
    The EXTEND purpose is UNSPECIFIED.

    1
    The EXTEND is for the purpose of a TRANSFER.

    2
    Reserved for future use.

    3
    The EXTEND is for the purpose of a CONFERENCE.
    ACCOUNT-CODE PIC X(32) In The account code to be associated with the telephone call.
    TRIGGER-NUMBER PIC X(32) In The directory number specified in the Additional Monitored Resources table for Host-based routing. This number is passed to the user in CAMCTRG.
    TRIGGER-TAG PIC X(08) In The tag passed to the user in TRIGGER-TAG in data area CAMCTRG that identifies the triggered call.
    TRIGNUM-TYPE PIC X(01) In The number type of TRIGGER-NUMBER (0=unknown,1=extension,3=pilot).
    TRIGGER-SWITCH-ID PIC X(08) In The name of the switch upon which TRIGGER-NUMBER is defined.
    COR-SYSID PIC X(04) In The CICS SysID of the COR in which the API is to run. It is required if the API request is called with the CMT-INDEX input parameter, in a sysplex environment.
    REQUEST-MODE PIC X(01) In The mode in which the API is to operate.This field can have the following values:

    ' '
    The API will operate ASYNCHRONOUSLY.

    'A'
    The API will operate ASYNCHRONOUSLY.

    'S'
    The API will operate SYNCHRONOUSLY.
    LAST-CP-CALL PIC X(08) Out The name of the last call to be executed.This field is for debugging purposes so that it is apparent which call was last executed for correlation with the CP-RETURN-CODE and CP-RR-SENSE-CODE fields or for a CallCoordinator Table addressability error, the name of the table.
    CP-RETURN-CODE PIC S9(09) COMP Out Synchronous mode only.This field will contain the Return Code from CallPath/CICS for OS/390 If the value is -111 (set by CallCoordinator) then the field CP-RR-SENSE-CODE should be inspected. See SC34-2402 for details.
    CP-RR-SENSE-CODE PIC S9(09) COMP Out Synchronous mode only.This field is used only where field CP-RETURN-CODE is -111.This field will contain the sense code returned by CallPath/CICS for OS/390 in a Response message. See SC34-2402 for details.
    CMCT-INDEX PIC X(5) In The CMCT Index of the call data record on which the API is to operate. It is used for transactions that do not have a terminal associated with them, for example in host-based routing.
    TARGET-AGENT PIC X(10) In The Agent ID to which the call will be transferred.
    RQ-PARTY-SWITCH PIC X(8) In Revertive Make Call only. This is the Switch upon which RQ-PARTY-NUMBER exists.
    RQ-PARTY-NUMBER PIC X(10) In Revertive Make Call only. The number on whose behalf the Revertive Make Call is being issued (the calling party). Refer to the CallPath Services Reference manual for your switch to find out if this function is supported and any limitations that apply, for example this number may have to be a pilot number.
    RMC-ALERT-TIME PIC S9(9) COMP In Revertive Make Call only. The number of seconds that the target of the Revertive Make Call should be in Alerting state before the call is abandoned. Refer to the CallPath Services Reference manual for your switch to find out if STLSCDA is supported and, if so, what values can be specified. The default is 60 seconds.
    RMC-DETECT-ACTION PIC S9(9) COMP in Revertive Make Call only. The action to be taken if it is detected that the call has been answered by an answering machine or other automated answering equipment. Refer to the CallPath Services Reference manual for your switch to find out if STLSDDA is supported and, if so, what values can be specified. The default is to remain connected. This field can have the following values:
    0
    Switch default destination detect action
    1
    Disconnect the call
    2
    Disconnect the called party
    3
    Disconnect the calling party
    4
    Remain connected

    REASON-CODE PIC S9(4) COMP Out For routing errors see "API Router".

    0016
    Incorrect Commarea length.

    0020
    CallCoordinator table addressability error.
    FILLER PIC X(38) N/A Reserved for future use.
    SEND-CC-PD-FLAG PIC X(1) In This flag enables the user to choose whether or not CallCordinator/CICS uses the first 16 bytes of the program data associated with the call. For Coordinated Voice and Data Transfer across switches to work using the Program Data method, the first 16 bytes must be used by CallCordinator/CICS. Therefore, the default is 'Y'. Values are:
    'N'
    User-Program-Data only.
    'Y' or any other value
    16 bytes of CC/CICS data followed by User-Program-Data.
    USER-PROGRAM-DATA PIC X(496) In User Program Data to be associated with this request.
    TARGET-SWITCH PIC X(8) In The switch ID to which the call was transferred.
    FILLER PIC X(263) N/A Reserved for future use.
    FILLER PIC X(08) VALUE 'ENDIHIT0' N/A Eye-catcher for the end of the area.

  2. Collect the input data for the API. The required data is discussed below under the expansion of each request type.

  3. Move the data to the input fields of the CICS communication data area.

  4. Code the following CICS command in your application program:
    Example for COBOL:
     
          EXEC CICS LINK PROGRAM('CAMI775C')
                         COMMAREA(CAMC775-COMMAREA)
                         LENGTH(CAMC775-COMMAREA-LEN)
          END-EXEC.
        

  5. Test the value returned in the return code field in the CICS communication data area to determine if the operation of the API was successful.

  6. If the operation of the API was not successful, take action applicable to the error indicated by the return code.

If the operation of the API was successful, the switch will have been requested to perform the appropriate telephony functions.

A CAMCTRG data area description is provided for reference. It is passed, as started data, to a transaction started as a result of a call coming to a Triggered telephony resource (that is a resource in the Additional Monitored Resources which has an associated transaction). The data passed is used by the application in conjunction with Host-Initiated Telephony API REQUEST-TYPE's Redirect-Call, Return-Control, and Reject-Call.

Note: The started routing transaction must issue a CICS Retrieve to obtain the passed data described in CAMCTRG.

The fields for this data area are described in Table 27. A layout for this data area is provided in the CallCoordinator SEZPCOPY target library, member name CAMCTRG. Refer to the library member for the actual field names.


Table 27. Data Area for Triggered Transaction (CAMCTRG)
Field Attributes In/Out Description
TRIGGER-DATA N/A N/A 01 level name.
TRIGGER-DATA-LENGTH PIC S9(04) COMP VALUE +300 N/A Length in bytes of this data area.
TRIGGER-SWITCH-ID PIC X(09) Out The name of the target switch of the Trigger.
TRIGGER-NUMBER PIC X(32) Out The number of the Triggered resource.
FILLER PIC X(02) N/A Spaces. Reserved fro future use.
TRIGGER-NUMBER-LEN PIC S9(08) COMP Out The length of the Triggered number.
TRIGNUM-TYPE PIC X(01) Out The type of resource Triggered.

00
Unknown

01
Extension

03
Pilot
TRIGGER-TAG PIC X(08) Out A unique Tag assigned to the Trigger request.
FILLER PIC X(03) N/A Spaces. Reserved for future use.
TRIGGER-TIMER-VALUE. PIC S9(08) COMP Out Time to switch default action on Triggered resource
TRIGGER-DATE PIC X(08) Out The date (YYYY/MM/DD) of the Trigger.
TRIGGER-TIME PIC X(10) Out The time (HH/MM/SSxSSS) of the Trigger.
FILLER PIC X(02) Out Spaces. Reserved for future use.
TRIGGER-DNIS-ID PIC X(34) Out The DNIS (Table#/DNIS) number associated with the triggered call.
TRIGGER-ANI-ID PIC X(32) Out The ANI (Table#/ANI) number associated with the triggered call.
CALLING-PARTY-NUM PIC X(32) Out The number of the calling party associated with the triggered call.
TRIGGER-CMCT-INDEX PIC X(05) Out CMCT Index of the triggered call.
TRIGGER-APPL-CONN-ID PIC X(09) Out ACI of the triggered call.
TRIGGER-COR-SYSID PIC X(04) Out The CICS SysID of the COR in which the trigger is active.
FILLER PIC X(98) N/A Spaces. Reserved for future use.

Request Types

BLIND CONFERENCE (01)

This operation is sometimes called conference without consultation.

The API uses two CallPath Program Calls:

  1. Extend_Call

  2. Conference_Call
and the CallPath Set Program Call Set_Extend_Purpose with a purpose of STL_EXTEND_CONFERENCE if Extend Purpose Required is set to Y in the CallCoordinator Switch Definition Panel. The Extend_Call puts the call between the client and the requesting agent (identified by TERM-ID) ON HOLD and makes a new call between the requesting agent and the agent identified by TARGET-NBR. The Conference_Call connects the party ON HOLD (the client), the requesting agent (identified by TERM-ID), and the new agent (identified by TARGET-NBR) in a conference call.

Mandatory Input:

Request type
Target number

Optional Input:

From program name
To program name
Terminal ID 1
Account code
User Program data

BLIND TRANSFER (02)

This operation is sometimes called transfer without consultation.

The API uses two CallPath Program Calls:

  1. Extend_Call

  2. Transfer_Call
and the CallPath Set Program Call Set_Extend_Purpose with a purpose of STL_EXTEND_TRANSFER if Extend Purpose Required is set to Y in the CallCoordinator Switch Definition Panel. The Extend_Call puts the call between the client and the requesting agent (identified by TERM-ID) ON HOLD and makes a new call between the requesting agent and the agent identified by TARGET-NBR. The Transfer_Call connects the party ON HOLD (the client) with the new agent (identified by TARGET-NBR) and disconnects the requesting agent.

Mandatory Input:

Request type
Target number

Optional Input:

From program name
To program name
Terminal ID 1
Account code
User Program data

EXTEND (03)

This operation is sometimes called consulting.

The API uses the CallPath Program Call Extend_Call and the CallPath Set Program Call Set_Extend_Purpose with a purpose of STL_EXTEND_TRANSFER or STL_EXTEND_CONFERENCE (dependent upon user input as below). if Extend Purpose Required is set to Y in the CallCoordinator Switch Definition Panel. The Extend_Call puts the call between the client and the requesting agent (identified by TERM-ID) ON HOLD and makes a new call between the requesting agent and the agent identified by TARGET-NBR.

Mandatory Input:

Request type
Target number
Extend purpose (if Extend Purpose Required is set to Y in the CallCoordinator Switch Definition Panel)

Optional Input:

From program name
To program name
Terminal ID 1
Extend purpose (if Extend Purpose Required is set to N in the CallCoordinator Switch Definition Panel)
Account code
User Program data

COMPLETE SCREENED CONFERENCE (04)

This operation is sometimes called conference with consultation.

This request connects the party ON HOLD (the client), the requesting agent (identified by TERM-ID), and the new agent (identified by TARGET-NBR) in a conference call. A preceding EXTEND request MUST have been issued or the API will return INVALID REQUEST.

Mandatory Input:

Request type

Optional Input:

From program name
To program name
Terminal ID 1
Account code

COMPLETE SCREENED TRANSFER (05)

This operation is sometimes called transfer with consultation.

This request connects the party ON HOLD (the client) with the new agent (identified by TARGET-NBR) and disconnects the requesting agent. A preceding EXTEND request MUST have been issued or the API will return INVALID REQUEST.

Mandatory Input:

Request type

Optional Input:

From program name
To program name
Terminal ID 1
Account code

RETRIEVE (06)

This request reconnects the client with the requesting agent (identified by TERM-ID). A preceding EXTEND or HOLD request MUST have been issued or the API will return INVALID REQUEST.

Mandatory Input:

Request type

Optional Input:

From program name
To program name
Terminal ID 1

ANSWER CALL (07)

This API request connects the requesting agent to the client. The requesting agent's telephone must be ALERTING (ringing) or the API will return INVALID REQUEST.

Mandatory Input:

Request type

Optional Input:

From program name
To program name
Terminal ID 1

DISCONNECT CALL (08)

This API request disconnects the call currently active on the requesting agent's telephone. If there is no active call the API will return INVALID REQUEST.

Mandatory Input:

Request type

Optional Input:

From program name
To program name
Terminal ID 1
User Program data

HOLD CALL (09)

This API request puts the active call between the client and the requesting agent (identified by TERM-ID) ON HOLD. The call can be reconnected by issuing a RETRIEVE API request.

Mandatory Input:

Request type

Optional Input:

From program name
To program name
Terminal ID 1

MAKE CALL (10)

This API request will make a telephone call between the requesting agent (identified by TERM-ID) and a third party (identified by TARGET-NBR).

Mandatory Input:

Request type

Target number

Optional Input:

From program name
To program name
Terminal ID 1
Account code
User Program data

Note: Some switches may require the use of Position_ID rather than Directory_Number for a Make_Call. Please check the appropriate CallPath switch Reference manual and set the MAKE CALL RESOURCE TYPE parameter in the CallCoordinator Switch Detail record accordingly.

REDIRECT CALL (11)

This API request will redirect a telephone call that is queued at a pilot number defined in the Additional Monitored Resources table with a Trigger transaction. The call will be redirected to the number specified in TARGET-NBR.

Mandatory Input:

Request type
TRIGGER-NUMBER
TRIGGER-TAG
TRIGNUM-TYPE
TRIGGER-SWITCH-ID
Target number

Optional Input:

From program name
To program name
User Program data

RETURN CONTROL (12)

This API request will return control to the switch identified in TRIGGER-SWITCH-ID for a telephone call that is queued to a pilot number defined in the Additional Monitored Resources table with a Trigger transaction. The switch will then take its default action for routing calls from the triggered number.

Mandatory Input:

Request type
TRIGGER-NUMBER
TRIGGER-TAG
TRIGNUM-TYPE
TRIGGER-SWITCH-ID

Optional Input:

From program name
To program name

IMMEDIATE TRANSFER (13)

This API call immediately transfers a call from the Requesting Agent's telephone to the telephone identified by TARGET-NBR.

Mandatory Input:

Request type
TARGET-NBR

Optional Input:

From program name
To program name
Terminal ID 1
Account code
User Program data

REJECT CALL (14)

This API request will reject a telephone call queued at the pilot number defined in the Additional Monitored Resources table with a Trigger transaction.

Mandatory Input:

Request type
TRIGGER-NUMBER
TRIGGER-TAG
TRIGNUM-TYPE
TRIGGER-SWITCH-ID

Optional Input:

From program name
To program name

1 - If Terminal ID is not explicitly specified then the API will use the value contained the CICS EIB (EIBTRMID).

Return Code Details

0000 No Errors

CAMI775C did not detect any errors with the user input to the API. This should be followed by successful telephony actions which produce the expected result. However it is possible that despite the user input being correct, the telephony subsystem is unable to honor the request. In such instances an error message will be written by CallCoordinator where possible.

Asynchronous mode  Since there may be many parallel invocations of this API, the issuing of the telephony subsystem requests is handled by program CAMH180C under the control of transaction V180. Each Host-Initiated Telephony API request that results in Return Code 0000, starts V180 which then issues requests to the telephony subsystem. As the user program is in no way connected to V180 and may, in fact, have completed processing, it is not possible to indicate error situations that V180 may encounter to the user program. Any errors encountered by V180 are, therefore, written by CallCoordinator as error messages to the CallCoordinator message log, or to the agent's screen, or to both.

Synchronous mode  In this mode, Return Code 0000 means that the required telephony actions have been performed by the subsystem in most cases. However, the behavior of switches varies and it cannot be fully guaranteed that this is the case. For example, some switches will give a positive response to a make call request if the target number does not exist on the switch and then send a Call_Rejected message to indicate that an error has occurred. This will result in a Return Code 0000 from the API although the operation did not actually occur.

0001 CallCoordinator not active

CallCoordinator is not active.

0002 Agent not signed on

The CallCoordinator Agent identified by CAMC775-TERM-ID (if specified) or EIBTRMID is not signed-on to CallCoordinator. This return code may also occur if the telephone switch does not support the requested API function. Check that the agent identified by the relevant terminal-id definition has been signed on to CallCoordinator.

00003 Request not valid

The value specified in CAMC775-REQUEST-TYPE is not one of the supported values as defined in field CAMC775-VALID-REQUEST in the CAMC775 data area.

0004 Extend purpose not valid

The value specified in CAMC775-EXTEND-PURPOSE is not one of the supported values as defined in field CAMC775-VALID-PURPOSE in the CAMC775 data area.

0005 Switch subsystem return code

A synchronous request mode invocation resulted in a non-zero CallPath/CICS for OS/390 return code being returned or a non-zero sense code was returned in the Return_response message.

Field LAST-CP-CALL will contain the identifier of the last CP/CICS/MVS Program or Set Program call and can have the following values:

The field CP-RETURN-CODE contains the CallPath/CICS for OS/390 return code for the call identified in the above list. Refer to the CallPath/CICS for OS/390 Application Programming Guide for more details of these values.

If the field CP-RETURN-CODE contains the value -111, then CallCoordinator has set this field indicating that a sense code has been returned by CallPath/CICS for OS/390 in a Response message. This sense code is contained in field CP-RR-SENSE-CODE and the CallPath/CICS for OS/390 Application Programming Guide should be inspected for the meaning of this particular sense code.

0008 SYSIDERR

The ALLOCATE SESSION CICS command issued for MRO invocation of the API failed with a condition of SYSIDERR. Check that the CallCoordinator CICS region is available.

0009 Connect table error

An error occurred initializing the CallCoordinator Connect Table for MRO invocation of the API. Check that a Connect Table has been defined and contains the correct information regarding the region that contains CallCoordinator.

0010 Other error

An error is encountered that does not fall into another category:

These errors will usually be accompanied by a CallCoordinator message written to the message log which will provide more data for problem diagnosis.

0016 Incorrect Commarea length

The Commarea length obtained from the CICS EIB field EIBCALEN is not the same as the value contained in CAMC775-COMMAREA-LEN. Check that the LENGTH operand of the EXEC CICS LINK PROGRAM('CAMI775C') command is correctly specified or that the CAMC775-COMMAREA-LEN field has not been overwritten.

0017 Table access error

The Party Data record was not found (the requesting agent was not a participant in an active call).

0018 Invalid party connection id

The connection ID could not be found in the Connections table.

0019 Null connection pointer

There was no previous connection pointer in the Party Data table.

CallCoordinator table addressability error

Return Code 0020 is returned by the API if CAMI775C encounters an error in trying to locate any CallCoordinator tables. The field LAST-CP-CALL will contain the name of the table that was being addressed when the error occurred. The list below gives the table name and it's description:

If this error occurs, CallCoordinator has had a catastrophic error and should be restarted.


Re-initialize API (CAMI788C)

       

What This API Does

This API enables an application program to START a new transaction for the transferred-to-terminal instead of repeating the transaction of the transferred-from-terminal. This must be an automatic mode transaction (one that uses CallCoordinator screen control) rather than a user mode transaction (one that uses a user-written screen control program).

This API also enables an application to discover what transaction would have been displayed for the transferred-to-terminal.  

When an application program invokes this API, it specifies the Transaction ID for the transferred-to-terminal, or this can be set to blank.

If a Transaction ID is specified, the API does the following:

If the Transaction ID is set to blank, the IA transaction search sequence takes place for the target agent at the transferred-to-terminal to find the transaction ID that would be used for that terminal.

See Table 28 for description of input fields for this API.  

When to Use This API

This API is useful when CallCoordinator agents need to transfer calls to agents of different functional groups.     The transfer can either be direct or deferred. In a direct transfer, the agent indicates the extension number of the transferred-to-agent and the call and screen content is transferred directly. In a deferred transfer, the agent indicates the pilot number of an ACD group. While the call is being routed through the pilot number and is in queue, CallCoordinator saves the screen content. When the call is assigned to an agent, CallCoordinator restores the screen content.        

The API allows the transferring agent to specify a new Transaction ID. Then, instead of moving the current transaction environment, CallCoordinator can start the transaction that is appropriate for the receiving agent.

Agents responsible for screening/directing calls can use this       API when transferring calls to other agent groups. This would be the case of an IVR that determines which service a caller requires and then routes the call.    

How to Use This API

To use the Re-initialize API in your application program, do the following:

  1. Create a CICS communication data area in working storage of the program by copying the communication data area for this API.     The fields for this data area are described in Table 28. A layout for this data area is provided in the CallCoordinator SEZPCOPY target library, member name CAMC788. Refer to the library member for the actual field names.

    Table 28. CICS Communication Data Area for Re-initialize API (CAMC788)
    Field Attributes In/out Description
    COMMAREA N/A N/A 01 level name.
    COMMAREA-LEN PIC S9(04)
    + 1024
    N/A Length in bytes of the CICS communication data area.
    COMMAREA-DATA N/A N/A 03 level name.
    FROM-PROGRAM-NAME PIC x(08) In The name of the program invoking this API.
    TO-PROGRAM-NAME PIC X(08) In The name of this API (CAMI788C).
    RETURN-CODE PIC 9(4) Out The value of the return code indicates if the request was processed. If not, the reason is specified.

    0
    No errors were detected. The requested automatic Transaction ID has been stored in the CMCT.

    1
    No active terminal associated with the transaction. (API was invoked from a background task.)

    2
    Value of REINIT-FLAG is not valid.

    3
    Entry missing in the Agents Table.

    4
    Agent is not signed on to CallCoordinator.

    5
    Screen has been saved--action not valid.

    7
    No call is active for this transaction's terminal.

    8
    Routing error. See REASON-CODE.

    9
    System error. See REASON-CODE.
    TERM-ID PIC X(8) In CICS terminal identification number of the CallCoordinator agent in the call.
    CMCT-INDEX PIC X(05) N/A The CMCT index of the call data record whose initial transaction is to be set by the by the REINIT-TRANS. Used with COR-SYSID.
    COR-SYSID PIC X(04) In The CICS SysID of the COR where the API is to run. Required if CMCT-INDEX is used, in a sysplex environment.
    REASON-CODE PIC X(4) Out For routing errors see "API Router".

    16
    The length of the Commarea was specified incorrectly.

    20
    Table addressability error.
    FILLER PIC X(41) N/A Spaces. Reserved for future use.
    REINIT-FLAG PIC X(01) In Defines the request for re-initialization.

    Y
    Re-initialize using the Transaction ID specified in the REINIT-TRANS field. If that field is blank, use the Transaction ID defined in CallCoordinator for the transferred-to-agent.

    N
    Cancel the previous request for re-initialization.
    REINIT-TRANS PIC X(08) In CICS transaction to be started for the transferred-to-terminal. If blank, use the Transaction ID defined in CallCoordinator for the transferred-to-agent.
    FILLER PIC X(935) N/A Spaces. Reserved for future use.

  2. Collect the input data for the API.   The required data includes the ID of the new transaction for the transferred-to-terminal (REINIT-TRANS). It can also include the value of the REINIT-FLAG. See Table 28 for descriptions of the input fields for the data area of this API.

  3. Move the data to the input fields of the CICS communication data area.

  4. Code the following CICS command into your application program:
          EXEC CICS LINK PROGRAM('CAMI788C')
                         COMMAREA(CAMC788-COMMAREA)
                         LENGTH(CAMC788-COMMAREA-LEN)
                         END-EXEC.
        

  5. Test the value returned in the return code field in the CICS communication data area to determine if operation of the API was successful.

  6. If operation of the API was not successful, take action applicable to the error indicated by the return code.

If operation of the API was successful, the requested Transaction ID was stored in the CMCT active call record and flagged for re-initialization.



Access User Data API (CAMI735C)

       

What This API Does

This API enables an application program to set or read T-Server User Data aka Attached Data. User Data is available throughout the duration of the call and will follow the call to other switches, as long as the sending and receiving switches are T-Server controlled.

User Data uses Key/Value pairs to define the context of the data. Up to 10 Key/Value pairs may be used. Each key has a maximum length of 10. Each value has a maximum length of 90. The data may be read or updated at any time during the call.

The associated call is identified by providing one of the following items to the API:

When more than one search field is input, they are checked to ensure agreement.

In a sysplex environment, if the API is searching on CMCT-INDEX the SYSID of the COR where that CMCT INDEX is active is required as input to the SRCH-COR-SYSID field. The COR-SYSID is made available in the CAMC500-START-DATA area and the TRIGGER-DATA area.

When the SRCH-CMCT-INDEX field is the only input parameter, the API output does not include the CMCT Index of a simultaneous call involving the party of this call. When the other input parameters are used (SRCH-TERM-ID or a combination of SRCH-SWITCH-ID, SRCH-PARTY-NO, and SRCH-PARTY-TYPE), the API output does include the CMCT index of a simultaneous call involving the party of this call. This field is SRCH-PREV-CMCT-INDEX. The API can use this data as input in the CMCT-INDEX field to get the call data for this associated call. This output might include another SRCH-PREV-CMCT-INDEX for a third call involving the party.

In a sysplex environment the SRCH-COR-SYSID is required.

See Table 28 for description of input fields for this API.  

When to Use This API

Use this API when data needs to be associated with a call and either the switch does not allow Program Data or the Program Data size is too small. Also this API is useful for communication between Genesys Framework and CICS. For example, a customer information from a data base residing on the mainframe may be added to User Data and used by Universal Routing Server to determine where to route the call.  

How to Use This API

To use the Access User Data API in your application program, do the following:

  1. Create a CICS communication data area in working storage of the program by copying the communication data area for this API.     The fields for this data area are described in Table 29. A layout for this data area is provided in the CallCoordinator SEZPCOPY target library, member name CAMC735. Refer to the library member for the actual field names.

    Table 28. CICS Communication Data Area for Access User Data API (CAMC735)
    Field Attributes In/Out Description
    COMMAREA N/A N/A 01 level name.
    COMMAREA-LEN PIC S9(4) COMP VALUE +2048 In The length in bytes of the CICS communication data area.
    COMMAREA-DATA N/A N/A 03 level name.
    FROM-PROGRAM-NAME PIC X(08) In The name of the program invoking this API.
    TO-PROGRAM-NAME PIC X(08) In The name of this API (CAMI735C).
    RETURN-CODE PIC 9(04) Out Indicates the result of the attempted operation.

    0
    No errors were detected. The process completed.

    1
    An error was detected. The specified table entry was not found.

    2
    The search fields are in conflict. An entry was found that matched one field, but not another.

    4
    Data Error

    5
    Negative response from CallPath subsystem.

    6
    Switch not active

    7
    Duplicate Key

    8
    API routing error. See the reason codes under "API Router".

    9
    See REASON-CODE

    20
    Table access error

    24
    Call to STLMONC failed

    28
    Invalid number of entries

    32
    Active call not found
    ACTION PIC X(01) In The following actions may be performed:
    I
    Inquire
    U
    Update
    SRCH-CMCT-INDEX PIC X(05) In The relative record number of the record in the CMCT. Primary search field. When this field is the only input parameter, output does not include SRCH-PREV-CMCT-INDEX.
    SRCH-TERM-ID PIC X(08) In Identification number of agent's terminal, if the agent is signed on and terminal is not disabled. Secondary search field. When this field is input, output includes SRCH-PREV-CMCT-INDEX.
    SRCH-SWITCH-ID PIC X(08) In ID of the switch of the agent handling the call. Part of the search field. The complete search field is:
    1. SRCH-CMCT-INDEX
    2. SRCH-TERM-ID
    3. SRCH-SWITCH-ID
    4. SRCH-PARTY-TYPE.
    5. SRCH-PARTY-NO
    6. SRCH-COR-SYSID
    When the complete search field is input, output includes SRCH-PREV-CMCT-INDEX.
    SRCH-PARTY-TYPE PIC X(01) In Agent's telephone number type. Part of the search field. The complete search field is:
    1. SRCH-CMCT-INDEX
    2. SRCH-TERM-ID
    3. SRCH-SWITCH-ID
    4. SRCH-PARTY-TYPE.
    5. SRCH-PARTY-NO
    6. SRCH-COR-SYSID
    When the complete search field is input, output includes SRCH-PREV-CMCT-INDEX.
    0
    Unknown.
    1
    Extension.
    3
    Pilot.
    4
    Agent ID.
    T
    Trunk.
    SRCH-PARTY-NO PIC X(08) In Agent's telephone number. Part of the search field. The complete search field is:
    1. SRCH-CMCT-INDEX
    2. SRCH-TERM-ID
    3. SRCH-SWITCH-ID
    4. SRCH-PARTY-TYPE.
    5. SRCH-PARTY-NO
    6. SRCH-COR-SYSID
    When the complete search field is input, output includes SRCH-PREV-CMCT-INDEX.
    SRCH-PREV-CMCT- INDEX PIC 9(05) Out The CMCT index for a simultaneous call involving the same party. Only output when the input parameters include SRCH-TERM-ID or a combination of SRCH-SWITCH-ID, SRCH-PARTY-NO, and SRCH-PARTY-TYPE.
    PARTY-SEQ-NO PIC 9(02) Out Sequence number of party in the call. If CMCT-INDEX is only parameter provided, PARTY-SEQ-NO will be set to blank.
    SRCH-NEXT PIC X(01) N/A Reserved
    SRCH-BASE PIC 9(04) N/A Reserved
    REASON-CODE PIC X(04) Out

    16
    The length of the Commarea was specified incorrectly.

    20
    A table addressability error.

    10xx
    For Genesys problem determination only.

    SRCH-COR-SYSID PIC X(04) In The SYSID of the COR in which to call the API. Used with CMCT Index for sysplex environments only.
    FILLER PIC X(13) N/A Spaces. Reserved for future use.
    CMCT-INDEX PIC 9(05) Out The relative record number of the record in the CMCT.
    COR-SYSID PICX(04) Out The CICS SysID of the COR where the call exists.
    User-Data PIC X(1200) In/Out The actual User data attached to the call. Input, if update. Output, if Inquire. Broken down as defined in the next 3 fields
    Number of Entries PIC 9(2) In/Out The number of Key Value pairs which make up the User Data
    Key/Value Pairs PIC X(1000) In/Out The total length represents 10 Key Value pairs. Each pair has a 10-byte key and 90-byte value
    Filler PIC X(198) N/A Reserved for future use.
    Program-ID PIC X(8) Out CallPath Application ID.
    Profile-ID PIC X(8) Out Profile for current switch.
    Sense-Code PIC X(4) Out Sense code returned from switch if request failed.
    CP-Call PIC X(8) Out Last CallPath API called.
    CP-Retcd PIC X(4) Out Return Code from CalPath call.
    Sense-Qual-length PIC X(4) Out Length of Sense-Code Qualifier.
    Sense-Code-Qualifier PIC X(200) Out Sense Code Qualifier returned from switch if request failed.
    FILLER PIC X(523) N/A Spaces. Reserved for future use.

  2. Collect the input data for the API.   The required data includes search field(s) to identify the active call for which User Data is to be set or retrieved. Set the Action field to I(nquire) or U(pdate). For update, fill in Key and Value pairs in the commarea.

  3. Move the data to the input fields of the CICS communication data area.

  4. Code the following CICS command into your application program:
          EXEC CICS LINK PROGRAM('CAMI735C')
                         COMMAREA(CAMC735-COMMAREA)
                         LENGTH(CAMC735-COMMAREA-LEN)
                         END-EXEC.
        

  5. Test the value returned in the return code field in the CICS communication data area to determine if operation of the API was successful.

  6. If operation of the API was not successful, take action applicable to the error indicated by the return code.

If operation of the API was successful, User Data will have been set or retrieved for the active call.


 Return to Library  Contents  Previous Topic  Top of Topic  Next Topic  Index  Help