Engineering Data Support


Chapter 4. TFG2000 Engineering Data Support integration and tailoring

CEDS is one of a set of TFG2000 products that integrate with each other. These relationships vary according to which products are installed. In addition, there are certain functions within these products that may need to be customized to suit the environment and specific requirements. CEDS uses TFG2000 Bill of Materials Online II (BOM/O II) or its equivalent, and that product should be tailored for multiple environment operation.

Note: This chapter contains Product-Sensitive Programming Interface and Associated Guidance Information.

Tables used in common by TFG2000 products, such as the Environment Table, are discussed in the TFG2000 Installation and Administration Guide (for MVS or VSE). The guide also discusses multiple environment support, multiple language support, the Help Text Database, the Standard Text Database, and changing message texts.

This section describes the most common areas in which these changes may be required.

The topics discussed are:

Multi-Environment operation
 
Environment Table (ENVTABLE)
 
Default and option settings
 
Interface with CORMES
 
Help Text
 
CCI Functions
 

Where a name is given in parentheses above, it indicates the name of the member on the provided source library. These members include default settings that are normally suitable to run the Sample Problem of CEDS. Normally these members should be transferred into an online editor system and modified to suit the environment.


Multi-environment operation

The CEDS product requires that two versions of the Product Definition Database exist within the same CICS/VS system environment.

The Multiple Environment Support (MES) function gives CEDS the ability to maintain two versions of the Product Definition Database within the bill of material product.

The load edit environment is created when CEDS is installed.

Load edit product definition database

CEDS creates the load edit bill of material version in the X environment after receiving data from a computer engineering system. CEDS uses BOM/O II transactions to review or change bill of material information before copying it to the production databases.

CEDS also defines a second version of the Environment Table that CEDS and BOM/O use in the load edit environment. The CEDS installation creates the X environment databases, environment table, and bill of material PSBs.

The production version that you maintain with the BOM/O II product, or its equivalent, functions in the production environment. It contains information that applications such as TFG2000 Material Requirements Planning, Purchasing and Shop Order Release can use.


Environment Table (ENVTABLE)

The various TFG2000 products, when they are all installed, make up an integrated manufacturing control system. Because they are not likely to be installed simultaneously, the Environment Table communicates to all TFG2000 products details about other applications and databases that are installed. This is necessary because the functions available within each individual product can vary depending upon which of the other products are installed. The Environment Table also contains general codes and control data. You can use this information to control and tailor the CEDS programs to fit your requirements. This way, you can install new TFG2000 products in an appropriate sequence, while maintaining control over the integration of these products.

The Environment Table is distributed with the TFG2000 Base Product and the values are set according to the installation parameters you choose. Some products assume the presence of other products and, in these cases, the prerequisite product is assumed to have been installed.

In order to run the Sample Problem as described in Appendix B. "TFG2000 Engineering Data Support Sample Problem", of this manual, the Environment Table should be used as distributed with CEDS and modified by the CEDS installation process. The production environment continues using the existing Environment Table.

Two versions of the Environment Table are required for use within the load edit environment. For more information, see "Multi-environment operation".

The Environment Table is provided as an Assembler source member, which consists of a set of parameter values. The current values should be stored in an online editor system and updated from there. When a change is made, the table should be reassembled and catalogued with the name of ENVTABLEx, where "x" indicates the environment in which the table is used. Every batch or online TFG2000 program loads the table or accesses data from it each time it is run, so the new version of the Environment Table is then accessed without further intervention.

In addition to details of which products and databases are installed, the Environment Table contains a series of parameters that can be used by one or more of the TFG2000 products. The parameters that apply to CEDS are listed later in this section.

The Environment Table is divided into the following sections:

  1. Applications/Product Section

    This section describes which TFG2000 products are installed. The value 'YES' indicates that the application product is installed and operational. When an application is installed, but is not yet operational (for example, during testing), the appropriate table value must be set as 'NOT'.

  2. Database Section

    This section describes which databases are installed. Generally, the databases correspond to the applications that require them. In some instances, however, the presence of a database determines whether or not a particular function can be performed. Valid entries are 'YES' or 'NOT'.

    Note: It is important to make sure that the Applications and Database sections correspond with each other.

  3. Subfunctions Table

    This section describes the function codes that can be entered for online transactions. It also describes codes that define product cost types and codes for display screen handling functions, such as paging and scrolling. These values are not normally changed. However, they may need to be changed in certain instances, such as for non-English speaking users.

  4. Miscellaneous Section

    This section describes the values that are used by several TFG2000 products. It is used as a common section to hold values such as the date format, number of working days per year, inventory location identifiers, and the primary language indicator.

  5. Inventory Transaction Codes

    This section describes the two-character codes used by the IAET transaction of TFG2000 Inventory Accounting (IA). They can be modified if required.

  6. Standard Text Codes

    This section describes the two-character codes used to identify certain categories of standard text. Because these settings relate to values actually stored on the database, the implications must be closely investigated before considering any changes.

  7. Engineers Table

    This section contains a list of valid names of engineers who are authorized to perform engineering change transactions in TFG2000 BOM/O.

  8. Stores Employees Table

    This section contains a list of valid names of storemen who are authorized to enter inventory transactions in TFG2000 IA.

Complete details about the Environment Table supplied with the CEDS product can be found in the TFG2000 Administration, Operations, and Users' Guide.

File transfer program support

CEDS can communicate with PES or CADI using the File Transfer Program. CEDS processes the data placed in the interface files, then prepares feedback data. The feedback data tells PES or CADI whether or not the bills of material were received intact. To send the feedback data, CEDS retrieves Job Control Language (JCL) from the Standard Text Database. This JCL must be tailored to suit your machine requirements.

Figure 4-1. FTP 2.2 MVS or VSE system

Figure cedspes not displayed.

  1. Remote FTP sends records to local FTP resident session partner FTP.

  2. Local FTP writes records to interface file.

  3. CEDS processes input and prepares feedback records.

  4. CEDS submits batch job to start FTP batch job that transmits feedback records to remote system.
Note: The FTPSECUR program should be in a library accessed by both the resident session partner job and the batch job that sends feedback. This program deletes feedback records after they are sent and synchronizes access to the interface file and the feedback file between CEDS and FTP.

A DD/DLBL statement referencing the interlock file (EMTVIKE) must be in both the resident session partner and the FTP batch job.

Figure 4-2. Netview FTP, MVS on VSE side

Figure cedsnet not displayed.

  1. Remote FTP (2.2 or Netview) sends records to the local FTP server.

  2. FTP writes records to interface file.

  3. CEDS processes data from the interface file and prepares feedback records.

  4. CEDS submits batch job that places a request in the queue of the FTP server. This request causes the FTP to send the feedback to the remote system.
Note: The PPEXIT parameter should be set to FTPSECUR in both Netview FTP servers. The FTPSECUR program should be moved to a library that is accessed by the servers.

The FTPSECUR program deletes feedback records after they are sent and synchronizes access to the feedback and interface files by FTP and CEDS.

A DD statement referencing the interlock file (EMTVIKE) should be in both Netview FTP servers.

Feedback data

The Standard Text Database contains a table (0800E) with references to the specific JCL used to transmit feedback data to the originating system or node ID. The figure below illustrates how CEDS relates an originating system to the JCL used to transmit feedback data:

Figure 4-3. Sample table in the standard text database

         TEXT
         FN:            S T A N D A R D   T E X T   M A N A G E M E N T
         TEXT CD: CD800E<<<<<<<<<<<<                                 DATE: 07/07/90
         ------                                                               -----
         FUNC SEQ FREE TEXT (60 CHARACTERS MAXIMUM)
         ---- --- -----------------------------------------------------------------
              001 01PESEMTV1KEWAA7FTP
              002 02PDIEMTV1EEWAA5FTP
              003 ENDPDI
         ---- --- --- COMMAND LINE (P/N,P/P,P/1,UP,DOWN,REPL,DLET,ISRT) -----------
         P/N
         ----- 006 : CURRENT DATA
         FUNCTION CODE : ISRT - INSERT A PAGE              DLET - DELETE A FULL PAGE
                         REPL - UPDATE (SEE COMMAND)       INQUŽBWSE - DISPLAY

The JCL table points to specific JCL segments and the JCL for this feedback format. The table contained in Standard Text Key CD800E uses the following layout:

XXTTTDDDDDDDDNNNNNN
where:

XX

Standard Text Key that contains the JCL for the node referenced by this entry. For example:

XX = 01
JCL for this node appears in Standard Text Key CD801E.
XX = 99
JCL for this node appears in Standard Text Key CD899E.

TTT

Data format received from this node. There are two possible values:

DDDDDDD

Name of the data set that contains the feedback for this node. This name should be unique for each originating location. The default value for PES is EMTV1KE. The default value for PDI is EMTV1EE.

NNNNNN

Identifies the originating data format.

For PES, this value uses the FTP LU name assigned to the FTP job that sends the data to CEDS.

For PDI, this value uses the node name in the administrative header record.

After CEDS processes a batch of data from an external engineering system, it must send feedback to the source of the data. To identify the source of the data, CEDS refers to the data format, PES or PDI, and the location ID of the external system. It then searches the JCL table for a matching entry.

CEDS uses the DDDDDDD portion of the entry to name a file where it stores feedback messages before transmitting them back to the source.

CEDS then uses the XX portion of entry to determine the key of the Standard Text Database records. They contain the JCL used to transmit the data. Sample JCL is shipped on the CEDS product tape.

CEDS also scans the JCL for the FTP keyword RFILEID (starting in column 1). If found, the JCL is further scanned for an eight-dollar-sign ($$$$$$$$) character string. These dollar signs are replaced with date/time stamp information in the form of DDHHMMSS (see below). This information allows the user to send feedback to a unique dataset for each batch processed. If time/date stamp information is not found, the JCL is processed as is.

The examples in Figure 4-4 and Figure 4-5 show how the feedback JCL uses information in the Standard Text Database. The first two numbers of the free text line reflect the Standard Text Key. Sequence numbers do not affect the Standard Text Key.

Figure 4-4. Feedback JCL to segment CD801 of the Standard Text Database

 
      *¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦*
      | TEXT                              |
      | FN:            S T A N D A R D   T|
      | TEXT CD: CD800E<<<<<<<<<<<<       |
      | ------                            |
      | FUNC SEQ FREE TEXT (60 CHARACTERS |
      | ---- --- -------------------------|
*¦¦¦¦¦+¦¦¦¦¦¦¦¦¦>01PESEMTV1KEWAA7FTP      |
|     |      002 02PDIEMTV1EEWAA5FTP      |
|     |      003 ENDPDI                   |
|     | ---- --- --- COMMAND LINE (P/N,P/P|
|     |                                   |
|     *¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦*
|
*¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦*
                    |
                    |
      *¦¦¦¦¦¦¦¦¦¦¦¦¦+¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦*
      | TEXT        |                     |
      | FN:         V  S T A N D A R D   T|
      | TEXT CD: CD801E<<<<<<<<<<<<       |
      | ------                            |
      | FUNC SEQ FREE TEXT (60 CHARACTERS |
      | ---- --- -------------------------|
      |      001 //FTPSEND  JOB (A9K,N3,'F|
      |      002 //             MSGCLASS=X|
      |      003 //***********************|
      |      004 //*            FILE TRANS|
      |      005 //***********************|
      *¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦*
 

Figure 4-5. Feedback JCL to segment CD802 of the Standard Text Database

 
      *¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦*
      | TEXT                              |
      | FN:            S T A N D A R D   T|
      | TEXT CD: CD800E<<<<<<<<<<<<       |
      | ------                            |
      | FUNC SEQ FREE TEXT (60 CHARACTERS |
      | ---- --- -------------------------|
      |      001 01PDIEMTV1KEWAA7FTP      |
*¦¦¦¦¦+¦¦¦¦¦¦¦¦¦>02PESEMTV1EEWAA5FTP      |
|     |      003 ENDPDI                   |
|     | ---- --- --- COMMAND LINE (P/N,P/P|
|     |                                   |
|     *¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦*
|
*¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦*
                    |
                    |
      *¦¦¦¦¦¦¦¦¦¦¦¦¦+¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦*
      | TEXT        |                     |
      | FN:         V  S T A N D A R D   T|
      | TEXT CD: CD802E<<<<<<<<<<<<       |
      | ------                            |
      | FUNC SEQ FREE TEXT (60 CHARACTERS |
      | ---- --- -------------------------|
      |      001 //FTPSEND  JOB (A9K,N3,'F|
      |      002 //             MSGCLASS=X|
      |      003 //***********************|
      |      004 //*            FILE TRANS|
      |      005 //***********************|
      *¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦*
 

Environment Table entries for CEDS

The fields in the Environment Table that are directly affected by the installation of CEDS are described in this section. The values of the fields in the Environment Table distributed with CEDS that are necessary to run the Sample Problem are described. You should review these settings when planning the production environment for CEDS, and the entries affected by the installation of other TFG2000 products.

The CEDS dependent entries are described in the following format:

Field
The name of the entry in the Environment Table

Values
The possible values for this entry

Setting
The actual setting of this entry in the Environment Table distributed with CEDS

Transaction/Program
The CEDS program or transaction affected by this Environment Table setting

Description
A description of the use of this entry and the effects of its different values

Field Values Setting Transaction/Program Description
CORMES 'YES','NOT' 'NOT'

This entry defines whether CORMES in installed.

The effects of the two settings are:

YES
Action messages are written to the Action Database for further processing by the CORMES programs.

NOT
Action messages are written to a VSAM file for further processing by the user-written program.

ACHNDB 'YES','NOT' 'YES'
Set to 'YES' if the Activity Database is installed.
Sub-functions


These can be determined from the main Environment Table listing and can be altered to any user-specified values. Changing these values, however, does not cause guidance messages on the screens to be changed automatically.
OPSYS 'DOS','OS' 'DOS'
The IBM operating system used.
DATEFORM 'EUR','USA' 'USA'
The format of the calendar date used for both input and output.

USA
mm/dd/yy

EUR
dd/mm/yy
ENGDEF 'YES','NOT' 'YES'
If set to 'YES,' a default Engineering Change segment is created when a new item is added to the system.
SECURITI 'YES','NOT' 'NOT'
If this field is set to 'YES,' it activates the Security program supplied with the product that provides for the control over which users can use various transactions.
ERRDEBUG 'YES','NOT' 'YES'
Set to 'YES,' this field defines whether error message texts are retrieved from the Standard Text Database when error message codes are issued by cd. If set to 'NOT,' only the error number is displayed.
PHANTYPE
'9'
Defines the code used in item Type of the ITEMID segment to identify a phantom item.
PHANTOM
'P'
Defines the code used in phantom-level code of the PRODST segment to identify a phantom link.
STXERPR
'PR'
If set to 'PR,' this is the text code of messages stored on the Standard Text Database. CEDS uses it only with messages returned from the security program.
STXDLI
'DL'
If set to 'DL,' this is the text code of DL/I messages stored on the Standard Text Database that can be generated by the CEDS program.
STXCED
'CD'
If set to 'CD,' this is the text code of messages stored on the Standard Text Databases that can be generated by the CEDS program.

Default and option settings

Before installing CEDS, review the setting of the segment default values in the appropriate copybooks and the setting of the options in the Environment Table. If you follow the installation procedures described in the TFG2000 Installation Guide (for MVS or VSE), these settings do not influence the running of the Sample Problem.


Interface with CORMES

CORMES is a sophisticated message-switching system that, although not an actual TFG2000 product, greatly enhances the usability and control offered by TFG2000 products.

The steps required to integrate TFG2000 products with CORMES are included in the installation instructions. Different steps are required, depending upon whether or not CORMES is installed.

Make sure that CORMES is successfully installed before attempting integration.

If you install CORMES after installing a TFG2000 product, run the CORMES installation steps from the appropriate product installation instructions. These steps are required to add entries to the CORMES databases, reflecting the messages and addresses required by the TFG2000 products.

If your location alternates between using and not using CORMES, perform the installation steps assuming that CORMES is installed. Then, use the Environment Table setting for final control.

Certain situations detected within CEDS cause the generation of action messages. These messages are explained in Chapter 1. "System description" of this manual.

If CORMES is not installed, these messages are written to the VSAM ESDS data set CCIVSAM and it is your responsibility to maintain and print this file.

CORMES integration

CORMES handles the action messages generated by TFG2000. The integration of CORMES with TFG2000 is accomplished by the COPICS-CORMES Interface (CCI). Action messages issued by the application programs are processed by CCI and passed to CORMES so that the information can be communicated to specific users. Because CORMES is not a prerequisite for TFG2000, CCI also provides an option to process action messages and place them in a VSAM data set for further processing.

If you encounter any problems with the COPICS-CORMES Interface (CCI), check through the following steps:

  1. Make sure that the installation steps have all been performed successfully, including the updating of the CORMES Action File and Action Table.

  2. Check the source copybook A.CORMESI.

    The value associated with the parameter "&CORMESI" should indicate if CORMES is installed ('YES' or 'NOT'). If the value is incorrect, change it and recatalogue the copybook to the source library.

  3. Reassemble the batch CCI subroutine CCI2 and catalogue the output to the relocatable library.

  4. Re-link-edit and catalogue batch programs that use CCI2 to access the new batch subroutine.

  5. Check the Environment Table setting of CORMES.

If CORMES is installed, each action message generated by CEDS refers to a CORMES Message Information Block (MIB), which contains information such as message-ID, department, function, individual identification, and message text.

CORMES then checks that the message-ID and the addressee (department, function, and individual) are defined in the CORMES Action File and Action Table and that the addressee is authorized to receive that particular message-ID. If an error is detected at this point, CORMES assumes default values and the message is distributed accordingly.

See the TFG2000 Administration, Operations, and Users' Guide for more information on the COPICS-CORMES Interface program.

For details of how to set up or modify a Message Information Block and the CORMES Action File and Action Table, refer to the CORMES Program Reference Manual.


Help text

Help text for CEDS online programs are stored in the Help Text Database.

Two kinds of TFG2000 online help functions are available:

Transaction help. The transaction help is initiated during online activity by a defined program function key (default is PF1). This invokes the transaction HETR.

Message help. The message help is initiated during online activity by a defined program function key (default is PF2). This invokes the transaction HEER.

See the TFG2000 Administration, Operations, and Users' Guide for more information on help and managing the Help Text Database.


CCI functions

The following description of CCI applies to all TFG2000 products. All TFG2000 products, however, do not use all the CCI features.

Application programs can issue action messages by calling CCI. If CORMES is installed, up to 20 action messages, each to a different CORMES addressee, can be generated from a single call. A call requests the processing of a single CORMES MIB. The MIB is generated by specifying and assembling CORMES macros (DSRGEN) that describe the action messages to be sent. Each macro described in the MIB must be defined in the CORMES Action Table. Addressees, along with each message that they can receive, must also be defined in the CORMES Action File.

A CORMES action message is built using information from the following sources:

Certain parts of a message may be defined in one place, such as the Action Table, and then overwritten for a specific situation at another level of definition, such as the MIB. The application program can overwrite the MIB definition dynamically during processing.

The following functions are supported by CCI:

Variable information

CCI only handles the variable message information, leaving the remainder of the action message information to be handled in accordance with the normal CORMES rules. CCI can substitute each field within an action message as variable data of the application using the parameter list. CCI can also combine it with a predefined MIB.

The variable information is passed to CCI by the application program using the following parameters:

MIB name
(8 bytes)
UKEY
(15 bytes)
UKEYTYP
(3)
UKEYNO
(12)
RESP
(1 byte) (switch for responsibility lookup)
DBD
(8 bytes)(dbname for responsibility lookup)
DBID
(1 byte) (environment)
SEND
(1 byte) (suppress message send)
OTXT
(28 bytes)
OTXTTYP
(5)
OTXTNO
(20)
OTXTEN
(3) (displayed environment in the overview text)
TX01
(70 bytes)

An application program determines the name of the MIB, containing the action messages it wants to use, and places this name into the MIB-name field. The application can overwrite the above-mentioned fields. If CCI finds anything other than binary zeroes in these user fields, it overwrites the corresponding fields, in each action message issued by the MIB, with the data found.

Responsibility identification

CCI provides an optional function, called responsibility identification or responsibility lookup, that can dynamically change the addressee for a message to a different employee within a specified department and function. This function is called responsibility identification or responsibility lookup, and allows you to assign a unique set of items to an employee within a given department and function.

The Item Responsibility Segment (ITMRES) in the Product Definition Database designates the specific employee responsible for any message sent to a given department and function concerning the item.

The Sequence Control field for the ITMRES segment is the first seven bytes of the CORMES address (department&or.function). The remaining seven bytes are a CORMES address (employee).

To indicate that responsibility identification is required for a given message, the employee portion of the addressee in the MIB, or in the parmlist (CCI-EMPL), must contain '**PRDEF'. Application programs must place the Item number in the OTXTNO portion of the OTXT parameter. Then, by using the department/function (DEPT/FCTN) portion of the addressee, the unique Item Responsibility Segment can be retrieved.

If this Responsibility Segment exists, the Employee Segment portion of the Addressee field is updated from this segment before the message is sent to CORMES. If the correct ITMRES segment is not found, the department, function, and employee for that message is cleared by CCI. CORMES then sends the message to the default addressee specified in the Action Table.

Another way of looking at the responsibility identification is through the database that includes the responsibility segment. Within the parameter list, the field CCI-DBD contains the name of the database in which the specific responsibility segment is stored and the field CCI-APPLID contains the application identification from which the message will be sent. In this case, the whole addressee is taken out of the ITMRES segment. This also occurs when the value of CCI-APPLID is blank or zero.

If the MIB or parmlist does not contain '**PRDEF' in the employee portion of the addressee and CCI-DBD contains zero, the responsibility identification is not performed and the addressee remains unchanged.

Therefore, individual responsibilities can be specified for some items and not for others. Responsibility identification may be required for certain action messages and not for others. If the field CCI-RESP of the parameter list has the value 'N', a responsibility segment is not processed.

CCI design for CICS/VS programs

The application program creates a record in CICS/VS temporary storage and requests initiation of the CCI asynchronous task. The application uses a copybook to initialize CCI parameters. The copybooks used are DSRCPARM for ANS COBOL and DSRAPARM for Assembler Language. The name of the MIB to be sent must be specified. Optionally, the application program can overwrite the initialized low-value CCI entries for UKEY, OTXT, and TX01. These are referred to as CCI parameters in the following discussion.

The following is a list of the application coding steps to use CCI in an online environment.

Online COBOL coding

  1. The application program must copy into working storage a structure in which to build the CCI parameters. CCI provides the necessary copybook, called DSRCPARM, which is as follows:


    
      01 CCI-PARMS.                                                   00280000
    *        TRANSACTION IDENTIFICATION                               00290000
         03  CCI-TRANS         PIC X(4)         VALUE LOW-VALUES.     00300000
    *        EVENT NUMBER                                             00310000
         03  CCI-EVNT          PIC X            VALUE LOW-VALUES.     00320000
    *        SELECT CRITERIA                                          00330000
         03  CCI-SELC          PIC X(19)        VALUE LOW-VALUES.     00340000
    *        ADDITIONAL CHARACTERISTIC                                00350000
         03  CCI-ACHAR         PIC X(10)        VALUE LOW-VALUES.     00360000
    *                                                                 00370000
    *        RESPONSIBILITY SEGMENT TO PROCESS                        00380000
    *        Y = YES, N (OR BLANK) = NO                               00390000
         03  CCI-RESP          PIC X            VALUE LOW-VALUES.     00400000
    *        NAME OF THE DATA BASE FOR THE RESPONSIBILITY SEGMENT     00410000
         03  CCI-DBD           PIC X(8)         VALUE LOW-VALUES.     00420000
    *        MIB NAME                                                 00430000
         03  CCI-MIB           PIC X(8)         VALUE LOW-VALUES.     00440000
    *        ADDRESSEE IF NOT USED IN MESSAGE                         00450000
         03  CCI-PADDR.                                               00460000
    *        CONSISTS OF DEPARTMENT                                   0047000
         05  CCI-PDEPT         PIC X(4)         VALUE LOW-VALUES.     00480000
    *                     FUNCTION                                    00490000
         05  CCI-PFCTN         PIC X(3)         VALUE LOW-VALUES.     00500000
    *                     EMPLOYEE                                    00510000
         05  CCI-PEMPL         PIC X(7)         VALUE LOW-VALUES.     00520000
    *        MESSAGE IDENTIFICATION IF NOT USED IN MESSAGE            00530000
         03  CCI-PMGID         PIC X(4)         VALUE LOW-VALUES.     00540000
    *        DESTINATION IDENTIFICATION                               00550000
         03  CCI-DEST          PIC X(10)        VALUE LOW-VALUES.     00560000
    *        LANGUAGE IDENTIFICATION                                  00570000
         03  CCI-LANGID        PIC X(01)        VALUE LOW-VALUES.     00580000
    *        DATA BASE IDENTIFICATION                                 00590000
         03  CCI-DBID          PIC X(01)        VALUE LOW-VALUES.     00600000
    *        APPLICATION IDENTIFICATION                               00610000
         03  CCI-APPLID        PIC X(03)        VALUE LOW-VALUES.     00620000
    *        PROGRAM NAME FOR ASYNCHRON. PROCESSING                   00630000
         03  CCI-PGMNAME       PIC X(08)        VALUE LOW-VALUES.     00640000
    *        N = MESSAGE WILL NOT BE SENT TO CORMES.                  00650000
         03 CCISEND PIC X                       VALUE LOW-VALUES.     00660000
    *               PCB-POSITION OF RESPONSIBILITY SEGMENT.           00670000
         03 CCI-RPCB PIC S9(3) COMP-3           VALUE ZEROS.          00680000
    *        FILLER                                                   00690000
         03  CCI-FILLER        PIC X(4).                              00700000
    


    
    ****************************************************************  00710000
    *    DSRAM      LAYOUT FOR ACTION MESSAGE                         00720000
    *********************************************************         00730000
    *               ACTION MESSAGE PART IDENTIFICATION                00740000
         03  CCI-DSR           PIC X(3)         VALUE 'DSR'           00750000
      02 CCI-AM.                                                      00760000
    *               MESSAGE TYPE : A=INSERT , E=REPLACE.              00770000
    *               T=CANCEL , W=WITHDRAW.                            00780000
         05 CCI-TYPE PIC X                      VALUE LOW-VALUES.     00790000
    *               INTERNAL USE.                                     00800000
         05 CCI-SEND PIC X                      VALUE LOW-VALUES.     00810000
    *               UNIQUE CURRENT NUMBER.                            00820000
         05 CCI-UCNR PIC X(8)                   VALUE LOW-VALUES.     00830000
    *               MESSAGE ADDRESS.                                  00840000
         05 CCI-ADDR.                                                 00850000
    *                  DEPARTMENT NUMBER.                             00860000
            08 CCI-DEPT PIC XXXX                VALUE LOW-VALUES.     00870000
    *                  FUNCTION NUMBER.                               00880000
            08 CCI-FCTN PIC XXX                 VALUE LOW-VALUES.     00890000
    *                  EMPLOYEE NUMBER.                               00900000
            08 CCI-EMPL PIC X(7)                VALUE LOW-VALUES.     00910000
    *               MESSAGE IDENTIFIER.                               00920000
         05 CCI-MGID PIC XXXX                   VALUE LOW-VALUES.     00930000
    *               EXTERNAL PRIORITY OF MESSAGE.                     00940000
         05 CCI-EXPY PIC X                      VALUE LOW-VALUES.     00950000
    *               ARCHIVE SWITCH.                                   00960000
         05 CCI-ARCH PIC X                      VALUE LOW-VALUES.     00970000
    *               OVERVIEW TEXT OF MESSAGE.                         00980000
         05 CCI-OTXT.                                                 00990000
            08  CCI-OTXT-TYPE PIC X(5)          VALUE LOW-VALUES.     01000000
            08  CCI-OTXT-NUMBER PIC X(20)       VALUE LOW-VALUES.     01010000
            08  CCI-OTXT-ENVIRM PIC X(3)        VALUE LOW-VALUES.     01020000
    *               USER KEY DATA.                                    01030000
         05 CCI-UKEY.                                                 01040000
            08  CCI-UKEY-TYPE PIC X(3)          VALUE LOW-VALUES.     01050000
            08  CCI-UKEY-NUMBER PIC X(12)       VALUE LOW-VALUES.     01060000
    *               DISTRIBUTION LIST NUMBER.                         01070000
         05 CCI-DLNR PIC XXXX                   VALUE LOW-VALUES.     01080000
    *               ACTION INDICATOR.                                 01090000
         05 CCI-ACTI PIC X                      VALUE LOW-VALUES.     01100000
    *               DEFERRAL CODE.                                    01110000
         05 CCI-DEFC PIC X                      VALUE LOW-VALUES.     01120000
    *               DUE DATE 0YYMMDDHH.                               01130000
         05 CCI-DUDA PIC S9(9) COMP-3.                                01140000
    *               NUMBER OF TEXT RECORDS.                           01150000
         05 CCI-NTRC PIC S9(3) COMP-3.                                01160000
    *               LENGTH OF PROGRAM DATA.                           01170000
         05 CCI-LDAT PIC S9(5) COMP-3.                                01180000
    *               RESERVED FOR CORMES INTERNAL USE.                 01190000
         05 CCI-RES1 PIC X                      VALUE LOW-VALUES.     01200000
    *               MESSAGE ORIGINATOR.                               01210000
         05 CCI-ORIG PIC X(14)                  VALUE LOW-VALUES.     01220000
    *               RESERVED FOR CORMES INTERNAL USE.                 01230000
         05 CCI-RES2 PIC X(106).                                      01240000
    *               START OF TEXT RECORDS                             01250000
         05 CCI-TX01 PIC X(70)                  VALUE LOW-VALUES.     01260000
         05 CCI-TX02 PIC X(70)                  VALUE LOW-VALUES.     01270000
         05 CCI-TX03 PIC X(70)                  VALUE LOW-VALUES.     01280000
         05 CCI-TX04 PIC X(70)                  VALUE LOW-VALUES.     01290000
    *       CCI-DATA.                                                 01300000
    *       IF DATA ARE USED WITHIN THIS MESSAGE, A STRUCTURE         01310000
    *       SHOULD BE DEFINED HERE WITH THE NAME  CCI-DATA.           01320000
    *       THE LENGTH OF THIS CCI-DATA FIELD IS PREPARED IN          01330000
    *       THE FIELD CCILDAT IN PACKED FORMAT.                       01340000
     
    

  2. The program places the name of the MIB it wants to use into the CCI-MIB parameter field. If CORMES is not installed, this MIB name may be thought of as a logical message name, to be used whenever a particular situation occurs.

  3. The program can pass variable information by updating the three parameters--CCI-UKEY, CCI-OTXT, and CCI-TX01.

  4. By CCI convention, the application program must place the Item number in the Number field of the OTXT parameter, which is then substituted into the OTXT component of each message in the MIB. The first five bytes of OTXT describe the type of information in OTXT. For example, the OTXT component might contain 'ITEM='.

    If CORMES is not installed, CCI writes a copy of the parameter structure CCI-PARMS on the DDXVCCI Message Collection file. You can then process this file with a user-written program.

    If CORMES is installed, the contents of the CCI parameters UKEY, OTXT, and TX01 overwrite the corresponding parts of each action message issued by the MIB that is being processed, unless the parameters contain only LOW-VALUES. In this case, the MIB-defined fields remain unchanged. The parameter structure definition initially sets all fields to LOW-VALUES, but if the program calls CCI more than once, it should clear parameters before reusing them to prevent incorrect information being passed to CORMES.

  5. The application program invokes CCI via a START command, as follows:

    EXEC CICS START TRANSID('CCIA')
         FROM(CCI-PARMS)
         LENGTH(PARLENG)
         END-EXEC.
    

Online assembler coding

The same rules as those used for online COBOL coding apply, except for the Assembler format differences.

  1. The application program must copy the structure DSRAPARM into an area of dynamic storage. The copybook CCIAPRMS is as follows:


    
    ************** SUBROUTINE TO CLEAR CCIPARMS                             00210000
    ************** BAL R14,CLEARCCI                                         00220000
    CLEARSAV DS    F                                                        00230000
    CLEARCCI ST    R14,CLEARSAV                                             00240000
             MVI   CCIPARMS,X'00'.                                          00250000
             MVC   CCIPARMS+1(255),CCIPARMS
    00260000
             MVI   CCIPARMS+256,X'00'
    00270000
             MVC   CCIPARMS+1+256(255),CCIPARMS+256
                    00280000
             MVI   CCIPARMS+512,X'00'
    00290000
             MVC   CCIPARMS+1+512(80),CCIPARMS+512
                    00300000
             L     R14,CLEARSAV                                             00310000
             BR    R14                                                      00320000
    *******************************************************************     00330000
    *         LAYOUT OF APPLICATION INTERFACE TO SEND MESSAGES              00340000
    **********************************************************              00350000
    **        PARAMETERS FOR CONTROLLING MESSAGE HANDLING                   00360000
    ***********************************************************             00370000
    CCIPARMS DS    0CL592                                                   00380000
    CCITRANS DS    CL4            TRANSACTION IDENTIFICATION                00390000
    CCIEVNT  DS    CL1            EVENT NUMBER                              00400000
    CCISELC  DS    CL19           SELECT CRITERIA                           00410000
    CCIACHAR DS    CL10           ADDITIONAL CHARACTERISTIC                 00420000
    *                                                                       00430000
    CCIRESP  DS    CL1            RESPONSIBILITY SEGMENT TO PROCESS         00440000
    *                             Y = YES, N (OR BLANK) = NO                00450000
    CCIDBD   DS    CL8            NAME OF THE DB FOR THE RESP. SEGMENT      00460000
    CCIMIB   DS    CL8            MIB NAME                                  00470000
    CCIPADDR DS    0CL14          ADDRESSEE IF NOT USED IN MESSAGE          00480000
    CCIPDEPT DS    CL4            DEPARTMENT                                00490000
    CCIPFCTN DS    CL3            FUNCTION                                  00500000
    CCIPEMPL DS    CL7            EMPLOYEE                                  00510000
    CCIPMGID DS    CL4            MESSAGE IDENTIFIC. IF NOT USED IN MSG     00520000
    CCIDEST  DS    CL10           DESTINATION IDENTIFICATION                00530000
    CCILAID  DS    CL1            LANGUAGE IDENTIFICATION                   00540000
    CCIDBID  DS    CL1            ENVIRONMENT IDENTIFICATION                00550000
    CCIAPID  DS    CL3            APPLICATION IDENTIFICATION                00560000
    CCIPGMN  DS    CL8            PROGRAM NAME FOR ASYNCHR.PROCESSING       00570000
    CCISEND  DS    CL1            N=MESSAGE IS NOT SENT TO AF (ASYN/BATCH)  00580000
    CCIRPCB  DS    PL2            PCB-POSITION FOR RESPONSIBILITY SEGMENT   00590000
             DS    CL4            FILLER                                    00600000
    *                                                                       00610000
    CCIDSR   DS    CL3            'DSR' ACTION MESSAGE PART IDENTIFICATION  00620000
    CCILGPAR EQU   *-CCIPARMS     LENGTH OF PARAMETER PART                  00630000
    


    
    **********************************************************************  00640000
    * DSRAM        MESSAGE LAYOUT OF ACTION MESSAGE  (INSERT,REPLACE,       00650000
    *              CANCEL AND WITHDRAW)                                     00660000
    *                                                                       00670000
             ORG   CCIDSR+L'CCIDSR                                          00680000
    CCIAM    DS    0C                                                       00690000
    CCISTRT  DS    0C                                                       00700000
    CCITYPE  DS    CL1            MESSAGE TYPE,A=INSERT,E=REPLACE,T=CANCEL  00710000
    *                             W=WITHDRAW                                00720000
             DS    CL1            INTERNAL USE                              00730000
    CCIUCNR  DS    XL8            UNIQUE CURRENT NUMBER                     00740000
    CCIADDR  DS    0CL14          MESSAGE ADDRESSEE                         00750000
    CCIDEPT  DS    CL4                 DEPARTMENT NUMBER   )                00760000
    CCIFCTN  DS    CL3                 FUNCTION NUMBER     ) ADDRESSEE      00770000
    CCIEMPL  DS    CL7                 EMPLOYEE NUMBER     )                00780000
    CCIMGID  DS    CL4            MESSAGE IDENTIFIER                        00790000
    CCIEXPY  DS    PL1            EXTERNAL PRIORITY                         00800000
    CCIARCH  DS    CL1            ARCHIVE SWITCH                            00810000
    *                                  ARCHIVE = YES, ARCHIVE =NO           00820000
    CCIOTXT  DS    0CL28          OVERVIEW TEXT                             00830000
    CCIOTTYP DS    CL5                 OVERVIEW TEXT TYPE                   00840000
    CCIOTNO  DS    CL20                OVERVIEW TEXT ITEM NUMBER            00850000
    CCIENVI  DS    CL3                 OVERVIEW TEXT ENVIRONMENT            00860000
    CCIUKEY  DS    0CL15          USER KEY DATA                             00870000
    CCIUKTYP DS    CL3                 USER KEY DATA TYPE                   00880000
    CCIUKNO  DS    CL12                USER KEY DATA NUMBER                 00890000
    CCIDLNR  DS    CL4            DISTRIBUTION LIST NUMBER                  00900000
    CCIACTI  DS    CL1            ACTION INDICATOR                          00910000
    *                               W= WORKON ACTION INDICATOR              00920000
    *                               I= INFORMATION ACTION INDICATOR         00930000
    CCIDEFC  DS    CL1            DEFERRAL CODE                             00940000
    CCIDUDA  DS    PL5            DUE DATE 0YYMMDDHH                        00950000
    CCINTRC  DS    PL2            NUMBER OF TEXT RECORDS  PREPARED WITH 4   00960000
    CCILDAT  DS    PL3            DATA LENGTH                               00970000
             DS    CL1            RETURN CODE SWITCH(INT.USE)               00980000
    CCIORIG  DS    CL14           MESSAGE ORIGINATOR                        00990000
             DS    CL106          RESERVED FOR CORMES                       01000000
    CCITX01  DS    CL70           DETAIL TEXT LINE 1                        01010000
    CCITX02  DS    CL70           DETAIL TEXT LINE 2                        01020000
    CCITX03  DS    CL70           DETAIL TEXT LINE 3                        01030000
    CCITX04  DS    CL70           DETAIL TEXT LINE 4                        01040000
    CCIDATA  DS    0C             DATA AREA                                 01050000
    CCIEND   DS    0C             END OF PARAMETER LIST                     01060000
    CCILGHD  EQU   *-CCIPARMS     LENGTH OF PARAMETER LIST                  01070000
    * END OF DSRAM                                                          01080000
     
    

  2. The program must place the MIB name into the parameter field CCIMIB.

  3. The program can update the parameters CCIUKEY, CCIOTXT, and CCITX01. The copybook contains a sample of how to clear the structure. The application program must, by CCI convention, pass the Item number for identification purposes.

  4. The program invokes CCI via a START command, as follows:
    EXEC CICS START TRANSID('CCIA')
         FROM(CCI-PARMS) LENGTH(PARLENG)
    

CCI design for batch programs

The interface for batch programs is functionally identical to the CICS/VS design, except that the called routine performs the functions of the asynchronous task immediately.

Batch COBOL coding

Batch programs must follow all the rules described above for online programs, except that they invoke CCI via a CALL, specifying the structure CCI-PARMS as the first parameter of the CALL.

If CORMES is installed, additional rules apply. There must be a modification to the PSB of each batch program using CCI. In addition to whatever PCBs the batch program itself requires, CCI requires six more. One of these is a PCB for the Product Definition Database, providing get-only access to the ITEMID and ITMRES segments in the Product Definition Database. The other five PCBs are those required by CORMES itself. They can be copied into the application's PSBGEN by the statements COPY RESPPCB and COPY DSRAFHP. An example of the necessary coding can be found in the PSB CCIPSB.

The batch program must pass the six PCB addresses to CCI as the second through seventh parameters of the call. The second parameter is the PCB for retrieving the responsibility segment and the next five are for CORMES. For example:

CALL 'CCIBATCH'
     USING CCI-PARMS, R-PCB, C1-PCB, C2-PCB, C3-PCB, C4-PCB, C5-PCB

Batch assembler coding

The same rules as those for batch COBOL apply, except for format differences.

The six PCB addresses must be saved upon entry to the program. This can be done by moving these addresses to the area provided in the copybook CCIAPCBS as follows:

MVC RPCB(24),nn(REG1)

where nn is the offset from register one, which is found by multiplying the program's original number of PCBs by 4. For example, if a batch program originally had five PCBs, then the offset is 20.

Error conditions

On certain CORMES error conditions, CCI sends messages to the CCI Administrator. To retrieve these error messages, sign-on to CORMES as follows:

ADMS  - DEPARTMENT
CCI   - FUNCTION
      - EMPLOYEE

If an application requests a MIB that contains an invalid message-ID or an invalid addressee, CCI sends one of the following:

CI38 - ACT.TABLE - INVALID MESSAGE ID
CI44 - ACT. FILE - INVALID ADDRESSEE

  1. MGID 'CI38' - ACT.TABLE - MMMM*NO ACTION TABLE ENTRY*(OTXT)

    Each CORMES message-ID (MGID) in each MIB must be defined to CORMES in the Action Table. If a program tries to send a message that has not been defined, CCI receives an unsatisfactory return code when it tries to process the message. In this situation, CCI changes the failing MGID to the CCI information message-ID 'CI38' and resends the message.

    The original MGID (MMMM) is saved in the first four bytes of the OTXT field and the addressee changed to the CCI Administrator
    (ADMS-CCI- ). The OTXT is saved in the last 28 bytes of TX01.

    REQUIRED USER ACTION:

    If a 'CI38' message is received, either the MGID must be defined in the Action Table or the MIB containing that MGID must be changed to a valid MGID.

  2. MGID 'CI44' - ACT. FILE - DDDD-FFF-EEEEEEE-MMMM*AF ERR(OTXT)

    Each addressee (DDDD-FFF-EEEEEEE) with the associated MGIDs must be defined in the CORMES Action File. If a program tries to send a message to an addressee/message-ID combination that has not been defined, an unsatisfactory return code is given back to CCI. This situation can be caused by an Item Responsibility Segment that causes CCI to complete an address with an employee who has not been defined to CORMES. In this situation, CCI changes the failing MGID to the CCI information message-ID 'CI44'. The attempted addressee MGID (MMMM) is saved in OTXT and the addressee changed to the CCI ADMINISTRATOR (ADMS-CCI- ). The OTXT is saved in the last 28 bytes of TX01.

    REQUIRED USER ACTION:

    If a 'CI44' is received, this combination of addressee and MGID is not defined in the Action File. If this combination is valid, the Action File must be updated.

    If this message is being sent to an invalid address, the most likely problem is that a new Item Responsibility Segment has been added and the CORMES Action File has not been updated. The last 28 bytes of TX01 contain the Item number to be used with the transaction BMBR to review the responsibility segments. Addressing errors can also be caused by invalid default addressees in the Action Table or an invalid addressee in the MIB. The origin of the message contains the MIB name that was used to send the message.

CICS dump codes

If the CCI processing routine CCIASYCR is unable to load the MIB or the Environment Table, it ABENDS with a dump code 'CCIP'. In this case, the PPT entries must be checked to see that the modules exist and the proper entries have been made.

If other error conditions occur, it ABENDS with a dump code 'CCIE'. This dump may also be accompanied by a CORMES dump 'DSRE'. These dumps must be analyzed to determine the cause of the problem.

One other dump code exists. In the asynchronous transaction dump code 'CCI2' can occur under severe error conditions where CORMES has passed back a return code indicating a system error. These dump codes are also written to the CICS 'CSMT' destination.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]