🔍
US Train - Thematically Grouped Rules
A dual-persona matrix designed specifically for Development scoping. Requirements are hierarchically structured by Epic → Module Program → Business Theme.
Unmapped Subprogram
Module Tracker: CCISCOM
79 Validations & RulesModule Objective: No description provided from architecture analysis.
⚙️ General Logic & Formats
5 logic blocks
R-CCISCOM-cbl-00043
PCB Numbers Match?
Decision Rules
📊 Business Logic Narrative
When the process 'PCB Numbers Match?' is invoked, and assuming that the iscom pcb number has been incremented and the cccom pcb number is available, when the system compares the iscom pcb number with the cccom pcb number, the desired outcome is that if the pcb numbers are equal, the system proceeds with pcb address mapping; otherwise, it continues processing.
💻 Technical Criteria
Given
The ISCOM PCB number has been incremented and the CCCOM PCB number is available
When
The system compares the ISCOM PCB number with the CCCOM PCB number
Then
If the PCB numbers are equal, the system proceeds with PCB address mapping; otherwise, it continues processing
R-CCISCOM-cbl-00053
Mark as Active PCB Entry
Process Rules
📊 Business Logic Narrative
When the process 'Mark as Active PCB Entry' is invoked, and assuming that an active iscom entry with non-zero pcb address, when the system begins processing the active entry, the desired outcome is that iscom pcb number is set to 1 to start the numbering sequence.
💻 Technical Criteria
Given
An active ISCOM entry with non-zero PCB address
When
The system begins processing the active entry
Then
ISCOM PCB number is set to 1 to start the numbering sequence
R-CCISCOM-cbl-00055
Continue Processing Active Entry
Process Rules
📊 Business Logic Narrative
When the process 'Continue Processing Active Entry' is invoked, and assuming that an active iscom entry with non-zero pcb address and a target cccom entry, when the system processes the active pcb entry, the desired outcome is that the pcb address from iscom entry is set in the corresponding cccom entry.
💻 Technical Criteria
Given
An active ISCOM entry with non-zero PCB address and a target CCCOM entry
When
The system processes the active PCB entry
Then
The PCB address from ISCOM entry is set in the corresponding CCCOM entry
R-CCISCOM-cbl-00057
Continue Processing Active Entry
Process Rules
📊 Business Logic Narrative
When the process 'Continue Processing Active Entry' is invoked, and assuming that a processed active iscom entry, when the system completes processing of the active entry, the desired outcome is that the cccom entry counter (j) is incremented by 1.
💻 Technical Criteria
Given
A processed active ISCOM entry
When
The system completes processing of the active entry
Then
The CCCOM entry counter (J) is incremented by 1
R-CCISCOM-cbl-00072
Increment CCCOM Entry Counter
Process Rules
📊 Business Logic Narrative
When the process 'Increment CCCOM Entry Counter' is invoked, and assuming that an active pcb entry is being processed, when the system is ready to create a new cccom entry, the desired outcome is that the cccom entry counter (j) is incremented by 1.
💻 Technical Criteria
Given
An active PCB entry is being processed
When
The system is ready to create a new CCCOM entry
Then
The CCCOM entry counter (J) is incremented by 1
🏷️ CCN & Waybill Identification
9 logic blocks
R-CCISCOM-cbl-00014
14:PCB Sequence Numbering
Computation Rules
📊 Business Logic Narrative
When the process '14:PCB Sequence Numbering' is invoked, and assuming that iscom entry has non-zero pcb address and database name, when processing active iscom entry during reverse conversion, the desired outcome is that initialize iscom pcb number to 1 and count matching database names in previous entries to determine sequence number.
💻 Technical Criteria
Given
ISCOM entry has non-zero PCB address and database name
When
Processing active ISCOM entry during reverse conversion
Then
Initialize ISCOM PCB number to 1 and count matching database names in previous entries to determine sequence number
R-CCISCOM-cbl-00070
Initialize PCB Sequence Number to 1
Process Rules
📊 Business Logic Narrative
When the process 'Initialize PCB Sequence Number to 1' is invoked, and assuming that an active pcb entry has been identified for processing, when the system begins processing the active entry, the desired outcome is that the pcb sequence number is initialized to 1.
💻 Technical Criteria
Given
An active PCB entry has been identified for processing
When
The system begins processing the active entry
Then
The PCB sequence number is initialized to 1
R-CCISCOM-cbl-00071
Calculate Sequential PCB Number for Current Database
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Sequential PCB Number for Current Database' is invoked, and assuming that a database entry is being processed and pcb sequence number is initialized to 1, when the system needs to determine the sequential number for the current database, the desired outcome is that the system performs pcb number calculation by iterating through previous entries and incrementing the sequence number for each matching database name.
💻 Technical Criteria
Given
A database entry is being processed and PCB sequence number is initialized to 1
When
The system needs to determine the sequential number for the current database
Then
The system performs PCB number calculation by iterating through previous entries and incrementing the sequence number for each matching database name
R-CCISCOM-cbl-00075
Set Database Number to Spaces or PCB Sequence Number
Decision Rules
📊 Business Logic Narrative
When the process 'Set Database Number to Spaces or PCB Sequence Number' is invoked, and assuming that pcb address has been mapped and pcb sequence number has been calculated, when the system needs to set the database number field, the desired outcome is that if the pcb sequence number equals 1, the database number is set to spaces indicating first occurrence, otherwise the database number is set to the calculated pcb sequence number.
💻 Technical Criteria
Given
PCB address has been mapped and PCB sequence number has been calculated
When
The system needs to set the database number field
Then
If the PCB sequence number equals 1, the database number is set to spaces indicating first occurrence, otherwise the database number is set to the calculated PCB sequence number
R-CCISCOM-cbl-00058
PCB Sequence Numbering - Calculate sequential PCB numbers for active database entries
Computation Rules
📊 Business Logic Narrative
When the process 'PCB Sequence Numbering - Calculate sequential PCB numbers for active database entries' is invoked, and assuming that an iscom table with database entries and a current database entry at position i with a specific database name, when the system needs to determine the sequential pcb number for the current database entry, the desired outcome is that the system counts all previous occurrences of the same database name in positions 1 through i-1 and increments the pcb number for each match found, starting from an initial value of 1.
💻 Technical Criteria
Given
An ISCOM table with database entries and a current database entry at position I with a specific database name
When
The system needs to determine the sequential PCB number for the current database entry
Then
The system counts all previous occurrences of the same database name in positions 1 through I-1 and increments the PCB number for each match found, starting from an initial value of 1
R-CCISCOM-cbl-00076
Start Loop: K = 1 to Current Position I-1 - Iterate through previous database entries to count matching database names for sequence calculation
Computation Rules
📊 Business Logic Narrative
When the process 'Start Loop: K = 1 to Current Position I-1 - Iterate through previous database entries to count matching database names for sequence calculation' is invoked, and assuming that an iscom table with database entries and a current position i being processed, when the system needs to determine the pcb sequence number for the database at position i by examining all previous positions from 1 to i-1, the desired outcome is that the system increments the pcb sequence number for each previous entry that has the same database name as the current entry.
💻 Technical Criteria
Given
An ISCOM table with database entries and a current position I being processed
When
The system needs to determine the PCB sequence number for the database at position I by examining all previous positions from 1 to I-1
Then
The system increments the PCB sequence number for each previous entry that has the same database name as the current entry
R-CCISCOM-cbl-00078
Increment PCB Sequence Number
Computation Rules
📊 Business Logic Narrative
When the process 'Increment PCB Sequence Number' is invoked, and assuming that a pcb sequence number counter (iscom-pcb-num) and two database entries with matching names, when the system finds that the database name at position k matches the database name at position i, the desired outcome is that the system adds 1 to the pcb sequence number counter to reflect the sequential occurrence of this database.
💻 Technical Criteria
Given
A PCB sequence number counter (ISCOM-PCB-NUM) and two database entries with matching names
When
The system finds that the database name at position K matches the database name at position I
Then
The system adds 1 to the PCB sequence number counter to reflect the sequential occurrence of this database
R-CCISCOM-cbl-00062
Create New CCCOM Database Entry
Computation Rules
📊 Business Logic Narrative
When the process 'Create New CCCOM Database Entry' is invoked, and assuming that a database entry is being processed and needs a pcb sequence number, when the system encounters a database name that may have multiple instances, the desired outcome is that the system counts how many times the same database name appears in iscom entries up to the current position to determine the correct pcb sequence number.
💻 Technical Criteria
Given
A database entry is being processed and needs a PCB sequence number
When
The system encounters a database name that may have multiple instances
Then
The system counts how many times the same database name appears in ISCOM entries up to the current position to determine the correct PCB sequence number
R-CCISCOM-cbl-00063
Create New CCCOM Database Entry
Decision Rules
📊 Business Logic Narrative
When the process 'Create New CCCOM Database Entry' is invoked, and assuming that a pcb sequence number has been calculated for a database entry, when the system needs to assign the database number in cccom structure, the desired outcome is that if the pcb sequence number is '1', the database number is set to spaces, otherwise the actual pcb sequence number is assigned as the database number.
💻 Technical Criteria
Given
A PCB sequence number has been calculated for a database entry
When
The system needs to assign the database number in CCCOM structure
Then
If the PCB sequence number is '1', the database number is set to spaces, otherwise the actual PCB sequence number is assigned as the database number
💰 Bond & Financial Auth
8 logic blocks
R-CCISCOM-cbl-00002
2:ISCOM Initialization
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '2:ISCOM Initialization', assuming that iscom structure exists with incompatible sit version and cccom structure contains source data, when the sit version in iscom does not match the working storage iscom version, the desired outcome is that initialize iscom with default values from iscomval, copy common area from cccom, and update sit version.
💻 Technical Criteria
EXCLUDING
ISCOM structure exists with incompatible SIT version and CCCOM structure contains source data
When
The SIT version in ISCOM does not match the working storage ISCOM version
Then
Initialize ISCOM with default values from ISCOMVAL, copy common area from CCCOM, and update SIT version
R-CCISCOM-cbl-00017
17:Database Number Assignment
Decision Rules
📊 Business Logic Narrative
When the process '17:Database Number Assignment' is invoked, and assuming that iscom pcb number has been calculated for database entry and cccom entry requires database number, when finalizing cccom database entry creation during reverse conversion, the desired outcome is that if iscom pcb number equals '1' then set cccom database number to spaces, otherwise set cccom database number to iscom pcb number value.
💻 Technical Criteria
Given
ISCOM PCB number has been calculated for database entry and CCCOM entry requires database number
When
Finalizing CCCOM database entry creation during reverse conversion
Then
If ISCOM PCB number equals '1' then set CCCOM database number to spaces, otherwise set CCCOM database number to ISCOM PCB number value
R-CCISCOM-cbl-00021
Initialize ISCOM with Default Values
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Initialize ISCOM with Default Values', assuming that iscom version (cc-sit-version of iscom) does not equal the working storage iscom version (ws-iscom-version), when the system processes iscom initialization, the desired outcome is that iscom structure is populated with default values from iscomval.
💻 Technical Criteria
EXCLUDING
ISCOM version (CC-SIT-VERSION OF ISCOM) does not equal the working storage ISCOM version (WS-ISCOM-VERSION)
When
The system processes ISCOM initialization
Then
ISCOM structure is populated with default values from ISCOMVAL
R-CCISCOM-cbl-00022
Copy Common Area Data from CCCOM
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Copy Common Area Data from CCCOM', assuming that iscom version does not match expected version and iscom has been initialized with default values, when the system processes common area data transfer, the desired outcome is that common area data (cc-common-area) is copied from cccom to iscom.
💻 Technical Criteria
EXCLUDING
ISCOM version does not match expected version and ISCOM has been initialized with default values
When
The system processes common area data transfer
Then
Common area data (CC-COMMON-AREA) is copied from CCCOM to ISCOM
R-CCISCOM-cbl-00024
Initialize ISCOM with Default Values
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Initialize ISCOM with Default Values', assuming that iscom version does not match expected version and initialization is in progress, when the system processes lt-pcbs data transfer, the desired outcome is that lt-pcbs data (cc-lt-pcbs) is copied from cccom to iscom.
💻 Technical Criteria
EXCLUDING
ISCOM version does not match expected version and initialization is in progress
When
The system processes LT-PCBS data transfer
Then
LT-PCBS data (CC-LT-PCBS) is copied from CCCOM to ISCOM
R-CCISCOM-cbl-00034
PCB Number Processing - Process and validate PCB numbers, defaulting to '1' when spaces are found
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'PCB Number Processing - Process and validate PCB numbers, defaulting to '1' when spaces are found', assuming that a database entry from cccom table with a valid pcb number that is not spaces, when the pcb number field contains a valid non-space value, the desired outcome is that the system preserves the existing pcb number value without modification.
💻 Technical Criteria
EXCLUDING
A database entry from CCCOM table with a valid PCB number that is not spaces
When
The PCB number field contains a valid non-space value
Then
The system preserves the existing PCB number value without modification
R-CCISCOM-cbl-00048
Set CCCOM Version to Expected Value
Action Rules
📊 Business Logic Narrative
When the process 'Set CCCOM Version to Expected Value' is invoked, and assuming that reverse conversion process is in progress, when version update is required, the desired outcome is that cccom sit version is set to the working storage cccom version value.
💻 Technical Criteria
Given
Reverse conversion process is in progress
When
Version update is required
Then
CCCOM SIT version is set to the working storage CCCOM version value
R-CCISCOM-cbl-00052
PCB Address ≠ Zero?
Decision Rules
📊 Business Logic Narrative
When the process 'PCB Address ≠ Zero?' is invoked, and assuming that an iscom entry with a pcb address field, when the system evaluates the pcb address value, the desired outcome is that if pcb address is not equal to zero, the entry is identified as active and processing continues; if pcb address equals zero, the entry is skipped as inactive.
💻 Technical Criteria
Given
An ISCOM entry with a PCB address field
When
The system evaluates the PCB address value
Then
If PCB address is not equal to zero, the entry is identified as active and processing continues; if PCB address equals zero, the entry is skipped as inactive
🔁 EDI, Status & Database
50 logic blocks
R-CCISCOM-cbl-00001
1:Version Check and Data Transfer
Decision Rules
📊 Business Logic Narrative
When the process '1:Version Check and Data Transfer' is invoked, and assuming that iscom structure exists with a sit version field and cccom structure contains common area data, when the sit version in iscom matches the working storage iscom version, the desired outcome is that copy common area from cccom to iscom and update iscom sit version to working storage version.
💻 Technical Criteria
Given
ISCOM structure exists with a SIT version field and CCCOM structure contains common area data
When
The SIT version in ISCOM matches the working storage ISCOM version
Then
Copy common area from CCCOM to ISCOM and update ISCOM SIT version to working storage version
R-CCISCOM-cbl-00003
3:Cross-Reference Address Setup
Process Rules
📊 Business Logic Narrative
When the process '3:Cross-Reference Address Setup' is invoked, and assuming that cccom and iscom structures require cross-referencing for communication, when iscom version mismatch triggers full initialization process, the desired outcome is that set cccom address in iscom structure and set iscom address in cccom structure.
💻 Technical Criteria
Given
CCCOM and ISCOM structures require cross-referencing for communication
When
ISCOM version mismatch triggers full initialization process
Then
Set CCCOM address in ISCOM structure and set ISCOM address in CCCOM structure
R-CCISCOM-cbl-00004
4:PCB Transfer
Process Rules
📊 Business Logic Narrative
When the process '4:PCB Transfer' is invoked, and assuming that cccom contains lt-pcbs information and iscom requires pcb data, when full iscom initialization is required due to version mismatch, the desired outcome is that copy lt-pcbs data from cccom to iscom structure.
💻 Technical Criteria
Given
CCCOM contains LT-PCBS information and ISCOM requires PCB data
When
Full ISCOM initialization is required due to version mismatch
Then
Copy LT-PCBS data from CCCOM to ISCOM structure
R-CCISCOM-cbl-00008
8:PCB Counter Management
Computation Rules
📊 Business Logic Narrative
When the process '8:PCB Counter Management' is invoked, and assuming that cccom database name matches iscom database name during scanning process, when database names are identical between cccom entry and iscom entry, the desired outcome is that increment iscom pcb number by 1.
💻 Technical Criteria
Given
CCCOM database name matches ISCOM database name during scanning process
When
Database names are identical between CCCOM entry and ISCOM entry
Then
Increment ISCOM PCB number by 1
R-CCISCOM-cbl-00009
9:PCB Address Mapping
Process Rules
📊 Business Logic Narrative
When the process '9:PCB Address Mapping' is invoked, and assuming that iscom pcb number equals cccom pcb number for matching database names, when pcb numbers match after incrementing iscom pcb counter, the desired outcome is that set pcb address in iscom entry to match pcb address from corresponding cccom entry.
💻 Technical Criteria
Given
ISCOM PCB number equals CCCOM PCB number for matching database names
When
PCB numbers match after incrementing ISCOM PCB counter
Then
Set PCB address in ISCOM entry to match PCB address from corresponding CCCOM entry
R-CCISCOM-cbl-00010
10:Reverse Conversion Version Check
Decision Rules
📊 Business Logic Narrative
When the process '10:Reverse Conversion Version Check' is invoked, and assuming that cccom structure exists with sit version field and iscom structure contains source data, when reverse conversion entry point is accessed and cccom sit version matches working storage cccom version, the desired outcome is that copy common area from iscom to cccom and update cccom sit version to working storage version.
💻 Technical Criteria
Given
CCCOM structure exists with SIT version field and ISCOM structure contains source data
When
Reverse conversion entry point is accessed and CCCOM SIT version matches working storage CCCOM version
Then
Copy common area from ISCOM to CCCOM and update CCCOM SIT version to working storage version
R-CCISCOM-cbl-00011
11:Reverse Data Transfer
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '11:Reverse Data Transfer', assuming that cccom sit version does not match working storage version and iscom contains source data, when reverse conversion is initiated with version mismatch, the desired outcome is that copy common area from iscom to cccom and update cccom sit version to working storage version.
💻 Technical Criteria
EXCLUDING
CCCOM SIT version does not match working storage version and ISCOM contains source data
When
Reverse conversion is initiated with version mismatch
Then
Copy common area from ISCOM to CCCOM and update CCCOM SIT version to working storage version
R-CCISCOM-cbl-00012
12:Reverse PCB Transfer
Process Rules
📊 Business Logic Narrative
When the process '12:Reverse PCB Transfer' is invoked, and assuming that iscom contains lt-pcbs information and cccom requires pcb data during reverse conversion, when cccom version mismatch triggers full reverse initialization, the desired outcome is that copy lt-pcbs data from iscom to cccom structure and set up cross-reference addresses.
💻 Technical Criteria
Given
ISCOM contains LT-PCBS information and CCCOM requires PCB data during reverse conversion
When
CCCOM version mismatch triggers full reverse initialization
Then
Copy LT-PCBS data from ISCOM to CCCOM structure and set up cross-reference addresses
R-CCISCOM-cbl-00013
13:Active PCB Identification
Validation Rules
📊 Business Logic Narrative
When the process '13:Active PCB Identification' is invoked, and assuming that iscom table contains entries with pcb address fields that may be zero or non-zero, when scanning iscom entries during reverse conversion process, the desired outcome is that process only entries where pcb address is not equal to zero.
💻 Technical Criteria
Given
ISCOM table contains entries with PCB address fields that may be zero or non-zero
When
Scanning ISCOM entries during reverse conversion process
Then
Process only entries where PCB address is not equal to zero
R-CCISCOM-cbl-00015
15:Database Entry Creation
Process Rules
📊 Business Logic Narrative
When the process '15:Database Entry Creation' is invoked, and assuming that active iscom entry contains database name and pcb information, when processing iscom entry with non-zero pcb address during reverse conversion, the desired outcome is that increment cccom entry counter and copy database name from iscom to cccom entry.
💻 Technical Criteria
Given
Active ISCOM entry contains database name and PCB information
When
Processing ISCOM entry with non-zero PCB address during reverse conversion
Then
Increment CCCOM entry counter and copy database name from ISCOM to CCCOM entry
R-CCISCOM-cbl-00016
16:Reverse PCB Address Mapping
Process Rules
📊 Business Logic Narrative
When the process '16:Reverse PCB Address Mapping' is invoked, and assuming that iscom entry contains pcb address and corresponding cccom entry has been created, when creating cccom database entry from active iscom entry, the desired outcome is that set pcb address in cccom entry to match pcb address from iscom entry.
💻 Technical Criteria
Given
ISCOM entry contains PCB address and corresponding CCCOM entry has been created
When
Creating CCCOM database entry from active ISCOM entry
Then
Set PCB address in CCCOM entry to match PCB address from ISCOM entry
R-CCISCOM-cbl-00018
Is ISCOM Version Already Set?
Decision Rules
📊 Business Logic Narrative
When the process 'Is ISCOM Version Already Set?' is invoked, and assuming that iscom communication area exists with a sit version field and ws-iscom-version contains the expected version, when the system compares cc-sit-version of iscom with ws-iscom-version, the desired outcome is that if versions match, proceed with simple data transfer; if versions don't match, proceed with full initialization.
💻 Technical Criteria
Given
ISCOM communication area exists with a SIT version field and WS-ISCOM-VERSION contains the expected version
When
The system compares CC-SIT-VERSION of ISCOM with WS-ISCOM-VERSION
Then
If versions match, proceed with simple data transfer; if versions don't match, proceed with full initialization
R-CCISCOM-cbl-00019
Transfer Common Area Data from CCCOM to ISCOM
Process Rules
📊 Business Logic Narrative
When the process 'Transfer Common Area Data from CCCOM to ISCOM' is invoked, and assuming that cccom and iscom communication areas exist with cc-common-area fields, when version compatibility check passes, the desired outcome is that copy cc-common-area from cccom to cc-common-area of iscom.
💻 Technical Criteria
Given
CCCOM and ISCOM communication areas exist with CC-COMMON-AREA fields
When
Version compatibility check passes
Then
Copy CC-COMMON-AREA from CCCOM to CC-COMMON-AREA of ISCOM
R-CCISCOM-cbl-00020
Set ISCOM Version
Process Rules
📊 Business Logic Narrative
When the process 'Set ISCOM Version' is invoked, and assuming that ws-iscom-version contains the current version and iscom has cc-sit-version field, when common area data transfer is completed, the desired outcome is that set cc-sit-version of iscom to ws-iscom-version.
💻 Technical Criteria
Given
WS-ISCOM-VERSION contains the current version and ISCOM has CC-SIT-VERSION field
When
Common area data transfer is completed
Then
Set CC-SIT-VERSION of ISCOM to WS-ISCOM-VERSION
R-CCISCOM-cbl-00023
Set ISCOM Version Number
Process Rules
📊 Business Logic Narrative
When the process 'Set ISCOM Version Number' is invoked, and assuming that iscom has been initialized and common area data has been copied, when the system finalizes iscom structure setup, the desired outcome is that iscom version (cc-sit-version of iscom) is set to the working storage iscom version (ws-iscom-version).
💻 Technical Criteria
Given
ISCOM has been initialized and common area data has been copied
When
The system finalizes ISCOM structure setup
Then
ISCOM version (CC-SIT-VERSION OF ISCOM) is set to the working storage ISCOM version (WS-ISCOM-VERSION)
R-CCISCOM-cbl-00025
Cross-Reference Address Setup - Set up bidirectional address references between CCCOM and ISCOM structures
Process Rules
📊 Business Logic Narrative
When the process 'Cross-Reference Address Setup - Set up bidirectional address references between CCCOM and ISCOM structures' is invoked, and assuming that cccom and iscom communication structures exist and need to reference each other, when cross-reference setup is initiated, the desired outcome is that cccom address reference is stored in iscom structure and iscom address reference is stored in cccom structure and bidirectional references are established.
💻 Technical Criteria
Given
CCCOM and ISCOM communication structures exist and need to reference each other
When
Cross-reference setup is initiated
Then
CCCOM address reference is stored in ISCOM structure AND ISCOM address reference is stored in CCCOM structure AND bidirectional references are established
R-CCISCOM-cbl-00026
Transfer PCB Data to ISCOM Structure
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Transfer PCB Data to ISCOM Structure', assuming that cccom and iscom structures exist and cc-sit-version of iscom does not equal ws-iscom-version, when the system performs version compatibility processing, the desired outcome is that cc-lt-pcbs data from cccom structure is copied to cc-lt-pcbs field in iscom structure.
💻 Technical Criteria
EXCLUDING
CCCOM and ISCOM structures exist and CC-SIT-VERSION of ISCOM does not equal WS-ISCOM-VERSION
When
The system performs version compatibility processing
Then
CC-LT-PCBS data from CCCOM structure is copied to CC-LT-PCBS field in ISCOM structure
R-CCISCOM-cbl-00027
Transfer PCB Data to ISCOM Structure
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Transfer PCB Data to ISCOM Structure', assuming that iscom and cccom structures exist and cc-sit-version of cccom does not equal ws-cccom-version, when the system performs reverse version compatibility processing via iscccom entry point, the desired outcome is that cc-lt-pcbs data from iscom structure is copied to cc-lt-pcbs field in cccom structure.
💻 Technical Criteria
EXCLUDING
ISCOM and CCCOM structures exist and CC-SIT-VERSION of CCCOM does not equal WS-CCCOM-VERSION
When
The system performs reverse version compatibility processing via ISCCCOM entry point
Then
CC-LT-PCBS data from ISCOM structure is copied to CC-LT-PCBS field in CCCOM structure
R-CCISCOM-cbl-00028
Initialize Index I = 1
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Index I = 1' is invoked, and assuming that a database scanning operation needs to begin, when the system starts processing database entries, the desired outcome is that the index counter is set to position 1 to begin scanning from the first entry.
💻 Technical Criteria
Given
A database scanning operation needs to begin
When
The system starts processing database entries
Then
The index counter is set to position 1 to begin scanning from the first entry
R-CCISCOM-cbl-00029
Index I > CCCOM Table Size?
Validation Rules
📊 Business Logic Narrative
When the process 'Index I > CCCOM Table Size?' is invoked, and assuming that a database entry scanning operation is in progress with current index position i, when the system checks if the current index exceeds the cccom table size limit, the desired outcome is that if index i is greater than cccom table size, terminate the scanning process, otherwise continue to next validation.
💻 Technical Criteria
Given
A database entry scanning operation is in progress with current index position I
When
The system checks if the current index exceeds the CCCOM table size limit
Then
If index I is greater than CCCOM table size, terminate the scanning process, otherwise continue to next validation
R-CCISCOM-cbl-00032
Increment Index I by 1
Process Rules
📊 Business Logic Narrative
When the process 'Increment Index I by 1' is invoked, and assuming that a database entry has been successfully processed at position i, when the system completes processing the current database entry, the desired outcome is that increment the index i by 1 to move to the next database entry position for continued scanning.
💻 Technical Criteria
Given
A database entry has been successfully processed at position I
When
The system completes processing the current database entry
Then
Increment the index I by 1 to move to the next database entry position for continued scanning
R-CCISCOM-cbl-00067
Initialize PCB Counter to Zero
Process Rules
📊 Business Logic Narrative
When the process 'Initialize PCB Counter to Zero' is invoked, and assuming that a database entry is being processed, when the pcb counter initialization is performed, the desired outcome is that the iscom pcb number is set to zero.
💻 Technical Criteria
Given
A database entry is being processed
When
The PCB counter initialization is performed
Then
The ISCOM PCB number is set to zero
R-CCISCOM-cbl-00068
Extract PCB Number from Database Entry
Process Rules
📊 Business Logic Narrative
When the process 'Extract PCB Number from Database Entry' is invoked, and assuming that a database entry with index i is being processed, when pcb number extraction is performed, the desired outcome is that the pcb number from cccom database entry at index i is moved to cccom-pcb-number.
💻 Technical Criteria
Given
A database entry with index I is being processed
When
PCB number extraction is performed
Then
The PCB number from CCCOM database entry at index I is moved to CCCOM-PCB-NUMBER
R-CCISCOM-cbl-00035
Do Database Names Match?
Decision Rules
📊 Business Logic Narrative
When the process 'Do Database Names Match?' is invoked, and assuming that a cccom database entry at position i and an iscom database entry at position j are being compared, when the database name in cccom entry matches the database name in iscom entry, the desired outcome is that the system identifies this as a matching database pair and proceeds with pcb number increment and address mapping operations.
💻 Technical Criteria
Given
A CCCOM database entry at position I and an ISCOM database entry at position J are being compared
When
The database name in CCCOM entry matches the database name in ISCOM entry
Then
The system identifies this as a matching database pair and proceeds with PCB number increment and address mapping operations
R-CCISCOM-cbl-00036
Names Match - Proceed with Processing
Computation Rules
📊 Business Logic Narrative
When the process 'Names Match - Proceed with Processing' is invoked, and assuming that database names between cccom and iscom entries have been confirmed as matching, when the matching database names are identified, the desired outcome is that the iscom pcb number is incremented by 1 to maintain proper sequencing.
💻 Technical Criteria
Given
Database names between CCCOM and ISCOM entries have been confirmed as matching
When
The matching database names are identified
Then
The ISCOM PCB number is incremented by 1 to maintain proper sequencing
R-CCISCOM-cbl-00037
Names Match - Proceed with Processing
Action Rules
📊 Business Logic Narrative
When the process 'Names Match - Proceed with Processing' is invoked, and assuming that database names match and iscom pcb number has been incremented, when the current iscom pcb number equals the cccom pcb number for the matched database, the desired outcome is that the pcb address from cccom entry is assigned to the corresponding iscom entry.
💻 Technical Criteria
Given
Database names match and ISCOM PCB number has been incremented
When
The current ISCOM PCB number equals the CCCOM PCB number for the matched database
Then
The PCB address from CCCOM entry is assigned to the corresponding ISCOM entry
R-CCISCOM-cbl-00038
Increment PCB Counter by 1
Computation Rules
📊 Business Logic Narrative
When the process 'Increment PCB Counter by 1' is invoked, and assuming that a database name from cccom entry (i) and a database name from iscom entry (j) are being compared, when the database name from cccom matches the database name from iscom, the desired outcome is that the iscom pcb number counter is incremented by 1.
💻 Technical Criteria
Given
A database name from CCCOM entry (I) and a database name from ISCOM entry (J) are being compared
When
The database name from CCCOM matches the database name from ISCOM
Then
The ISCOM PCB number counter is incremented by 1
R-CCISCOM-cbl-00039
Database Names Match?
Validation Rules
📊 Business Logic Narrative
When the process 'Database Names Match?' is invoked, and assuming that a database name from cccom entry at position i and a database name from iscom entry at position j, when the system compares the two database names, the desired outcome is that if the names are identical, proceed to increment pcb counter; otherwise continue to next database entry.
💻 Technical Criteria
Given
A database name from CCCOM entry at position I and a database name from ISCOM entry at position J
When
The system compares the two database names
Then
If the names are identical, proceed to increment PCB counter; otherwise continue to next database entry
R-CCISCOM-cbl-00040
Increment PCB Counter by 1
Computation Rules
📊 Business Logic Narrative
When the process 'Increment PCB Counter by 1' is invoked, and assuming that two iscom database entries at positions i and k are being compared during reverse processing, when the database name at position i matches the database name at position k, the desired outcome is that the iscom pcb number counter is incremented by 1.
💻 Technical Criteria
Given
Two ISCOM database entries at positions I and K are being compared during reverse processing
When
The database name at position I matches the database name at position K
Then
The ISCOM PCB number counter is incremented by 1
R-CCISCOM-cbl-00041
Database Names Match Between CCCOM and ISCOM?
Validation Rules
📊 Business Logic Narrative
When the process 'Database Names Match Between CCCOM and ISCOM?' is invoked, and assuming that a cccom entry at position i and an iscom entry at position j both contain database names, when the system compares the database name from cccom entry i with the database name from iscom entry j, the desired outcome is that if the database names are identical, the system proceeds with pcb counter increment; otherwise, it continues to the next entry.
💻 Technical Criteria
Given
A CCCOM entry at position I and an ISCOM entry at position J both contain database names
When
The system compares the database name from CCCOM entry I with the database name from ISCOM entry J
Then
If the database names are identical, the system proceeds with PCB counter increment; otherwise, it continues to the next entry
R-CCISCOM-cbl-00042
Increment ISCOM PCB Counter
Computation Rules
📊 Business Logic Narrative
When the process 'Increment ISCOM PCB Counter' is invoked, and assuming that database names match between cccom entry i and iscom entry j, when the system processes the matching database entries, the desired outcome is that the iscom pcb number counter is incremented by 1.
💻 Technical Criteria
Given
Database names match between CCCOM entry I and ISCOM entry J
When
The system processes the matching database entries
Then
The ISCOM PCB number counter is incremented by 1
R-CCISCOM-cbl-00044
Map PCB Address from CCCOM to ISCOM
Process Rules
📊 Business Logic Narrative
When the process 'Map PCB Address from CCCOM to ISCOM' is invoked, and assuming that database names match and pcb numbers are equal between cccom entry i and iscom entry j, when the system performs pcb address mapping, the desired outcome is that the pcb address from cccom entry i is assigned to iscom entry j.
💻 Technical Criteria
Given
Database names match and PCB numbers are equal between CCCOM entry I and ISCOM entry J
When
The system performs PCB address mapping
Then
The PCB address from CCCOM entry I is assigned to ISCOM entry J
R-CCISCOM-cbl-00045
Reverse Conversion Version Check - Check if CCCOM version is already set for reverse conversion from ISCOM to CCCOM
Decision Rules
📊 Business Logic Narrative
When the process 'Reverse Conversion Version Check - Check if CCCOM version is already set for reverse conversion from ISCOM to CCCOM' is invoked, and assuming that a reverse conversion process is initiated with iscom and cccom communication areas, when the system checks the cccom sit version against the expected cccom version, the desired outcome is that if versions match, only common area data is transferred and cccom version is updated; if versions don't match, full initialization including common area, version update, lt-pcbs transfer, cross-references setup, and database scanning is performed.
💻 Technical Criteria
Given
A reverse conversion process is initiated with ISCOM and CCCOM communication areas
When
The system checks the CCCOM SIT version against the expected CCCOM version
Then
If versions match, only common area data is transferred and CCCOM version is updated; if versions don't match, full initialization including common area, version update, LT-PCBS transfer, cross-references setup, and database scanning is performed
R-CCISCOM-cbl-00046
Version Already Set - Transfer Common Area Data Only
Process Rules
📊 Business Logic Narrative
When the process 'Version Already Set - Transfer Common Area Data Only' is invoked, and assuming that cccom sit version equals the working storage cccom version, when reverse conversion is performed, the desired outcome is that common area data is copied from iscom to cccom and cccom sit version is set to working storage cccom version.
💻 Technical Criteria
Given
CCCOM SIT version equals the working storage CCCOM version
When
Reverse conversion is performed
Then
Common area data is copied from ISCOM to CCCOM and CCCOM SIT version is set to working storage CCCOM version
R-CCISCOM-cbl-00047
Version Not Set - Proceed with Full Initialization
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Version Not Set - Proceed with Full Initialization', assuming that cccom sit version does not equal the working storage cccom version, when reverse conversion is performed, the desired outcome is that common area is copied from iscom to cccom, cccom sit version is updated, lt-pcbs are transferred from iscom to cccom, cross-reference addresses are established, and database address scanning is initiated.
💻 Technical Criteria
EXCLUDING
CCCOM SIT version does not equal the working storage CCCOM version
When
Reverse conversion is performed
Then
Common area is copied from ISCOM to CCCOM, CCCOM SIT version is updated, LT-PCBS are transferred from ISCOM to CCCOM, cross-reference addresses are established, and database address scanning is initiated
R-CCISCOM-cbl-00049
Transfer Common Area Data from ISCOM to CCCOM
Process Rules
📊 Business Logic Narrative
When the process 'Transfer Common Area Data from ISCOM to CCCOM' is invoked, and assuming that iscom structure contains common area data and cccom structure is available for data transfer, when reverse conversion process is initiated from iscom to cccom, the desired outcome is that common area data from iscom is copied to cccom structure.
💻 Technical Criteria
Given
ISCOM structure contains common area data and CCCOM structure is available for data transfer
When
Reverse conversion process is initiated from ISCOM to CCCOM
Then
Common area data from ISCOM is copied to CCCOM structure
R-CCISCOM-cbl-00050
Set CCCOM Version Number
Process Rules
📊 Business Logic Narrative
When the process 'Set CCCOM Version Number' is invoked, and assuming that cccom structure is being updated during reverse conversion and working storage contains cccom version number, when common area data transfer is completed, the desired outcome is that cccom sit version is set to the working storage cccom version number.
💻 Technical Criteria
Given
CCCOM structure is being updated during reverse conversion and working storage contains CCCOM version number
When
Common area data transfer is completed
Then
CCCOM SIT version is set to the working storage CCCOM version number
R-CCISCOM-cbl-00051
Transfer PCB Data to CCCOM Structure
Process Rules
📊 Business Logic Narrative
When the process 'Transfer PCB Data to CCCOM Structure' is invoked, and assuming that iscom structure contains pcb information in cc-lt-pcbs field and cccom structure is available for data transfer, when reverse conversion process is initiated and version compatibility requires pcb data synchronization, the desired outcome is that pcb information from iscom cc-lt-pcbs field is copied to cccom cc-lt-pcbs field.
💻 Technical Criteria
Given
ISCOM structure contains PCB information in CC-LT-PCBS field and CCCOM structure is available for data transfer
When
reverse conversion process is initiated and version compatibility requires PCB data synchronization
Then
PCB information from ISCOM CC-LT-PCBS field is copied to CCCOM CC-LT-PCBS field
R-CCISCOM-cbl-00054
Continue Processing Active Entry
Process Rules
📊 Business Logic Narrative
When the process 'Continue Processing Active Entry' is invoked, and assuming that an active iscom entry and a target cccom entry position, when the system processes the active pcb entry, the desired outcome is that the database name from iscom entry is copied to the cccom entry at the current position.
💻 Technical Criteria
Given
An active ISCOM entry and a target CCCOM entry position
When
The system processes the active PCB entry
Then
The database name from ISCOM entry is copied to the CCCOM entry at the current position
R-CCISCOM-cbl-00056
Continue Processing Active Entry
Decision Rules
📊 Business Logic Narrative
When the process 'Continue Processing Active Entry' is invoked, and assuming that a calculated iscom pcb number and a target cccom entry, when the system determines the pcb number assignment, the desired outcome is that if iscom pcb number equals '1', cccom database number is set to spaces; otherwise iscom pcb number is copied to cccom database number.
💻 Technical Criteria
Given
A calculated ISCOM PCB number and a target CCCOM entry
When
The system determines the PCB number assignment
Then
If ISCOM PCB number equals '1', CCCOM database number is set to spaces; otherwise ISCOM PCB number is copied to CCCOM database number
R-CCISCOM-cbl-00073
Copy Database Name from ISCOM to CCCOM
Process Rules
📊 Business Logic Narrative
When the process 'Copy Database Name from ISCOM to CCCOM' is invoked, and assuming that an active pcb entry is being processed and cccom counter has been incremented, when the system needs to populate the cccom entry with database information, the desired outcome is that the database name from the current iscom entry is copied to the corresponding cccom entry.
💻 Technical Criteria
Given
An active PCB entry is being processed and CCCOM counter has been incremented
When
The system needs to populate the CCCOM entry with database information
Then
The database name from the current ISCOM entry is copied to the corresponding CCCOM entry
R-CCISCOM-cbl-00074
Map PCB Address from ISCOM to CCCOM
Process Rules
📊 Business Logic Narrative
When the process 'Map PCB Address from ISCOM to CCCOM' is invoked, and assuming that database name has been copied from iscom to cccom, when the system needs to establish address mapping, the desired outcome is that the pcb address from the current iscom entry is mapped to the corresponding cccom entry.
💻 Technical Criteria
Given
Database name has been copied from ISCOM to CCCOM
When
The system needs to establish address mapping
Then
The PCB address from the current ISCOM entry is mapped to the corresponding CCCOM entry
R-CCISCOM-cbl-00077
Compare Database Names: ISCOM K vs ISCOM I
Decision Rules
📊 Business Logic Narrative
When the process 'Compare Database Names: ISCOM K vs ISCOM I' is invoked, and assuming that two database entries in the iscom table at positions k and i, when the system compares the database names at these positions, the desired outcome is that if the database names match exactly, the system identifies them as the same database requiring sequential pcb numbering.
💻 Technical Criteria
Given
Two database entries in the ISCOM table at positions K and I
When
The system compares the database names at these positions
Then
If the database names match exactly, the system identifies them as the same database requiring sequential PCB numbering
R-CCISCOM-cbl-00079
Compare Database Names: ISCOM K vs ISCOM I
Decision Rules
📊 Business Logic Narrative
When the process 'Compare Database Names: ISCOM K vs ISCOM I' is invoked, and assuming that two iscom table entries with positions k and i are being compared, where k represents the comparison entry and i represents the current processing entry, when the database name in iscom entry at position k equals the database name in iscom entry at position i, the desired outcome is that the iscom pcb number counter is incremented by 1 to track the occurrence of matching database names.
💻 Technical Criteria
Given
Two ISCOM table entries with positions K and I are being compared, where K represents the comparison entry and I represents the current processing entry
When
The database name in ISCOM entry at position K equals the database name in ISCOM entry at position I
Then
The ISCOM PCB number counter is incremented by 1 to track the occurrence of matching database names
R-CCISCOM-cbl-00059
Initialize CCCOM Entry Counter to 0
Process Rules
📊 Business Logic Narrative
When the process 'Initialize CCCOM Entry Counter to 0' is invoked, and assuming that the database entry creation process is starting, when the system begins processing iscom entries for conversion to cccom, the desired outcome is that the cccom entry counter (j) is set to zero to track new entries.
💻 Technical Criteria
Given
The database entry creation process is starting
When
The system begins processing ISCOM entries for conversion to CCCOM
Then
The CCCOM entry counter (J) is set to zero to track new entries
R-CCISCOM-cbl-00060
ISCOM Entry Has Active PCB Address?
Validation Rules
📊 Business Logic Narrative
When the process 'ISCOM Entry Has Active PCB Address?' is invoked, and assuming that an iscom database entry is being evaluated for conversion, when the system checks the pcb address of the iscom entry, the desired outcome is that if pcb address is not zero, the entry is considered active and eligible for processing, otherwise it is skipped.
💻 Technical Criteria
Given
An ISCOM database entry is being evaluated for conversion
When
The system checks the PCB address of the ISCOM entry
Then
If PCB address is not zero, the entry is considered active and eligible for processing, otherwise it is skipped
R-CCISCOM-cbl-00061
Create New CCCOM Database Entry
Process Rules
📊 Business Logic Narrative
When the process 'Create New CCCOM Database Entry' is invoked, and assuming that an active iscom database entry needs to be converted to cccom format, when the system processes the iscom entry with non-zero pcb address, the desired outcome is that the system increments the cccom entry counter, copies the database name from iscom to cccom, sets the pcb address, and assigns the database number (spaces if pcb number is '1', otherwise the actual pcb number).
💻 Technical Criteria
Given
An active ISCOM database entry needs to be converted to CCCOM format
When
The system processes the ISCOM entry with non-zero PCB address
Then
The system increments the CCCOM entry counter, copies the database name from ISCOM to CCCOM, sets the PCB address, and assigns the database number (spaces if PCB number is '1', otherwise the actual PCB number)
R-CCISCOM-cbl-00064
Copy PCB Address from ISCOM Entry I to CCCOM Entry J
Process Rules
📊 Business Logic Narrative
When the process 'Copy PCB Address from ISCOM Entry I to CCCOM Entry J' is invoked, and assuming that an iscom entry at position i contains a valid pcb address and a corresponding cccom entry exists at position j, when the system performs reverse conversion from iscom to cccom format, the desired outcome is that the pcb address from iscom entry i is copied to cccom entry j to establish the database access reference.
💻 Technical Criteria
Given
An ISCOM entry at position I contains a valid PCB address and a corresponding CCCOM entry exists at position J
When
The system performs reverse conversion from ISCOM to CCCOM format
Then
The PCB address from ISCOM entry I is copied to CCCOM entry J to establish the database access reference
R-CCISCOM-cbl-00065
Assign SPACES to Database Number - First Occurrence
Decision Rules
📊 Business Logic Narrative
When the process 'Assign SPACES to Database Number - First Occurrence' is invoked, and assuming that a database entry is being processed during iscom to cccom conversion and the iscom pcb number has been determined, when the iscom pcb number equals '1' indicating this is the first occurrence of this database name, the desired outcome is that the database number field in the cccom entry should be set to spaces to mark it as the primary database reference.
💻 Technical Criteria
Given
A database entry is being processed during ISCOM to CCCOM conversion and the ISCOM PCB number has been determined
When
The ISCOM PCB number equals '1' indicating this is the first occurrence of this database name
Then
The database number field in the CCCOM entry should be set to spaces to mark it as the primary database reference
R-CCISCOM-cbl-00066
Assign PCB Number to Database Number - Subsequent Occurrence
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Assign PCB Number to Database Number - Subsequent Occurrence', assuming that a database entry is being processed during iscom to cccom conversion and the iscom pcb number has been determined, when the iscom pcb number is not equal to '1' indicating this is a subsequent occurrence of this database name, the desired outcome is that the database number field in the cccom entry should be set to the actual iscom pcb number to maintain proper sequencing.
💻 Technical Criteria
EXCLUDING
A database entry is being processed during ISCOM to CCCOM conversion and the ISCOM PCB number has been determined
When
The ISCOM PCB number is not equal to '1' indicating this is a subsequent occurrence of this database name
Then
The database number field in the CCCOM entry should be set to the actual ISCOM PCB number to maintain proper sequencing
🚂 Equipment & Cargo Specs
7 logic blocks
R-CCISCOM-cbl-00005
5:Database Name Scanning
Process Rules
📊 Business Logic Narrative
When the process '5:Database Name Scanning' is invoked, and assuming that cccom table contains database entries with names and cccom-table-size defines maximum entries, when database address scanning is initiated during iscom initialization, the desired outcome is that process each cccom entry from position 1 until reaching table size limit or finding empty database name.
💻 Technical Criteria
Given
CCCOM table contains database entries with names and CCCOM-TABLE-SIZE defines maximum entries
When
Database address scanning is initiated during ISCOM initialization
Then
Process each CCCOM entry from position 1 until reaching table size limit or finding empty database name
R-CCISCOM-cbl-00006
6:PCB Number Processing
Validation Rules
📊 Business Logic Narrative
When the process '6:PCB Number Processing' is invoked, and assuming that cccom entry contains database number field that may be empty or contain spaces, when processing a cccom database entry during scanning, the desired outcome is that initialize iscom pcb number to zero, copy database number from cccom, and if database number is spaces then set cccom pcb number to '1'.
💻 Technical Criteria
Given
CCCOM entry contains database number field that may be empty or contain spaces
When
Processing a CCCOM database entry during scanning
Then
Initialize ISCOM PCB number to zero, copy database number from CCCOM, and if database number is spaces then set CCCOM PCB number to '1'
R-CCISCOM-cbl-00007
7:Database Name Matching
Process Rules
📊 Business Logic Narrative
When the process '7:Database Name Matching' is invoked, and assuming that cccom entry has database name and iscom table contains database entries with names, when scanning iscom table for matching database names during address mapping, the desired outcome is that process each iscom entry from position 1 until reaching table size limit or finding empty database name.
💻 Technical Criteria
Given
CCCOM entry has database name and ISCOM table contains database entries with names
When
Scanning ISCOM table for matching database names during address mapping
Then
Process each ISCOM entry from position 1 until reaching table size limit or finding empty database name
R-CCISCOM-cbl-00030
Database Name at Position I = SPACES?
Validation Rules
📊 Business Logic Narrative
When the process 'Database Name at Position I = SPACES?' is invoked, and assuming that a database entry at position i within the valid table range, when the system examines the database name field at the current position, the desired outcome is that if the database name contains only spaces (empty), terminate the scanning process, otherwise proceed to process the current entry.
💻 Technical Criteria
Given
A database entry at position I within the valid table range
When
The system examines the database name field at the current position
Then
If the database name contains only spaces (empty), terminate the scanning process, otherwise proceed to process the current entry
R-CCISCOM-cbl-00031
Process Current Database Entry
Action Rules
📊 Business Logic Narrative
When the process 'Process Current Database Entry' is invoked, and assuming that a valid database entry at position i with a non-empty database name, when the system needs to process the database entry for address mapping, the desired outcome is that invoke the database address scanning procedure (100-scan-cc-db-addr) to handle pcb number processing and database name matching.
💻 Technical Criteria
Given
A valid database entry at position I with a non-empty database name
When
The system needs to process the database entry for address mapping
Then
Invoke the database address scanning procedure (100-SCAN-CC-DB-ADDR) to handle PCB number processing and database name matching
R-CCISCOM-cbl-00069
Set PCB Number to Default '1'
Validation Rules
📊 Business Logic Narrative
When the process 'Set PCB Number to Default '1'' is invoked, and assuming that a database entry is being processed and the cccom-pcb-number is empty or contains spaces, when the pcb number validation is performed, the desired outcome is that the cccom-pcb-number is set to '1'.
💻 Technical Criteria
Given
A database entry is being processed and the CCCOM-PCB-NUMBER is empty or contains spaces
When
The PCB number validation is performed
Then
The CCCOM-PCB-NUMBER is set to '1'
R-CCISCOM-cbl-00033
PCB Number Processing - Process and validate PCB numbers, defaulting to '1' when spaces are found
Validation Rules
📊 Business Logic Narrative
When the process 'PCB Number Processing - Process and validate PCB numbers, defaulting to '1' when spaces are found' is invoked, and assuming that a database entry from cccom table with pcb number field that may be empty or contain spaces, when the pcb number field contains spaces or is empty, the desired outcome is that the system assigns default pcb number '1' to the cccom pcb number field.
💻 Technical Criteria
Given
A database entry from CCCOM table with PCB number field that may be empty or contain spaces
When
The PCB number field contains spaces or is empty
Then
The system assigns default PCB number '1' to the CCCOM PCB number field
Module Tracker: CERR
21 Validations & RulesModule Objective: No description provided from architecture analysis.
💰 Bond & Financial Auth
4 logic blocks
R-CERR-cbl-00003
2:Environment Detection - CC-PROD-TEST-IMS = WS-PROD?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '2:Environment Detection - CC-PROD-TEST-IMS = WS-PROD?', assuming that the system is not in dump-only mode and environment detection is required, when the system compares cc-prod-test-ims with ws-prod value, the desired outcome is that if cc-prod-test-ims equals ws-prod, route to production error handling; otherwise route to test error handling.
💻 Technical Criteria
EXCLUDING
The system is not in dump-only mode and environment detection is required
When
The system compares CC-PROD-TEST-IMS with WS-PROD value
Then
If CC-PROD-TEST-IMS equals WS-PROD, route to production error handling; otherwise route to test error handling
R-CERR-cbl-00010
No explicit initialization code found in provided COBOL snippet
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'No explicit initialization code found in provided COBOL snippet', assuming that the system is not in dump-only mode and environment indicator cc-prod-test-ims is available, when the environment indicator cc-prod-test-ims equals the production value ws-prod, the desired outcome is that the production error handler cerrprod is invoked with cccom parameters.
💻 Technical Criteria
EXCLUDING
The system is not in dump-only mode and environment indicator CC-PROD-TEST-IMS is available
When
The environment indicator CC-PROD-TEST-IMS equals the production value WS-PROD
Then
The production error handler CERRPROD is invoked with CCCOM parameters
R-CERR-cbl-00011
No explicit initialization code found in provided COBOL snippet
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'No explicit initialization code found in provided COBOL snippet', assuming that the system is not in dump-only mode and environment indicator cc-prod-test-ims is available, when the environment indicator cc-prod-test-ims does not equal the production value ws-prod, the desired outcome is that the test error handler cerrtest is invoked with cccom parameters.
💻 Technical Criteria
EXCLUDING
The system is not in dump-only mode and environment indicator CC-PROD-TEST-IMS is available
When
The environment indicator CC-PROD-TEST-IMS does not equal the production value WS-PROD
Then
The test error handler CERRTEST is invoked with CCCOM parameters
R-CERR-cbl-00013
Compare CC-PROD-TEST-IMS with WS-PROD Value
Decision Rules
📊 Business Logic Narrative
When the process 'Compare CC-PROD-TEST-IMS with WS-PROD Value' is invoked, and assuming that the system has access to cc-prod-test-ims environment flag and ws-prod production environment value, when the system compares cc-prod-test-ims with ws-prod value, the desired outcome is that if cc-prod-test-ims equals ws-prod then environment is identified as production, otherwise environment is identified as test.
💻 Technical Criteria
Given
The system has access to CC-PROD-TEST-IMS environment flag and WS-PROD production environment value
When
The system compares CC-PROD-TEST-IMS with WS-PROD value
Then
If CC-PROD-TEST-IMS equals WS-PROD then environment is identified as Production, otherwise environment is identified as Test
📍 Routing, Border & Port
3 logic blocks
R-CERR-cbl-00017
Test Environment Detected
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Test Environment Detected', assuming that the system is running in test environment (cc-prod-test-ims is not equal to ws-prod) and dump-only mode is disabled (ws-dump-only is false), when an error condition occurs requiring error processing, the desired outcome is that the system routes the error to the test error handler (cerrtest) and passes error information through the communication area (cccom).
💻 Technical Criteria
EXCLUDING
The system is running in test environment (CC-PROD-TEST-IMS is not equal to WS-PROD) and dump-only mode is disabled (WS-DUMP-ONLY is false)
When
An error condition occurs requiring error processing
Then
The system routes the error to the test error handler (CERRTEST) and passes error information through the communication area (CCCOM)
R-CERR-cbl-00018
Route Error to Test Handler
Decision Rules
📊 Business Logic Narrative
When the process 'Route Error to Test Handler' is invoked, and assuming that the system is operating in dump-only mode (ws-dump-only is true), when an error condition occurs, the desired outcome is that the system bypasses all error processing routines and skips calling any error handlers.
💻 Technical Criteria
Given
The system is operating in dump-only mode (WS-DUMP-ONLY is true)
When
An error condition occurs
Then
The system bypasses all error processing routines and skips calling any error handlers
R-CERR-cbl-00020
Display blocking error message to system error output
Process Rules
📊 Business Logic Narrative
When the process 'Display blocking error message to system error output' is invoked, and assuming that a blocking error condition has occurred in the cims system, when the error notification display process is executed, the desired outcome is that display a top border line of hash symbols to system error output and display the blocking error message 'cims: blocking error.' to system error output and display a bottom border line of hash symbols to system error output.
💻 Technical Criteria
Given
A blocking error condition has occurred in the CIMS system
When
The error notification display process is executed
Then
Display a top border line of hash symbols to system error output AND display the blocking error message 'CIMS: BLOCKING ERROR.' to system error output AND display a bottom border line of hash symbols to system error output
🔁 EDI, Status & Database
14 logic blocks
R-CERR-cbl-00001
4:Common Error Processing - Call DCCCOM
Action Rules
📊 Business Logic Narrative
When the process '4:Common Error Processing - Call DCCCOM' is invoked, and assuming that the error processing program starts execution, when the program begins error handling workflow, the desired outcome is that the common communication area cccom is initialized through dcccom service.
💻 Technical Criteria
Given
The error processing program starts execution
When
The program begins error handling workflow
Then
The common communication area CCCOM is initialized through DCCCOM service
R-CERR-cbl-00002
3:Dump Only Check - WS-DUMP-ONLY?
Decision Rules
📊 Business Logic Narrative
When the process '3:Dump Only Check - WS-DUMP-ONLY?' is invoked, and assuming that the common communication area has been initialized, when the system checks the dump-only mode flag ws-dump-only, the desired outcome is that if ws-dump-only is true, skip environment-specific error handling and proceed directly to error notification; if ws-dump-only is false, continue with environment detection.
💻 Technical Criteria
Given
The common communication area has been initialized
When
The system checks the dump-only mode flag WS-DUMP-ONLY
Then
If WS-DUMP-ONLY is true, skip environment-specific error handling and proceed directly to error notification; if WS-DUMP-ONLY is false, continue with environment detection
R-CERR-cbl-00004
5:Production Error Handling - Call CERRPROD
Action Rules
📊 Business Logic Narrative
When the process '5:Production Error Handling - Call CERRPROD' is invoked, and assuming that the system has detected production environment (cc-prod-test-ims equals ws-prod), when production error handling is required, the desired outcome is that the cerrprod service is invoked with cccom communication area to handle production-specific error processing.
💻 Technical Criteria
Given
The system has detected production environment (CC-PROD-TEST-IMS equals WS-PROD)
When
Production error handling is required
Then
The CERRPROD service is invoked with CCCOM communication area to handle production-specific error processing
R-CERR-cbl-00005
6:Test Error Handling - Call CERRTEST
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '6:Test Error Handling - Call CERRTEST', assuming that the system has detected test environment (cc-prod-test-ims does not equal ws-prod), when test error handling is required, the desired outcome is that the cerrtest service is invoked with cccom communication area to handle test-specific error processing.
💻 Technical Criteria
EXCLUDING
The system has detected test environment (CC-PROD-TEST-IMS does not equal WS-PROD)
When
Test error handling is required
Then
The CERRTEST service is invoked with CCCOM communication area to handle test-specific error processing
R-CERR-cbl-00006
7:Error Notification Display - Display blocking error message
Process Rules
📊 Business Logic Narrative
When the process '7:Error Notification Display - Display blocking error message' is invoked, and assuming that error processing has completed (either environment-specific handling or dump-only mode), when error notification is required, the desired outcome is that display blocking error message with header and footer delimiters to system error output (syserr).
💻 Technical Criteria
Given
Error processing has completed (either environment-specific handling or dump-only mode)
When
Error notification is required
Then
Display blocking error message with header and footer delimiters to system error output (SYSERR)
R-CERR-cbl-00007
8:Program Termination - Return control
Process Rules
📊 Business Logic Narrative
When the process '8:Program Termination - Return control' is invoked, and assuming that all error processing steps and notifications have been completed, when the error processing workflow reaches completion, the desired outcome is that return control to the calling program using goback statement.
💻 Technical Criteria
Given
All error processing steps and notifications have been completed
When
The error processing workflow reaches completion
Then
Return control to the calling program using GOBACK statement
R-CERR-cbl-00008
No explicit initialization code found in provided COBOL snippet
Action Rules
📊 Business Logic Narrative
When the process 'No explicit initialization code found in provided COBOL snippet' is invoked, and assuming that the error handling process is starting, when the main procedure begins execution, the desired outcome is that the communication area cccom is initialized through the dcccom module.
💻 Technical Criteria
Given
The error handling process is starting
When
The main procedure begins execution
Then
The communication area CCCOM is initialized through the DCCCOM module
R-CERR-cbl-00009
No explicit initialization code found in provided COBOL snippet
Decision Rules
📊 Business Logic Narrative
When the process 'No explicit initialization code found in provided COBOL snippet' is invoked, and assuming that the system has a dump-only mode flag ws-dump-only, when the dump-only mode is active (ws-dump-only is true), the desired outcome is that error processing is bypassed and control proceeds to program termination.
💻 Technical Criteria
Given
The system has a dump-only mode flag WS-DUMP-ONLY
When
The dump-only mode is active (WS-DUMP-ONLY is true)
Then
Error processing is bypassed and control proceeds to program termination
R-CERR-cbl-00012
No explicit initialization code found in provided COBOL snippet
Process Rules
📊 Business Logic Narrative
When the process 'No explicit initialization code found in provided COBOL snippet' is invoked, and assuming that the error handling process has completed initialization and conditional processing, when the program reaches the notification phase, the desired outcome is that a blocking error message is displayed to the system error output.
💻 Technical Criteria
Given
The error handling process has completed initialization and conditional processing
When
The program reaches the notification phase
Then
A blocking error message is displayed to the system error output
R-CERR-cbl-00014
Check WS-DUMP-ONLY Flag
Decision Rules
📊 Business Logic Narrative
When the process 'Check WS-DUMP-ONLY Flag' is invoked, and assuming that the system has initialized communication area and ws-dump-only flag is available, when the system checks the ws-dump-only flag status, the desired outcome is that if ws-dump-only is set to true, skip all further error processing and proceed to program termination; if ws-dump-only is false, continue to environment detection for error processing.
💻 Technical Criteria
Given
The system has initialized communication area and WS-DUMP-ONLY flag is available
When
The system checks the WS-DUMP-ONLY flag status
Then
If WS-DUMP-ONLY is set to true, skip all further error processing and proceed to program termination; If WS-DUMP-ONLY is false, continue to environment detection for error processing
R-CERR-cbl-00015
Call DCCCOM Program
Action Rules
📊 Business Logic Narrative
When the process 'Call DCCCOM Program' is invoked, and assuming that the system needs to perform error processing, when the main error processing procedure is executed, the desired outcome is that the system calls dcccom program using cccom communication area to perform standard error processing initialization.
💻 Technical Criteria
Given
The system needs to perform error processing
When
The main error processing procedure is executed
Then
The system calls DCCCOM program using CCCOM communication area to perform standard error processing initialization
R-CERR-cbl-00016
Call CERRPROD with Communication Area
Action Rules
📊 Business Logic Narrative
When the process 'Call CERRPROD with Communication Area' is invoked, and assuming that the system is running in production environment (cc-prod-test-ims equals ws-prod) and dump-only mode is disabled (not ws-dump-only is true) and communication area cccom is available, when an error condition requires processing through the production error handler, the desired outcome is that the system invokes the production error handler cerrprod with the communication area cccom to process the error according to production standards.
💻 Technical Criteria
Given
The system is running in production environment (CC-PROD-TEST-IMS equals WS-PROD) and dump-only mode is disabled (NOT WS-DUMP-ONLY is true) and communication area CCCOM is available
When
An error condition requires processing through the production error handler
Then
The system invokes the production error handler CERRPROD with the communication area CCCOM to process the error according to production standards
R-CERR-cbl-00019
Call CERRTEST Program
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Call CERRTEST Program', assuming that error processing is required for test environment and dump mode is not active, when the system determines test environment error handling is needed, the desired outcome is that the system calls the cerrtest program and passes the communication area (cccom) containing error details.
💻 Technical Criteria
EXCLUDING
Error processing is required for test environment and dump mode is not active
When
The system determines test environment error handling is needed
Then
The system calls the CERRTEST program and passes the communication area (CCCOM) containing error details
R-CERR-cbl-00021
Program Termination - Return control to calling program after error processing completion
Process Rules
📊 Business Logic Narrative
When the process 'Program Termination - Return control to calling program after error processing completion' is invoked, and assuming that error processing activities have been completed including communication setup, environment-based error handler execution, and blocking error message display, when the program reaches the termination point, the desired outcome is that the system executes program termination and returns control to the calling program.
💻 Technical Criteria
Given
Error processing activities have been completed including communication setup, environment-based error handler execution, and blocking error message display
When
The program reaches the termination point
Then
The system executes program termination and returns control to the calling program
Module Tracker: CIMS
140 Validations & RulesModule Objective: No description provided from architecture analysis.
⚙️ General Logic & Formats
20 logic blocks
R-CIMS-cbl-00001
1:Parameter Address Linkage Setup
Process Rules
📊 Business Logic Narrative
When the process '1:Parameter Address Linkage Setup' is invoked, and assuming that a cims program is invoked with linkage parameters, when the system processes the parameter count and argument addresses, the desired outcome is that memory addresses are established for cccom, func, and addr-area parameters and the argument count is stored for subsequent processing.
💻 Technical Criteria
Given
A CIMS program is invoked with linkage parameters
When
The system processes the parameter count and argument addresses
Then
Memory addresses are established for CCCOM, FUNC, and ADDR-AREA parameters and the argument count is stored for subsequent processing
R-CIMS-cbl-00017
Execute Address Linkage Parameters Routine
Action Rules
📊 Business Logic Narrative
When the process 'Execute Address Linkage Parameters Routine' is invoked, and assuming that the no-force-reset flag has been set, when the system needs to establish parameter address linkage, the desired outcome is that the address-linkage-parameters routine is performed to set up parameter addressing.
💻 Technical Criteria
Given
The NO-FORCE-RESET flag has been set
When
The system needs to establish parameter address linkage
Then
The ADDRESS-LINKAGE-PARAMETERS routine is performed to set up parameter addressing
R-CIMS-cbl-00018
Get Parameter Count from Linkage
Definitional Rules
📊 Business Logic Narrative
When the process 'Get Parameter Count from Linkage' is invoked, and assuming that the address linkage parameters routine has been executed, when the system needs to determine the number of parameters passed, the desired outcome is that the parameter count is moved from csilkcrd-parms-count to arg-count.
💻 Technical Criteria
Given
The address linkage parameters routine has been executed
When
The system needs to determine the number of parameters passed
Then
The parameter count is moved from CSILKCRD-PARMS-COUNT to ARG-COUNT
R-CIMS-cbl-00025
Parameter Count >= 5?
Validation Rules
📊 Business Logic Narrative
When the process 'Parameter Count >= 5?' is invoked, and assuming that parameter count and argument addresses are available, when parameter count is 5 or greater, the desired outcome is that ssa1 address is set from the 5th argument and ssa1 content is stored in the last ssa1 field of the common control area.
💻 Technical Criteria
Given
Parameter count and argument addresses are available
When
Parameter count is 5 or greater
Then
SSA1 address is set from the 5th argument and SSA1 content is stored in the last SSA1 field of the common control area
R-CIMS-cbl-00026
Parameter Count >= 6?
Validation Rules
📊 Business Logic Narrative
When the process 'Parameter Count >= 6?' is invoked, and assuming that parameter count and argument addresses are available, when parameter count is 6 or greater, the desired outcome is that ssa2 address is set from the 6th argument and ssa2 content is stored in the last ssa2 field of the common control area.
💻 Technical Criteria
Given
Parameter count and argument addresses are available
When
Parameter count is 6 or greater
Then
SSA2 address is set from the 6th argument and SSA2 content is stored in the last SSA2 field of the common control area
R-CIMS-cbl-00027
Parameter Count >= 7?
Validation Rules
📊 Business Logic Narrative
When the process 'Parameter Count >= 7?' is invoked, and assuming that parameter count and argument addresses are available, when parameter count is 7 or greater, the desired outcome is that ssa3 address is set from the 7th argument and ssa3 content is stored in the last ssa3 field of the common control area.
💻 Technical Criteria
Given
Parameter count and argument addresses are available
When
Parameter count is 7 or greater
Then
SSA3 address is set from the 7th argument and SSA3 content is stored in the last SSA3 field of the common control area
R-CIMS-cbl-00028
Parameter Count >= 8?
Validation Rules
📊 Business Logic Narrative
When the process 'Parameter Count >= 8?' is invoked, and assuming that parameter count and argument addresses are available, when parameter count is 8 or greater, the desired outcome is that ssa4 address is set from the 8th argument and ssa4 content is stored in the last ssa4 field of the common control area.
💻 Technical Criteria
Given
Parameter count and argument addresses are available
When
Parameter count is 8 or greater
Then
SSA4 address is set from the 8th argument and SSA4 content is stored in the last SSA4 field of the common control area
R-CIMS-cbl-00029
Parameter Count >= 9?
Validation Rules
📊 Business Logic Narrative
When the process 'Parameter Count >= 9?' is invoked, and assuming that parameter count and argument addresses are available, when parameter count is 9 or greater, the desired outcome is that ssa5 address is set from the 9th argument and ssa5 content is stored in the last ssa5 field of the common control area.
💻 Technical Criteria
Given
Parameter count and argument addresses are available
When
Parameter count is 9 or greater
Then
SSA5 address is set from the 9th argument and SSA5 content is stored in the last SSA5 field of the common control area
R-CIMS-cbl-00030
Parameter Count >= 10?
Validation Rules
📊 Business Logic Narrative
When the process 'Parameter Count >= 10?' is invoked, and assuming that parameter count and argument addresses are available, when parameter count is 10 or greater, the desired outcome is that ssa6 address is set from the 10th argument and ssa6 content is stored in the last ssa6 field of the common control area.
💻 Technical Criteria
Given
Parameter count and argument addresses are available
When
Parameter count is 10 or greater
Then
SSA6 address is set from the 10th argument and SSA6 content is stored in the last SSA6 field of the common control area
R-CIMS-cbl-00047
Force Reset Required?
Decision Rules
📊 Business Logic Narrative
When the process 'Force Reset Required?' is invoked, and assuming that segment level is valid (98 or 99), when the system evaluates the force-reset flag, the desired outcome is that the system proceeds with address reset if force reset is required, otherwise continues normal processing.
💻 Technical Criteria
Given
Segment level is valid (98 or 99)
When
The system evaluates the FORCE-RESET flag
Then
The system proceeds with address reset if force reset is required, otherwise continues normal processing
R-CIMS-cbl-00049
Continue Processing
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Continue Processing', assuming that the address area is null or not available, when the system needs to continue processing without a valid address area, the desired outcome is that the system sets the address area to csi-addr-area and generates a zero pcb address error message.
💻 Technical Criteria
EXCLUDING
The address area is null or not available
When
The system needs to continue processing without a valid address area
Then
The system sets the address area to CSI-ADDR-AREA and generates a zero PCB address error message
R-CIMS-cbl-00052
Initialize Table Search Counter to 1
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Table Search Counter to 1' is invoked, and assuming that pcb address table search is about to begin, when the system initializes the search process, the desired outcome is that the table counter is set to 1 to start from first entry.
💻 Technical Criteria
Given
PCB address table search is about to begin
When
The system initializes the search process
Then
The table counter is set to 1 to start from first entry
R-CIMS-cbl-00118
Include SSA1 Parameter
Decision Rules
📊 Business Logic Narrative
When the process 'Include SSA1 Parameter' is invoked, and assuming that the argument count is 5 or greater, when the system assembles ims call parameters, the desired outcome is that ssa1 parameter is included in the call and stored in cc-last-ssa1 field of the common control area.
💻 Technical Criteria
Given
The argument count is 5 or greater
When
The system assembles IMS call parameters
Then
SSA1 parameter is included in the call and stored in CC-LAST-SSA1 field of the common control area
R-CIMS-cbl-00119
Include SSA2 Parameter
Decision Rules
📊 Business Logic Narrative
When the process 'Include SSA2 Parameter' is invoked, and assuming that the argument count is 6 or greater, when the system assembles ims call parameters, the desired outcome is that ssa2 parameter is included in the call and stored in cc-last-ssa2 field of the common control area.
💻 Technical Criteria
Given
The argument count is 6 or greater
When
The system assembles IMS call parameters
Then
SSA2 parameter is included in the call and stored in CC-LAST-SSA2 field of the common control area
R-CIMS-cbl-00120
Include SSA3 Parameter
Decision Rules
📊 Business Logic Narrative
When the process 'Include SSA3 Parameter' is invoked, and assuming that the argument count is 7 or greater, when the system assembles ims call parameters, the desired outcome is that ssa3 parameter is included in the call and stored in cc-last-ssa3 field of the common control area.
💻 Technical Criteria
Given
The argument count is 7 or greater
When
The system assembles IMS call parameters
Then
SSA3 parameter is included in the call and stored in CC-LAST-SSA3 field of the common control area
R-CIMS-cbl-00121
Include SSA4 Parameter
Decision Rules
📊 Business Logic Narrative
When the process 'Include SSA4 Parameter' is invoked, and assuming that the argument count is 8 or greater, when the system assembles ims call parameters, the desired outcome is that ssa4 parameter is included in the call and stored in cc-last-ssa4 field of the common control area.
💻 Technical Criteria
Given
The argument count is 8 or greater
When
The system assembles IMS call parameters
Then
SSA4 parameter is included in the call and stored in CC-LAST-SSA4 field of the common control area
R-CIMS-cbl-00122
Include SSA5 Parameter
Decision Rules
📊 Business Logic Narrative
When the process 'Include SSA5 Parameter' is invoked, and assuming that the argument count is 9 or greater, when the system assembles ims call parameters, the desired outcome is that ssa5 parameter is included in the call and stored in cc-last-ssa5 field of the common control area.
💻 Technical Criteria
Given
The argument count is 9 or greater
When
The system assembles IMS call parameters
Then
SSA5 parameter is included in the call and stored in CC-LAST-SSA5 field of the common control area
R-CIMS-cbl-00123
Include SSA6 Parameter
Decision Rules
📊 Business Logic Narrative
When the process 'Include SSA6 Parameter' is invoked, and assuming that the argument count is 10 or greater, when the system assembles ims call parameters, the desired outcome is that ssa6 parameter is included in the call and stored in cc-last-ssa6 field of the common control area.
💻 Technical Criteria
Given
The argument count is 10 or greater
When
The system assembles IMS call parameters
Then
SSA6 parameter is included in the call and stored in CC-LAST-SSA6 field of the common control area
R-CIMS-cbl-00137
Calculate ISCOM Table Size
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate ISCOM Table Size' is invoked, and assuming that the iscom structure cc-db-pcbs is available, when the system needs to validate address offset ranges, the desired outcome is that the table size is calculated using the length of cc-db-pcbs and stored in ws-cims-table-size.
💻 Technical Criteria
Given
The ISCOM structure CC-DB-PCBS is available
When
The system needs to validate address offset ranges
Then
The table size is calculated using the length of CC-DB-PCBS and stored in WS-CIMS-TABLE-SIZE
R-CIMS-cbl-00139
Calculate Final Address Offset
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Final Address Offset' is invoked, and assuming that address 1 and address 2 are properly ordered based on base address sign, when the system calculates the final offset, the desired outcome is that the address offset is computed as address 1 minus address 2 and stored in ws-addr-offset.
💻 Technical Criteria
Given
Address 1 and Address 2 are properly ordered based on base address sign
When
The system calculates the final offset
Then
The address offset is computed as Address 1 minus Address 2 and stored in WS-ADDR-OFFSET
💰 Bond & Financial Auth
20 logic blocks
R-CIMS-cbl-00011
11:PCB Status Information Update
Process Rules
📊 Business Logic Narrative
When the process '11:PCB Status Information Update' is invoked, and assuming that ims call counter is updated and pcb copy is available, when pcb information needs to be synchronized with cccom, the desired outcome is that pcb copy is moved to cccom copy of pcb field and feedback key length is updated in cccom when segment level is not '98' or '99'.
💻 Technical Criteria
Given
IMS call counter is updated and PCB copy is available
When
PCB information needs to be synchronized with CCCOM
Then
PCB copy is moved to CCCOM copy of PCB field and feedback key length is updated in CCCOM when segment level is not '98' or '99'
R-CIMS-cbl-00038
Base Address > Zero?
Decision Rules
📊 Business Logic Narrative
When the process 'Base Address > Zero?' is invoked, and assuming that base address and offset address have been established for iscom calculations, when base address value is greater than zero, the desired outcome is that system uses method 1 for address calculation, otherwise uses method 2.
💻 Technical Criteria
Given
Base address and offset address have been established for ISCOM calculations
When
Base address value is greater than zero
Then
System uses method 1 for address calculation, otherwise uses method 2
R-CIMS-cbl-00050
PCB Address is Null or Blank
Validation Rules
📊 Business Logic Narrative
When the process 'PCB Address is Null or Blank' is invoked, and assuming that a pcb address value exists in the system, when the pcb address equals null or blank pointer, the desired outcome is that the system identifies that pcb address resolution is required.
💻 Technical Criteria
Given
A PCB address value exists in the system
When
The PCB address equals null or blank pointer
Then
The system identifies that PCB address resolution is required
R-CIMS-cbl-00051
Reset PCB Address to Null
Process Rules
📊 Business Logic Narrative
When the process 'Reset PCB Address to Null' is invoked, and assuming that pcb address resolution process is initiated, when the system prepares to search for valid pcb address, the desired outcome is that the pcb address is set to null value.
💻 Technical Criteria
Given
PCB address resolution process is initiated
When
The system prepares to search for valid PCB address
Then
The PCB address is set to null value
R-CIMS-cbl-00053
Counter <= 249?
Validation Rules
📊 Business Logic Narrative
When the process 'Counter <= 249?' is invoked, and assuming that a table counter value during pcb address search, when the counter is evaluated against the maximum table size, the desired outcome is that if counter is less than or equal to 249, continue search; otherwise terminate search.
💻 Technical Criteria
Given
A table counter value during PCB address search
When
The counter is evaluated against the maximum table size
Then
If counter is less than or equal to 249, continue search; otherwise terminate search
R-CIMS-cbl-00054
PCB Name Equals '1'?
Decision Rules
📊 Business Logic Narrative
When the process 'PCB Name Equals '1'?' is invoked, and assuming that a pcb name value during address resolution, when the pcb name equals '1', the desired outcome is that the system identifies this as a special case requiring name clearing.
💻 Technical Criteria
Given
A PCB name value during address resolution
When
The PCB name equals '1'
Then
The system identifies this as a special case requiring name clearing
R-CIMS-cbl-00055
Clear PCB Name to Spaces
Action Rules
📊 Business Logic Narrative
When the process 'Clear PCB Name to Spaces' is invoked, and assuming that pcb name has value '1', when special case processing is applied, the desired outcome is that the pcb name is set to spaces.
💻 Technical Criteria
Given
PCB name has value '1'
When
Special case processing is applied
Then
The PCB name is set to spaces
R-CIMS-cbl-00057
Set PCB Address from Table Entry
Action Rules
📊 Business Logic Narrative
When the process 'Set PCB Address from Table Entry' is invoked, and assuming that a matching pcb name found in database name table, when the system locates the corresponding table entry, the desired outcome is that the pcb address is set to the address value from the matching table entry.
💻 Technical Criteria
Given
A matching PCB name found in database name table
When
The system locates the corresponding table entry
Then
The PCB address is set to the address value from the matching table entry
R-CIMS-cbl-00111
PCB Number = '1'?
Validation Rules
📊 Business Logic Narrative
When the process 'PCB Number = '1'?' is invoked, and assuming that a pcb number value is provided, when the pcb number equals '1', the desired outcome is that the pcb number should be converted to spaces.
💻 Technical Criteria
Given
A PCB number value is provided
When
The PCB number equals '1'
Then
The PCB number should be converted to spaces
R-CIMS-cbl-00113
PCB Number = '1'?
Validation Rules
📊 Business Logic Narrative
When the process 'PCB Number = '1'?' is invoked, and assuming that a pcb number value is provided for table search, when the pcb number equals '1', the desired outcome is that the pcb number should be cleared to spaces to standardize the search criteria.
💻 Technical Criteria
Given
A PCB number value is provided for table search
When
The PCB number equals '1'
Then
The PCB number should be cleared to spaces to standardize the search criteria
R-CIMS-cbl-00115
Set PCB Address from Table Entry
Action Rules
📊 Business Logic Narrative
When the process 'Set PCB Address from Table Entry' is invoked, and assuming that a matching pcb name has been found in the database name table at position i, when the pcb name matches the table entry, the desired outcome is that the pcb address should be set to the corresponding address value from the same table position.
💻 Technical Criteria
Given
A matching PCB name has been found in the database name table at position I
When
The PCB name matches the table entry
Then
The PCB address should be set to the corresponding address value from the same table position
R-CIMS-cbl-00086
Segment Level Valid?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Segment Level Valid?', assuming that pcb status information contains a segment level code in lk-seg-level, when the segment level is not equal to '98' and not equal to '99', the desired outcome is that the system proceeds to copy the feedback key length information.
💻 Technical Criteria
EXCLUDING
PCB status information contains a segment level code in LK-SEG-LEVEL
When
The segment level is not equal to '98' and not equal to '99'
Then
The system proceeds to copy the feedback key length information
R-CIMS-cbl-00087
Copy Feedback Key Length to CCCOM
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Copy Feedback Key Length to CCCOM', assuming that segment level validation has passed (segment level is not '98' or '99'), when the system processes feedback key length information, the desired outcome is that the feedback key length is copied from lk-length-fb-key to cc-length-fb-key in cccom structure.
💻 Technical Criteria
EXCLUDING
Segment level validation has passed (segment level is not '98' or '99')
When
The system processes feedback key length information
Then
The feedback key length is copied from LK-LENGTH-FB-KEY to CC-LENGTH-FB-KEY in CCCOM structure
R-CIMS-cbl-00129
Index I > 12?
Process Rules
📊 Business Logic Narrative
When the process 'Index I > 12?' is invoked, and assuming that the system is iterating through the acceptable status code table with a current index value i, when the system checks if the current index i exceeds the maximum table size of 12 entries, the desired outcome is that if the index is greater than 12, all table entries have been checked and the status code is considered unacceptable, otherwise the iteration continues to the next table entry.
💻 Technical Criteria
Given
The system is iterating through the acceptable status code table with a current index value I
When
The system checks if the current index I exceeds the maximum table size of 12 entries
Then
If the index is greater than 12, all table entries have been checked and the status code is considered unacceptable, otherwise the iteration continues to the next table entry
R-CIMS-cbl-00098
Base Address > Zero?
Decision Rules
📊 Business Logic Narrative
When the process 'Base Address > Zero?' is invoked, and assuming that base and offset addresses are established for iscom detection, when the base address value is evaluated, the desired outcome is that if base address is greater than zero, use offset minus base calculation method, otherwise use base minus offset calculation method.
💻 Technical Criteria
Given
Base and offset addresses are established for ISCOM detection
When
The base address value is evaluated
Then
If base address is greater than zero, use offset minus base calculation method, otherwise use base minus offset calculation method
R-CIMS-cbl-00131
Base Address > Zero?
Decision Rules
📊 Business Logic Narrative
When the process 'Base Address > Zero?' is invoked, and assuming that base address is set to cccom db-pcbs address and offset address is set to addr-area address, when base address value is greater than zero, the desired outcome is that address-1 is set to offset address value and address-2 is set to base address value.
💻 Technical Criteria
Given
Base address is set to CCCOM DB-PCBS address and offset address is set to ADDR-AREA address
When
Base address value is greater than zero
Then
Address-1 is set to offset address value and Address-2 is set to base address value
R-CIMS-cbl-00132
Set Address-1 = Base Address Set Address-2 = Offset Address
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Address-1 = Base Address Set Address-2 = Offset Address', assuming that base address is set to cccom db-pcbs address and offset address is set to addr-area address, when base address value is not greater than zero, the desired outcome is that address-1 is set to base address value and address-2 is set to offset address value.
💻 Technical Criteria
EXCLUDING
Base address is set to CCCOM DB-PCBS address and offset address is set to ADDR-AREA address
When
Base address value is not greater than zero
Then
Address-1 is set to base address value and Address-2 is set to offset address value
R-CIMS-cbl-00133
Calculate Final Offset Offset = Address-1 - Address-2
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Final Offset Offset = Address-1 - Address-2' is invoked, and assuming that address-1 and address-2 values have been determined based on base address evaluation, when final offset calculation is performed, the desired outcome is that address offset equals address-1 minus address-2.
💻 Technical Criteria
Given
Address-1 and Address-2 values have been determined based on base address evaluation
When
Final offset calculation is performed
Then
Address offset equals Address-1 minus Address-2
R-CIMS-cbl-00104
PCB Table Index Calculation - Calculates table index for ISCOM to CCCOM PCB conversion based on address offset
Computation Rules
📊 Business Logic Narrative
When the process 'PCB Table Index Calculation - Calculates table index for ISCOM to CCCOM PCB conversion based on address offset' is invoked, and assuming that an address offset value exists from the difference between base and offset addresses, when the system needs to determine the table index for pcb conversion, the desired outcome is that add 8 to the address offset, divide the result by 12, and store as the table index.
💻 Technical Criteria
Given
An address offset value exists from the difference between base and offset addresses
When
The system needs to determine the table index for PCB conversion
Then
Add 8 to the address offset, divide the result by 12, and store as the table index
R-CIMS-cbl-00107
Calculate Table Index from Address Offset
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Table Index from Address Offset' is invoked, and assuming that an address offset value is available from iscom pcb processing, when the system needs to determine the table index for pcb conversion, the desired outcome is that the table index is calculated by adding 8 to the address offset and dividing by 12.
💻 Technical Criteria
Given
An address offset value is available from ISCOM PCB processing
When
The system needs to determine the table index for PCB conversion
Then
The table index is calculated by adding 8 to the address offset and dividing by 12
📍 Routing, Border & Port
6 logic blocks
R-CIMS-cbl-00064
Set PCB Name to ZERO-PCB-NAME
Process Rules
📊 Business Logic Narrative
When the process 'Set PCB Name to ZERO-PCB-NAME' is invoked, and assuming that pcb address validation has failed, when the system needs to generate error information, the desired outcome is that the system sets the pcb name from pcb-mne to zero-pcb-name for error reporting.
💻 Technical Criteria
Given
PCB address validation has failed
When
The system needs to generate error information
Then
The system sets the PCB name from PCB-MNE to ZERO-PCB-NAME for error reporting
R-CIMS-cbl-00065
Set PCB Number to ZERO-PCB-NUM
Process Rules
📊 Business Logic Narrative
When the process 'Set PCB Number to ZERO-PCB-NUM' is invoked, and assuming that pcb address validation has failed and pcb name has been captured, when the system continues error information collection, the desired outcome is that the system sets the pcb number from pcb-num to zero-pcb-num for error reporting.
💻 Technical Criteria
Given
PCB address validation has failed and PCB name has been captured
When
The system continues error information collection
Then
The system sets the PCB number from PCB-NUM to ZERO-PCB-NUM for error reporting
R-CIMS-cbl-00080
Update Machine Century in CCCOM
Action Rules
📊 Business Logic Narrative
When the process 'Update Machine Century in CCCOM' is invoked, and assuming that current system date has been retrieved in ccyymmdd format, when machine date information needs to be updated in cccom, the desired outcome is that the century portion (cc) should be moved to the machine century field in cccom.
💻 Technical Criteria
Given
Current system date has been retrieved in CCYYMMDD format
When
Machine date information needs to be updated in CCCOM
Then
The century portion (CC) should be moved to the machine century field in CCCOM
R-CIMS-cbl-00081
Update Machine Date in CCCOM
Action Rules
📊 Business Logic Narrative
When the process 'Update Machine Date in CCCOM' is invoked, and assuming that current system date has been retrieved in ccyymmdd format, when machine date information needs to be updated in cccom, the desired outcome is that the date portion (yymmdd) should be moved to the machine date field in cccom.
💻 Technical Criteria
Given
Current system date has been retrieved in CCYYMMDD format
When
Machine date information needs to be updated in CCCOM
Then
The date portion (YYMMDD) should be moved to the machine date field in CCCOM
R-CIMS-cbl-00106
Set PCB Address Area
Process Rules
📊 Business Logic Narrative
When the process 'Set PCB Address Area' is invoked, and assuming that the cimsconv service has successfully converted iscom pcb data and returned a pcb pointer, when the conversion process is complete, the desired outcome is that set the address area to point to the converted pcb pointer location.
💻 Technical Criteria
Given
The CIMSCONV service has successfully converted ISCOM PCB data and returned a PCB pointer
When
The conversion process is complete
Then
Set the address area to point to the converted PCB pointer location
R-CIMS-cbl-00109
Set Address Area to Converted PCB Pointer
Process Rules
📊 Business Logic Narrative
When the process 'Set Address Area to Converted PCB Pointer' is invoked, and assuming that cimsconv utility has successfully converted iscom pcb to cccom format, when the conversion process is complete, the desired outcome is that the address area is updated to point to the converted pcb pointer location.
💻 Technical Criteria
Given
CIMSCONV utility has successfully converted ISCOM PCB to CCCOM format
When
The conversion process is complete
Then
The address area is updated to point to the converted PCB pointer location
🔁 EDI, Status & Database
92 logic blocks
R-CIMS-cbl-00002
2:Function and SSA Parameter Processing
Process Rules
📊 Business Logic Narrative
When the process '2:Function and SSA Parameter Processing' is invoked, and assuming that parameter addresses are established and argument count is available, when the system processes parameters 4 through 10 representing io-area and ssa1 through ssa6, the desired outcome is that function code is stored in cccom last ims function, ssa parameters are mapped to their respective addresses and stored in cccom last ssa fields, and io-area address is established when 4 or more arguments are provided.
💻 Technical Criteria
Given
Parameter addresses are established and argument count is available
When
The system processes parameters 4 through 10 representing IO-AREA and SSA1 through SSA6
Then
Function code is stored in CCCOM last IMS function, SSA parameters are mapped to their respective addresses and stored in CCCOM last SSA fields, and IO-AREA address is established when 4 or more arguments are provided
R-CIMS-cbl-00003
3:ISCOM Address Validation
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '3:ISCOM Address Validation', assuming that cccom iscom address is not null and not blank pointer, when the system checks iscom address availability, the desired outcome is that iscom address is established for subsequent processing.
💻 Technical Criteria
EXCLUDING
CCCOM ISCOM address is not null and not blank pointer
When
The system checks ISCOM address availability
Then
ISCOM address is established for subsequent processing
R-CIMS-cbl-00004
4:CCCOM Version Compatibility Check
Validation Rules
📊 Business Logic Narrative
When the process '4:CCCOM Version Compatibility Check' is invoked, and assuming that cccom structure is available with version information, when the system compares cccom sit version with working storage cccom version, the desired outcome is that iscom compatibility check is performed only when versions match.
💻 Technical Criteria
Given
CCCOM structure is available with version information
When
The system compares CCCOM SIT version with working storage CCCOM version
Then
ISCOM compatibility check is performed only when versions match
R-CIMS-cbl-00005
5:PCB Address Reset Logic
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '5:PCB Address Reset Logic', assuming that addr-area is not null, pcb address is valid, cccom version is compatible, and pcb copy is available, when segment level is not '98' or '99' or force reset flag is true, the desired outcome is that first 8 positions of addr-area are cleared with spaces.
💻 Technical Criteria
EXCLUDING
ADDR-AREA is not null, PCB address is valid, CCCOM version is compatible, and PCB copy is available
When
Segment level is not '98' or '99' OR force reset flag is true
Then
First 8 positions of ADDR-AREA are cleared with spaces
R-CIMS-cbl-00006
6:PCB Address Resolution
Process Rules
📊 Business Logic Narrative
When the process '6:PCB Address Resolution' is invoked, and assuming that pcb address is null or blank pointer, when the system searches through up to 249 database name entries, the desired outcome is that search continues until valid pcb address is found, maximum entries reached, or database name entry is spaces, and matching pcb address is retrieved when database name matches table entry.
💻 Technical Criteria
Given
PCB address is null or blank pointer
When
The system searches through up to 249 database name entries
Then
Search continues until valid PCB address is found, maximum entries reached, or database name entry is spaces, and matching PCB address is retrieved when database name matches table entry
R-CIMS-cbl-00007
7:PCB Address Validation
Validation Rules
📊 Business Logic Narrative
When the process '7:PCB Address Validation' is invoked, and assuming that pcb address resolution process is completed, when pcb address remains null after resolution attempts, the desired outcome is that error message is generated with pcb name and number information and error handling routine cerr is invoked.
💻 Technical Criteria
Given
PCB address resolution process is completed
When
PCB address remains null after resolution attempts
Then
Error message is generated with PCB name and number information and error handling routine CERR is invoked
R-CIMS-cbl-00008
8:IMS Function Call Execution
Action Rules
📊 Business Logic Narrative
When the process '8:IMS Function Call Execution' is invoked, and assuming that valid pcb address exists, function code is available, and all ssa parameters are processed, when the system invokes cbltdli with function, pcb copy, io area, and ssa parameters, the desired outcome is that ims database operation is executed and control returns with status information in pcb.
💻 Technical Criteria
Given
Valid PCB address exists, function code is available, and all SSA parameters are processed
When
The system invokes CBLTDLI with function, PCB copy, IO area, and SSA parameters
Then
IMS database operation is executed and control returns with status information in PCB
R-CIMS-cbl-00009
9:IO PCB Date Time Refresh
Process Rules
📊 Business Logic Narrative
When the process '9:IO PCB Date Time Refresh' is invoked, and assuming that ims function call is completed, when function is 'gu' (get unique) and pcb address equals cccom io pcb address, the desired outcome is that ims call counter is reset to zero, current system date is obtained and stored in cccom machine century and date fields, and current system time is captured and stored in cccom machine time field.
💻 Technical Criteria
Given
IMS function call is completed
When
Function is 'GU' (Get Unique) AND PCB address equals CCCOM IO PCB address
Then
IMS call counter is reset to zero, current system date is obtained and stored in CCCOM machine century and date fields, and current system time is captured and stored in CCCOM machine time field
R-CIMS-cbl-00010
10:IMS Call Counter Management
Process Rules
📊 Business Logic Narrative
When the process '10:IMS Call Counter Management' is invoked, and assuming that ims function call is executed, when any ims database operation is performed, the desired outcome is that ims call counter in cccom is incremented by 1.
💻 Technical Criteria
Given
IMS function call is executed
When
Any IMS database operation is performed
Then
IMS call counter in CCCOM is incremented by 1
R-CIMS-cbl-00012
12:Terminal and User Information Capture
Process Rules
📊 Business Logic Narrative
When the process '12:Terminal and User Information Capture' is invoked, and assuming that pcb status information is updated, when function is 'gu' (get unique) or 'chkp' (checkpoint) and pcb address equals cccom io pcb address, the desired outcome is that cccom lterm name is copied to cccom original lterm field and cccom user id is copied to cccom acf2 user id field.
💻 Technical Criteria
Given
PCB status information is updated
When
Function is 'GU' (Get Unique) OR 'CHKP' (Checkpoint) AND PCB address equals CCCOM IO PCB address
Then
CCCOM LTERM name is copied to CCCOM original LTERM field and CCCOM user ID is copied to CCCOM ACF2 user ID field
R-CIMS-cbl-00013
13:Status Code Validation
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '13:Status Code Validation', assuming that ims operation is completed with status code in cccom, when status code is not blank (spaces), the desired outcome is that status code is compared against up to 12 acceptable status codes in cccom acceptable status table.
💻 Technical Criteria
EXCLUDING
IMS operation is completed with status code in CCCOM
When
Status code is not blank (spaces)
Then
Status code is compared against up to 12 acceptable status codes in CCCOM acceptable status table
R-CIMS-cbl-00014
14:Error Message Generation
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '14:Error Message Generation', assuming that status code validation is completed, when status code is not found in acceptable status code table after checking all 12 entries, the desired outcome is that error message is constructed with status code and 'ims rc code not in acceptable list' text, error message is stored in cccom error message field, and error handling routine cerr is invoked.
💻 Technical Criteria
EXCLUDING
Status code validation is completed
When
Status code is not found in acceptable status code table after checking all 12 entries
Then
Error message is constructed with status code and 'IMS RC CODE NOT IN ACCEPTABLE LIST' text, error message is stored in CCCOM error message field, and error handling routine CERR is invoked
R-CIMS-cbl-00015
18:Common Area Synchronization
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '18:Common Area Synchronization', assuming that ims operation completed successfully with blank status code or acceptable status code found, when cccom iscom address is not null and not blank pointer, the desired outcome is that cccom common area is copied to iscom common area to maintain data consistency.
💻 Technical Criteria
EXCLUDING
IMS operation completed successfully with blank status code OR acceptable status code found
When
CCCOM ISCOM address is not null and not blank pointer
Then
CCCOM common area is copied to ISCOM common area to maintain data consistency
R-CIMS-cbl-00016
Set No Force Reset Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set No Force Reset Flag' is invoked, and assuming that the cims program is starting parameter linkage setup, when the system begins parameter processing initialization, the desired outcome is that the no-force-reset flag is set to true to control reset behavior.
💻 Technical Criteria
Given
The CIMS program is starting parameter linkage setup
When
The system begins parameter processing initialization
Then
The NO-FORCE-RESET flag is set to TRUE to control reset behavior
R-CIMS-cbl-00019
Set CCCOM Address from Parameter 1
Definitional Rules
📊 Business Logic Narrative
When the process 'Set CCCOM Address from Parameter 1' is invoked, and assuming that the parameter count has been retrieved from linkage data, when the system needs to access the cccom control block, the desired outcome is that the address of cccom is set to the address stored in arg-addr position 1.
💻 Technical Criteria
Given
The parameter count has been retrieved from linkage data
When
The system needs to access the CCCOM control block
Then
The address of CCCOM is set to the address stored in ARG-ADDR position 1
R-CIMS-cbl-00020
Set Function Code Address from Parameter 2
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Function Code Address from Parameter 2' is invoked, and assuming that the cccom control block address has been established, when the system needs to access the function code for database operations, the desired outcome is that the address of func is set to the address stored in arg-addr position 2.
💻 Technical Criteria
Given
The CCCOM control block address has been established
When
The system needs to access the function code for database operations
Then
The address of FUNC is set to the address stored in ARG-ADDR position 2
R-CIMS-cbl-00021
Set PCB Address Area from Parameter 3
Definitional Rules
📊 Business Logic Narrative
When the process 'Set PCB Address Area from Parameter 3' is invoked, and assuming that the function code address has been established, when the system needs to access the pcb address area for database operations, the desired outcome is that the address of addr-area is set to the address stored in arg-addr position 3.
💻 Technical Criteria
Given
The function code address has been established
When
The system needs to access the PCB address area for database operations
Then
The address of ADDR-AREA is set to the address stored in ARG-ADDR position 3
R-CIMS-cbl-00022
Store IMS Function Code
Process Rules
📊 Business Logic Narrative
When the process 'Store IMS Function Code' is invoked, and assuming that an ims function code is provided as input parameter, when the function parameter processing begins, the desired outcome is that the function code is stored in the last ims function field of the common control area.
💻 Technical Criteria
Given
An IMS function code is provided as input parameter
When
The function parameter processing begins
Then
The function code is stored in the last IMS function field of the common control area
R-CIMS-cbl-00023
Clear Previous SSA Data
Process Rules
📊 Business Logic Narrative
When the process 'Clear Previous SSA Data' is invoked, and assuming that ssa parameter processing is initiated, when before capturing new ssa parameters, the desired outcome is that the last ssa field in the common control area is cleared to spaces.
💻 Technical Criteria
Given
SSA parameter processing is initiated
When
Before capturing new SSA parameters
Then
The last SSA field in the common control area is cleared to spaces
R-CIMS-cbl-00024
Parameter Count >= 4?
Validation Rules
📊 Business Logic Narrative
When the process 'Parameter Count >= 4?' is invoked, and assuming that parameter count and argument addresses are available, when parameter count is 4 or greater, the desired outcome is that io area address is set from the 4th argument and stored in the common control area.
💻 Technical Criteria
Given
Parameter count and argument addresses are available
When
Parameter count is 4 or greater
Then
IO area address is set from the 4th argument and stored in the common control area
R-CIMS-cbl-00031
Check ISCOM Address in CCCOM
Validation Rules
📊 Business Logic Narrative
When the process 'Check ISCOM Address in CCCOM' is invoked, and assuming that the system has a common control area (cccom) that may contain an iscom address and the system version matches the expected cccom version, when the system checks for iscom address availability during communication setup, the desired outcome is that if iscom address is not null and not blank, the system establishes the iscom communication channel, otherwise it continues processing without iscom communication.
💻 Technical Criteria
Given
The system has a common control area (CCCOM) that may contain an ISCOM address and the system version matches the expected CCCOM version
When
The system checks for ISCOM address availability during communication setup
Then
If ISCOM address is not null and not blank, the system establishes the ISCOM communication channel, otherwise it continues processing without ISCOM communication
R-CIMS-cbl-00032
Set ISCOM Address for Communication
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set ISCOM Address for Communication', assuming that a valid iscom address exists in cccom that is not null and not blank, when the system needs to establish iscom communication, the desired outcome is that the system sets the address of iscom to the cccom iscom address to enable communication.
💻 Technical Criteria
EXCLUDING
A valid ISCOM address exists in CCCOM that is not null and not blank
When
The system needs to establish ISCOM communication
Then
The system sets the address of ISCOM to the CCCOM ISCOM address to enable communication
R-CIMS-cbl-00033
Check CCCOM Version
Validation Rules
📊 Business Logic Narrative
When the process 'Check CCCOM Version' is invoked, and assuming that a cccom control block with a version identifier and a system with an expected cccom version, when the system checks cccom version compatibility, the desired outcome is that the system compares cccom version against expected version and determines whether to proceed with iscom checks.
💻 Technical Criteria
Given
A CCCOM control block with a version identifier and a system with an expected CCCOM version
When
The system checks CCCOM version compatibility
Then
The system compares CCCOM version against expected version and determines whether to proceed with ISCOM checks
R-CIMS-cbl-00034
CCCOM Version = Expected Version?
Decision Rules
📊 Business Logic Narrative
When the process 'CCCOM Version = Expected Version?' is invoked, and assuming that cccom version has been validated against expected system version, when cccom version equals the expected system version, the desired outcome is that system proceeds with iscom compatibility checks, otherwise skips iscom processing.
💻 Technical Criteria
Given
CCCOM version has been validated against expected system version
When
CCCOM version equals the expected system version
Then
System proceeds with ISCOM compatibility checks, otherwise skips ISCOM processing
R-CIMS-cbl-00035
Set Base Address to CCCOM DB PCBs
Process Rules
📊 Business Logic Narrative
When the process 'Set Base Address to CCCOM DB PCBs' is invoked, and assuming that cccom version compatibility has been confirmed and cccom contains database pcb area, when system needs to perform iscom address calculations, the desired outcome is that system sets the base address pointer to the cccom database pcbs area.
💻 Technical Criteria
Given
CCCOM version compatibility has been confirmed and CCCOM contains database PCB area
When
System needs to perform ISCOM address calculations
Then
System sets the base address pointer to the CCCOM database PCBs area
R-CIMS-cbl-00036
Set Offset Address to Address Area
Process Rules
📊 Business Logic Narrative
When the process 'Set Offset Address to Address Area' is invoked, and assuming that base address has been set to cccom database pcbs and an address area is available, when system needs to calculate iscom address offset, the desired outcome is that system sets the offset address pointer to the provided address area.
💻 Technical Criteria
Given
Base address has been set to CCCOM database PCBs and an address area is available
When
System needs to calculate ISCOM address offset
Then
System sets the offset address pointer to the provided address area
R-CIMS-cbl-00037
Calculate ISCOM Table Size
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate ISCOM Table Size' is invoked, and assuming that iscom structure is available with database pcbs area, when system needs to determine iscom table boundaries, the desired outcome is that system computes the length of iscom database pcbs area and stores as table size.
💻 Technical Criteria
Given
ISCOM structure is available with database PCBs area
When
System needs to determine ISCOM table boundaries
Then
System computes the length of ISCOM database PCBs area and stores as table size
R-CIMS-cbl-00039
Calculate Address Offset Method 1
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Address Offset Method 1' is invoked, and assuming that base address is greater than zero and offset address is available, when system applies address calculation method 1, the desired outcome is that system assigns offset address to address-1 and base address to address-2 for final offset computation.
💻 Technical Criteria
Given
Base address is greater than zero and offset address is available
When
System applies address calculation method 1
Then
System assigns offset address to address-1 and base address to address-2 for final offset computation
R-CIMS-cbl-00040
Calculate Address Offset Method 2
Computation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Calculate Address Offset Method 2', assuming that base address is not greater than zero and offset address is available, when system applies address calculation method 2, the desired outcome is that system assigns base address to address-1 and offset address to address-2 for final offset computation.
💻 Technical Criteria
EXCLUDING
Base address is not greater than zero and offset address is available
When
System applies address calculation method 2
Then
System assigns base address to address-1 and offset address to address-2 for final offset computation
R-CIMS-cbl-00041
Compute Final Address Offset
Computation Rules
📊 Business Logic Narrative
When the process 'Compute Final Address Offset' is invoked, and assuming that address-1 and address-2 have been assigned based on selected calculation method, when system performs final address offset calculation, the desired outcome is that system computes address offset as the difference between address-1 and address-2.
💻 Technical Criteria
Given
Address-1 and address-2 have been assigned based on selected calculation method
When
System performs final address offset calculation
Then
System computes address offset as the difference between address-1 and address-2
R-CIMS-cbl-00042
Check Address Area Availability
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check Address Area Availability', assuming that a pcb address reset operation is initiated, when the system checks if the address area is not null, the desired outcome is that the system proceeds with pcb address validation if address area is available, otherwise uses default csi address area.
💻 Technical Criteria
EXCLUDING
A PCB address reset operation is initiated
When
The system checks if the address area is not null
Then
The system proceeds with PCB address validation if address area is available, otherwise uses default CSI address area
R-CIMS-cbl-00043
PCB Address Valid and Not Blank?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'PCB Address Valid and Not Blank?', assuming that an address area is available for processing, when the system evaluates if pcb address is not null and not blank pointer, the desired outcome is that the system continues with version compatibility check if pcb address is valid, otherwise skips pcb reset logic.
💻 Technical Criteria
EXCLUDING
An address area is available for processing
When
The system evaluates if PCB address is not null and not blank pointer
Then
The system continues with version compatibility check if PCB address is valid, otherwise skips PCB reset logic
R-CIMS-cbl-00044
CCCOM Version Compatible?
Validation Rules
📊 Business Logic Narrative
When the process 'CCCOM Version Compatible?' is invoked, and assuming that a valid pcb address exists, when the system compares cc-sit-version of cccom with ws-cccom-version, the desired outcome is that the system proceeds with pcb copy address setup if versions match, otherwise skips pcb reset processing.
💻 Technical Criteria
Given
A valid PCB address exists
When
The system compares CC-SIT-VERSION of CCCOM with WS-CCCOM-VERSION
Then
The system proceeds with PCB copy address setup if versions match, otherwise skips PCB reset processing
R-CIMS-cbl-00045
Set PCB Copy Address
Process Rules
📊 Business Logic Narrative
When the process 'Set PCB Copy Address' is invoked, and assuming that cccom version is compatible with system version, when the system sets the address of lk-copy-of-pcb to pcb-addr, the desired outcome is that the pcb copy address is established for subsequent segment level validation.
💻 Technical Criteria
Given
CCCOM version is compatible with system version
When
The system sets the address of LK-COPY-OF-PCB to PCB-ADDR
Then
The PCB copy address is established for subsequent segment level validation
R-CIMS-cbl-00046
Segment Level Valid?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Segment Level Valid?', assuming that pcb copy address is established, when the system checks if lk-seg-level is not equal to '98' and not equal to '99', the desired outcome is that the system identifies invalid segment level requiring address reset if condition is true, otherwise checks for force reset requirement.
💻 Technical Criteria
EXCLUDING
PCB copy address is established
When
The system checks if LK-SEG-LEVEL is not equal to '98' and not equal to '99'
Then
The system identifies invalid segment level requiring address reset if condition is true, otherwise checks for force reset requirement
R-CIMS-cbl-00048
Reset PCB Address Area to Spaces
Action Rules
📊 Business Logic Narrative
When the process 'Reset PCB Address Area to Spaces' is invoked, and assuming that either segment level is invalid or force reset is required, when the system executes the address area reset operation, the desired outcome is that the first 8 positions of the address area are set to spaces to clear the pcb address.
💻 Technical Criteria
Given
Either segment level is invalid or force reset is required
When
The system executes the address area reset operation
Then
The first 8 positions of the address area are set to spaces to clear the PCB address
R-CIMS-cbl-00056
PCB Name Matches Table Entry?
Decision Rules
📊 Business Logic Narrative
When the process 'PCB Name Matches Table Entry?' is invoked, and assuming that a pcb name and current table entry during search, when the pcb name is compared with the database name table entry, the desired outcome is that if names match, proceed to address assignment; otherwise continue search.
💻 Technical Criteria
Given
A PCB name and current table entry during search
When
The PCB name is compared with the database name table entry
Then
If names match, proceed to address assignment; otherwise continue search
R-CIMS-cbl-00058
PCB Address Found?
Validation Rules
📊 Business Logic Narrative
When the process 'PCB Address Found?' is invoked, and assuming that pcb address after table lookup attempt, when the system checks if address resolution was successful, the desired outcome is that if pcb address is not null, resolution is complete; otherwise continue search.
💻 Technical Criteria
Given
PCB address after table lookup attempt
When
The system checks if address resolution was successful
Then
If PCB address is not null, resolution is complete; otherwise continue search
R-CIMS-cbl-00061
PCB Address Resolution Complete
Process Rules
📊 Business Logic Narrative
When the process 'PCB Address Resolution Complete' is invoked, and assuming that valid pcb address located through table search, when address resolution process concludes successfully, the desired outcome is that the system has valid pcb address available for database operations.
💻 Technical Criteria
Given
Valid PCB address located through table search
When
Address resolution process concludes successfully
Then
The system has valid PCB address available for database operations
R-CIMS-cbl-00062
Search Failed - No More Entries
Process Rules
📊 Business Logic Narrative
When the process 'Search Failed - No More Entries' is invoked, and assuming that completed search through all available table entries, when no matching pcb name found or table boundary exceeded, the desired outcome is that the system recognizes pcb address resolution has failed.
💻 Technical Criteria
Given
Completed search through all available table entries
When
No matching PCB name found or table boundary exceeded
Then
The system recognizes PCB address resolution has failed
R-CIMS-cbl-00112
PCB Name Matches Database Name in Table?
Decision Rules
📊 Business Logic Narrative
When the process 'PCB Name Matches Database Name in Table?' is invoked, and assuming that a pcb name is provided and database name table exists with entries, when the pcb name matches an entry in the database name table at position i, the desired outcome is that the pcb address should be set to the corresponding pcb address from the table at position i.
💻 Technical Criteria
Given
A PCB name is provided and database name table exists with entries
When
The PCB name matches an entry in the database name table at position I
Then
The PCB address should be set to the corresponding PCB address from the table at position I
R-CIMS-cbl-00114
PCB Name Matches Table Entry?
Decision Rules
📊 Business Logic Narrative
When the process 'PCB Name Matches Table Entry?' is invoked, and assuming that a pcb name and a database name table with multiple entries, when the pcb name matches a database name entry in the table at position i, the desired outcome is that the system should retrieve the corresponding pcb address from the same table position.
💻 Technical Criteria
Given
A PCB name and a database name table with multiple entries
When
The PCB name matches a database name entry in the table at position I
Then
The system should retrieve the corresponding PCB address from the same table position
R-CIMS-cbl-00116
More Table Entries Available?
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'More Table Entries Available?', assuming that a pcb table search is in progress with current index i, when the search has not found a matching pcb name and current index i is less than or equal to 249 and the database name at position i is not spaces, the desired outcome is that the search should continue to the next table entry by incrementing the index.
💻 Technical Criteria
EXCLUDING
A PCB table search is in progress with current index I
When
The search has not found a matching PCB name and current index I is less than or equal to 249 and the database name at position I is not spaces
Then
The search should continue to the next table entry by incrementing the index
R-CIMS-cbl-00063
Check PCB Address Status
Validation Rules
📊 Business Logic Narrative
When the process 'Check PCB Address Status' is invoked, and assuming that a database operation request is being processed, when the system checks the pcb address availability, the desired outcome is that the system determines if the pcb address is null or blank pointer to decide next processing step.
💻 Technical Criteria
Given
A database operation request is being processed
When
The system checks the PCB address availability
Then
The system determines if the PCB address is null or blank pointer to decide next processing step
R-CIMS-cbl-00066
Generate Zero PCB Address Error Message
Process Rules
📊 Business Logic Narrative
When the process 'Generate Zero PCB Address Error Message' is invoked, and assuming that pcb address validation has failed and error information has been collected, when the system needs to create an error message, the desired outcome is that the system moves zero-pcb-addr-error-message to cc-error-message of cccom.
💻 Technical Criteria
Given
PCB address validation has failed and error information has been collected
When
The system needs to create an error message
Then
The system moves ZERO-PCB-ADDR-ERROR-MESSAGE to CC-ERROR-MESSAGE of CCCOM
R-CIMS-cbl-00067
Call Error Handler CERR
Action Rules
📊 Business Logic Narrative
When the process 'Call Error Handler CERR' is invoked, and assuming that pcb address validation has failed and error message has been generated, when the system needs to handle the error condition, the desired outcome is that the system calls 'cerr' program using cccom to process the error.
💻 Technical Criteria
Given
PCB address validation has failed and error message has been generated
When
The system needs to handle the error condition
Then
The system calls 'CERR' program using CCCOM to process the error
R-CIMS-cbl-00068
Prepare IMS Call Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Prepare IMS Call Parameters' is invoked, and assuming that function code, pcb address, io area and ssa parameters are available, when system prepares ims call parameters, the desired outcome is that all parameters are set up for database call execution.
💻 Technical Criteria
Given
Function code, PCB address, IO area and SSA parameters are available
When
System prepares IMS call parameters
Then
All parameters are set up for database call execution
R-CIMS-cbl-00069
Set PCB Address to Copy Structure
Action Rules
📊 Business Logic Narrative
When the process 'Set PCB Address to Copy Structure' is invoked, and assuming that pcb address is available and valid, when system sets pcb address to copy structure, the desired outcome is that lk-copy-of-pcb is assigned the pcb address for database call.
💻 Technical Criteria
Given
PCB address is available and valid
When
System sets PCB address to copy structure
Then
LK-COPY-OF-PCB is assigned the PCB address for database call
R-CIMS-cbl-00070
Execute CBLTDLI Call
Action Rules
📊 Business Logic Narrative
When the process 'Execute CBLTDLI Call' is invoked, and assuming that all call parameters are prepared and pcb copy structure is set, when system executes cbltdli call with function, pcb copy, io area and ssa parameters, the desired outcome is that ims database operation is performed and control returns to program.
💻 Technical Criteria
Given
All call parameters are prepared and PCB copy structure is set
When
System executes CBLTDLI call with function, PCB copy, IO area and SSA parameters
Then
IMS database operation is performed and control returns to program
R-CIMS-cbl-00071
Pass Function Code
Process Rules
📊 Business Logic Narrative
When the process 'Pass Function Code' is invoked, and assuming that function code is available in func parameter, when system passes function code to ims database call, the desired outcome is that function code is included as parameter in cbltdli call.
💻 Technical Criteria
Given
Function code is available in FUNC parameter
When
System passes function code to IMS database call
Then
Function code is included as parameter in CBLTDLI call
R-CIMS-cbl-00072
Pass PCB Copy
Process Rules
📊 Business Logic Narrative
When the process 'Pass PCB Copy' is invoked, and assuming that lk-copy-of-pcb is set with pcb address, when system passes pcb copy to ims database call, the desired outcome is that pcb copy is included as parameter in cbltdli call.
💻 Technical Criteria
Given
LK-COPY-OF-PCB is set with PCB address
When
System passes PCB copy to IMS database call
Then
PCB copy is included as parameter in CBLTDLI call
R-CIMS-cbl-00073
Pass IO Area
Process Rules
📊 Business Logic Narrative
When the process 'Pass IO Area' is invoked, and assuming that io-area is available for data transfer, when system passes io area to ims database call, the desired outcome is that io area is included as parameter in cbltdli call.
💻 Technical Criteria
Given
IO-AREA is available for data transfer
When
System passes IO area to IMS database call
Then
IO area is included as parameter in CBLTDLI call
R-CIMS-cbl-00074
Pass SSA Parameters 1-6
Process Rules
📊 Business Logic Narrative
When the process 'Pass SSA Parameters 1-6' is invoked, and assuming that ssa1 through ssa6 parameters are available based on argument count, when system passes ssa parameters to ims database call, the desired outcome is that all available ssa parameters are included in cbltdli call.
💻 Technical Criteria
Given
SSA1 through SSA6 parameters are available based on argument count
When
System passes SSA parameters to IMS database call
Then
All available SSA parameters are included in CBLTDLI call
R-CIMS-cbl-00075
IMS Database Processing
Process Rules
📊 Business Logic Narrative
When the process 'IMS Database Processing' is invoked, and assuming that all parameters are passed to cbltdli call, when ims processes the database operation, the desired outcome is that database operation is executed and results are returned in pcb and io area.
💻 Technical Criteria
Given
All parameters are passed to CBLTDLI call
When
IMS processes the database operation
Then
Database operation is executed and results are returned in PCB and IO area
R-CIMS-cbl-00076
Return Control to Program
Process Rules
📊 Business Logic Narrative
When the process 'Return Control to Program' is invoked, and assuming that ims database processing is completed, when control returns to the program, the desired outcome is that program continues with post-database call processing.
💻 Technical Criteria
Given
IMS database processing is completed
When
Control returns to the program
Then
Program continues with post-database call processing
R-CIMS-cbl-00117
Set Function Parameter from FUNC
Process Rules
📊 Business Logic Narrative
When the process 'Set Function Parameter from FUNC' is invoked, and assuming that an ims database function code is provided in func parameter, when the system processes the ims call parameters, the desired outcome is that the function code is stored in cc-last-ims-func field of the common control area for tracking purposes.
💻 Technical Criteria
Given
An IMS database function code is provided in FUNC parameter
When
The system processes the IMS call parameters
Then
The function code is stored in CC-LAST-IMS-FUNC field of the common control area for tracking purposes
R-CIMS-cbl-00124
Calculate Parameter Count
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Parameter Count' is invoked, and assuming that the total argument count has been determined, when the system prepares for ims call execution, the desired outcome is that the parameter count is calculated by subtracting 1 from argument count and stored in cc-numb-of-args field.
💻 Technical Criteria
Given
The total argument count has been determined
When
The system prepares for IMS call execution
Then
The parameter count is calculated by subtracting 1 from argument count and stored in CC-NUMB-OF-ARGS field
R-CIMS-cbl-00125
Initialize Status Code to '**'
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Status Code to '**'' is invoked, and assuming that the system is preparing to execute an ims database call, when all parameters have been assembled, the desired outcome is that the status code is set to '**' in cc-status-code field to indicate call in progress.
💻 Technical Criteria
Given
The system is preparing to execute an IMS database call
When
All parameters have been assembled
Then
The status code is set to '**' in CC-STATUS-CODE field to indicate call in progress
R-CIMS-cbl-00126
Execute CBLTDLI Call
Action Rules
📊 Business Logic Narrative
When the process 'Execute CBLTDLI Call' is invoked, and assuming that all ims call parameters have been validated and assembled, when the system executes the database operation, the desired outcome is that the cbltdli program is called with the function, pcb, io area, and all applicable ssa parameters.
💻 Technical Criteria
Given
All IMS call parameters have been validated and assembled
When
The system executes the database operation
Then
The CBLTDLI program is called with the function, PCB, IO area, and all applicable SSA parameters
R-CIMS-cbl-00077
Check Function Type and PCB
Decision Rules
📊 Business Logic Narrative
When the process 'Check Function Type and PCB' is invoked, and assuming that a database function call is being processed with a specific function type and pcb address, when the function is 'gu' (get unique) and the pcb address matches the io pcb address in cccom, the desired outcome is that the system should proceed to refresh date and time information.
💻 Technical Criteria
Given
A database function call is being processed with a specific function type and PCB address
When
The function is 'GU' (Get Unique) AND the PCB address matches the IO PCB address in CCCOM
Then
The system should proceed to refresh date and time information
R-CIMS-cbl-00078
Reset IMS Call Counter to Zero
Action Rules
📊 Business Logic Narrative
When the process 'Reset IMS Call Counter to Zero' is invoked, and assuming that a gu function is being executed on the io pcb, when the date and time refresh process is initiated, the desired outcome is that the ims call counter in cccom should be reset to zero.
💻 Technical Criteria
Given
A GU function is being executed on the IO PCB
When
The date and time refresh process is initiated
Then
The IMS call counter in CCCOM should be reset to zero
R-CIMS-cbl-00079
Get Current System Date
Action Rules
📊 Business Logic Narrative
When the process 'Get Current System Date' is invoked, and assuming that date and time refresh is required for io pcb operation, when the system needs to update machine date information, the desired outcome is that the current system date should be retrieved in ccyymmdd format.
💻 Technical Criteria
Given
Date and time refresh is required for IO PCB operation
When
The system needs to update machine date information
Then
The current system date should be retrieved in CCYYMMDD format
R-CIMS-cbl-00082
Get Current System Time
Action Rules
📊 Business Logic Narrative
When the process 'Get Current System Time' is invoked, and assuming that machine date has been updated in cccom, when machine time information needs to be updated, the desired outcome is that the current system time should be retrieved and stored in the machine time field of cccom.
💻 Technical Criteria
Given
Machine date has been updated in CCCOM
When
Machine time information needs to be updated
Then
The current system time should be retrieved and stored in the machine time field of CCCOM
R-CIMS-cbl-00083
Reset IMS Call Counter to Zero
Process Rules
📊 Business Logic Narrative
When the process 'Reset IMS Call Counter to Zero' is invoked, and assuming that an ims database function has been executed, when the function is 'gu' (get unique) and the pcb address equals the io pcb address, the desired outcome is that the ims call counter is reset to zero.
💻 Technical Criteria
Given
An IMS database function has been executed
When
The function is 'GU' (Get Unique) AND the PCB address equals the IO PCB address
Then
The IMS call counter is reset to zero
R-CIMS-cbl-00084
Increment IMS Call Counter by 1
Process Rules
📊 Business Logic Narrative
When the process 'Increment IMS Call Counter by 1' is invoked, and assuming that an ims database function call has been completed, when any ims database operation is executed, the desired outcome is that the ims call counter is incremented by 1.
💻 Technical Criteria
Given
An IMS database function call has been completed
When
Any IMS database operation is executed
Then
The IMS call counter is incremented by 1
R-CIMS-cbl-00085
Copy PCB Status Information to CCCOM
Process Rules
📊 Business Logic Narrative
When the process 'Copy PCB Status Information to CCCOM' is invoked, and assuming that a database operation has been completed and pcb status information is available in lk-copy-of-pcb, when the system processes the pcb status information update, the desired outcome is that the complete pcb status information is copied from lk-copy-of-pcb to cc-copy-of-pcb in cccom structure.
💻 Technical Criteria
Given
A database operation has been completed and PCB status information is available in LK-COPY-OF-PCB
When
The system processes the PCB status information update
Then
The complete PCB status information is copied from LK-COPY-OF-PCB to CC-COPY-OF-PCB in CCCOM structure
R-CIMS-cbl-00088
Terminal and User Information Capture - Captures original terminal name and user ID for GU and CHKP functions on IO PCB
Process Rules
📊 Business Logic Narrative
When the process 'Terminal and User Information Capture - Captures original terminal name and user ID for GU and CHKP functions on IO PCB' is invoked, and assuming that a database function is being executed with a specific pcb address, when the function is either 'gu' (get unique) or 'chkp' (checkpoint) and the pcb address matches the io pcb address in the common control area, the desired outcome is that the system captures the original terminal name from the common control area to the original terminal field and captures the user id from the common control area to the acf2 user id field.
💻 Technical Criteria
Given
A database function is being executed with a specific PCB address
When
The function is either 'GU' (Get Unique) or 'CHKP' (Checkpoint) AND the PCB address matches the IO PCB address in the common control area
Then
The system captures the original terminal name from the common control area to the original terminal field AND captures the user ID from the common control area to the ACF2 user ID field
R-CIMS-cbl-00089
Status Code = Spaces?
Validation Rules
📊 Business Logic Narrative
When the process 'Status Code = Spaces?' is invoked, and assuming that an ims database operation has been executed and returned a status code, when the status code is evaluated for success condition, the desired outcome is that if the status code equals spaces, the operation is considered successful and processing continues with common area updates.
💻 Technical Criteria
Given
An IMS database operation has been executed and returned a status code
When
The status code is evaluated for success condition
Then
If the status code equals spaces, the operation is considered successful and processing continues with common area updates
R-CIMS-cbl-00090
I <= 12?
Process Rules
📊 Business Logic Narrative
When the process 'I <= 12?' is invoked, and assuming that an ims operation has returned a non-blank status code and validation against acceptable status table is required, when the system iterates through the acceptable status code table, the desired outcome is that the validation loop continues while the counter is less than or equal to 12 entries in the acceptable status table.
💻 Technical Criteria
Given
An IMS operation has returned a non-blank status code and validation against acceptable status table is required
When
The system iterates through the acceptable status code table
Then
The validation loop continues while the counter is less than or equal to 12 entries in the acceptable status table
R-CIMS-cbl-00091
Status Code Matches Entry?
Validation Rules
📊 Business Logic Narrative
When the process 'Status Code Matches Entry?' is invoked, and assuming that an ims status code needs validation and the system is checking against acceptable status table entries, when the current status code is compared with the current table entry, the desired outcome is that if the status code matches the acceptable status table entry, the operation is validated successfully and processing continues.
💻 Technical Criteria
Given
An IMS status code needs validation and the system is checking against acceptable status table entries
When
The current status code is compared with the current table entry
Then
If the status code matches the acceptable status table entry, the operation is validated successfully and processing continues
R-CIMS-cbl-00092
Increment Counter I
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Increment Counter I', assuming that the current ims status code does not match the current acceptable status table entry, when the system needs to check the next entry in the acceptable status table, the desired outcome is that the counter is incremented by 1 to move to the next table entry for comparison.
💻 Technical Criteria
EXCLUDING
The current IMS status code does not match the current acceptable status table entry
When
The system needs to check the next entry in the acceptable status table
Then
The counter is incremented by 1 to move to the next table entry for comparison
R-CIMS-cbl-00093
Generate Error Message: Status Code Not in Acceptable List
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Error Message: Status Code Not in Acceptable List', assuming that an ims operation has returned a status code that has been checked against all entries in the acceptable status table, when the status code is not found in any of the acceptable status table entries, the desired outcome is that an error message is generated indicating the ims return code is not in the acceptable list and error processing is invoked.
💻 Technical Criteria
EXCLUDING
An IMS operation has returned a status code that has been checked against all entries in the acceptable status table
When
The status code is not found in any of the acceptable status table entries
Then
An error message is generated indicating the IMS return code is not in the acceptable list and error processing is invoked
R-CIMS-cbl-00127
Acceptable Status Code Table Lookup - Searches through the acceptable status code table to validate IMS return codes
Validation Rules
📊 Business Logic Narrative
When the process 'Acceptable Status Code Table Lookup - Searches through the acceptable status code table to validate IMS return codes' is invoked, and assuming that a database operation has completed and returned a status code, and there exists a table of acceptable status codes with up to 12 entries, when the system performs status code validation by iterating through the acceptable status code table, the desired outcome is that if the status code matches any entry in the acceptable status table, the operation is considered valid and processing continues with common area updates, otherwise the status code is deemed unacceptable.
💻 Technical Criteria
Given
A database operation has completed and returned a status code, and there exists a table of acceptable status codes with up to 12 entries
When
The system performs status code validation by iterating through the acceptable status code table
Then
If the status code matches any entry in the acceptable status table, the operation is considered valid and processing continues with common area updates, otherwise the status code is deemed unacceptable
R-CIMS-cbl-00128
Current Status Code = Table Entry?
Decision Rules
📊 Business Logic Narrative
When the process 'Current Status Code = Table Entry?' is invoked, and assuming that a status code from a database operation and a specific entry from the acceptable status code table at index position i, when the system compares the current status code with the table entry at the current index, the desired outcome is that if the status code equals the table entry, the status is validated as acceptable and common area updates are performed, otherwise the comparison continues with the next table entry.
💻 Technical Criteria
Given
A status code from a database operation and a specific entry from the acceptable status code table at index position I
When
The system compares the current status code with the table entry at the current index
Then
If the status code equals the table entry, the status is validated as acceptable and common area updates are performed, otherwise the comparison continues with the next table entry
R-CIMS-cbl-00130
All Table Entries Checked - Invalid Status
Action Rules
📊 Business Logic Narrative
When the process 'All Table Entries Checked - Invalid Status' is invoked, and assuming that a database operation status code that has been compared against all entries in the acceptable status code table without finding a match, when all 12 entries in the acceptable status code table have been checked and no match was found, the desired outcome is that an error message is constructed containing the status code and the text 'ims rc code not in acceptable list' and error processing is invoked.
💻 Technical Criteria
Given
A database operation status code that has been compared against all entries in the acceptable status code table without finding a match
When
All 12 entries in the acceptable status code table have been checked and no match was found
Then
An error message is constructed containing the status code and the text 'IMS RC CODE NOT IN ACCEPTABLE LIST' and error processing is invoked
R-CIMS-cbl-00094
Error Message Generation - Generates error message for unacceptable IMS status codes
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Error Message Generation - Generates error message for unacceptable IMS status codes', assuming that an ims database operation has completed and returned a status code that is not found in the acceptable status code table after checking all 12 entries, when the system needs to handle the unacceptable status code, the desired outcome is that the system constructs an error message by concatenating the status code with the text ': ims rc code not in acceptable list', stores this message in the cccom error message field, and calls the error handler 'cerr' with the cccom control block.
💻 Technical Criteria
EXCLUDING
An IMS database operation has completed and returned a status code that is not found in the acceptable status code table after checking all 12 entries
When
The system needs to handle the unacceptable status code
Then
The system constructs an error message by concatenating the status code with the text ': IMS RC CODE NOT IN ACCEPTABLE LIST', stores this message in the CCCOM error message field, and calls the error handler 'CERR' with the CCCOM control block
R-CIMS-cbl-00095
Set Base Address to CCCOM DB PCBs
Process Rules
📊 Business Logic Narrative
When the process 'Set Base Address to CCCOM DB PCBs' is invoked, and assuming that the system needs to detect iscom format usage, when iscom detection process begins, the desired outcome is that the base address pointer is set to the cccom database pcb control blocks area.
💻 Technical Criteria
Given
The system needs to detect ISCOM format usage
When
ISCOM detection process begins
Then
The base address pointer is set to the CCCOM database PCB control blocks area
R-CIMS-cbl-00096
Set Offset Address to Current PCB Area
Process Rules
📊 Business Logic Narrative
When the process 'Set Offset Address to Current PCB Area' is invoked, and assuming that the base address has been established for iscom detection, when setting up address comparison parameters, the desired outcome is that the offset address pointer is set to the current pcb address area.
💻 Technical Criteria
Given
The base address has been established for ISCOM detection
When
Setting up address comparison parameters
Then
The offset address pointer is set to the current PCB address area
R-CIMS-cbl-00097
Calculate ISCOM Table Size
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate ISCOM Table Size' is invoked, and assuming that iscom detection addresses are established, when calculating table boundaries for validation, the desired outcome is that the iscom table size is computed based on the length of cccom database pcbs.
💻 Technical Criteria
Given
ISCOM detection addresses are established
When
Calculating table boundaries for validation
Then
The ISCOM table size is computed based on the length of CCCOM database PCBs
R-CIMS-cbl-00099
Calculate Address Difference Method 1: Offset - Base
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Address Difference Method 1: Offset - Base' is invoked, and assuming that base address is greater than zero, when computing address difference for iscom detection, the desired outcome is that address difference is calculated as offset address minus base address.
💻 Technical Criteria
Given
Base address is greater than zero
When
Computing address difference for ISCOM detection
Then
Address difference is calculated as offset address minus base address
R-CIMS-cbl-00100
Calculate Address Difference Method 2: Base - Offset
Computation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Calculate Address Difference Method 2: Base - Offset', assuming that base address is not greater than zero, when computing address difference for iscom detection, the desired outcome is that address difference is calculated as base address minus offset address.
💻 Technical Criteria
EXCLUDING
Base address is not greater than zero
When
Computing address difference for ISCOM detection
Then
Address difference is calculated as base address minus offset address
R-CIMS-cbl-00101
PCB Table Index Calculation
Computation Rules
📊 Business Logic Narrative
When the process 'PCB Table Index Calculation' is invoked, and assuming that address offset has been determined and is within iscom range, when converting iscom pcb to cccom format, the desired outcome is that table index is calculated as (address offset + 8) divided by 12.
💻 Technical Criteria
Given
Address offset has been determined and is within ISCOM range
When
Converting ISCOM PCB to CCCOM format
Then
Table index is calculated as (address offset + 8) divided by 12
R-CIMS-cbl-00102
ISCOM PCB Conversion
Action Rules
📊 Business Logic Narrative
When the process 'ISCOM PCB Conversion' is invoked, and assuming that table index has been calculated for pcb conversion, when iscom format pcb needs to be converted to cccom format, the desired outcome is that external conversion service cimsconv is invoked with iscom pcb data, pcb pointer, and table index to perform the conversion.
💻 Technical Criteria
Given
Table index has been calculated for PCB conversion
When
ISCOM format PCB needs to be converted to CCCOM format
Then
External conversion service CIMSCONV is invoked with ISCOM PCB data, PCB pointer, and table index to perform the conversion
R-CIMS-cbl-00103
Set New PCB Address
Process Rules
📊 Business Logic Narrative
When the process 'Set New PCB Address' is invoked, and assuming that iscom pcb has been successfully converted to cccom format, when finalizing the conversion process, the desired outcome is that the address area is updated to point to the converted iscom pcb pointer.
💻 Technical Criteria
Given
ISCOM PCB has been successfully converted to CCCOM format
When
Finalizing the conversion process
Then
The address area is updated to point to the converted ISCOM PCB pointer
R-CIMS-cbl-00134
Calculate CIMS Table Size
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate CIMS Table Size' is invoked, and assuming that cccom and iscom structures are available, when cims table size calculation is required, the desired outcome is that table size is set to the length of cc-db-pcbs structure in iscom.
💻 Technical Criteria
Given
CCCOM and ISCOM structures are available
When
CIMS table size calculation is required
Then
Table size is set to the length of CC-DB-PCBS structure in ISCOM
R-CIMS-cbl-00135
Get CCCOM PCB Base Address
Process Rules
📊 Business Logic Narrative
When the process 'Get CCCOM PCB Base Address' is invoked, and assuming that the cccom structure contains pcb control block information, when the system needs to validate iscom table range, the desired outcome is that the base address of cc-db-pcbs is retrieved and stored for address calculation.
💻 Technical Criteria
Given
The CCCOM structure contains PCB control block information
When
The system needs to validate ISCOM table range
Then
The base address of CC-DB-PCBS is retrieved and stored for address calculation
R-CIMS-cbl-00136
Get Address Area Offset Address
Process Rules
📊 Business Logic Narrative
When the process 'Get Address Area Offset Address' is invoked, and assuming that the address area contains valid offset information, when the system performs iscom range validation, the desired outcome is that the offset address is retrieved and stored for comparison with the base address.
💻 Technical Criteria
Given
The address area contains valid offset information
When
The system performs ISCOM range validation
Then
The offset address is retrieved and stored for comparison with the base address
R-CIMS-cbl-00138
Base Address > Zero?
Decision Rules
📊 Business Logic Narrative
When the process 'Base Address > Zero?' is invoked, and assuming that base address and offset address are available for calculation, when the base address is greater than zero, the desired outcome is that address 1 is set to offset address and address 2 is set to base address, otherwise address 1 is set to base address and address 2 is set to offset address.
💻 Technical Criteria
Given
Base address and offset address are available for calculation
When
The base address is greater than zero
Then
Address 1 is set to offset address and Address 2 is set to base address, otherwise Address 1 is set to base address and Address 2 is set to offset address
R-CIMS-cbl-00140
Offset Within ISCOM Table Range?
Validation Rules
📊 Business Logic Narrative
When the process 'Offset Within ISCOM Table Range?' is invoked, and assuming that the address offset has been calculated and iscom table size is known, when the system validates the offset against table boundaries, the desired outcome is that if the offset is within the valid iscom table range, iscom conversion processing is initiated, otherwise standard pcb processing is used.
💻 Technical Criteria
Given
The address offset has been calculated and ISCOM table size is known
When
The system validates the offset against table boundaries
Then
If the offset is within the valid ISCOM table range, ISCOM conversion processing is initiated, otherwise standard PCB processing is used
R-CIMS-cbl-00105
Call CIMSCONV with Table Index
Action Rules
📊 Business Logic Narrative
When the process 'Call CIMSCONV with Table Index' is invoked, and assuming that a table index has been calculated for pcb conversion and iscom pcb data exists, when the system needs to convert iscom pcb structure to cccom format, the desired outcome is that call the cimsconv service with the iscom pcb data, pcb pointer, and calculated table index.
💻 Technical Criteria
Given
A table index has been calculated for PCB conversion and ISCOM PCB data exists
When
The system needs to convert ISCOM PCB structure to CCCOM format
Then
Call the CIMSCONV service with the ISCOM PCB data, PCB pointer, and calculated table index
R-CIMS-cbl-00108
Call CIMSCONV Utility with ISCOM PCB Parameters
Action Rules
📊 Business Logic Narrative
When the process 'Call CIMSCONV Utility with ISCOM PCB Parameters' is invoked, and assuming that iscom pcb data exists and table index has been calculated, when pcb format conversion is required from iscom to cccom, the desired outcome is that the cimsconv utility is called with iscom pcb parameters and calculated table index to perform the conversion.
💻 Technical Criteria
Given
ISCOM PCB data exists and table index has been calculated
When
PCB format conversion is required from ISCOM to CCCOM
Then
The CIMSCONV utility is called with ISCOM PCB parameters and calculated table index to perform the conversion
R-CIMS-cbl-00110
Copy Common Area Data from CCCOM to ISCOM
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Copy Common Area Data from CCCOM to ISCOM', assuming that the system has both cccom and iscom control structures available and the iscom address is valid and not blank, when the common area synchronization process is invoked, the desired outcome is that the common area data from cccom is copied to iscom to ensure both structures contain identical shared information.
💻 Technical Criteria
EXCLUDING
The system has both CCCOM and ISCOM control structures available and the ISCOM address is valid and not blank
When
The common area synchronization process is invoked
Then
The common area data from CCCOM is copied to ISCOM to ensure both structures contain identical shared information
🚂 Equipment & Cargo Specs
2 logic blocks
R-CIMS-cbl-00059
Table Entry Empty?
Decision Rules
📊 Business Logic Narrative
When the process 'Table Entry Empty?' is invoked, and assuming that current database name table entry during search, when the table entry is evaluated for content, the desired outcome is that if entry contains spaces, terminate search; otherwise increment counter and continue.
💻 Technical Criteria
Given
Current database name table entry during search
When
The table entry is evaluated for content
Then
If entry contains spaces, terminate search; otherwise increment counter and continue
R-CIMS-cbl-00060
Increment Counter
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Increment Counter', assuming that current search counter value during table iteration, when no match found and table entry is not empty, the desired outcome is that the counter is incremented by 1 to move to next table entry.
💻 Technical Criteria
EXCLUDING
Current search counter value during table iteration
When
No match found and table entry is not empty
Then
The counter is incremented by 1 to move to next table entry
Module Tracker: WRITMSGL
7 Validations & RulesModule Objective: No description provided from architecture analysis.
⚙️ General Logic & Formats
1 logic blocks
R-WRITMSGL-cbl-00007
Call WRITMSGX Program with Parameters
Action Rules
📊 Business Logic Narrative
When the process 'Call WRITMSGX Program with Parameters' is invoked, and assuming that six input parameters p1, p2, p3, p4, p5, p6 are available, when the system needs to write a formatted message, the desired outcome is that the writmsgx program is called with all six parameters to produce the formatted message output.
💻 Technical Criteria
Given
Six input parameters P1, P2, P3, P4, P5, P6 are available
When
The system needs to write a formatted message
Then
The WRITMSGX program is called with all six parameters to produce the formatted message output
🔁 EDI, Status & Database
6 logic blocks
R-WRITMSGL-cbl-00001
1:Message Writing Initialization
Action Rules
📊 Business Logic Narrative
When the process '1:Message Writing Initialization' is invoked, and assuming that the program has started execution, when the message writing initialization is triggered, the desired outcome is that the basic message writing function writmsg is invoked.
💻 Technical Criteria
Given
The program has started execution
When
The message writing initialization is triggered
Then
The basic message writing function WRITMSG is invoked
R-WRITMSGL-cbl-00002
2:Parameterized Message Writing
Action Rules
📊 Business Logic Narrative
When the process '2:Parameterized Message Writing' is invoked, and assuming that the basic message writing has been completed and six parameters p1, p2, p3, p4, p5, p6 are available, when the parameterized message writing is triggered, the desired outcome is that the extended message writing function writmsgx is invoked with parameters p1, p2, p3, p4, p5, p6.
💻 Technical Criteria
Given
The basic message writing has been completed and six parameters P1, P2, P3, P4, P5, P6 are available
When
The parameterized message writing is triggered
Then
The extended message writing function WRITMSGX is invoked with parameters P1, P2, P3, P4, P5, P6
R-WRITMSGL-cbl-00003
Program Start to Program End
Process Rules
📊 Business Logic Narrative
When the process 'Program Start to Program End' is invoked, and assuming that the program execution begins, when message processing workflow is initiated, the desired outcome is that basic message writing must be completed before parameterized message writing, and program terminates after both operations complete.
💻 Technical Criteria
Given
The program execution begins
When
Message processing workflow is initiated
Then
Basic message writing must be completed before parameterized message writing, and program terminates after both operations complete
R-WRITMSGL-cbl-00004
Message Writing Initialization - Calls the WRITMSG program to initialize message writing functionality
Action Rules
📊 Business Logic Narrative
When the process 'Message Writing Initialization - Calls the WRITMSG program to initialize message writing functionality' is invoked, and assuming that the message writing system needs to be initialized, when the program execution begins, the desired outcome is that the writmsg program is called to initialize message writing functionality.
💻 Technical Criteria
Given
The message writing system needs to be initialized
When
The program execution begins
Then
The WRITMSG program is called to initialize message writing functionality
R-WRITMSGL-cbl-00005
Message Writing Initialization - Calls the WRITMSG program to initialize message writing functionality
Action Rules
📊 Business Logic Narrative
When the process 'Message Writing Initialization - Calls the WRITMSG program to initialize message writing functionality' is invoked, and assuming that the message writing system is initialized and six parameters p1, p2, p3, p4, p5, p6 are available, when extended message writing is required, the desired outcome is that the writmsgx program is called with parameters p1, p2, p3, p4, p5, p6.
💻 Technical Criteria
Given
The message writing system is initialized and six parameters P1, P2, P3, P4, P5, P6 are available
When
Extended message writing is required
Then
The WRITMSGX program is called with parameters P1, P2, P3, P4, P5, P6
R-WRITMSGL-cbl-00006
Message Writing Initialization - Calls the WRITMSG program to initialize message writing functionality
Process Rules
📊 Business Logic Narrative
When the process 'Message Writing Initialization - Calls the WRITMSG program to initialize message writing functionality' is invoked, and assuming that both basic and extended message writing operations are required, when message processing is initiated, the desired outcome is that writmsg is called first, followed by writmsgx with parameters.
💻 Technical Criteria
Given
Both basic and extended message writing operations are required
When
Message processing is initiated
Then
WRITMSG is called first, followed by WRITMSGX with parameters
Module Tracker: GCCMQERR
12 Validations & RulesModule Objective: No description provided from architecture analysis.
⚙️ General Logic & Formats
4 logic blocks
R-GCCMQERR-cbl-00007
Increment Index by 1
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Increment Index by 1', assuming that the current error number does not match the input and the end of table has not been reached, when the system needs to continue searching the error table, the desired outcome is that the search index is incremented by 1 to examine the next error number in the table.
💻 Technical Criteria
EXCLUDING
The current error number does not match the input and the end of table has not been reached
When
The system needs to continue searching the error table
Then
The search index is incremented by 1 to examine the next error number in the table
R-GCCMQERR-cbl-00008
Search Complete - Match Found
Decision Rules
📊 Business Logic Narrative
When the process 'Search Complete - Match Found' is invoked, and assuming that a matching error number has been found in the error table, when the search process completes successfully, the desired outcome is that the corresponding error message text is moved to the output message field.
💻 Technical Criteria
Given
A matching error number has been found in the error table
When
The search process completes successfully
Then
The corresponding error message text is moved to the output message field
R-GCCMQERR-cbl-00009
Search Complete - End of Table Reached
Decision Rules
📊 Business Logic Narrative
When the process 'Search Complete - End of Table Reached' is invoked, and assuming that the end of the error table has been reached without finding a matching error number, when the search process completes without success, the desired outcome is that the input error number is stored in the unknown number field and a default unknown error message is moved to the output message field.
💻 Technical Criteria
Given
The end of the error table has been reached without finding a matching error number
When
The search process completes without success
Then
The input error number is stored in the unknown number field and a default unknown error message is moved to the output message field
R-GCCMQERR-cbl-00012
Move Unknown Message Template to Output
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Move Unknown Message Template to Output', assuming that an error code is not found in the error message table and the unknown number field has been populated, when the system needs to provide an error message for an unrecognized error code, the desired outcome is that the unknown message template is moved to the output message text field.
💻 Technical Criteria
EXCLUDING
An error code is not found in the error message table and the unknown number field has been populated
When
The system needs to provide an error message for an unrecognized error code
Then
The unknown message template is moved to the output message text field
🔁 EDI, Status & Database
6 logic blocks
R-GCCMQERR-cbl-00002
Error Message Retrieval
Decision Rules
📊 Business Logic Narrative
When the process 'Error Message Retrieval' is invoked, and assuming that the error table search has completed and the input error number was found in the table, when the error number at the current index position matches the input error number, the desired outcome is that the system moves the corresponding error text from the table to the output message text field.
💻 Technical Criteria
Given
The error table search has completed and the input error number was found in the table
When
The error number at the current index position matches the input error number
Then
The system moves the corresponding error text from the table to the output message text field
R-GCCMQERR-cbl-00003
Unknown Error Handling
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Unknown Error Handling', assuming that the error table search has completed and the input error number was not found in the table, when the error number at the current index position does not match the input error number, the desired outcome is that the system moves the input error number to the unknown number field and moves the unknown message to the output message text field.
💻 Technical Criteria
EXCLUDING
The error table search has completed and the input error number was not found in the table
When
The error number at the current index position does not match the input error number
Then
The system moves the input error number to the unknown number field AND moves the unknown message to the output message text field
R-GCCMQERR-cbl-00004
Initialize Search Index to 1
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Search Index to 1' is invoked, and assuming that an error number needs to be looked up in the error message table, when the error lookup process begins, the desired outcome is that the search index is set to position 1 to start searching from the beginning of the error table.
💻 Technical Criteria
Given
An error number needs to be looked up in the error message table
When
The error lookup process begins
Then
The search index is set to position 1 to start searching from the beginning of the error table
R-GCCMQERR-cbl-00005
Does Error Number Match Input?
Validation Rules
📊 Business Logic Narrative
When the process 'Does Error Number Match Input?' is invoked, and assuming that the system is examining an error number at the current table position, when the error number at the current index is compared with the input error number, the desired outcome is that if the error numbers match exactly, the search is successful and the corresponding error message is identified.
💻 Technical Criteria
Given
The system is examining an error number at the current table position
When
The error number at the current index is compared with the input error number
Then
If the error numbers match exactly, the search is successful and the corresponding error message is identified
R-GCCMQERR-cbl-00010
Retrieve Error Message Text from Table
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Error Message Text from Table' is invoked, and assuming that an error code has been found in the error message table at a specific index position, when the error code at the current index position equals the input error number, the desired outcome is that the corresponding error message text at that same index position is moved to the output message field.
💻 Technical Criteria
Given
An error code has been found in the error message table at a specific index position
When
The error code at the current index position equals the input error number
Then
The corresponding error message text at that same index position is moved to the output message field
R-GCCMQERR-cbl-00011
Move Input Error Number to Unknown Number Field
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Move Input Error Number to Unknown Number Field', assuming that an error code has been searched in the error message table and error-number (error-index) does not equal input-error-number, when the system determines the error code is not found in the table, the desired outcome is that the input error number is moved to the unknown number field for inclusion in the default message.
💻 Technical Criteria
EXCLUDING
An error code has been searched in the error message table and ERROR-NUMBER (ERROR-INDEX) does not equal INPUT-ERROR-NUMBER
When
The system determines the error code is not found in the table
Then
The input error number is moved to the unknown number field for inclusion in the default message
🚂 Equipment & Cargo Specs
2 logic blocks
R-GCCMQERR-cbl-00001
Error Code Lookup
Process Rules
📊 Business Logic Narrative
When the process 'Error Code Lookup' is invoked, and assuming that an input error number is provided and an error table exists with error numbers and corresponding text messages, when the system performs a sequential search through the error table starting from index 1 and incrementing by 1, the desired outcome is that the search continues until either the input error number matches an error number in the table or an empty entry (spaces) is encountered indicating end of table.
💻 Technical Criteria
Given
An input error number is provided and an error table exists with error numbers and corresponding text messages
When
The system performs a sequential search through the error table starting from index 1 and incrementing by 1
Then
The search continues until either the input error number matches an error number in the table OR an empty entry (spaces) is encountered indicating end of table
R-GCCMQERR-cbl-00006
Is Error Number Empty/Spaces?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Error Number Empty/Spaces?' is invoked, and assuming that the system is examining an error number at the current table position and no match was found, when the error number at the current index contains spaces or is empty, the desired outcome is that the search process recognizes that the end of the error table has been reached.
💻 Technical Criteria
Given
The system is examining an error number at the current table position and no match was found
When
The error number at the current index contains spaces or is empty
Then
The search process recognizes that the end of the error table has been reached