# Recipe Service

You can prepare a recipe service without conversion rules.

Services without conversion rules allow your CICS application to receive containers as well as reply to them using a CICS channel, and supports either multiple or single containers. Unless it is specified on the service CICS options of the recipe, the name of the channel defaults to `SXC-DEF-CHANNEL`.

Using this method also provides the ability to forward destination names and other information each in their own container, allowing more flexibility in the design and usage of your application.

## Multiple Containers

When you invoke CICS resources using containers, Substation ES allows more than one container to be put into a CICS channel that is passed to a CICS application.

To use multiple containers in Substation ES, the recipe service must adhere to the following qualifications:

- Supported message types are:
  - Only EMS MAP or RV messages allow user data fields to be represented as containers with values.
  - For EMS message types, EMS properties cannot be used as data. EMS properties can only be used for Substation ES system fields, such as `tibss-*`.
- Method of Invocation is 10.
- No conversion rules are used.
- Supports invoking a program or transaction.
- Container Process is set to M.

The number of containers is determined by message fields, or by the options selected. Each field name in the message becomes a container name, and the value of the field becomes the container content. The field name must follow valid CICS name conventions, and must be no longer than 16 characters. Field names longer than 16 characters are truncated.

If the FWD Destination Names parameter is enabled, Substation ES creates two additional containers to send to CICS named `tibss-ListenTo` and `tibss-ReplyTo`. These containers contain the destination or subject names of this service request.

See Container (CTN) Extended Options in the CICS Service Details panel for settings related to the different input message types and the container feature. For more information, see the TIBCO Substation ES Configuration and Resources guide.

If you want to use a system field, it can be defined in the EMS Properties panel. For details about support fields, see "Using System Fields as Property Fields" in the TIBCO Substation ES Configuration and Resources guide.

## Single Containers

To use a single container, the recipe service must meet the following qualifications:

- Message type RV or EMS.
  - For EMS message types, `BYTES` and `TEXT` messages are supported.
  - For EMS message types, properties cannot be used as data and can only be used for Substation ES system fields, such as `tibss-*`.
- Method of Invocation is 10.
- No Conversion Rules are used.
- Supports invoking a program or transaction.
- Container Process is set to S.

The channel and container name to be used can be specified in the CICS options of the recipe service definition. If not specified, the default value resource name for each is used.

The following example demonstrates how to set up a recipe service with multiple containers:

    -------------------------- Recipe Details --------------------------
    Command ===>                                 (CICS,IMS,EMS,PROP,SEL)

     Recipe Identifier    ===> SXC-DPL-NO-RULES
     Listen To            ===> tibss.CICS.No.Rules.Request
     Reply To             ===>
       Reply To Always    ===> Y
     Error Subject        ===> tibss.error.out
     Error Threshold      ===> 0  (0 - 99999)  Error Percentage  ===> 0
     Reply To Len (Dyn)   ===> 0  Start ===> 0      Usage Limit  ===> 0
     Input Conversion (?) ===>          (SEE CICS OPT FOR NO CONVERSION)
     Output Conversion(?) ===>
     Back End System  (?) ===> Interface-CICS   BES2(?):
                BES3  (?) ===>                  BES4(?):
     ESB Endpoint     (?) ===> EMS-SERVER        SS-Id Filter: N (N or Y)
     Resource Name        ===> SXCCI015
     Method of Invocation ===> 10  2 DPL  3 PGM    9 DPL MRO  12 DPL TSQ
      DPL > 32K Invocations       10 Container    11 Storage
                                   5 TDQ Write     6 TSQ Write 8 Command
                                   4 Task/IMS Tran 7 IMS Conversational Tran
     Trace Level          ===> 0  0-5 (Debugging)
     Reply Method         ===> 3  0 None     2 Message
                                  1 Status   3 Both Status and Message

    ---------------------- CICS Service Details ----------------------
    Command ===>

     Recipe Identifier       ===> SXC-DPL-NO-RULES
     Resource Name           ===> SXCCI015
     Method of Invocation    ===> 10 Method of Reply  ===> 3

     Mirror Transaction      ===>      Default SXEX
     CSMI User Transaction   ===> N    N/Y

     Container (CTN) Extended Options
     Channel Name            ===>
     Single CTN Name         ===>
     Container Invocation    ===> P P/T - Program / Transaction
     Container Process       ===> M S/M Single CTN, Message
     FWD Destination Names   ===> Y N/Y as Containers

     Remote Region Execution
     Transaction Id          ===>
     System Name             ===>

     Multi-Execution
          Resource 2:            3:            4:            5:

Copyright © TIBCO Software Inc. All rights reserved.