Appendix. The BTS sample application

The CICS®-supplied sample BTS application is a skeleton sales application, consisting of order, credit check, stock check, delivery note, invoice, and payment-not-received-reminder activities. The user enters an order, and is checked for credit-worthiness. If all is well, and the required goods are in stock, a delivery note and invoice are produced. A timer is set, to check for payment of the invoice. If the timer expires, a reminder is produced and the timer is reset. A container is used to keep track of the number of reminders sent. If payment is received, the timer is canceled and the process completes.

The sample is implemented as a set of COBOL programs. These are supplied, in source code, in the SDFHSAMP library, together with copybooks and BMS maps and mapsets. Resource definitions are in RDO group DFH$CBTS.

The sample uses a repository file called DFHBARF. RDO group DFH$BARF contains a definition of DFHBARF.

Note:
The supplied definition of DFHBARF uses LSRPOOL 1. Ensure that LSRPOOL 1 is defined on your system with a MAXKEYLENGTH of at least 50.

Table 12 shows the transactions and programs that make up the sample application.

Table 12. Transactions and programs in the BTS sample application
Transaction Program Function
SALM DFH0SAL0 Order entry. This is a regular CICS transaction running outside the BTS environment.
SAL1 DFH0SAL1 Accepts the order and defines and runs the SALE process.
SALE DFH0SAL2 The root activity of the SALE process. This is the main logic-control program. It defines and runs the following activities:
  • Customer credit-check, run synchronously with the root activity
  • Stock check, run synchronously
  • Delivery note, run asynchronously
  • Invoice, run asynchronously
  • Payment-not-received reminder, run asynchronously (if payment is not received before the timer expires).
RED1 DFH0RED1 Implements the customer credit-check activity.
STOC DFH0STOC Implements the stock-level check activity.
DEL1 DFH0DEL1 Implements the delivery note activity.
INV1 DFH0INV1 Implements the invoice activity.
REM1 DFH0REM1 Implements the payment-not-received reminder activity.
PAYM DFH0PAY0 Payment input. This is a regular CICS transaction running outside the BTS environment.
PAY1 DFH0PAY1 Accepts the payment information, then acquires and runs the appropriate SALE process. This causes the SALE process to complete.

Table 13 shows the copybooks, maps and mapsets supplied with the sample application.

Table 13. Copybooks, maps and mapsets supplied with the BTS sample application
Type Module Description
Copybook DFH0CONT Container definitions.
Copybook DFH0SALC Defines BMS map fields for the SALM transaction.
Copybook DFH0PAYC Defines BMS map fields for the PAYM transaction.
Map/Mapset DFH0SALM Source of the BMS map for the SALM transaction. The mapset is DFH0SAS. The name of the map is ORDER.
Map/Mapset DFH0PAYM Source of the BMS map for the PAYM transaction. The mapset is DFH0PAS. The name of the map is PAYMENT.

The source code modules contain explanatory comments.

You can use the sample as the basis of your own sales application. However, before using it in a production environment you need to add installation-specific code.

Related concepts
Running the sample application from the WWW
Using the BTS API to write business applications
The Sale example application
[[ Contents Previous Page | Next Page Index ]]