Engineering Data Support
The batch programs supplied with CEDS are described in this chapter.
The sample JCL to run these programs
can be found on the TFG2000 Base Product tape.
Note: This chapter documents Diagnosis, Modification, and Tuning
Information, which is provided to help the customer do
diagnosis, modification, and tuning of CEDS
Warning!
Do not use this Diagnosis, Modification, and Tuning
Information as a programming interface.
This chapter describes the following programs:
| Program
| Description
|
| EMTBBMWI
| Initializes BOMWORK database
|
| EMTBBOM
| Unloads bill of material in PDI Format
|
| EMTBEXIT
| Controls synchronization of accesses to CEDS interface files
|
| FTPSECUR
| Ensures a CEDS interface or feedback data set can be allocated
by the FTP
|
The information is presented in the following format:
- Purpose
- Briefly describes the program's use within
CEDS and its relationship with a
transaction or with other programs when the program
is used as an external subroutine.
- Reference data
- Provides formal program reference material, such
as:
- PSB Name
- Copybooks
- Linked to Programs
- Loaded Programs
- Database Access chart
Database access chart shows the database
segments accessed by the program's
PSBs and whether the access is for reference only or for updating.
This chart lists the following:
- Internal database name
- Internal segment name
- Segment description
- Access mode
Note: For more information on the database access
chart, see Appendix A. "How to use the charts", of this
manual.
- Input control record chart
- Shows the details of the input control records
that are required for the batch programs.
This chart lists the following:
- Parameter position
- Parameter length
- Parameter description
- Parameter value range
- Default value
Note: For more information on the input control
record chart, see Appendix A. "How to use the charts",
of this manual.
- Output produced
- Describes the output that results from the
running of the program.
- Report field/database field cross-reference chart
- Describes the relationship between report
field names and database field names for a
program.
This chart lists the following:
- Report field name
- Report field description
- Internal segment field name
- Internal segment name
- Internal database name
Note: For more information on the Report
Field/Database Field Cross-Reference Chart, see
Appendix A. "How to use the charts", of this manual.
- Additional information
- Provides additional descriptive comments to help you
when reading the program source code.
In general, these comments expand the explanation
of the main functions supported and, in certain
cases, describe processing techniques used.
- Outline of program flow
- Provides a high-level description of the logic used in
the program, including the major procedure names
and database calls used.
This program initially loads the BOMWORK
database to create a control record with default values.
- PSB Name
- EMTPBWE
- Loaded Program
- ENVTABLE
- Database Access
| Database
| Segment
| Segment Description
| Mode
|
| EMTDB0E
| BOMWORK
| Bill of material work
| R/W
|
- Open printer file.
- Setup CEDS control record.
- Perform DL/I insert.
- If DL/I status is successful, then:
-
- Write BOMWORK initialization successful to printer.
- Else
-
-
- Write BOMWORK initialization unsuccessful to printer.
- Go back.
This program reads the Product Definition Database, then creates
records for items and bills of material in the PDI format.
- PSB Name
- EMTPBBx (x = environment)
- Copybooks
-
| DATEOS
| ENGCHGS
| ENVTABLE
| FIELDOS1
|
| FUNCTINS
| ITEMIDS
| ITMDATS
| ITMTXTS
|
| PCB1
| PCB2
| PCB3
| PCB4
|
| PROCERR
| PRODSTS
| STDATAS
| STDXIDS
|
- Loaded Program
- ENVTABLx (x = environment)
- Database Access
-
| Database
| Segment
| Segment Description
| Mode
|
| PRDEFDB
| ITEMID
| Item identification
| R/O
|
| PRDEFDB
| ITMDAT
| Item data
| R/O
|
| PRDEFDB
| ITMTXT
| Item comments
| R/O
|
| PRDEFDB
| ENGCHG
| Engineering change
| R/O
|
| PRDEFDB
| PRODST
| Product structure
| R/O
|
| DDXDT0E
| STDIX
| Text identification
| R/O
|
| DDXDT0E
| STDATA
| Standard text data
| R/O
|
The program creates a status report that reveals the success
of the run and the number of items processed or unloaded.
Product Definition Database
| EUOEB600 object
|
Segment
| Field
| Attribute name
|
|---|
ENGCHG
| MECNC
| ID
|
ENGCHG
| MESEN
| INIATOR
|
ENGCHG
| MEDES
| DESCRIPTION
|
ENGCHG
| MEENG
| DESIGN_ENGR
|
ENGCHG
| MESTC
| STATUS
|
ENGCHG
| MEDAT
| INIT_DATE
|
ENGCHG
| MERSN
| REASON
|
Product Definition Database
| EUOEB700 object
|
Segment
| Field
| Attribute name
|
|---|
ENGCHG
| MECNC
| IL_EC_NUMBER
|
ITEMID
| MITEM
| IL_ITEM_NUMBER
|
ENGCHG
| MEEFF
| EFF_DATE
|
Product Definition Database
| EUOSB211 object
|
Segment
| Field
| Attribute name
|
|---|
ENGCHG
| MECNC
| IL_EC_NUMBER
|
ITEMID
| MITEM
| IL_ITEM_NUMBER
|
ITEMID
| MTYPN
| ITEM_TYPE
|
ITEMID
| MUTMS
| UNIT_OF_MEASURE
|
ITEMID
| MPDSC
| DESCRIPTION
|
Product Definition Database
| EUOSB291 object
|
Segment
| Field
| Attribute name
|
|---|
ENGCHG
| MECNC
| IL_EC_NUMBER
|
ITEMID
| MITEM
| IL_ITEM_NUMBER
|
MEDNO
| MEDNO
| IL_REFERENCE_ID
|
Product Definition Database
| EUOSB271 object
|
Segment
| Field
| Attribute name
|
|---|
ENGCHG
| MECNC
| IL_EC_NUMBER
|
ITEMID
| MITEM
| IL_ITEM_NUMBER
|
ITMDAT
| MWEIGHT
| WEIGHT
|
ITMDAT
| MWUM
| IL_WEIGHT_UNIT
|
ITMDAT
| MHEIGHT
| HEIGHT
|
ITMDAT
| MDUM
| IL_HEIGHT_UNIT
|
ITMDAT
| MLENGTH
| LENGTH
|
ITMDAT
| MDUM
| IL_LENGTH_UNIT
|
ITMDAT
| MBREAD
| BREADTH
|
ITMDAT
| MDUM
| IL_BREADTH_UNIT
|
ITMDAT
| MBREAD
| DIAMETER
|
ITMDAT
| MDUM
| IL_DIAMETER_UNIT
|
Product Definition Database
| EUOSB151 object
|
Segment
| Field
| Attribute name
|
|---|
ENGCHG
| MECNC
| IL_EC_NUMBER
|
ITEMID
| MITEM
| IL_ITEM_NUMBER
|
ITMTXT
| PPCOMMT
| IL_TEXT
|
Product Definition Database
| EUOSB111 object
|
Segment
| Field
| Attribute name
|
|---|
ENGCHG
| MECNC
| IL_EC_NUMBER
|
ITEMID
| MITEM
| IL_ITEM_NUMBER
|
Product Definition Database
| EUOSA121 object
|
Segment
| Field
| Attribute name
|
|---|
ENGCHG
| MECNC
| IL_EC_NUMBER
|
ITEMID
| MITEM
| IL_ITEM_NUMBER
|
PRODST
| SPCOMP
| IL_COMP_ITEM_NUMBER
|
PRODST
| SPSUFFIX
| IL_COMP_SEQ_NM
|
PRODST
| SPQTY
| MEASUR_OBJ
|
ITEMID
| MTUMS
| MEASUR_OBJ_UNIT
|
PRODST
| SPCAT
| FEATURE
|
PRODST
| SPVAL
| VARIANT
|
PRODST
| SPACT
| ACTION_CODE
|
PRODST
| SPPHAN
| MFG_PLANNING_CODE
|
ITEMID
| MPDSC
| DESCRIPTION
|
PRODST
| SPSQNO
| DISPLAY_SEQ_NUM
|
ITEMID
| MYYPN
| ITEM_TYPE
|
PRODST
| SPRATE
| USAGE_PROBABILITY
|
- Main Program Flow
-
- Perform Initialization-Routine.
- Perform Create-Admin-Start-Routine.
- Perform Write-EREC-Routine.
- Perform Write-ERAI-Routine.
- Perform Write-Item-Objects-Routine.
- Perform Write-BOM-Objects-Routine.
- Perform Write-Promote-Objects-Routine.
- Perform Report-Processing-Routine.
- Initialization-Routine
-
- Open PRINT datafile.
- If unable to open PRINT datafile perform Error-Routine.
- Open PARAMETER file.
- If unable to open PARAMETER file, perform Error-Routine.
- Else
-
- Perform Process-Parameter-Record.
- Load Environment Table.
- Open PDI datafile.
- If unable to open PDI datafile perform Error-Routine.
- Open VSAM workfiles.
- If unable to open VSAM workfiles perform Error-Routine.
- Load translate table from Standard Text database.
- Process-Parameter-Record
-
- Read parameter record.
- If unable to read parameter record perform Error-Routine.
- Process parameter information.
- Create-Admin-Start-Routine
-
- Loop through all Items in Product Definition database.
- Loop through all ENGCHG segments for this item.
- Create a VSAM-1 workfile containing EC information with
EC number.
- Create and write the Admin Header, Data Dictionary, and CIP
objects.
- Write-EREC-Routine.
-
- Loop through VSAM-1 file.
- Create a VSAM-2 workfile containing all ECs with key of
effectivity date and EC number.
- Setup and write the EUOEB600 object.
- Create and write a dummy EUOEB600 object if none written.
- Write-ERAI-Routine
-
- Loop through all Items in Product Definition database.
- Loop through all ENGCHG segments of ITEMID.
- Build a VSAM-3 file containing all ECs for this Item with
key of effectivity date and EC sequence number.
- Loop through all entries in VSAM-3.
- Setup and write the EUOEB700 object.
- Create and write a dummy EC EUOEB700 object if no ECs exist.
- Write-Item-Objects-Routine
-
- Loop through all Items in Product Definition database.
- Create and write the EUOSB211 object.
- Create and write the EUOSB271 object.
- Create and write the EUOSB291 object.
- Create and write the EUOSB151 object, if ITMTXT exists.
- Write-BOM-Objects-Routine
-
- Loop through all Items in Product Definition database.
- Loop through all ENGCHG segments for this ITEMID.
- Build a VSAM-3 file containing all ECs for this Item
with key of effectivity date and EC sequence number.
- Loop through all entries in VSAM-3.
- Scan PRODST of ITEMID for match against this VSAM-3 entry.
- If match
- Create and write the EUOSB111 object, if none written for
this item.
- Create and write the EUOSA121 object.
- Delete VSAM-3.
- Write-Promote-Objects-Routine
-
- Create and write the Admin Header and Data Dictionary.
- Loop through all entries of VSAM-2.
- Create and write the EUOSA001 object.
- Error-Routine
-
- Obtain error message.
- Print message.
- Close any open files.
- Stop program processing.
- Report-Processing-Routine
-
- Print summary information.
- Close any open files.
- Stop program processing.
This program controls the synchronization of accesses to CEDS
interface files (EMTVMKx, EMTVEKx, EMTVDKx, EMTV1KE, and EMTV1EE).
The program is called from batch program FTPSECUR upon open
or close of a file.
It establishes exclusive control over
the CEDS interface files by placing a flag in the file EMTVIKE.
The flag must be reset before other programs can access the file.
In addition to controlling access to the files, the program
also cleans up after the transmission of feedback data.
The program deletes all records in the feedback files after
the feedback data is transmitted.
- If file name is not dynamic, then perform 200-PROCESS.
- If receive or open (dynamic PES feedback file or
dynamic PDI feedback file):
- Perform 100-EXTRACT-FILE-NAME.
- Perform 200-PROCESS.
- Perform 130-REPLACE-FILE-NAME.
- Else
- Perform 100-EXTRACT-FILE-NAME.
- Perform 130-REPLACE-FILE-NAME.
- Go back.
- Scan file name for VSAM delimiter.
- Build file name from characters following last VSAM delimiter.
- IF PES feedback, then use dynamic PES file name.
- Else
-
- If PDI feedback, then use dynamic PDI file name.
If CEDS file, then perform 210-PROCESS-ILOCK.
- If open, then set in-use flag.
- Else
-
- Reset in-use flag.
- If send, then
- Perform 310-OPEN-FEEDBACK.
- Perform 320-READ-FEEDBACK.
- Perform 330-DELETE-FEEDBACK until end-of-file.
- Perform 340-CLOSE-FEEDBACK.
- perform 400-PROCESS-INTERLOCK
- If static PES feedback file, then open static PES.
- Else
-
- If static PDI feedback file, then:
-
- Open static PDI.
- Else
-
- If dynamic PES feedback file, then:
-
- Open dynamic PES.
- Else
-
-
- If dynamic PDI feedback file, then open dynamic PDI.
- If not successful, then:
- Perform 400-PROCESS-INTERLOCK.
- Go back.
- If static PES feedback file, then:
-
- Read next static PES record.
- Else
-
-
- If static PDI feedback file, then read next static PDI record.
- Else
-
- If dynamic PES feedback file, then:
-
- Read next dynamic PES record.
- Else
-
-
- If dynamic PDI feedback file, then read next dynamic PDI record.
- If not successful and not end-of-file, then:
- Perform 400-PROCESS-INTERLOCK.
- Go back.
- If static PES feedback file, then:
-
- DELETE record from static PES feedback file.
- Else
-
-
- If static PDI feedback file, then:
-
- Delete record from static PDI feedback file:
- Else
-
-
- If dynamic PES feedback file, then
delete record from dynamic PES feedback file.
- Else
-
-
- If dynamic PDI feedback file, then
delete record from dynamic PDI feedback file.
- If not successful, then:
- Perform 400-PROCESS-INTERLOCK.
- Go back.
- Perform 320-READ-FEEDBACK.
-
- If static PES feedback file, then close static PES file.
- Else
-
-
- If static PDI feedback file, then close static PDI file.
- Else
-
-
- If dynamic PES feedback file, then close dynamic PES file.
- Else
-
-
- If dynamic PDI feedback file, then close dynamic PDI file.
-
- If not successful, then:
- Perform 400-PROCESS-INTERLOCK.
- Go back.
- Perform 410-OPEN-INTERLOCK.
- Perform 420-READ-WRITE-INTERLOCK.
- Perform 430-CLOSE-INTERLOCK.
- Open interlock file.
- If not successful, then perform 427-REWRITE-INTERLOCK.
- Else
-
- Go back.
- Read interlock file for file name.
- If not found, then perform 423-WRITE-INTERLOCK.
- If not successful, then:
- Go back.
- Write interlock record.
- If not successful, then:
- Rewrite interlock record.
- If not successful, then:
- Close interlock file.
- If not successful, then:
This program is a modified version of the FTPSECUR program
provided by FTP. It was modified for CEDS users
to ensure that CEDS interface or feedback data set can be
allocated by FTP. It sets a flag in an interlock file
by calling EMTBEXIT to prevent
CEDS from accessing either interface or feedback files.
It then attempts to open the file. If the program cannot open the file,
the program
waits up to 10 minutes for the file to become available.
It then returns control to the FTP to send or receive
the file.
After sending the file, it resets the
flag in the interlock file by calling EMTBEXIT to allow CEDS access
to the feedback or interface files.
If you have an existing FTPSECUR program,
the changes described above must be integrated into
the existing FTPSECUR functions.
Note: This program is written in assembler language.
- Called to Programs
- EMTBEXIT
- Save the registers in caller's save area.
- Address the FTP parameter list.
- If command is 'open' and sending node:
- Load parameter list with send file information.
- Call EMTBEXIT to set interlock flag.
- If send file is a feedback file:
- Load ACB address.
- Set counter to 20.
- Go to OPEN FILE.
- If command is 'open' and receiving node:
- Load parameter list with receive file information.
- Call EMTBEXIT to set interlock flag.
- Load ACB address.
- Set counter to 20.
- Go to OPEN FILE.
- If command is 'close' and sending node:
- Load parameter list with send file information.
- Call EMTBEXIT to reset interlock flag.
- If command is 'close' and receiving node.
- Load parameter list with receive file information.
- Call EMTBEXIT to reset interlock flag.
- Restore registers from save area.
- Return to FTP.
- Open the file.
- If open is successful:
- Close the file.
- Go to EXIT.
- Else
- Delay 30 seconds.
- Subtract one from counter.
- If counter is zero:
- Else
[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]