Trigger Service
You can prepare a trigger service without conversion rules. This allows your CICS application to put multiple containers using a CICS channel, and requires Substation ES Trigger Service to publish them as one message. This allows more flexibility in the design and usage of your program.
The trigger service must meet the following qualifications:
Each container name becomes a message field name, and the context of the container becomes the data of the field in opaque or bytes data type. Note that string data types require a special handle. Refer to the following String Data Types section.
If you must use a system field, it can be defined in the EMS Properties panel. For details of supported fields, see "Using System Fields as Property Fields" in the TIBCO Substation ES Configuration and Resources guide.
String Data Types
If you want to send container data as STRING data type of field, your application has to:
- For COBOL, use the copybook member SXCCMCTF to nominate the containers that will be something else than an opaque field when the message is finally built.
- Move the container name to MCTF-NAME and set MCTF-TYPE to STRING.
- Change the number of MCTF-GROUP occurrences if the supplied number is not sufficient. The default for special non-opaque fields is set to 10.
- Add a container named tibss-TypeF to the CICS channel containing this structure as the input to it.
Substation ES sends the fields in MCTF-GROUP to the message as the STRING fields. The following example shows the structure of the copybook member SXCCMCTF:
01 MCTF-HEADER-LEN-FW PIC S9(8) COMP VALUE 320. 01 MCTF-CONTAINER-NAME PIC X(16) VALUE 'tibss-TypeF'. 01 MCTF-GROUP OCCURS 10 TIMES 05 MCTF-NAME PIC X(16) VALUE SPACES. 05 MCTF-TYPE PIC X(8) VALUE SPACES 88 MCTF-STRING VALUE 'STRING'. 05 FILLER PIC X(8) VALUE SPACES.
Replace Config File Subjects
You can replace the Publish To and Reply To destination or subject names that are defined in the config file. The following two special containers are optional:
- tibss-SendTo: a value specified in the container replaces the trigger definition value for Publish To specified in the service definition during run time.
- tibss-ReplyTo: a value specified in the container replaces the trigger definition value for Reply To specified in the service definition during run time.
Business Process Example
The process to use a trigger service with multiple containers is listed as follows:
- Create the business data containers required for a channel.
- Create a container named
SXCQWRIT with the link function require parameters information from the copybook
SXCCTDQW.
Make sure that the field service name has a valid value and includes other fields properly filled in.
- Set the TDQW-CONTAINER field of the copybook SXCCTDQW to 2.
- Optionally, the business process can create a container whose name is tibss-SendTo and whose content is the destination that the SendTo message should be published to.
- Optionally, the business process can create a container whose name is tibss-ReplyTo and whose content is the destination name that the ReplyTo message is sent to.
- Create a channel link to SXCQWRIT.
An example of this process can be found in USERHLQ.COB(SXCCI032).
The following example demonstrates how to set up a trigger service without a conversion rule:
-------------------------- Trigger Details ------------------------------- Command ===> (EMS,PROP) Trigger Identifier => TRIGGER-NO-RULES Publish To => tibss.trigger.no.rules Publish To, Sec => Reply To => tibss.trigger.no.rules.reply Error Subject => tibss.error.out Error Threshold => 0 (0 - 99999) Error Percent => 0 (0 - 99) Publish To Len (Dyn) => 0 Start => 0 Output Conversion(?) => ESB Endpoint (?) => EMS-SERVER Trace Level => 0 0-5 Output Method => 2 1 Status 2 Message 3 Both Status and Message Compare Text Contain in Buffer Start => 0 Length => 0 Value => Undelivered Requeue => N (Y Requeue, N Discard - Reliable Only)