🔍
Canada Cargo/Train Manifest response - EDI350 - 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: GCCIH
21 Validations & RulesModule Objective: No description provided from architecture analysis.
⚙️ General Logic & Formats
1 logic blocks
R-GCCIH-cbl-00006
5:Write Message Log
Action Rules
📊 Business Logic Narrative
When the process '5:Write Message Log' is invoked, and assuming that a message has been processed through initial ims processing, when the message logging is performed, the desired outcome is that the writmsgl service is invoked with message code, content, length, and module name for complete audit logging.
💻 Technical Criteria
Given
A message has been processed through initial IMS processing
When
The message logging is performed
Then
The WRITMSGL service is invoked with message code, content, length, and module name for complete audit logging
🏷️ CCN & Waybill Identification
12 logic blocks
R-GCCIH-cbl-00003
3:Format CCN Status Message
Definitional Rules
📊 Business Logic Narrative
When the process '3:Format CCN Status Message' is invoked, and assuming that ih notification data is prepared with security controls, when the ccn status message is being formatted, the desired outcome is that the 91-byte input data is moved to positions 2-91 of the message structure and the formatted input is copied to the message area.
💻 Technical Criteria
Given
IH notification data is prepared with security controls
When
The CCN status message is being formatted
Then
The 91-byte input data is moved to positions 2-91 of the message structure and the formatted input is copied to the message area
R-GCCIH-cbl-00004
3:Format CCN Status Message
Process Rules
📊 Business Logic Narrative
When the process '3:Format CCN Status Message' is invoked, and assuming that a ccn status message is formatted and ready for processing, when the message is prepared for transmission, the desired outcome is that the accept status is set to spaces to indicate a cleared/ready state.
💻 Technical Criteria
Given
A CCN status message is formatted and ready for processing
When
The message is prepared for transmission
Then
The accept status is set to spaces to indicate a cleared/ready state
R-GCCIH-cbl-00005
4:Send Initial IMS Message
Action Rules
📊 Business Logic Narrative
When the process '4:Send Initial IMS Message' is invoked, and assuming that a formatted ccn status message with cleared accept status, when the message is sent for initial processing, the desired outcome is that the cims service is invoked with change operation parameters to process the message.
💻 Technical Criteria
Given
A formatted CCN status message with cleared accept status
When
The message is sent for initial processing
Then
The CIMS service is invoked with change operation parameters to process the message
R-GCCIH-cbl-00010
Clear Input Structure
Process Rules
📊 Business Logic Narrative
When the process 'Clear Input Structure' is invoked, and assuming that a ccn status notification needs to be processed, when the system begins preparing the ih notification data, the desired outcome is that the gcx153-input structure is initialized to clear any previous data.
💻 Technical Criteria
Given
A CCN status notification needs to be processed
When
The system begins preparing the IH notification data
Then
The GCX153-INPUT structure is initialized to clear any previous data
R-GCCIH-cbl-00011
Set Security Parameters to High Values
Policy Rules
📊 Business Logic Narrative
When the process 'Set Security Parameters to High Values' is invoked, and assuming that the input structure has been initialized for ccn status notification, when security parameters need to be established, the desired outcome is that the gcx153-security-byte is set to high-values to enforce maximum security level.
💻 Technical Criteria
Given
The input structure has been initialized for CCN status notification
When
Security parameters need to be established
Then
The GCX153-SECURITY-BYTE is set to HIGH-VALUES to enforce maximum security level
R-GCCIH-cbl-00012
Input Structure Ready for CCN Status
Process Rules
📊 Business Logic Narrative
When the process 'Input Structure Ready for CCN Status' is invoked, and assuming that the input structure is initialized and security parameters are set, when ccn status data needs to be loaded into the notification structure, the desired outcome is that 91 bytes of gcwih data are moved to positions 2-91 of gcx153-input structure.
💻 Technical Criteria
Given
The input structure is initialized and security parameters are set
When
CCN status data needs to be loaded into the notification structure
Then
91 bytes of GCWIH data are moved to positions 2-91 of GCX153-INPUT structure
R-GCCIH-cbl-00013
Extract CCN Data from GCWIH
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract CCN Data from GCWIH' is invoked, and assuming that gcwih input structure contains ccn data in positions 1 through 91, when ccn data extraction is initiated, the desired outcome is that 91 bytes of ccn data are extracted from gcwih starting at position 1.
💻 Technical Criteria
Given
GCWIH input structure contains CCN data in positions 1 through 91
When
CCN data extraction is initiated
Then
91 bytes of CCN data are extracted from GCWIH starting at position 1
R-GCCIH-cbl-00014
Move CCN Data to Input Structure Position 2-92
Process Rules
📊 Business Logic Narrative
When the process 'Move CCN Data to Input Structure Position 2-92' is invoked, and assuming that 91 bytes of ccn data have been extracted from gcwih, when ccn data is moved to the input structure, the desired outcome is that ccn data is placed in positions 2 through 92 of gcx153-input structure.
💻 Technical Criteria
Given
91 bytes of CCN data have been extracted from GCWIH
When
CCN data is moved to the input structure
Then
CCN data is placed in positions 2 through 92 of GCX153-INPUT structure
R-GCCIH-cbl-00015
Move CCN Data to Input Structure Position 2-92
Policy Rules
📊 Business Logic Narrative
When the process 'Move CCN Data to Input Structure Position 2-92' is invoked, and assuming that a ccn status message is being prepared, when security initialization is performed, the desired outcome is that the security byte is set to high-values indicating maximum security level.
💻 Technical Criteria
Given
A CCN status message is being prepared
When
Security initialization is performed
Then
The security byte is set to HIGH-VALUES indicating maximum security level
R-GCCIH-cbl-00016
Transfer Formatted Input to IH Message Structure
Process Rules
📊 Business Logic Narrative
When the process 'Transfer Formatted Input to IH Message Structure' is invoked, and assuming that gcx153-input structure contains properly formatted ccn data with security byte, when message structure transfer is initiated, the desired outcome is that the complete formatted input is transferred to gct1531e-msg for ih processing.
💻 Technical Criteria
Given
GCX153-INPUT structure contains properly formatted CCN data with security byte
When
Message structure transfer is initiated
Then
The complete formatted input is transferred to GCT1531E-MSG for IH processing
R-GCCIH-cbl-00018
Prepare Log Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Log Parameters' is invoked, and assuming that a ccn status notification message needs to be logged, when the system prepares logging parameters, the desired outcome is that the message code, message content, message length, and module name are made available for the logging operation.
💻 Technical Criteria
Given
A CCN status notification message needs to be logged
When
The system prepares logging parameters
Then
The message code, message content, message length, and module name are made available for the logging operation
R-GCCIH-cbl-00019
Call WRITMSGL Program
Action Rules
📊 Business Logic Narrative
When the process 'Call WRITMSGL Program' is invoked, and assuming that all logging parameters are prepared for the ccn status message, when the system calls the writmsgl program with message code, message content, message length, and module name, the desired outcome is that the writmsgl program is invoked to log the ccn status notification message.
💻 Technical Criteria
Given
All logging parameters are prepared for the CCN status message
When
The system calls the WRITMSGL program with message code, message content, message length, and module name
Then
The WRITMSGL program is invoked to log the CCN status notification message
💰 Bond & Financial Auth
1 logic blocks
R-GCCIH-cbl-00002
2:Prepare IH Notification Data
Policy Rules
📊 Business Logic Narrative
When the process '2:Prepare IH Notification Data' is invoked, and assuming that a new ih notification needs to be processed, when the notification data structure is being prepared, the desired outcome is that the input structure is initialized and security byte is set to high values for maximum security.
💻 Technical Criteria
Given
A new IH notification needs to be processed
When
The notification data structure is being prepared
Then
The input structure is initialized and security byte is set to high values for maximum security
🔁 EDI, Status & Database
7 logic blocks
R-GCCIH-cbl-00001
1:Initialize Program Control
Process Rules
📊 Business Logic Narrative
When the process '1:Initialize Program Control' is invoked, and assuming that a message processing operation is initiated, when the system begins message processing, the desired outcome is that the current program name is saved and the module name becomes the active program identifier.
💻 Technical Criteria
Given
A message processing operation is initiated
When
The system begins message processing
Then
The current program name is saved and the module name becomes the active program identifier
R-GCCIH-cbl-00007
6:Purge IMS Message
Action Rules
📊 Business Logic Narrative
When the process '6:Purge IMS Message' is invoked, and assuming that a message has been processed and logged successfully, when the cleanup operation is performed, the desired outcome is that the cims service is invoked with purge operation to remove the processed message from the system.
💻 Technical Criteria
Given
A message has been processed and logged successfully
When
The cleanup operation is performed
Then
The CIMS service is invoked with purge operation to remove the processed message from the system
R-GCCIH-cbl-00008
Save Current Program Name - CC-PROG → PROG-NAME-SAVED
Process Rules
📊 Business Logic Narrative
When the process 'Save Current Program Name - CC-PROG → PROG-NAME-SAVED' is invoked, and assuming that a program control initialization process is starting, when the system needs to track the current program context, the desired outcome is that the current program identifier must be saved to preserve execution context.
💻 Technical Criteria
Given
A program control initialization process is starting
When
The system needs to track the current program context
Then
The current program identifier must be saved to preserve execution context
R-GCCIH-cbl-00009
Set Module Name for Tracking - MODULE-NAME → CC-PROG
Process Rules
📊 Business Logic Narrative
When the process 'Set Module Name for Tracking - MODULE-NAME → CC-PROG' is invoked, and assuming that the current program context has been preserved, when the system switches to module execution mode, the desired outcome is that the module name must be assigned as the current program identifier for tracking purposes.
💻 Technical Criteria
Given
The current program context has been preserved
When
The system switches to module execution mode
Then
The module name must be assigned as the current program identifier for tracking purposes
R-GCCIH-cbl-00017
Execute CIMS Call with CHNG Function
Action Rules
📊 Business Logic Narrative
When the process 'Execute CIMS Call with CHNG Function' is invoked, and assuming that message input data has been prepared in gcx153-input structure and accept status is cleared, when system calls cims program with chng function using cccom, alt-pcb, and gct1531e parameters, the desired outcome is that ims message processing is initiated for the prepared message.
💻 Technical Criteria
Given
Message input data has been prepared in GCX153-INPUT structure and accept status is cleared
When
System calls CIMS program with CHNG function using CCCOM, ALT-PCB, and GCT1531E parameters
Then
IMS message processing is initiated for the prepared message
R-GCCIH-cbl-00020
Execute PURG Function
Action Rules
📊 Business Logic Narrative
When the process 'Execute PURG Function' is invoked, and assuming that message processing has been completed and logged, when system initiates message cleanup process, the desired outcome is that cims program is called with purg function to purge the message.
💻 Technical Criteria
Given
Message processing has been completed and logged
When
System initiates message cleanup process
Then
CIMS program is called with PURG function to purge the message
R-GCCIH-cbl-00021
Complete Message Processing
Process Rules
📊 Business Logic Narrative
When the process 'Complete Message Processing' is invoked, and assuming that message has been processed and purge function has been executed, when all message operations are completed, the desired outcome is that system returns control to the calling program to complete the process.
💻 Technical Criteria
Given
Message has been processed and purge function has been executed
When
All message operations are completed
Then
System returns control to the calling program to complete the process
Data Services: Persistence & Utility (TB)
Module Tracker: GCCTBIO
108 Validations & RulesModule Objective: No description provided from architecture analysis.
⚙️ General Logic & Formats
5 logic blocks
R-GCCTBIO-cbl-00034
SSA Type = QUALIFIED-SSA?
Decision Rules
📊 Business Logic Narrative
When the process 'SSA Type = QUALIFIED-SSA?' is invoked, and assuming that a root segment has been identified for processing, when the system checks the ssa flag type for qualified search requirements, the desired outcome is that the system determines whether to use qualified or unqualified ssa for the root segment access.
💻 Technical Criteria
Given
A root segment has been identified for processing
When
The system checks the SSA flag type for qualified search requirements
Then
The system determines whether to use qualified or unqualified SSA for the root segment access
R-GCCTBIO-cbl-00040
Is Segment GCSTBDP?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Segment GCSTBDP?' is invoked, and assuming that a segment name is provided for processing, when the system checks the segment type, the desired outcome is that the system identifies whether it is a dependent segment (gcstbdp-key-name) or not.
💻 Technical Criteria
Given
A segment name is provided for processing
When
The system checks the segment type
Then
The system identifies whether it is a dependent segment (GCSTBDP-KEY-NAME) or not
R-GCCTBIO-cbl-00041
Is SSA Type Qualified?
Decision Rules
📊 Business Logic Narrative
When the process 'Is SSA Type Qualified?' is invoked, and assuming that a dependent segment is being processed, when the system evaluates the ssa flag type, the desired outcome is that the system determines if the ssa type is qualified or not.
💻 Technical Criteria
Given
A dependent segment is being processed
When
The system evaluates the SSA flag type
Then
The system determines if the SSA type is qualified or not
R-GCCTBIO-cbl-00045
Is SSA Type Unqualified?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is SSA Type Unqualified?', assuming that a dependent segment is being processed and ssa type is not qualified, when the system evaluates the ssa flag type, the desired outcome is that the system determines if the ssa type is unqualified.
💻 Technical Criteria
EXCLUDING
A dependent segment is being processed and SSA type is not qualified
When
The system evaluates the SSA flag type
Then
The system determines if the SSA type is unqualified
R-GCCTBIO-cbl-00047
Invalid Segment - Set Error Flag
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Invalid Segment - Set Error Flag', assuming that a segment name that is not a recognized segment type, when the system processes the segment, the desired outcome is that the system sets the return flag to indicate an invalid segment error.
💻 Technical Criteria
EXCLUDING
A segment name that is not a recognized segment type
When
The system processes the segment
Then
The system sets the return flag to indicate an invalid segment error
💰 Bond & Financial Auth
20 logic blocks
R-GCCTBIO-cbl-00006
8:Initialize Root Segment SSA
Process Rules
📊 Business Logic Narrative
When the process '8:Initialize Root Segment SSA' is invoked, and assuming that a validated operation targets the root segment gcstbrt, when the ssa flag indicates qualified search is required, the desired outcome is that the system sets the root segment key value for targeted access.
💻 Technical Criteria
Given
A validated operation targets the root segment GCSTBRT
When
The SSA flag indicates qualified search is required
Then
The system sets the root segment key value for targeted access
R-GCCTBIO-cbl-00007
9:Initialize Dependent Segment SSA
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '9:Initialize Dependent Segment SSA', assuming that a validated operation targets the dependent segment gcstbdp with qualified ssa, when the unqualified ssa flag is not set, the desired outcome is that the system sets both root segment key value and dependent segment key value for hierarchical access.
💻 Technical Criteria
EXCLUDING
A validated operation targets the dependent segment GCSTBDP with qualified SSA
When
The unqualified SSA flag is not set
Then
The system sets both root segment key value and dependent segment key value for hierarchical access
R-GCCTBIO-cbl-00008
10:Handle Dependent Segment Unqualified Access
Process Rules
📊 Business Logic Narrative
When the process '10:Handle Dependent Segment Unqualified Access' is invoked, and assuming that a validated operation targets the dependent segment gcstbdp, when either the unqualified ssa flag is set or the ssa flag indicates unqualified search, the desired outcome is that the system sets only the root segment key value and configures unqualified ssa for broader search scope.
💻 Technical Criteria
Given
A validated operation targets the dependent segment GCSTBDP
When
Either the unqualified SSA flag is set or the SSA flag indicates unqualified search
Then
The system sets only the root segment key value and configures unqualified SSA for broader search scope
R-GCCTBIO-cbl-00020
Clear Return Status - Initialize return flag, accept status, and SSA flag to default values
Process Rules
📊 Business Logic Narrative
When the process 'Clear Return Status - Initialize return flag, accept status, and SSA flag to default values' is invoked, and assuming that a database operation is about to be processed, when the system begins operation initialization, the desired outcome is that the return flag is set to spaces, the accept status is set to spaces, and the ssa flag is set to spaces.
💻 Technical Criteria
Given
A database operation is about to be processed
When
The system begins operation initialization
Then
The return flag is set to spaces, the accept status is set to spaces, and the SSA flag is set to spaces
R-GCCTBIO-cbl-00035
Set Root Segment Key Value
Action Rules
📊 Business Logic Narrative
When the process 'Set Root Segment Key Value' is invoked, and assuming that a root segment requires qualified ssa processing, when the ssa flag indicates qualified search is needed, the desired outcome is that the system assigns the root segment key value to enable precise segment access.
💻 Technical Criteria
Given
A root segment requires qualified SSA processing
When
The SSA flag indicates qualified search is needed
Then
The system assigns the root segment key value to enable precise segment access
R-GCCTBIO-cbl-00036
Skip Key Setup
Process Rules
📊 Business Logic Narrative
When the process 'Skip Key Setup' is invoked, and assuming that a root segment is being processed with unqualified ssa requirements, when the ssa flag indicates unqualified search is acceptable, the desired outcome is that the system skips the key value assignment and continues processing without specific key setup.
💻 Technical Criteria
Given
A root segment is being processed with unqualified SSA requirements
When
The SSA flag indicates unqualified search is acceptable
Then
The system skips the key value assignment and continues processing without specific key setup
R-GCCTBIO-cbl-00037
Set Root Segment Key Value Set Dependent Segment Key Value
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Root Segment Key Value Set Dependent Segment Key Value', assuming that the segment name is a dependent segment (gcstbdp-key-name) and the ssa flag is set to qualified ssa and the unqualified ssa flag is not set (equals space), when the system initializes the ssa structure for dependent segment access, the desired outcome is that the system sets the root segment key value from gcstbrt-key and sets the dependent segment key value from gcstbdp-key.
💻 Technical Criteria
EXCLUDING
The segment name is a dependent segment (GCSTBDP-KEY-NAME) and the SSA flag is set to qualified SSA and the unqualified SSA flag is not set (equals space)
When
The system initializes the SSA structure for dependent segment access
Then
The system sets the root segment key value from GCSTBRT-KEY and sets the dependent segment key value from GCSTBDP-KEY
R-GCCTBIO-cbl-00038
Set Root Segment Key Value Change SSA Type to Unqualified
Decision Rules
📊 Business Logic Narrative
When the process 'Set Root Segment Key Value Change SSA Type to Unqualified' is invoked, and assuming that the segment name is a dependent segment (gcstbdp-key-name) and the ssa flag is set to qualified ssa and the unqualified ssa flag is set (not equal to space), when the system initializes the ssa structure for dependent segment access, the desired outcome is that the system sets the root segment key value from gcstbrt-key and changes the ssa flag to unqualified ssa.
💻 Technical Criteria
Given
The segment name is a dependent segment (GCSTBDP-KEY-NAME) and the SSA flag is set to qualified SSA and the unqualified SSA flag is set (not equal to space)
When
The system initializes the SSA structure for dependent segment access
Then
The system sets the root segment key value from GCSTBRT-KEY and changes the SSA flag to unqualified SSA
R-GCCTBIO-cbl-00039
Set Root Segment Key Value Change SSA Type to Unqualified
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Root Segment Key Value Change SSA Type to Unqualified', assuming that the segment name is a dependent segment (gcstbdp-key-name) and the ssa flag is not set to qualified ssa, when the system initializes the ssa structure for dependent segment access, the desired outcome is that the system sets the root segment key value from gcstbrt-key and ensures the ssa flag is set to unqualified ssa.
💻 Technical Criteria
EXCLUDING
The segment name is a dependent segment (GCSTBDP-KEY-NAME) and the SSA flag is not set to qualified SSA
When
The system initializes the SSA structure for dependent segment access
Then
The system sets the root segment key value from GCSTBRT-KEY and ensures the SSA flag is set to unqualified SSA
R-GCCTBIO-cbl-00091
Set Root Segment Key Value
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Root Segment Key Value', assuming that the segment name is a dependent segment (gcstbdp-key-name) and the ssa flag is qualified and the unqualified ssa flag is not set (space), when the system initializes the ssa configuration, the desired outcome is that the system sets both the root segment key value from gcstbrt-key and the dependent segment key value from gcstbdp-key.
💻 Technical Criteria
EXCLUDING
The segment name is a dependent segment (GCSTBDP-KEY-NAME) and the SSA flag is qualified and the unqualified SSA flag is not set (space)
When
The system initializes the SSA configuration
Then
The system sets both the root segment key value from GCSTBRT-KEY and the dependent segment key value from GCSTBDP-KEY
R-GCCTBIO-cbl-00092
Use Alternative SSA Configuration
Decision Rules
📊 Business Logic Narrative
When the process 'Use Alternative SSA Configuration' is invoked, and assuming that the segment name is a dependent segment (gcstbdp-key-name) and the ssa flag is qualified and the unqualified ssa flag is set (not space), when the system initializes the ssa configuration, the desired outcome is that the system sets only the root segment key value from gcstbrt-key and changes the ssa flag to unqualified.
💻 Technical Criteria
Given
The segment name is a dependent segment (GCSTBDP-KEY-NAME) and the SSA flag is qualified and the unqualified SSA flag is set (not space)
When
The system initializes the SSA configuration
Then
The system sets only the root segment key value from GCSTBRT-KEY and changes the SSA flag to unqualified
R-GCCTBIO-cbl-00093
Use Alternative SSA Configuration
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Alternative SSA Configuration', assuming that the segment name is a dependent segment (gcstbdp-key-name) and the ssa flag is not qualified, when the system initializes the ssa configuration, the desired outcome is that the system sets the root segment key value from gcstbrt-key and ensures the ssa flag is set to unqualified.
💻 Technical Criteria
EXCLUDING
The segment name is a dependent segment (GCSTBDP-KEY-NAME) and the SSA flag is not qualified
When
The system initializes the SSA configuration
Then
The system sets the root segment key value from GCSTBRT-KEY and ensures the SSA flag is set to unqualified
R-GCCTBIO-cbl-00094
Set Root Key Value
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Root Key Value', assuming that segment name is gcstbdp dependent segment and ssa type is qualified and unqualified ssa flag is not set (space), when ssa initialization is performed, the desired outcome is that root key value is set from gcstbrt-key and dependent key value is set from gcstbdp-key.
💻 Technical Criteria
EXCLUDING
Segment name is GCSTBDP dependent segment AND SSA type is qualified AND unqualified SSA flag is not set (space)
When
SSA initialization is performed
Then
Root key value is set from GCSTBRT-KEY AND dependent key value is set from GCSTBDP-KEY
R-GCCTBIO-cbl-00095
Set Root Key Value Only
Decision Rules
📊 Business Logic Narrative
When the process 'Set Root Key Value Only' is invoked, and assuming that segment name is gcstbdp dependent segment and ssa type is qualified and unqualified ssa flag is set, when ssa initialization is performed, the desired outcome is that root key value is set from gcstbrt-key and ssa type is changed to unqualified.
💻 Technical Criteria
Given
Segment name is GCSTBDP dependent segment AND SSA type is qualified AND unqualified SSA flag is set
When
SSA initialization is performed
Then
Root key value is set from GCSTBRT-KEY AND SSA type is changed to unqualified
R-GCCTBIO-cbl-00096
Set Root Key Value
Decision Rules
📊 Business Logic Narrative
When the process 'Set Root Key Value' is invoked, and assuming that segment name is gcstbdp dependent segment and ssa type is unqualified, when ssa initialization is performed, the desired outcome is that root key value is set from gcstbrt-key and ssa type is set to unqualified.
💻 Technical Criteria
Given
Segment name is GCSTBDP dependent segment AND SSA type is unqualified
When
SSA initialization is performed
Then
Root key value is set from GCSTBRT-KEY AND SSA type is set to unqualified
R-GCCTBIO-cbl-00043
Set Root Key Value, Set Dependent Key Value, Keep Qualified SSA Type
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Root Key Value, Set Dependent Key Value, Keep Qualified SSA Type', assuming that a dependent segment with qualified ssa type and unqualified flag not set, when the system configures the ssa parameters, the desired outcome is that the system sets both root key value and dependent key value while maintaining qualified ssa type.
💻 Technical Criteria
EXCLUDING
A dependent segment with qualified SSA type and unqualified flag not set
When
The system configures the SSA parameters
Then
The system sets both root key value and dependent key value while maintaining qualified SSA type
R-GCCTBIO-cbl-00044
Set Root Key Value Only, Change to Unqualified SSA Type
Process Rules
📊 Business Logic Narrative
When the process 'Set Root Key Value Only, Change to Unqualified SSA Type' is invoked, and assuming that a dependent segment with qualified ssa type and unqualified flag set, when the system configures the ssa parameters, the desired outcome is that the system sets only the root key value and changes the ssa type to unqualified.
💻 Technical Criteria
Given
A dependent segment with qualified SSA type and unqualified flag set
When
The system configures the SSA parameters
Then
The system sets only the root key value and changes the SSA type to unqualified
R-GCCTBIO-cbl-00046
Set Root Key Value, Force Unqualified SSA Type
Process Rules
📊 Business Logic Narrative
When the process 'Set Root Key Value, Force Unqualified SSA Type' is invoked, and assuming that a dependent segment with unqualified ssa type, when the system configures the ssa parameters, the desired outcome is that the system sets the root key value and forces the ssa type to unqualified.
💻 Technical Criteria
Given
A dependent segment with unqualified SSA type
When
The system configures the SSA parameters
Then
The system sets the root key value and forces the SSA type to unqualified
R-GCCTBIO-cbl-00070
SSA Type?
Decision Rules
📊 Business Logic Narrative
When the process 'SSA Type?' is invoked, and assuming that a dependent segment database operation is being processed with primary pcb, when the system checks the ssa flag value, the desired outcome is that the system routes to qualified ssa call if flag equals qualified ssa, routes to unqualified ssa call if flag equals unqualified ssa, or routes to no ssa call for any other value.
💻 Technical Criteria
Given
A dependent segment database operation is being processed with primary PCB
When
The system checks the SSA flag value
Then
The system routes to qualified SSA call if flag equals qualified SSA, routes to unqualified SSA call if flag equals unqualified SSA, or routes to no SSA call for any other value
R-GCCTBIO-cbl-00077
Restore Calling Program Context - Restore original program name before returning control to caller
Process Rules
📊 Business Logic Narrative
When the process 'Restore Calling Program Context - Restore original program name before returning control to caller' is invoked, and assuming that a database access operation has been completed and the original program name was previously saved, when the database access module finishes processing, the desired outcome is that the system restores the original program name from the saved value and returns control to the calling program.
💻 Technical Criteria
Given
A database access operation has been completed and the original program name was previously saved
When
The database access module finishes processing
Then
The system restores the original program name from the saved value and returns control to the calling program
📍 Routing, Border & Port
20 logic blocks
R-GCCTBIO-cbl-00010
11:Route Root Segment Access
Decision Rules
📊 Business Logic Narrative
When the process '11:Route Root Segment Access' is invoked, and assuming that a validated operation targets the root segment with initialized ssa, when the operation is ready for database access, the desired outcome is that the system routes to primary pcb if second pcb flag is not set, otherwise routes to secondary pcb.
💻 Technical Criteria
Given
A validated operation targets the root segment with initialized SSA
When
The operation is ready for database access
Then
The system routes to primary PCB if second PCB flag is not set, otherwise routes to secondary PCB
R-GCCTBIO-cbl-00011
14:Route Dependent Segment Access
Decision Rules
📊 Business Logic Narrative
When the process '14:Route Dependent Segment Access' is invoked, and assuming that a validated operation targets the dependent segment with initialized ssa, when the operation is ready for database access, the desired outcome is that the system routes to primary pcb if second pcb flag is not set, otherwise routes to secondary pcb.
💻 Technical Criteria
Given
A validated operation targets the dependent segment with initialized SSA
When
The operation is ready for database access
Then
The system routes to primary PCB if second PCB flag is not set, otherwise routes to secondary PCB
R-GCCTBIO-cbl-00012
12:Execute Root Segment Database Call with Primary PCB
Action Rules
📊 Business Logic Narrative
When the process '12:Execute Root Segment Database Call with Primary PCB' is invoked, and assuming that a root segment operation is routed to primary pcb, when the ssa configuration determines the call parameters, the desired outcome is that the system calls cims with appropriate ssa parameters: qualified ssa for targeted access, unqualified ssa for broader access, or no ssa for direct operations.
💻 Technical Criteria
Given
A root segment operation is routed to primary PCB
When
The SSA configuration determines the call parameters
Then
The system calls CIMS with appropriate SSA parameters: qualified SSA for targeted access, unqualified SSA for broader access, or no SSA for direct operations
R-GCCTBIO-cbl-00013
13:Execute Root Segment Database Call with Secondary PCB
Action Rules
📊 Business Logic Narrative
When the process '13:Execute Root Segment Database Call with Secondary PCB' is invoked, and assuming that a root segment operation is routed to secondary pcb, when the ssa configuration determines the call parameters, the desired outcome is that the system calls cims with secondary pcb and appropriate ssa parameters: qualified ssa for targeted access, unqualified ssa for broader access, or no ssa for direct operations.
💻 Technical Criteria
Given
A root segment operation is routed to secondary PCB
When
The SSA configuration determines the call parameters
Then
The system calls CIMS with secondary PCB and appropriate SSA parameters: qualified SSA for targeted access, unqualified SSA for broader access, or no SSA for direct operations
R-GCCTBIO-cbl-00014
15:Execute Dependent Segment Database Call with Primary PCB
Action Rules
📊 Business Logic Narrative
When the process '15:Execute Dependent Segment Database Call with Primary PCB' is invoked, and assuming that a dependent segment operation is routed to primary pcb, when the ssa configuration determines the call parameters, the desired outcome is that the system calls cims with hierarchical ssa parameters: both root and dependent qualified ssas for targeted access, root qualified and dependent unqualified ssas for mixed access, or no ssa for direct operations.
💻 Technical Criteria
Given
A dependent segment operation is routed to primary PCB
When
The SSA configuration determines the call parameters
Then
The system calls CIMS with hierarchical SSA parameters: both root and dependent qualified SSAs for targeted access, root qualified and dependent unqualified SSAs for mixed access, or no SSA for direct operations
R-GCCTBIO-cbl-00015
16:Execute Dependent Segment Database Call with Secondary PCB
Action Rules
📊 Business Logic Narrative
When the process '16:Execute Dependent Segment Database Call with Secondary PCB' is invoked, and assuming that a dependent segment operation is routed to secondary pcb, when the ssa configuration determines the call parameters, the desired outcome is that the system calls cims with secondary pcb and hierarchical ssa parameters: both root and dependent qualified ssas for targeted access, root qualified and dependent unqualified ssas for mixed access, or no ssa for direct operations.
💻 Technical Criteria
Given
A dependent segment operation is routed to secondary PCB
When
The SSA configuration determines the call parameters
Then
The system calls CIMS with secondary PCB and hierarchical SSA parameters: both root and dependent qualified SSAs for targeted access, root qualified and dependent unqualified SSAs for mixed access, or no SSA for direct operations
R-GCCTBIO-cbl-00026
Set Return Flag to NOT-VALID
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Return Flag to NOT-VALID', assuming that a user function code is provided for validation, when the function code is not ghu, gu, ghn, ghnp, gn, gnp, isrt, dlet, or repl, the desired outcome is that the system sets the return flag to not-valid to indicate the function code is not supported.
💻 Technical Criteria
EXCLUDING
A user function code is provided for validation
When
The function code is not GHU, GU, GHN, GHNP, GN, GNP, ISRT, DLET, or REPL
Then
The system sets the return flag to NOT-VALID to indicate the function code is not supported
R-GCCTBIO-cbl-00090
Continue to Next Validation
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Continue to Next Validation', assuming that a function code is being validated for database operation and it is neither dlet nor repl, when the function code does not match any supported update/delete operations, the desired outcome is that the system sets the return flag to not-valid indicating an unsupported operation.
💻 Technical Criteria
EXCLUDING
A function code is being validated for database operation and it is neither DLET nor REPL
When
The function code does not match any supported update/delete operations
Then
The system sets the return flag to NOT-VALID indicating an unsupported operation
R-GCCTBIO-cbl-00033
Check if Segment is Root Segment
Decision Rules
📊 Business Logic Narrative
When the process 'Check if Segment is Root Segment' is invoked, and assuming that a segment name is provided for processing, when the system evaluates the segment name against the root segment identifier, the desired outcome is that the system determines if the segment is a root segment type and routes accordingly.
💻 Technical Criteria
Given
A segment name is provided for processing
When
The system evaluates the segment name against the root segment identifier
Then
The system determines if the segment is a root segment type and routes accordingly
R-GCCTBIO-cbl-00048
Route to Primary PCB
Action Rules
📊 Business Logic Narrative
When the process 'Route to Primary PCB' is invoked, and assuming that a root segment access request is being processed, when the second pcb flag is spaces (not set), the desired outcome is that the system routes the request to primary pcb processing (b310-access-root-pcb1).
💻 Technical Criteria
Given
A root segment access request is being processed
When
The second PCB flag is spaces (not set)
Then
The system routes the request to primary PCB processing (B310-ACCESS-ROOT-PCB1)
R-GCCTBIO-cbl-00049
Route to Secondary PCB
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Route to Secondary PCB', assuming that a root segment access request is being processed, when the second pcb flag is not spaces (is set), the desired outcome is that the system routes the request to secondary pcb processing (b320-access-root-pcb2).
💻 Technical Criteria
EXCLUDING
A root segment access request is being processed
When
The second PCB flag is not spaces (is set)
Then
The system routes the request to secondary PCB processing (B320-ACCESS-ROOT-PCB2)
R-GCCTBIO-cbl-00057
Check PCB Selection Flag
Decision Rules
📊 Business Logic Narrative
When the process 'Check PCB Selection Flag' is invoked, and assuming that a dependent segment access operation is requested, when the system checks the second pcb flag status, the desired outcome is that if the second pcb flag is spaces (not set), route to primary pcb processing, otherwise route to secondary pcb processing.
💻 Technical Criteria
Given
A dependent segment access operation is requested
When
The system checks the second PCB flag status
Then
If the second PCB flag is spaces (not set), route to primary PCB processing, otherwise route to secondary PCB processing
R-GCCTBIO-cbl-00058
Route to Primary PCB
Action Rules
📊 Business Logic Narrative
When the process 'Route to Primary PCB' is invoked, and assuming that a dependent segment access operation is requested and the second pcb flag is spaces, when the system routes the operation, the desired outcome is that the operation is directed to the primary pcb dependent segment processing routine.
💻 Technical Criteria
Given
A dependent segment access operation is requested and the second PCB flag is spaces
When
The system routes the operation
Then
The operation is directed to the primary PCB dependent segment processing routine
R-GCCTBIO-cbl-00059
Route to Secondary PCB
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Route to Secondary PCB', assuming that a dependent segment access operation is requested and the second pcb flag is not spaces, when the system routes the operation, the desired outcome is that the operation is directed to the secondary pcb dependent segment processing routine.
💻 Technical Criteria
EXCLUDING
A dependent segment access operation is requested and the second PCB flag is not spaces
When
The system routes the operation
Then
The operation is directed to the secondary PCB dependent segment processing routine
R-GCCTBIO-cbl-00060
Execute Dependent Segment Operation via Primary PCB
Action Rules
📊 Business Logic Narrative
When the process 'Execute Dependent Segment Operation via Primary PCB' is invoked, and assuming that a dependent segment operation is routed to primary pcb and the ssa flag indicates qualified ssa, when the system executes the database operation, the desired outcome is that call the database interface with primary pcb, function code, segment data, qualified root ssa, and qualified dependent ssa.
💻 Technical Criteria
Given
A dependent segment operation is routed to primary PCB and the SSA flag indicates qualified SSA
When
The system executes the database operation
Then
Call the database interface with primary PCB, function code, segment data, qualified root SSA, and qualified dependent SSA
R-GCCTBIO-cbl-00061
Execute Dependent Segment Operation via Primary PCB
Action Rules
📊 Business Logic Narrative
When the process 'Execute Dependent Segment Operation via Primary PCB' is invoked, and assuming that a dependent segment operation is routed to primary pcb and the ssa flag indicates unqualified ssa, when the system executes the database operation, the desired outcome is that call the database interface with primary pcb, function code, segment data, qualified root ssa, and unqualified dependent ssa.
💻 Technical Criteria
Given
A dependent segment operation is routed to primary PCB and the SSA flag indicates unqualified SSA
When
The system executes the database operation
Then
Call the database interface with primary PCB, function code, segment data, qualified root SSA, and unqualified dependent SSA
R-GCCTBIO-cbl-00062
Execute Dependent Segment Operation via Primary PCB
Action Rules
📊 Business Logic Narrative
When the process 'Execute Dependent Segment Operation via Primary PCB' is invoked, and assuming that a dependent segment operation is routed to primary pcb and the ssa flag indicates no ssa, when the system executes the database operation, the desired outcome is that call the database interface with primary pcb, function code, and segment data only.
💻 Technical Criteria
Given
A dependent segment operation is routed to primary PCB and the SSA flag indicates no SSA
When
The system executes the database operation
Then
Call the database interface with primary PCB, function code, and segment data only
R-GCCTBIO-cbl-00063
Execute Dependent Segment Operation via Secondary PCB
Action Rules
📊 Business Logic Narrative
When the process 'Execute Dependent Segment Operation via Secondary PCB' is invoked, and assuming that a dependent segment operation is routed to secondary pcb and the ssa flag indicates qualified ssa, when the system executes the database operation, the desired outcome is that call the database interface with secondary pcb, function code, segment data, qualified root ssa, and qualified dependent ssa.
💻 Technical Criteria
Given
A dependent segment operation is routed to secondary PCB and the SSA flag indicates qualified SSA
When
The system executes the database operation
Then
Call the database interface with secondary PCB, function code, segment data, qualified root SSA, and qualified dependent SSA
R-GCCTBIO-cbl-00064
Execute Dependent Segment Operation via Secondary PCB
Action Rules
📊 Business Logic Narrative
When the process 'Execute Dependent Segment Operation via Secondary PCB' is invoked, and assuming that a dependent segment operation is routed to secondary pcb and the ssa flag indicates unqualified ssa, when the system executes the database operation, the desired outcome is that call the database interface with secondary pcb, function code, segment data, qualified root ssa, and unqualified dependent ssa.
💻 Technical Criteria
Given
A dependent segment operation is routed to secondary PCB and the SSA flag indicates unqualified SSA
When
The system executes the database operation
Then
Call the database interface with secondary PCB, function code, segment data, qualified root SSA, and unqualified dependent SSA
R-GCCTBIO-cbl-00065
Execute Dependent Segment Operation via Secondary PCB
Action Rules
📊 Business Logic Narrative
When the process 'Execute Dependent Segment Operation via Secondary PCB' is invoked, and assuming that a dependent segment operation is routed to secondary pcb and the ssa flag indicates no ssa, when the system executes the database operation, the desired outcome is that call the database interface with secondary pcb, function code, and segment data only.
💻 Technical Criteria
Given
A dependent segment operation is routed to secondary PCB and the SSA flag indicates no SSA
When
The system executes the database operation
Then
Call the database interface with secondary PCB, function code, and segment data only
🔁 EDI, Status & Database
62 logic blocks
R-GCCTBIO-cbl-00001
4:Set SSA Type for Get Operations
Validation Rules
📊 Business Logic Narrative
When the process '4:Set SSA Type for Get Operations' is invoked, and assuming that a user requests a database operation with a function code, when the function code is ghu (get hold unique) or gu (get unique), the desired outcome is that the system sets accept status to ge and configures qualified ssa for precise record targeting.
💻 Technical Criteria
Given
A user requests a database operation with a function code
When
The function code is GHU (Get Hold Unique) or GU (Get Unique)
Then
The system sets accept status to GE and configures qualified SSA for precise record targeting
R-GCCTBIO-cbl-00002
5:Set SSA Type for Next Operations
Validation Rules
📊 Business Logic Narrative
When the process '5:Set SSA Type for Next Operations' is invoked, and assuming that a user requests a database operation with a function code, when the function code is ghn, ghnp, gn, or gnp (sequential navigation operations), the desired outcome is that the system sets accept status to gagbgegk and determines ssa qualification based on unqualified ssa flag setting.
💻 Technical Criteria
Given
A user requests a database operation with a function code
When
The function code is GHN, GHNP, GN, or GNP (sequential navigation operations)
Then
The system sets accept status to GAGBGEGK and determines SSA qualification based on unqualified SSA flag setting
R-GCCTBIO-cbl-00003
6:Set SSA Type for Insert Operations
Validation Rules
📊 Business Logic Narrative
When the process '6:Set SSA Type for Insert Operations' is invoked, and assuming that a user requests a database operation with a function code, when the function code is isrt (insert), the desired outcome is that the system sets accept status to ii and configures unqualified ssa for record insertion.
💻 Technical Criteria
Given
A user requests a database operation with a function code
When
The function code is ISRT (Insert)
Then
The system sets accept status to II and configures unqualified SSA for record insertion
R-GCCTBIO-cbl-00004
7:Set SSA Type for Update/Delete Operations
Validation Rules
📊 Business Logic Narrative
When the process '7:Set SSA Type for Update/Delete Operations' is invoked, and assuming that a user requests a database operation with a function code, when the function code is dlet (delete) or repl (replace), the desired outcome is that the system configures no ssa requirement for the modification operation.
💻 Technical Criteria
Given
A user requests a database operation with a function code
When
The function code is DLET (Delete) or REPL (Replace)
Then
The system configures no SSA requirement for the modification operation
R-GCCTBIO-cbl-00005
3:Validate Function Code
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '3:Validate Function Code', assuming that a user requests a database operation with a function code, when the function code is not ghu, gu, ghn, ghnp, gn, gnp, isrt, dlet, or repl, the desired outcome is that the system marks the operation as not valid and prevents further processing.
💻 Technical Criteria
EXCLUDING
A user requests a database operation with a function code
When
The function code is not GHU, GU, GHN, GHNP, GN, GNP, ISRT, DLET, or REPL
Then
The system marks the operation as not valid and prevents further processing
R-GCCTBIO-cbl-00009
9:Initialize Dependent Segment SSA
Validation Rules
📊 Business Logic Narrative
When the process '9:Initialize Dependent Segment SSA' is invoked, and assuming that a validated operation specifies a segment name, when the segment name is neither gcstbrt (root) nor gcstbdp (dependent), the desired outcome is that the system marks the operation as not valid and prevents database access.
💻 Technical Criteria
Given
A validated operation specifies a segment name
When
The segment name is neither GCSTBRT (root) nor GCSTBDP (dependent)
Then
The system marks the operation as not valid and prevents database access
R-GCCTBIO-cbl-00016
17:Evaluate Operation Success
Decision Rules
📊 Business Logic Narrative
When the process '17:Evaluate Operation Success' is invoked, and assuming that a database operation has been executed through cims, when the operation completes and returns a status code, the desired outcome is that the system sets return flag to successful if status code is spaces, otherwise sets return flag to unsuccessful.
💻 Technical Criteria
Given
A database operation has been executed through CIMS
When
The operation completes and returns a status code
Then
The system sets return flag to SUCCESSFUL if status code is spaces, otherwise sets return flag to UNSUCCESSFUL
R-GCCTBIO-cbl-00017
Save Current Program Name to PROG-NAME-SAVED
Process Rules
📊 Business Logic Narrative
When the process 'Save Current Program Name to PROG-NAME-SAVED' is invoked, and assuming that a module control initialization is requested, when the system begins module control setup, the desired outcome is that the current program name (cc-prog) is saved to prog-name-saved for later restoration.
💻 Technical Criteria
Given
A module control initialization is requested
When
The system begins module control setup
Then
The current program name (CC-PROG) is saved to PROG-NAME-SAVED for later restoration
R-GCCTBIO-cbl-00018
Set Module Name as Current Program
Process Rules
📊 Business Logic Narrative
When the process 'Set Module Name as Current Program' is invoked, and assuming that the calling program name has been saved, when module control initialization continues, the desired outcome is that the module-name is set as the current program (cc-prog).
💻 Technical Criteria
Given
The calling program name has been saved
When
Module control initialization continues
Then
The MODULE-NAME is set as the current program (CC-PROG)
R-GCCTBIO-cbl-00019
Module Control Initialized
Process Rules
📊 Business Logic Narrative
When the process 'Module Control Initialized' is invoked, and assuming that module control setup is in progress, when control field initialization is performed, the desired outcome is that return-flag, cc-accept-status, and ws-ssa-flag are cleared to spaces.
💻 Technical Criteria
Given
Module control setup is in progress
When
Control field initialization is performed
Then
RETURN-FLAG, CC-ACCEPT-STATUS, and WS-SSA-FLAG are cleared to spaces
R-GCCTBIO-cbl-00021
Function Code = GHU or GU?
Validation Rules
📊 Business Logic Narrative
When the process 'Function Code = GHU or GU?' is invoked, and assuming that a user function code is provided for validation, when the function code is ghu (get hold unique) or gu (get unique), the desired outcome is that the system sets accept status to ge and configures the request to use qualified ssa for precise record retrieval.
💻 Technical Criteria
Given
A user function code is provided for validation
When
The function code is GHU (Get Hold Unique) or GU (Get Unique)
Then
The system sets accept status to GE and configures the request to use qualified SSA for precise record retrieval
R-GCCTBIO-cbl-00022
Function Code = GHN, GHNP, GN, or GNP?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Function Code = GHN, GHNP, GN, or GNP?', assuming that a user function code is provided that is not ghu or gu, when the function code is ghn (get hold next), ghnp (get hold next in parent), gn (get next), or gnp (get next in parent), the desired outcome is that the system sets accept status to gagbgegk to enable sequential processing capabilities.
💻 Technical Criteria
EXCLUDING
A user function code is provided that is not GHU or GU
When
The function code is GHN (Get Hold Next), GHNP (Get Hold Next in Parent), GN (Get Next), or GNP (Get Next in Parent)
Then
The system sets accept status to GAGBGEGK to enable sequential processing capabilities
R-GCCTBIO-cbl-00023
Unqualified SSA Flag = SPACE?
Decision Rules
📊 Business Logic Narrative
When the process 'Unqualified SSA Flag = SPACE?' is invoked, and assuming that a sequential read operation (ghn, ghnp, gn, or gnp) has been validated, when the unqualified ssa flag is set to space (not specified), the desired outcome is that the system configures the request to use qualified ssa for structured searching, otherwise it uses unqualified ssa for broader searching.
💻 Technical Criteria
Given
A sequential read operation (GHN, GHNP, GN, or GNP) has been validated
When
The unqualified SSA flag is set to SPACE (not specified)
Then
The system configures the request to use qualified SSA for structured searching, otherwise it uses unqualified SSA for broader searching
R-GCCTBIO-cbl-00024
Function Code = ISRT?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Function Code = ISRT?', assuming that a user function code is provided that is not a read or sequential read operation, when the function code is isrt (insert), the desired outcome is that the system sets accept status to ii and configures the request to use unqualified ssa for insert operations.
💻 Technical Criteria
EXCLUDING
A user function code is provided that is not a read or sequential read operation
When
The function code is ISRT (Insert)
Then
The system sets accept status to II and configures the request to use unqualified SSA for insert operations
R-GCCTBIO-cbl-00025
Function Code = DLET or REPL?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Function Code = DLET or REPL?', assuming that a user function code is provided that is not a read, sequential read, or insert operation, when the function code is dlet (delete) or repl (replace), the desired outcome is that the system configures the request to use no ssa since modification operations work on already positioned records.
💻 Technical Criteria
EXCLUDING
A user function code is provided that is not a read, sequential read, or insert operation
When
The function code is DLET (Delete) or REPL (Replace)
Then
The system configures the request to use no SSA since modification operations work on already positioned records
R-GCCTBIO-cbl-00078
Check Function Code
Validation Rules
📊 Business Logic Narrative
When the process 'Check Function Code' is invoked, and assuming that a function code is provided for database operation, when the function code is ghu (get hold unique) or the function code is gu (get unique), the desired outcome is that set the accept status to ge and set the ssa type to qualified ssa for precise record retrieval.
💻 Technical Criteria
Given
A function code is provided for database operation
When
The function code is GHU (Get Hold Unique) OR the function code is GU (Get Unique)
Then
Set the accept status to GE AND set the SSA type to qualified SSA for precise record retrieval
R-GCCTBIO-cbl-00079
Set Accept Status to GE
Action Rules
📊 Business Logic Narrative
When the process 'Set Accept Status to GE' is invoked, and assuming that the function code has been validated as either ghu or gu, when the system processes the validated get operation, the desired outcome is that set the accept status to ge to indicate the operation type.
💻 Technical Criteria
Given
The function code has been validated as either GHU or GU
When
The system processes the validated GET operation
Then
Set the accept status to GE to indicate the operation type
R-GCCTBIO-cbl-00080
Set SSA Type to Qualified
Action Rules
📊 Business Logic Narrative
When the process 'Set SSA Type to Qualified' is invoked, and assuming that the function code has been validated as either ghu or gu, when the system configures the search parameters, the desired outcome is that set the ssa type to qualified ssa to enable specific record targeting.
💻 Technical Criteria
Given
The function code has been validated as either GHU or GU
When
The system configures the search parameters
Then
Set the SSA type to qualified SSA to enable specific record targeting
R-GCCTBIO-cbl-00081
Check Function Code for NEXT Operations
Validation Rules
📊 Business Logic Narrative
When the process 'Check Function Code for NEXT Operations' is invoked, and assuming that a user function code is provided for database operation, when the function code is ghn (get hold next), ghnp (get hold next in parent), gn (get next), or gnp (get next in parent), the desired outcome is that the system recognizes it as a valid next operation and proceeds with next operation configuration.
💻 Technical Criteria
Given
A user function code is provided for database operation
When
The function code is GHN (Get Hold Next), GHNP (Get Hold Next in Parent), GN (Get Next), or GNP (Get Next in Parent)
Then
The system recognizes it as a valid NEXT operation and proceeds with NEXT operation configuration
R-GCCTBIO-cbl-00082
Set Accept Status for NEXT Operations
Action Rules
📊 Business Logic Narrative
When the process 'Set Accept Status for NEXT Operations' is invoked, and assuming that the function code has been validated as a next operation (ghn, ghnp, gn, or gnp), when the system processes the next operation configuration, the desired outcome is that the accept status is set to gagbgegk to indicate next operation acceptance.
💻 Technical Criteria
Given
The function code has been validated as a NEXT operation (GHN, GHNP, GN, or GNP)
When
The system processes the NEXT operation configuration
Then
The accept status is set to GAGBGEGK to indicate NEXT operation acceptance
R-GCCTBIO-cbl-00083
Unqualified SSA Flag Set?
Decision Rules
📊 Business Logic Narrative
When the process 'Unqualified SSA Flag Set?' is invoked, and assuming that a next operation has been validated and accept status is configured, when the unqualified ssa flag is checked and found to be space (not set), the desired outcome is that the system configures qualified ssa type for the database search.
💻 Technical Criteria
Given
A NEXT operation has been validated and accept status is configured
When
The unqualified SSA flag is checked and found to be space (not set)
Then
The system configures qualified SSA type for the database search
R-GCCTBIO-cbl-00084
Configure Unqualified SSA Type
Action Rules
📊 Business Logic Narrative
When the process 'Configure Unqualified SSA Type' is invoked, and assuming that a next operation has been validated and the unqualified ssa flag is set (not space), when the system determines ssa type configuration, the desired outcome is that the system configures unqualified ssa type for the database search.
💻 Technical Criteria
Given
A NEXT operation has been validated and the unqualified SSA flag is set (not space)
When
The system determines SSA type configuration
Then
The system configures unqualified SSA type for the database search
R-GCCTBIO-cbl-00085
Function Code = ISRT?
Validation Rules
📊 Business Logic Narrative
When the process 'Function Code = ISRT?' is invoked, and assuming that a function code is provided for database operation, when the function code equals isrt (insert), the desired outcome is that the system should set the accept status to insert indicator (ii) and configure unqualified ssa for the insert operation.
💻 Technical Criteria
Given
A function code is provided for database operation
When
The function code equals ISRT (Insert)
Then
The system should set the accept status to insert indicator (II) and configure unqualified SSA for the insert operation
R-GCCTBIO-cbl-00086
Set Accept Status to Insert Indicator
Decision Rules
📊 Business Logic Narrative
When the process 'Set Accept Status to Insert Indicator' is invoked, and assuming that the function code has been validated as isrt (insert), when the system processes the insert operation configuration, the desired outcome is that the accept status should be set to ii (insert indicator).
💻 Technical Criteria
Given
The function code has been validated as ISRT (Insert)
When
The system processes the insert operation configuration
Then
The accept status should be set to II (Insert Indicator)
R-GCCTBIO-cbl-00087
Configure Unqualified SSA for Insert
Decision Rules
📊 Business Logic Narrative
When the process 'Configure Unqualified SSA for Insert' is invoked, and assuming that the function code is isrt and accept status is configured for insert, when the system configures the segment search argument, the desired outcome is that the ssa flag should be set to unqualified ssa type for insert processing.
💻 Technical Criteria
Given
The function code is ISRT and accept status is configured for insert
When
The system configures the segment search argument
Then
The SSA flag should be set to unqualified SSA type for insert processing
R-GCCTBIO-cbl-00088
Function Code = DLET?
Decision Rules
📊 Business Logic Narrative
When the process 'Function Code = DLET?' is invoked, and assuming that a function code is being validated for database operation, when the function code is dlet (delete), the desired outcome is that the system sets the ssa flag to no-ssa indicating no search argument is required.
💻 Technical Criteria
Given
A function code is being validated for database operation
When
The function code is DLET (Delete)
Then
The system sets the SSA flag to NO-SSA indicating no search argument is required
R-GCCTBIO-cbl-00089
Function Code = REPL?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Function Code = REPL?', assuming that a function code is being validated for database operation and it is not a delete operation, when the function code is repl (replace), the desired outcome is that the system sets the ssa flag to no-ssa indicating no search argument is required.
💻 Technical Criteria
EXCLUDING
A function code is being validated for database operation and it is not a delete operation
When
The function code is REPL (Replace)
Then
The system sets the SSA flag to NO-SSA indicating no search argument is required
R-GCCTBIO-cbl-00027
Set SSA Type for Get Operations - Determine whether to use qualified or unqualified SSA for GET UNIQUE and GET HOLD UNIQUE operations
Decision Rules
📊 Business Logic Narrative
When the process 'Set SSA Type for Get Operations - Determine whether to use qualified or unqualified SSA for GET UNIQUE and GET HOLD UNIQUE operations' is invoked, and assuming that a database operation request is being processed, when the function code is ghu (get hold unique) or gu (get unique), the desired outcome is that the system sets the accept status to ge and configures the ssa type to qualified-ssa for precise record matching.
💻 Technical Criteria
Given
A database operation request is being processed
When
The function code is GHU (Get Hold Unique) or GU (Get Unique)
Then
The system sets the accept status to GE and configures the SSA type to QUALIFIED-SSA for precise record matching
R-GCCTBIO-cbl-00028
Set Accept Status to GAGBGEGK
Decision Rules
📊 Business Logic Narrative
When the process 'Set Accept Status to GAGBGEGK' is invoked, and assuming that a user function code is provided for database operation, when the function code is ghn (get hold next) or ghnp (get hold next in parent) or gn (get next) or gnp (get next in parent), the desired outcome is that the accept status should be set to gagbgegk to allow sequential data access.
💻 Technical Criteria
Given
A user function code is provided for database operation
When
The function code is GHN (Get Hold Next) OR GHNP (Get Hold Next in Parent) OR GN (Get Next) OR GNP (Get Next in Parent)
Then
The accept status should be set to GAGBGEGK to allow sequential data access
R-GCCTBIO-cbl-00029
Is Unqualified SSA Flag Set?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Unqualified SSA Flag Set?' is invoked, and assuming that a get next type operation (ghn, ghnp, gn, or gnp) is being processed, when the unqualified ssa flag is checked, the desired outcome is that if the unqualified ssa flag is not set (space), use qualified ssa type; if the unqualified ssa flag is set, use unqualified ssa type.
💻 Technical Criteria
Given
A GET NEXT type operation (GHN, GHNP, GN, or GNP) is being processed
When
The unqualified SSA flag is checked
Then
If the unqualified SSA flag is not set (SPACE), use qualified SSA type; if the unqualified SSA flag is set, use unqualified SSA type
R-GCCTBIO-cbl-00030
Set Accept Status to II
Action Rules
📊 Business Logic Narrative
When the process 'Set Accept Status to II' is invoked, and assuming that a database operation request is being processed, when the function code is isrt (insert), the desired outcome is that the system sets the accept status to ii and configures unqualified ssa flag for the insert operation.
💻 Technical Criteria
Given
A database operation request is being processed
When
The function code is ISRT (Insert)
Then
The system sets the accept status to II and configures unqualified SSA flag for the insert operation
R-GCCTBIO-cbl-00031
Configure Unqualified SSA Flag
Decision Rules
📊 Business Logic Narrative
When the process 'Configure Unqualified SSA Flag' is invoked, and assuming that a database insert operation is being configured, when the function code is isrt (insert), the desired outcome is that the system sets the ssa flag to unqualified ssa type.
💻 Technical Criteria
Given
A database insert operation is being configured
When
The function code is ISRT (Insert)
Then
The system sets the SSA flag to unqualified SSA type
R-GCCTBIO-cbl-00032
Set SSA Flag to NO-SSA
Decision Rules
📊 Business Logic Narrative
When the process 'Set SSA Flag to NO-SSA' is invoked, and assuming that a database operation request is being processed, when the function code is dlet (delete) or the function code is repl (replace), the desired outcome is that the system sets the ssa flag to no-ssa to indicate no search arguments are required.
💻 Technical Criteria
Given
A database operation request is being processed
When
The function code is DLET (Delete) OR the function code is REPL (Replace)
Then
The system sets the SSA flag to NO-SSA to indicate no search arguments are required
R-GCCTBIO-cbl-00042
Is Unqualified Flag Set?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Unqualified Flag Set?' is invoked, and assuming that a dependent segment with qualified ssa type is being processed, when the system checks the unqualified ssa flag status, the desired outcome is that the system determines if the unqualified flag is set (not space) or not set (space).
💻 Technical Criteria
Given
A dependent segment with qualified SSA type is being processed
When
The system checks the unqualified SSA flag status
Then
The system determines if the unqualified flag is set (not space) or not set (space)
R-GCCTBIO-cbl-00050
Execute Database Call with Qualified SSA
Action Rules
📊 Business Logic Narrative
When the process 'Execute Database Call with Qualified SSA' is invoked, and assuming that the system is processing a root segment access request and the ssa flag indicates qualified ssa is required, when the database call is executed for root segment using primary pcb, the desired outcome is that the system calls the database interface with qualified root segment search arguments to retrieve specific records.
💻 Technical Criteria
Given
The system is processing a root segment access request and the SSA flag indicates qualified SSA is required
When
The database call is executed for root segment using primary PCB
Then
The system calls the database interface with qualified root segment search arguments to retrieve specific records
R-GCCTBIO-cbl-00051
Execute Database Call with Unqualified SSA
Action Rules
📊 Business Logic Narrative
When the process 'Execute Database Call with Unqualified SSA' is invoked, and assuming that the system is processing a root segment access request and the ssa flag indicates unqualified ssa is required, when the database call is executed for root segment using primary pcb, the desired outcome is that the system calls the database interface with unqualified root segment search arguments to retrieve records without specific criteria.
💻 Technical Criteria
Given
The system is processing a root segment access request and the SSA flag indicates unqualified SSA is required
When
The database call is executed for root segment using primary PCB
Then
The system calls the database interface with unqualified root segment search arguments to retrieve records without specific criteria
R-GCCTBIO-cbl-00052
Execute Database Call without SSA
Action Rules
📊 Business Logic Narrative
When the process 'Execute Database Call without SSA' is invoked, and assuming that the system is processing a root segment access request and no ssa is required for the operation, when the database call is executed for root segment using primary pcb, the desired outcome is that the system calls the database interface without any segment search arguments.
💻 Technical Criteria
Given
The system is processing a root segment access request and no SSA is required for the operation
When
The database call is executed for root segment using primary PCB
Then
The system calls the database interface without any segment search arguments
R-GCCTBIO-cbl-00053
SSA Type Check
Decision Rules
📊 Business Logic Narrative
When the process 'SSA Type Check' is invoked, and assuming that the system is preparing to execute a database call for root segment access using primary pcb, when the ssa type needs to be determined for the database operation, the desired outcome is that the system checks the ws-ssa-flag to determine whether to use qualified ssa, unqualified ssa, or no ssa for the database call.
💻 Technical Criteria
Given
The system is preparing to execute a database call for root segment access using primary PCB
When
The SSA type needs to be determined for the database operation
Then
The system checks the WS-SSA-FLAG to determine whether to use qualified SSA, unqualified SSA, or no SSA for the database call
R-GCCTBIO-cbl-00097
Execute Database Call with Qualified SSA
Action Rules
📊 Business Logic Narrative
When the process 'Execute Database Call with Qualified SSA' is invoked, and assuming that a database call request is received and the ssa flag is set to qualified-ssa, when the system determines the ssa type for the database operation, the desired outcome is that the system executes the database call using qualified ssa parameters.
💻 Technical Criteria
Given
A database call request is received and the SSA flag is set to QUALIFIED-SSA
When
The system determines the SSA type for the database operation
Then
The system executes the database call using qualified SSA parameters
R-GCCTBIO-cbl-00098
Execute Database Call with Unqualified SSA
Action Rules
📊 Business Logic Narrative
When the process 'Execute Database Call with Unqualified SSA' is invoked, and assuming that a database call request is received and the ssa flag is set to unqualified-ssa, when the system determines the ssa type for the database operation, the desired outcome is that the system executes the database call using unqualified ssa parameters.
💻 Technical Criteria
Given
A database call request is received and the SSA flag is set to UNQUALIFIED-SSA
When
The system determines the SSA type for the database operation
Then
The system executes the database call using unqualified SSA parameters
R-GCCTBIO-cbl-00099
Execute Database Call with No SSA
Action Rules
📊 Business Logic Narrative
When the process 'Execute Database Call with No SSA' is invoked, and assuming that a database call request is received and the ssa flag is set to no-ssa or neither qualified-ssa nor unqualified-ssa, when the system determines the ssa type for the database operation, the desired outcome is that the system executes the database call without ssa parameters.
💻 Technical Criteria
Given
A database call request is received and the SSA flag is set to NO-SSA or neither QUALIFIED-SSA nor UNQUALIFIED-SSA
When
The system determines the SSA type for the database operation
Then
The system executes the database call without SSA parameters
R-GCCTBIO-cbl-00054
Execute Database Call with Qualified SSA
Action Rules
📊 Business Logic Narrative
When the process 'Execute Database Call with Qualified SSA' is invoked, and assuming that the ssa type is qualified ssa and secondary pcb is selected for root segment access, when a database operation is requested on the root segment, the desired outcome is that execute database call using secondary pcb with qualified root segment search arguments.
💻 Technical Criteria
Given
The SSA type is qualified SSA and secondary PCB is selected for root segment access
When
A database operation is requested on the root segment
Then
Execute database call using secondary PCB with qualified root segment search arguments
R-GCCTBIO-cbl-00055
Execute Database Call with Unqualified SSA
Action Rules
📊 Business Logic Narrative
When the process 'Execute Database Call with Unqualified SSA' is invoked, and assuming that the ssa type is unqualified ssa and secondary pcb is selected for root segment access, when a database operation is requested on the root segment, the desired outcome is that execute database call using secondary pcb with unqualified root segment search arguments.
💻 Technical Criteria
Given
The SSA type is unqualified SSA and secondary PCB is selected for root segment access
When
A database operation is requested on the root segment
Then
Execute database call using secondary PCB with unqualified root segment search arguments
R-GCCTBIO-cbl-00056
Execute Database Call with No SSA
Action Rules
📊 Business Logic Narrative
When the process 'Execute Database Call with No SSA' is invoked, and assuming that no ssa is required and secondary pcb is selected for root segment access, when a database operation is requested on the root segment, the desired outcome is that execute database call using secondary pcb without any search arguments.
💻 Technical Criteria
Given
No SSA is required and secondary PCB is selected for root segment access
When
A database operation is requested on the root segment
Then
Execute database call using secondary PCB without any search arguments
R-GCCTBIO-cbl-00100
Execute Database Call with Qualified SSA
Action Rules
📊 Business Logic Narrative
When the process 'Execute Database Call with Qualified SSA' is invoked, and assuming that the ssa flag is set to qualified ssa and the system is configured to use the secondary pcb, when a database operation is requested for dependent segment access, the desired outcome is that the system calls the database interface with the secondary pcb, user function code, segment data, and both qualified root and dependent ssa parameters.
💻 Technical Criteria
Given
The SSA flag is set to qualified SSA and the system is configured to use the secondary PCB
When
A database operation is requested for dependent segment access
Then
The system calls the database interface with the secondary PCB, user function code, segment data, and both qualified root and dependent SSA parameters
R-GCCTBIO-cbl-00101
Execute Database Call with Unqualified SSA
Action Rules
📊 Business Logic Narrative
When the process 'Execute Database Call with Unqualified SSA' is invoked, and assuming that the ssa flag is set to unqualified ssa and the system is configured to use the secondary pcb, when a database operation is requested for dependent segment access, the desired outcome is that the system calls the database interface with the secondary pcb, user function code, segment data, qualified root ssa, and unqualified dependent ssa parameters.
💻 Technical Criteria
Given
The SSA flag is set to unqualified SSA and the system is configured to use the secondary PCB
When
A database operation is requested for dependent segment access
Then
The system calls the database interface with the secondary PCB, user function code, segment data, qualified root SSA, and unqualified dependent SSA parameters
R-GCCTBIO-cbl-00102
Execute Database Call with No SSA
Action Rules
📊 Business Logic Narrative
When the process 'Execute Database Call with No SSA' is invoked, and assuming that the ssa flag indicates no ssa is required and the system is configured to use the secondary pcb, when a database operation is requested for dependent segment access, the desired outcome is that the system calls the database interface with only the secondary pcb, user function code, and segment data parameters.
💻 Technical Criteria
Given
The SSA flag indicates no SSA is required and the system is configured to use the secondary PCB
When
A database operation is requested for dependent segment access
Then
The system calls the database interface with only the secondary PCB, user function code, and segment data parameters
R-GCCTBIO-cbl-00066
Check Operation Status
Decision Rules
📊 Business Logic Narrative
When the process 'Check Operation Status' is invoked, and assuming that a dependent segment database operation has been executed, when the system checks the operation status code, the desired outcome is that if the status code is spaces, set return flag to successful, otherwise set return flag to unsuccessful.
💻 Technical Criteria
Given
A dependent segment database operation has been executed
When
The system checks the operation status code
Then
If the status code is spaces, set return flag to successful, otherwise set return flag to unsuccessful
R-GCCTBIO-cbl-00067
Execute Database Call with Qualified SSA - Root Segment SSA - Dependent Segment SSA
Action Rules
📊 Business Logic Narrative
When the process 'Execute Database Call with Qualified SSA - Root Segment SSA - Dependent Segment SSA' is invoked, and assuming that a dependent segment database operation is requested using primary pcb and the ssa flag is set to qualified ssa, when the database call is executed, the desired outcome is that the system calls the database interface with the function code, primary pcb, segment data, root segment qualified ssa, and dependent segment qualified ssa.
💻 Technical Criteria
Given
A dependent segment database operation is requested using primary PCB and the SSA flag is set to qualified SSA
When
The database call is executed
Then
The system calls the database interface with the function code, primary PCB, segment data, root segment qualified SSA, and dependent segment qualified SSA
R-GCCTBIO-cbl-00068
Execute Database Call with Unqualified SSA - Root Segment SSA - Unqualified Dependent SSA
Action Rules
📊 Business Logic Narrative
When the process 'Execute Database Call with Unqualified SSA - Root Segment SSA - Unqualified Dependent SSA' is invoked, and assuming that a dependent segment database operation is requested using primary pcb and the ssa flag is set to unqualified ssa, when the database call is executed, the desired outcome is that the system calls the database interface with the function code, primary pcb, segment data, root segment qualified ssa, and dependent segment unqualified ssa.
💻 Technical Criteria
Given
A dependent segment database operation is requested using primary PCB and the SSA flag is set to unqualified SSA
When
The database call is executed
Then
The system calls the database interface with the function code, primary PCB, segment data, root segment qualified SSA, and dependent segment unqualified SSA
R-GCCTBIO-cbl-00069
Execute Database Call with No SSA - No SSA Parameters
Action Rules
📊 Business Logic Narrative
When the process 'Execute Database Call with No SSA - No SSA Parameters' is invoked, and assuming that a dependent segment database operation is requested using primary pcb and the ssa flag is set to no ssa, when the database call is executed, the desired outcome is that the system calls the database interface with only the function code, primary pcb, and segment data without any ssa parameters.
💻 Technical Criteria
Given
A dependent segment database operation is requested using primary PCB and the SSA flag is set to no SSA
When
The database call is executed
Then
The system calls the database interface with only the function code, primary PCB, and segment data without any SSA parameters
R-GCCTBIO-cbl-00103
Execute Database Call with Qualified SSA
Action Rules
📊 Business Logic Narrative
When the process 'Execute Database Call with Qualified SSA' is invoked, and assuming that a dependent segment access request is being processed using primary pcb and the ssa flag is set to qualified ssa, when the system determines the ssa type for database call execution, the desired outcome is that the system calls the database interface with both root segment qualified ssa and dependent segment qualified ssa parameters.
💻 Technical Criteria
Given
A dependent segment access request is being processed using primary PCB and the SSA flag is set to qualified SSA
When
The system determines the SSA type for database call execution
Then
The system calls the database interface with both root segment qualified SSA and dependent segment qualified SSA parameters
R-GCCTBIO-cbl-00104
Execute Database Call with Unqualified SSA
Action Rules
📊 Business Logic Narrative
When the process 'Execute Database Call with Unqualified SSA' is invoked, and assuming that a dependent segment access request is being processed using primary pcb and the ssa flag is set to unqualified ssa, when the system determines the ssa type for database call execution, the desired outcome is that the system calls the database interface with root segment qualified ssa and dependent segment unqualified ssa parameters.
💻 Technical Criteria
Given
A dependent segment access request is being processed using primary PCB and the SSA flag is set to unqualified SSA
When
The system determines the SSA type for database call execution
Then
The system calls the database interface with root segment qualified SSA and dependent segment unqualified SSA parameters
R-GCCTBIO-cbl-00105
Execute Database Call with No SSA
Action Rules
📊 Business Logic Narrative
When the process 'Execute Database Call with No SSA' is invoked, and assuming that a dependent segment access request is being processed using primary pcb and the ssa flag is set to no ssa, when the system determines the ssa type for database call execution, the desired outcome is that the system calls the database interface without any ssa parameters, using only basic operation parameters.
💻 Technical Criteria
Given
A dependent segment access request is being processed using primary PCB and the SSA flag is set to no SSA
When
The system determines the SSA type for database call execution
Then
The system calls the database interface without any SSA parameters, using only basic operation parameters
R-GCCTBIO-cbl-00071
Execute Database Call with Qualified SSA
Action Rules
📊 Business Logic Narrative
When the process 'Execute Database Call with Qualified SSA' is invoked, and assuming that the system is processing a dependent segment access request and the ssa flag is set to qualified ssa and the second pcb flag is set, when the database call is executed for dependent segment access, the desired outcome is that the system calls the database interface with secondary pcb, function code, segment data, root segment ssa, and dependent segment ssa.
💻 Technical Criteria
Given
The system is processing a dependent segment access request AND the SSA flag is set to qualified SSA AND the second PCB flag is set
When
The database call is executed for dependent segment access
Then
The system calls the database interface with secondary PCB, function code, segment data, root segment SSA, and dependent segment SSA
R-GCCTBIO-cbl-00072
Execute Database Call with Unqualified SSA
Action Rules
📊 Business Logic Narrative
When the process 'Execute Database Call with Unqualified SSA' is invoked, and assuming that the system is processing a dependent segment access request and the ssa flag is set to unqualified ssa and the second pcb flag is set, when the database call is executed for dependent segment access, the desired outcome is that the system calls the database interface with secondary pcb, function code, segment data, root segment ssa, and dependent segment unqualified ssa.
💻 Technical Criteria
Given
The system is processing a dependent segment access request AND the SSA flag is set to unqualified SSA AND the second PCB flag is set
When
The database call is executed for dependent segment access
Then
The system calls the database interface with secondary PCB, function code, segment data, root segment SSA, and dependent segment unqualified SSA
R-GCCTBIO-cbl-00073
Execute Database Call with No SSA
Action Rules
📊 Business Logic Narrative
When the process 'Execute Database Call with No SSA' is invoked, and assuming that the system is processing a dependent segment access request and the ssa flag is set to no ssa and the second pcb flag is set, when the database call is executed for dependent segment access, the desired outcome is that the system calls the database interface with secondary pcb, function code, and segment data only.
💻 Technical Criteria
Given
The system is processing a dependent segment access request AND the SSA flag is set to no SSA AND the second PCB flag is set
When
The database call is executed for dependent segment access
Then
The system calls the database interface with secondary PCB, function code, and segment data only
R-GCCTBIO-cbl-00106
Execute Database Call with Qualified SSA
Action Rules
📊 Business Logic Narrative
When the process 'Execute Database Call with Qualified SSA' is invoked, and assuming that ssa type is qualified ssa and secondary pcb is being used for dependent segment access, when database call is executed for dependent segment operation, the desired outcome is that system calls cims with user function code, secondary pcb, segment data, root qualified ssa, and dependent qualified ssa.
💻 Technical Criteria
Given
SSA type is qualified SSA and secondary PCB is being used for dependent segment access
When
database call is executed for dependent segment operation
Then
system calls CIMS with user function code, secondary PCB, segment data, root qualified SSA, and dependent qualified SSA
R-GCCTBIO-cbl-00107
Execute Database Call with Unqualified SSA
Action Rules
📊 Business Logic Narrative
When the process 'Execute Database Call with Unqualified SSA' is invoked, and assuming that ssa type is unqualified ssa and secondary pcb is being used for dependent segment access, when database call is executed for dependent segment operation, the desired outcome is that system calls cims with user function code, secondary pcb, segment data, root qualified ssa, and dependent unqualified ssa.
💻 Technical Criteria
Given
SSA type is unqualified SSA and secondary PCB is being used for dependent segment access
When
database call is executed for dependent segment operation
Then
system calls CIMS with user function code, secondary PCB, segment data, root qualified SSA, and dependent unqualified SSA
R-GCCTBIO-cbl-00108
Execute Database Call with No SSA
Action Rules
📊 Business Logic Narrative
When the process 'Execute Database Call with No SSA' is invoked, and assuming that ssa type requires no ssa parameters and secondary pcb is being used for dependent segment access, when database call is executed for dependent segment operation, the desired outcome is that system calls cims with user function code, secondary pcb, and segment data only.
💻 Technical Criteria
Given
SSA type requires no SSA parameters and secondary PCB is being used for dependent segment access
When
database call is executed for dependent segment operation
Then
system calls CIMS with user function code, secondary PCB, and segment data only
R-GCCTBIO-cbl-00075
Set RETURN-FLAG to SUCCESSFUL
Action Rules
📊 Business Logic Narrative
When the process 'Set RETURN-FLAG to SUCCESSFUL' is invoked, and assuming that a database operation has completed and cc-status-code equals spaces (indicating success), when the system processes the successful operation status, the desired outcome is that set return-flag to successful to indicate the operation completed successfully.
💻 Technical Criteria
Given
A database operation has completed and CC-STATUS-CODE equals spaces (indicating success)
When
The system processes the successful operation status
Then
Set RETURN-FLAG to SUCCESSFUL to indicate the operation completed successfully
R-GCCTBIO-cbl-00076
Set RETURN-FLAG to UNSUCCESSFUL
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set RETURN-FLAG to UNSUCCESSFUL', assuming that a database operation has completed and cc-status-code is not spaces (indicating failure or error), when the system processes the failed operation status, the desired outcome is that set return-flag to unsuccessful to indicate the operation failed.
💻 Technical Criteria
EXCLUDING
A database operation has completed and CC-STATUS-CODE is not spaces (indicating failure or error)
When
The system processes the failed operation status
Then
Set RETURN-FLAG to UNSUCCESSFUL to indicate the operation failed
🚂 Equipment & Cargo Specs
1 logic blocks
R-GCCTBIO-cbl-00074
Check CC-STATUS-CODE
Decision Rules
📊 Business Logic Narrative
When the process 'Check CC-STATUS-CODE' is invoked, and assuming that a database operation has been completed and cc-status-code contains the operation result status, when the system checks the cc-status-code value, the desired outcome is that if cc-status-code is spaces (empty), set return-flag to successful, otherwise set return-flag to unsuccessful.
💻 Technical Criteria
Given
A database operation has been completed and CC-STATUS-CODE contains the operation result status
When
The system checks the CC-STATUS-CODE value
Then
If CC-STATUS-CODE is spaces (empty), set RETURN-FLAG to SUCCESSFUL, otherwise set RETURN-FLAG to UNSUCCESSFUL
Data Services: Persistence & Utility (Customs Seg)
Module Tracker: GCCUSIO
834 Validations & RulesModule Objective: No description provided from architecture analysis.
⚙️ General Logic & Formats
6 logic blocks
R-GCCUSIO-cbl-00029
Is Segment Name Valid?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is Segment Name Valid?', assuming that a segment name is provided for processing, when the segment name is not gcsusrt and not gcsa2rt and not gcsa8rt and not gcst2rt, the desired outcome is that the parameter should be marked as invalid with error code '0012' and message 'segment name invalid'.
💻 Technical Criteria
EXCLUDING
A segment name is provided for processing
When
The segment name is not GCSUSRT and not GCSA2RT and not GCSA8RT and not GCST2RT
Then
The parameter should be marked as invalid with error code '0012' and message 'SEGMENT NAME INVALID'
R-GCCUSIO-cbl-00538
Move Key to Working Storage Key Field
Process Rules
📊 Business Logic Narrative
When the process 'Move Key to Working Storage Key Field' is invoked, and assuming that message key has been extracted from input, when structuring a message segment, the desired outcome is that the key must be moved to the appropriate working storage key field.
💻 Technical Criteria
Given
Message key has been extracted from input
When
Structuring a message segment
Then
The key must be moved to the appropriate working storage key field
R-GCCUSIO-cbl-00539
Move Data to Working Storage Data Field
Process Rules
📊 Business Logic Narrative
When the process 'Move Data to Working Storage Data Field' is invoked, and assuming that message data has been extracted from input, when structuring a message segment, the desired outcome is that the data must be moved to the appropriate working storage data field.
💻 Technical Criteria
Given
Message data has been extracted from input
When
Structuring a message segment
Then
The data must be moved to the appropriate working storage data field
R-GCCUSIO-cbl-00562
Table Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Table Found?' is invoked, and assuming that iron highway table lookup service has been called, when the system needs to determine if the table data was found, the desired outcome is that if the return flag equals '0' then the table was found successfully, otherwise the table was not found.
💻 Technical Criteria
Given
Iron Highway table lookup service has been called
When
The system needs to determine if the table data was found
Then
If the return flag equals '0' then the table was found successfully, otherwise the table was not found
R-GCCUSIO-cbl-00677
Reference Qualifier = 'CN'?
Decision Rules
📊 Business Logic Narrative
When the process 'Reference Qualifier = 'CN'?' is invoked, and assuming that the system is processing an n9 reference segment, when examining the reference number qualifier in the current segment, the desired outcome is that the system checks if the qualifier equals 'cn' to identify shipment id data.
💻 Technical Criteria
Given
The system is processing an N9 reference segment
When
Examining the reference number qualifier in the current segment
Then
The system checks if the qualifier equals 'CN' to identify shipment ID data
R-GCCUSIO-cbl-00787
Increment N9 Counter
Process Rules
📊 Business Logic Narrative
When the process 'Increment N9 Counter' is invoked, and assuming that n9 reference processing is in progress, when the system moves to examine the next n9 reference entry, the desired outcome is that the system increments the n9 counter by one.
💻 Technical Criteria
Given
N9 reference processing is in progress
When
The system moves to examine the next N9 reference entry
Then
The system increments the N9 counter by one
🏷️ CCN & Waybill Identification
198 logic blocks
R-GCCUSIO-cbl-00016
8:Secondary Index Processing
Process Rules
📊 Business Logic Narrative
When the process '8:Secondary Index Processing' is invoked, and assuming that a cargo search request with secondary index specified, when the index type is car-id, waybill, car-wb, bond, manifest, dest, lead-ccn, held-dest, held-border, err-orig, err-border, or err-dest, the desired outcome is that the system routes to the appropriate index processing for that search type.
💻 Technical Criteria
Given
A cargo search request with secondary index specified
When
The index type is CAR-ID, WAYBILL, CAR-WB, BOND, MANIFEST, DEST, LEAD-CCN, HELD-DEST, HELD-BORDER, ERR-ORIG, ERR-BORDER, or ERR-DEST
Then
The system routes to the appropriate index processing for that search type
R-GCCUSIO-cbl-00036
Populate Index Fields
Process Rules
📊 Business Logic Narrative
When the process 'Populate Index Fields' is invoked, and assuming that a cargo record with a ccn key is being processed, when index fields are being populated, the desired outcome is that the system copies the ccn key to car id index, waybill index, and car-waybill index fields.
💻 Technical Criteria
Given
A cargo record with a CCN key is being processed
When
Index fields are being populated
Then
The system copies the CCN key to car ID index, waybill index, and car-waybill index fields
R-GCCUSIO-cbl-00037
Populate Index Fields
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Populate Index Fields', assuming that a cargo record is being processed for index population, when the destination index field is not empty or spaces, the desired outcome is that the system copies the ccn key to the destination index field.
💻 Technical Criteria
EXCLUDING
A cargo record is being processed for index population
When
The destination index field is not empty or spaces
Then
The system copies the CCN key to the destination index field
R-GCCUSIO-cbl-00038
Set Car ID Index
Process Rules
📊 Business Logic Narrative
When the process 'Set Car ID Index' is invoked, and assuming that a cargo record contains equipment car information, when car id indexes are being populated, the desired outcome is that the system assigns the equipment car value to both the car id number index and car-waybill car id index.
💻 Technical Criteria
Given
A cargo record contains equipment car information
When
Car ID indexes are being populated
Then
The system assigns the equipment car value to both the car ID number index and car-waybill car ID index
R-GCCUSIO-cbl-00039
Set Waybill Index Fields
Process Rules
📊 Business Logic Narrative
When the process 'Set Waybill Index Fields' is invoked, and assuming that a cargo record contains waybill information including road number, station number, waybill number, and waybill date, when waybill indexes are being populated, the desired outcome is that the system assigns road number to road index, station number to station index, waybill number to waybill index, waybill date to waybill date index, and copies waybill number to car-waybill index.
💻 Technical Criteria
Given
A cargo record contains waybill information including road number, station number, waybill number, and waybill date
When
Waybill indexes are being populated
Then
The system assigns road number to road index, station number to station index, waybill number to waybill index, waybill date to waybill date index, and copies waybill number to car-waybill index
R-GCCUSIO-cbl-00041
Set Manifest Index
Process Rules
📊 Business Logic Narrative
When the process 'Set Manifest Index' is invoked, and assuming that a cargo record has a ccn key, when manifest index is being populated, the desired outcome is that the system assigns the ccn key value to the manifest index field.
💻 Technical Criteria
Given
A cargo record has a CCN key
When
Manifest index is being populated
Then
The system assigns the CCN key value to the manifest index field
R-GCCUSIO-cbl-00045
Save Waybill Number
Process Rules
📊 Business Logic Narrative
When the process 'Save Waybill Number' is invoked, and assuming that a cargo record contains waybill number index information, when notification data is being prepared, the desired outcome is that the system extracts the first 15 characters of the waybill number index and saves it for notification processing.
💻 Technical Criteria
Given
A cargo record contains waybill number index information
When
Notification data is being prepared
Then
The system extracts the first 15 characters of the waybill number index and saves it for notification processing
R-GCCUSIO-cbl-00227
Set CCN Key Index Fields
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set CCN Key Index Fields', assuming that a cargo record with a valid ccn key is being processed, when the cargo is not deleted and index population is required, the desired outcome is that the system should copy the ccn key to rt071, rt072, and rt073 index fields.
💻 Technical Criteria
EXCLUDING
A cargo record with a valid CCN key is being processed
When
The cargo is not deleted and index population is required
Then
The system should copy the CCN key to RT071, RT072, and RT073 index fields
R-GCCUSIO-cbl-00228
Set Destination CCN Key
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Destination CCN Key', assuming that a cargo record is being processed for index population, when the destination index field (gcusrt-rt076-dest-index) is not empty, the desired outcome is that the system should copy the ccn key to the destination ccn key index field (gcusrt-rt076-us-ccn-key-index).
💻 Technical Criteria
EXCLUDING
A cargo record is being processed for index population
When
The destination index field (GCUSRT-RT076-DEST-INDEX) is not empty
Then
The system should copy the CCN key to the destination CCN key index field (GCUSRT-RT076-US-CCN-KEY-INDEX)
R-GCCUSIO-cbl-00230
Populate Waybill Index Fields
Process Rules
📊 Business Logic Narrative
When the process 'Populate Waybill Index Fields' is invoked, and assuming that a cargo record contains transportation information including road number, station number, waybill number, and waybill date, when index fields are being populated, the desired outcome is that the system should copy road number to road index, station number to station index, waybill number to waybill index, and waybill date to date index.
💻 Technical Criteria
Given
A cargo record contains transportation information including road number, station number, waybill number, and waybill date
When
Index fields are being populated
Then
The system should copy road number to road index, station number to station index, waybill number to waybill index, and waybill date to date index
R-GCCUSIO-cbl-00231
Set Waybill Cross-Reference
Process Rules
📊 Business Logic Narrative
When the process 'Set Waybill Cross-Reference' is invoked, and assuming that waybill and car information has been populated in their respective index fields, when cross-reference indexes are being established, the desired outcome is that the system should copy the waybill number to the cross-reference waybill index and the equipment car to the cross-reference car id index.
💻 Technical Criteria
Given
Waybill and car information has been populated in their respective index fields
When
Cross-reference indexes are being established
Then
The system should copy the waybill number to the cross-reference waybill index and the equipment car to the cross-reference car ID index
R-GCCUSIO-cbl-00235
Set Manifest Index
Process Rules
📊 Business Logic Narrative
When the process 'Set Manifest Index' is invoked, and assuming that a cargo record is being processed for index population, when the manifest index field needs to be populated, the desired outcome is that the system should copy the ccn key to the manifest index field (gcusrt-rt075-manif-index).
💻 Technical Criteria
Given
A cargo record is being processed for index population
When
The manifest index field needs to be populated
Then
The system should copy the CCN key to the manifest index field (GCUSRT-RT075-MANIF-INDEX)
R-GCCUSIO-cbl-00491
Is Cargo Deleted?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Cargo Deleted?' is invoked, and assuming that a cargo record is being processed for index field updates, when the cargo status indicates it is deleted (88-gcusrt-rt10-cpcargo-deleted is true), the desired outcome is that the system should skip all ccn key index field setting operations and exit the process.
💻 Technical Criteria
Given
A cargo record is being processed for index field updates
When
The cargo status indicates it is deleted (88-GCUSRT-RT10-CPCARGO-DELETED is true)
Then
The system should skip all CCN key index field setting operations and exit the process
R-GCCUSIO-cbl-00492
Copy CCN Key to RT071 Index Field, Copy CCN Key to RT072 Index Field, Copy CCN Key to RT073 Index Field
Process Rules
📊 Business Logic Narrative
When the process 'Copy CCN Key to RT071 Index Field, Copy CCN Key to RT072 Index Field, Copy CCN Key to RT073 Index Field' is invoked, and assuming that a cargo record is active (not deleted) and being processed for index updates, when the ccn key index fields need to be populated, the desired outcome is that the system should copy the cargo control number key (gcusrt-us-ccn-key) to rt071, rt072, and rt073 index fields.
💻 Technical Criteria
Given
A cargo record is active (not deleted) and being processed for index updates
When
The CCN key index fields need to be populated
Then
The system should copy the cargo control number key (GCUSRT-US-CCN-KEY) to RT071, RT072, and RT073 index fields
R-GCCUSIO-cbl-00493
Is Destination Index Not Empty?, Copy CCN Key to RT076 Destination Index Field
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is Destination Index Not Empty?, Copy CCN Key to RT076 Destination Index Field', assuming that a cargo record is being processed and primary ccn index fields have been set, when the destination index field (gcusrt-rt076-dest-index) is not empty (not equal to spaces), the desired outcome is that the system should copy the cargo control number key (gcusrt-us-ccn-key) to the rt076 destination index field (gcusrt-rt076-us-ccn-key-index).
💻 Technical Criteria
EXCLUDING
A cargo record is being processed and primary CCN index fields have been set
When
The destination index field (GCUSRT-RT076-DEST-INDEX) is not empty (not equal to spaces)
Then
The system should copy the cargo control number key (GCUSRT-US-CCN-KEY) to the RT076 destination index field (GCUSRT-RT076-US-CCN-KEY-INDEX)
R-GCCUSIO-cbl-00494
Check if Cargo is Deleted
Decision Rules
📊 Business Logic Narrative
When the process 'Check if Cargo is Deleted' is invoked, and assuming that a cargo record is being processed for waybill index population, when the cargo record has a deleted status indicator set to true, the desired outcome is that the system skips all waybill index field population and exits the process.
💻 Technical Criteria
Given
A cargo record is being processed for waybill index population
When
The cargo record has a deleted status indicator set to true
Then
The system skips all waybill index field population and exits the process
R-GCCUSIO-cbl-00495
Extract Road Number from RT082
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Extract Road Number from RT082', assuming that a cargo record is not deleted and contains transportation routing information, when the system processes waybill index fields, the desired outcome is that the road number is extracted from the rt082 transportation segment.
💻 Technical Criteria
EXCLUDING
A cargo record is not deleted and contains transportation routing information
When
The system processes waybill index fields
Then
The road number is extracted from the RT082 transportation segment
R-GCCUSIO-cbl-00496
Map Road Number to RT072-ROAD-INDEX
Action Rules
📊 Business Logic Narrative
When the process 'Map Road Number to RT072-ROAD-INDEX' is invoked, and assuming that the road number has been extracted from rt082 transportation data, when the system populates waybill index fields, the desired outcome is that the road number is mapped to the rt072-road-index field.
💻 Technical Criteria
Given
The road number has been extracted from RT082 transportation data
When
The system populates waybill index fields
Then
The road number is mapped to the RT072-ROAD-INDEX field
R-GCCUSIO-cbl-00497
Extract Station Number from RT082
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Extract Station Number from RT082', assuming that a cargo record is not deleted and contains transportation routing information, when the system processes waybill index fields, the desired outcome is that the station number is extracted from the rt082 transportation segment.
💻 Technical Criteria
EXCLUDING
A cargo record is not deleted and contains transportation routing information
When
The system processes waybill index fields
Then
The station number is extracted from the RT082 transportation segment
R-GCCUSIO-cbl-00498
Map Station Number to RT072-STN-INDEX
Action Rules
📊 Business Logic Narrative
When the process 'Map Station Number to RT072-STN-INDEX' is invoked, and assuming that the station number has been extracted from rt082 transportation data, when the system populates waybill index fields, the desired outcome is that the station number is mapped to the rt072-stn-index field.
💻 Technical Criteria
Given
The station number has been extracted from RT082 transportation data
When
The system populates waybill index fields
Then
The station number is mapped to the RT072-STN-INDEX field
R-GCCUSIO-cbl-00499
Extract Waybill Number from RT082
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Extract Waybill Number from RT082', assuming that a cargo record is not deleted and contains transportation routing information, when the system processes waybill index fields, the desired outcome is that the waybill number is extracted from the rt082 transportation segment.
💻 Technical Criteria
EXCLUDING
A cargo record is not deleted and contains transportation routing information
When
The system processes waybill index fields
Then
The waybill number is extracted from the RT082 transportation segment
R-GCCUSIO-cbl-00500
Map Waybill Number to RT072-WB-INDEX
Action Rules
📊 Business Logic Narrative
When the process 'Map Waybill Number to RT072-WB-INDEX' is invoked, and assuming that the waybill number has been extracted from rt082 transportation data, when the system populates waybill index fields, the desired outcome is that the waybill number is mapped to the rt072-wb-index field.
💻 Technical Criteria
Given
The waybill number has been extracted from RT082 transportation data
When
The system populates waybill index fields
Then
The waybill number is mapped to the RT072-WB-INDEX field
R-GCCUSIO-cbl-00501
Extract Waybill Date from RT082
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Extract Waybill Date from RT082', assuming that a cargo record is not deleted and contains transportation routing information, when the system processes waybill index fields, the desired outcome is that the waybill date is extracted from the rt082 transportation segment.
💻 Technical Criteria
EXCLUDING
A cargo record is not deleted and contains transportation routing information
When
The system processes waybill index fields
Then
The waybill date is extracted from the RT082 transportation segment
R-GCCUSIO-cbl-00502
Map Waybill Date to RT072-WB-DTE-INDEX
Action Rules
📊 Business Logic Narrative
When the process 'Map Waybill Date to RT072-WB-DTE-INDEX' is invoked, and assuming that the waybill date has been extracted from rt082 transportation data, when the system populates waybill index fields, the desired outcome is that the waybill date is mapped to the rt072-wb-dte-index field.
💻 Technical Criteria
Given
The waybill date has been extracted from RT082 transportation data
When
The system populates waybill index fields
Then
The waybill date is mapped to the RT072-WB-DTE-INDEX field
R-GCCUSIO-cbl-00051
Save Current Waybill Number
Process Rules
📊 Business Logic Narrative
When the process 'Save Current Waybill Number' is invoked, and assuming that a cargo record is being updated, when the current cargo record is retrieved, the desired outcome is that the system saves the first 15 characters of the waybill number index for notification purposes.
💻 Technical Criteria
Given
A cargo record is being updated
When
The current cargo record is retrieved
Then
The system saves the first 15 characters of the waybill number index for notification purposes
R-GCCUSIO-cbl-00055
Populate Index Fields
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Populate Index Fields', assuming that a cargo record is being updated and is not marked as deleted, when index fields need to be populated, the desired outcome is that the system copies the us ccn key to rt071, rt072, and rt073 index fields.
💻 Technical Criteria
EXCLUDING
A cargo record is being updated and is not marked as deleted
When
Index fields need to be populated
Then
The system copies the US CCN key to RT071, RT072, and RT073 index fields
R-GCCUSIO-cbl-00056
Populate Index Fields
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Populate Index Fields', assuming that a cargo record is being updated with index fields, when the destination index field is not empty, the desired outcome is that the system copies the us ccn key to the rt076 destination index field.
💻 Technical Criteria
EXCLUDING
A cargo record is being updated with index fields
When
The destination index field is not empty
Then
The system copies the US CCN key to the RT076 destination index field
R-GCCUSIO-cbl-00058
Set Waybill Index Fields
Process Rules
📊 Business Logic Narrative
When the process 'Set Waybill Index Fields' is invoked, and assuming that a cargo record is being updated with index fields, when waybill information is available in the cargo record, the desired outcome is that the system populates rt072 index with road number, station number, waybill number and waybill date, and copies waybill number to rt073 index.
💻 Technical Criteria
Given
A cargo record is being updated with index fields
When
Waybill information is available in the cargo record
Then
The system populates RT072 index with road number, station number, waybill number and waybill date, and copies waybill number to RT073 index
R-GCCUSIO-cbl-00062
Set Manifest Index
Process Rules
📊 Business Logic Narrative
When the process 'Set Manifest Index' is invoked, and assuming that a cargo record is being updated with index fields, when index field population is in progress, the desired outcome is that the system copies the us ccn key to the rt075 manifest index field.
💻 Technical Criteria
Given
A cargo record is being updated with index fields
When
Index field population is in progress
Then
The system copies the US CCN key to the RT075 manifest index field
R-GCCUSIO-cbl-00239
Set CCN Key Index Fields
Process Rules
📊 Business Logic Narrative
When the process 'Set CCN Key Index Fields' is invoked, and assuming that a cargo record with a valid ccn key is being processed, when index fields need to be populated for the cargo record, the desired outcome is that the system should copy the ccn key to car id index (rt071), waybill index (rt072), and car-waybill index (rt073) fields.
💻 Technical Criteria
Given
A cargo record with a valid CCN key is being processed
When
Index fields need to be populated for the cargo record
Then
The system should copy the CCN key to car ID index (RT071), waybill index (RT072), and car-waybill index (RT073) fields
R-GCCUSIO-cbl-00240
Extract Car ID from Equipment Field
Process Rules
📊 Business Logic Narrative
When the process 'Extract Car ID from Equipment Field' is invoked, and assuming that a cargo record contains equipment car information, when index fields are being populated, the desired outcome is that the system should move the equipment car value to both the car id number index (rt071) and car-waybill index (rt073) fields.
💻 Technical Criteria
Given
A cargo record contains equipment car information
When
Index fields are being populated
Then
The system should move the equipment car value to both the car ID number index (RT071) and car-waybill index (RT073) fields
R-GCCUSIO-cbl-00241
Extract Road Number from Waybill, Extract Station Number from Waybill, Extract Waybill Number, Extract Waybill Date
Process Rules
📊 Business Logic Narrative
When the process 'Extract Road Number from Waybill, Extract Station Number from Waybill, Extract Waybill Number, Extract Waybill Date' is invoked, and assuming that a cargo record contains waybill information with road number, station number, waybill number, and waybill date, when index fields are being populated, the desired outcome is that the system should extract and populate road index, station index, waybill index, and waybill date index fields from the waybill data.
💻 Technical Criteria
Given
A cargo record contains waybill information with road number, station number, waybill number, and waybill date
When
Index fields are being populated
Then
The system should extract and populate road index, station index, waybill index, and waybill date index fields from the waybill data
R-GCCUSIO-cbl-00242
Populate Car-Waybill Index
Process Rules
📊 Business Logic Narrative
When the process 'Populate Car-Waybill Index' is invoked, and assuming that waybill number index has been populated from waybill data, when car-waybill index needs to be created, the desired outcome is that the system should copy the waybill number index value to the car-waybill index field (rt073).
💻 Technical Criteria
Given
Waybill number index has been populated from waybill data
When
Car-waybill index needs to be created
Then
The system should copy the waybill number index value to the car-waybill index field (RT073)
R-GCCUSIO-cbl-00244
Set Manifest Index with CCN Key
Process Rules
📊 Business Logic Narrative
When the process 'Set Manifest Index with CCN Key' is invoked, and assuming that a cargo record with a valid ccn key is being processed, when manifest index field needs to be populated, the desired outcome is that the system should move the ccn key value to the manifest index field (rt075).
💻 Technical Criteria
Given
A cargo record with a valid CCN key is being processed
When
Manifest index field needs to be populated
Then
The system should move the CCN key value to the manifest index field (RT075)
R-GCCUSIO-cbl-00245
Update Destination Index if Present
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Update Destination Index if Present', assuming that a cargo record is being processed for destination index population, when the destination index field (rt076-dest-index) is not equal to spaces, the desired outcome is that the system should move the ccn key to the destination index ccn key field (rt076-us-ccn-key-index).
💻 Technical Criteria
EXCLUDING
A cargo record is being processed for destination index population
When
The destination index field (RT076-DEST-INDEX) is not equal to spaces
Then
The system should move the CCN key to the destination index CCN key field (RT076-US-CCN-KEY-INDEX)
R-GCCUSIO-cbl-00071
Save Waybill and Car Numbers
Process Rules
📊 Business Logic Narrative
When the process 'Save Waybill and Car Numbers' is invoked, and assuming that a cargo record contains waybill and car identification information, when the system processes the cargo record for deletion, the desired outcome is that the system saves the first 15 characters of the waybill number index and the car identification number index for notification purposes.
💻 Technical Criteria
Given
A cargo record contains waybill and car identification information
When
The system processes the cargo record for deletion
Then
The system saves the first 15 characters of the waybill number index and the car identification number index for notification purposes
R-GCCUSIO-cbl-00072
Clear Waybill Index
Process Rules
📊 Business Logic Narrative
When the process 'Clear Waybill Index' is invoked, and assuming that a cargo record is being logically deleted, when the system processes index field clearing, the desired outcome is that the system sets the rt072 waybill index field to spaces.
💻 Technical Criteria
Given
A cargo record is being logically deleted
When
The system processes index field clearing
Then
The system sets the RT072 waybill index field to spaces
R-GCCUSIO-cbl-00073
Clear Car-Waybill Index
Process Rules
📊 Business Logic Narrative
When the process 'Clear Car-Waybill Index' is invoked, and assuming that a cargo record is being logically deleted, when the system processes index field clearing, the desired outcome is that the system sets the rt073 car-waybill index field to spaces.
💻 Technical Criteria
Given
A cargo record is being logically deleted
When
The system processes index field clearing
Then
The system sets the RT073 car-waybill index field to spaces
R-GCCUSIO-cbl-00079
Process Iron Highway Notification
Action Rules
📊 Business Logic Narrative
When the process 'Process Iron Highway Notification' is invoked, and assuming that a cargo record has been successfully marked as deleted, when the system completes the cargo record update, the desired outcome is that the system processes iron highway notification using the saved status, waybill number, and car identification information.
💻 Technical Criteria
Given
A cargo record has been successfully marked as deleted
When
The system completes the cargo record update
Then
The system processes Iron Highway notification using the saved status, waybill number, and car identification information
R-GCCUSIO-cbl-00080
Delete GCSB1RT Index Records
Action Rules
📊 Business Logic Narrative
When the process 'Delete GCSB1RT Index Records' is invoked, and assuming that a cargo record has been successfully deleted, when the system needs to clean up related index records, the desired outcome is that the system deletes the corresponding gcsb1rt status index record using the cargo ccn key.
💻 Technical Criteria
Given
A cargo record has been successfully deleted
When
The system needs to clean up related index records
Then
The system deletes the corresponding GCSB1RT status index record using the cargo CCN key
R-GCCUSIO-cbl-00081
Build Primary SSA with CCN Key
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Build Primary SSA with CCN Key', assuming that a cargo record retrieval request is received with function code gu or gn, when the ccn key field is not empty, the desired outcome is that build qualified ssa with ccn key value and execute qualified search.
💻 Technical Criteria
EXCLUDING
A cargo record retrieval request is received with function code GU or GN
When
The CCN key field is not empty
Then
Build qualified SSA with CCN key value and execute qualified search
R-GCCUSIO-cbl-00082
Build Unqualified SSA
Decision Rules
📊 Business Logic Narrative
When the process 'Build Unqualified SSA' is invoked, and assuming that a cargo record retrieval request is received with function code gu or gn, when the ccn key field is empty or spaces, the desired outcome is that build unqualified ssa and execute unqualified search.
💻 Technical Criteria
Given
A cargo record retrieval request is received with function code GU or GN
When
The CCN key field is empty or spaces
Then
Build unqualified SSA and execute unqualified search
R-GCCUSIO-cbl-00085
Waybill Index Search
Action Rules
📊 Business Logic Narrative
When the process 'Waybill Index Search' is invoked, and assuming that a secondary index search request is received, when the index type is waybill, the desired outcome is that use waybill index structure with waybill number value and operator to search cargo records.
💻 Technical Criteria
Given
A secondary index search request is received
When
The index type is WAYBILL
Then
Use waybill index structure with waybill number value and operator to search cargo records
R-GCCUSIO-cbl-00086
Car-Waybill Index Search
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Car-Waybill Index Search', assuming that a secondary index search request is received, when the index type is car-wb and car-waybill index is not empty, the desired outcome is that use qualified ssa with car-waybill index value, otherwise use unqualified ssa.
💻 Technical Criteria
EXCLUDING
A secondary index search request is received
When
The index type is CAR-WB and car-waybill index is not empty
Then
Use qualified SSA with car-waybill index value, otherwise use unqualified SSA
R-GCCUSIO-cbl-00088
Lead CCN Index Search
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Lead CCN Index Search', assuming that a secondary index search request is received, when the index type is lead-ccn and lead manifest ccn is not empty, the desired outcome is that use qualified ssa with lead ccn value, otherwise use unqualified ssa.
💻 Technical Criteria
EXCLUDING
A secondary index search request is received
When
The index type is LEAD-CCN and lead manifest CCN is not empty
Then
Use qualified SSA with lead CCN value, otherwise use unqualified SSA
R-GCCUSIO-cbl-00095
Set CCN Key Index Fields
Process Rules
📊 Business Logic Narrative
When the process 'Set CCN Key Index Fields' is invoked, and assuming that a cargo record is active (not deleted), when index fields are being updated, the desired outcome is that the system should copy the us ccn key to rt071, rt072, and rt073 index fields, and if destination index is not empty, also copy to rt076 index field.
💻 Technical Criteria
Given
A cargo record is active (not deleted)
When
Index fields are being updated
Then
The system should copy the US CCN key to RT071, RT072, and RT073 index fields, and if destination index is not empty, also copy to RT076 index field
R-GCCUSIO-cbl-00097
Populate Waybill Index Fields
Process Rules
📊 Business Logic Narrative
When the process 'Populate Waybill Index Fields' is invoked, and assuming that a cargo record contains waybill information, when index fields are being updated, the desired outcome is that the system should populate rt072 index with road number, station number, waybill number, and waybill date from the rt082 fields.
💻 Technical Criteria
Given
A cargo record contains waybill information
When
Index fields are being updated
Then
The system should populate RT072 index with road number, station number, waybill number, and waybill date from the RT082 fields
R-GCCUSIO-cbl-00098
Populate Car-Waybill Combined Index
Process Rules
📊 Business Logic Narrative
When the process 'Populate Car-Waybill Combined Index' is invoked, and assuming that a cargo record has both car and waybill information, when index fields are being populated, the desired outcome is that the system should copy the waybill number from rt072 to rt073 waybill index and copy the equipment car number to rt073 car id index.
💻 Technical Criteria
Given
A cargo record has both car and waybill information
When
Index fields are being populated
Then
The system should copy the waybill number from RT072 to RT073 waybill index and copy the equipment car number to RT073 car ID index
R-GCCUSIO-cbl-00100
Set Manifest Index
Process Rules
📊 Business Logic Narrative
When the process 'Set Manifest Index' is invoked, and assuming that a cargo record is being processed for index updates, when all other index fields have been populated, the desired outcome is that the system should copy the us ccn key to the manifest index field (rt075-manif-index).
💻 Technical Criteria
Given
A cargo record is being processed for index updates
When
All other index fields have been populated
Then
The system should copy the US CCN key to the manifest index field (RT075-MANIF-INDEX)
R-GCCUSIO-cbl-00249
Update Car-Waybill Combined Index
Process Rules
📊 Business Logic Narrative
When the process 'Update Car-Waybill Combined Index' is invoked, and assuming that the primary car id number index has been populated with equipment car information, when the system updates combined index fields, the desired outcome is that the equipment car value is also moved to the car-waybill combined index field gcusrt-rt073-car-id-num-index.
💻 Technical Criteria
Given
The primary car ID number index has been populated with equipment car information
When
The system updates combined index fields
Then
The equipment car value is also moved to the car-waybill combined index field GCUSRT-RT073-CAR-ID-NUM-INDEX
R-GCCUSIO-cbl-00250
Cargo Record Deleted?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Record Deleted?' is invoked, and assuming that a cargo record is being processed for waybill index field population, when the cargo record has a deleted status indicator set to true, the desired outcome is that the system skips all waybill index field population and exits the process.
💻 Technical Criteria
Given
A cargo record is being processed for waybill index field population
When
The cargo record has a deleted status indicator set to true
Then
The system skips all waybill index field population and exits the process
R-GCCUSIO-cbl-00251
Extract Road Number from Cargo Data
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Extract Road Number from Cargo Data', assuming that a cargo record is active and not deleted, when the system processes waybill index fields, the desired outcome is that the road number from the cargo equipment data (rt082-road-num) is copied to the waybill road index field (rt072-road-index).
💻 Technical Criteria
EXCLUDING
A cargo record is active and not deleted
When
The system processes waybill index fields
Then
The road number from the cargo equipment data (RT082-ROAD-NUM) is copied to the waybill road index field (RT072-ROAD-INDEX)
R-GCCUSIO-cbl-00252
Extract Station Number from Cargo Data
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Extract Station Number from Cargo Data', assuming that a cargo record is active and not deleted, when the system processes waybill index fields, the desired outcome is that the station number from the cargo equipment data (rt082-stn-num) is copied to the waybill station index field (rt072-stn-index).
💻 Technical Criteria
EXCLUDING
A cargo record is active and not deleted
When
The system processes waybill index fields
Then
The station number from the cargo equipment data (RT082-STN-NUM) is copied to the waybill station index field (RT072-STN-INDEX)
R-GCCUSIO-cbl-00253
Extract Waybill Number from Cargo Data
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Extract Waybill Number from Cargo Data', assuming that a cargo record is active and not deleted, when the system processes waybill index fields, the desired outcome is that the waybill number from the cargo equipment data (rt082-wb-num) is copied to the waybill number index field (rt072-wb-index).
💻 Technical Criteria
EXCLUDING
A cargo record is active and not deleted
When
The system processes waybill index fields
Then
The waybill number from the cargo equipment data (RT082-WB-NUM) is copied to the waybill number index field (RT072-WB-INDEX)
R-GCCUSIO-cbl-00254
Extract Waybill Date from Cargo Data
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Extract Waybill Date from Cargo Data', assuming that a cargo record is active and not deleted, when the system processes waybill index fields, the desired outcome is that the waybill date from the cargo equipment data (rt082-wb-dte) is copied to the waybill date index field (rt072-wb-dte-index).
💻 Technical Criteria
EXCLUDING
A cargo record is active and not deleted
When
The system processes waybill index fields
Then
The waybill date from the cargo equipment data (RT082-WB-DTE) is copied to the waybill date index field (RT072-WB-DTE-INDEX)
R-GCCUSIO-cbl-00117
Search Waybill Index
Action Rules
📊 Business Logic Narrative
When the process 'Search Waybill Index' is invoked, and assuming that a cargo search request with waybill index type is received, when the system processes the waybill index search, the desired outcome is that the system sets the waybill key value from the cargo record waybill index field, applies the search operator, and executes the search using the waybill secondary index.
💻 Technical Criteria
Given
A cargo search request with waybill index type is received
When
The system processes the waybill index search
Then
The system sets the waybill key value from the cargo record waybill index field, applies the search operator, and executes the search using the waybill secondary index
R-GCCUSIO-cbl-00118
Car-Waybill Index Exists?
Decision Rules
📊 Business Logic Narrative
When the process 'Car-Waybill Index Exists?' is invoked, and assuming that a cargo search request with car-waybill index type is received, when the system checks if the car-waybill index field contains data, the desired outcome is that if the car-waybill index field is not empty, the system uses qualified search with the index value, otherwise it uses unqualified search with empty key value.
💻 Technical Criteria
Given
A cargo search request with car-waybill index type is received
When
The system checks if the car-waybill index field contains data
Then
If the car-waybill index field is not empty, the system uses qualified search with the index value, otherwise it uses unqualified search with empty key value
R-GCCUSIO-cbl-00120
Lead CCN Exists?
Decision Rules
📊 Business Logic Narrative
When the process 'Lead CCN Exists?' is invoked, and assuming that a cargo search request with lead ccn index type is received, when the system checks if the lead manifest ccn field contains data, the desired outcome is that if the lead manifest ccn field is not empty, the system uses qualified search with the ccn value, otherwise it uses unqualified search with empty key value.
💻 Technical Criteria
Given
A cargo search request with lead CCN index type is received
When
The system checks if the lead manifest CCN field contains data
Then
If the lead manifest CCN field is not empty, the system uses qualified search with the CCN value, otherwise it uses unqualified search with empty key value
R-GCCUSIO-cbl-00264
Set Waybill Search Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Set Waybill Search Parameters' is invoked, and assuming that a waybill search request is initiated with gcwusio-index-waybill condition, when the system processes the waybill index search request, the desired outcome is that the system sets pcb3 as the database control block and extracts waybill index value from gcusrt-rt072-waybill-index to gcuw-key-value for search processing.
💻 Technical Criteria
Given
A waybill search request is initiated with GCWUSIO-INDEX-WAYBILL condition
When
The system processes the waybill index search request
Then
The system sets PCB3 as the database control block and extracts waybill index value from GCUSRT-RT072-WAYBILL-INDEX to GCUW-KEY-VALUE for search processing
R-GCCUSIO-cbl-00265
Set Search Operator
Process Rules
📊 Business Logic Narrative
When the process 'Set Search Operator' is invoked, and assuming that a waybill search is being configured with search parameters, when the system assigns the search operator, the desired outcome is that the system copies the operator from gcwusio-operator to gcuw-operator for waybill comparison logic.
💻 Technical Criteria
Given
A waybill search is being configured with search parameters
When
The system assigns the search operator
Then
The system copies the operator from GCWUSIO-OPERATOR to GCUW-OPERATOR for waybill comparison logic
R-GCCUSIO-cbl-00266
Build Qualified Search Statement
Process Rules
📊 Business Logic Narrative
When the process 'Build Qualified Search Statement' is invoked, and assuming that waybill search parameters including key value and operator are configured, when the system constructs the database search statement, the desired outcome is that the system assigns gcuw-ssa-qual to ws-ssa-1 to create a qualified search statement for waybill-based cargo lookup.
💻 Technical Criteria
Given
Waybill search parameters including key value and operator are configured
When
The system constructs the database search statement
Then
The system assigns GCUW-SSA-QUAL to WS-SSA-1 to create a qualified search statement for waybill-based cargo lookup
R-GCCUSIO-cbl-00267
Execute Database Search
Action Rules
📊 Business Logic Narrative
When the process 'Execute Database Search' is invoked, and assuming that a qualified search statement is constructed with waybill parameters and pcb3 is set as the database control block, when the system executes the database search via x1100-call-one-ssa, the desired outcome is that the system performs the database call using cims with the function code, pcb, io area, and ssa to retrieve matching cargo records.
💻 Technical Criteria
Given
A qualified search statement is constructed with waybill parameters and PCB3 is set as the database control block
When
The system executes the database search via X1100-CALL-ONE-SSA
Then
The system performs the database call using CIMS with the function code, PCB, IO area, and SSA to retrieve matching cargo records
R-GCCUSIO-cbl-00513
Extract Waybill Index Value from RT072-WAYBILL-INDEX
Process Rules
📊 Business Logic Narrative
When the process 'Extract Waybill Index Value from RT072-WAYBILL-INDEX' is invoked, and assuming that a cargo record exists with waybill index information in rt072-waybill-index field, when the system processes a waybill index search request, the desired outcome is that the waybill index value is extracted from gcusrt-rt072-waybill-index and moved to gcuw-key-value for search parameter construction.
💻 Technical Criteria
Given
A cargo record exists with waybill index information in RT072-WAYBILL-INDEX field
When
The system processes a waybill index search request
Then
The waybill index value is extracted from GCUSRT-RT072-WAYBILL-INDEX and moved to GCUW-KEY-VALUE for search parameter construction
R-GCCUSIO-cbl-00514
Set Search Operator from Input Parameter
Process Rules
📊 Business Logic Narrative
When the process 'Set Search Operator from Input Parameter' is invoked, and assuming that a waybill index search request is being processed with a specified search operator in gcwusio-operator, when the system builds waybill search parameters, the desired outcome is that the search operator from gcwusio-operator is moved to gcuw-operator to define the comparison criteria for the waybill search.
💻 Technical Criteria
Given
A waybill index search request is being processed with a specified search operator in GCWUSIO-OPERATOR
When
The system builds waybill search parameters
Then
The search operator from GCWUSIO-OPERATOR is moved to GCUW-OPERATOR to define the comparison criteria for the waybill search
R-GCCUSIO-cbl-00515
Configure PCB3 Database Path
Process Rules
📊 Business Logic Narrative
When the process 'Configure PCB3 Database Path' is invoked, and assuming that a waybill index search operation is being initiated, when the system prepares database access parameters, the desired outcome is that the pcb3 database path (gcus-pcb3) is configured in ws-pcb to direct the search to the waybill index database structure.
💻 Technical Criteria
Given
A waybill index search operation is being initiated
When
The system prepares database access parameters
Then
The PCB3 database path (GCUS-PCB3) is configured in WS-PCB to direct the search to the waybill index database structure
R-GCCUSIO-cbl-00516
Construct Qualified Search Statement GCUW-SSA-QUAL
Process Rules
📊 Business Logic Narrative
When the process 'Construct Qualified Search Statement GCUW-SSA-QUAL' is invoked, and assuming that waybill key value and search operator have been set in gcuw-key-value and gcuw-operator respectively, when the system builds the complete search statement, the desired outcome is that a qualified search statement gcuw-ssa-qual is constructed and moved to ws-ssa-1 to enable precise waybill index searching.
💻 Technical Criteria
Given
Waybill key value and search operator have been set in GCUW-KEY-VALUE and GCUW-OPERATOR respectively
When
The system builds the complete search statement
Then
A qualified search statement GCUW-SSA-QUAL is constructed and moved to WS-SSA-1 to enable precise waybill index searching
R-GCCUSIO-cbl-00517
Execute Waybill Index Search
Action Rules
📊 Business Logic Narrative
When the process 'Execute Waybill Index Search' is invoked, and assuming that all waybill search parameters have been configured including pcb, search statement, and key values, when the system performs the waybill index search operation, the desired outcome is that the search is executed via x1100-call-one-ssa to retrieve cargo records matching the waybill index criteria.
💻 Technical Criteria
Given
All waybill search parameters have been configured including PCB, search statement, and key values
When
The system performs the waybill index search operation
Then
The search is executed via X1100-CALL-ONE-SSA to retrieve cargo records matching the waybill index criteria
R-GCCUSIO-cbl-00622
Set Waybill PCB for Database Access
Action Rules
📊 Business Logic Narrative
When the process 'Set Waybill PCB for Database Access' is invoked, and assuming that a waybill index search operation is initiated, when the system prepares to access the waybill database, the desired outcome is that the system sets the waybill pcb (gcus-pcb3) as the database access control block.
💻 Technical Criteria
Given
A waybill index search operation is initiated
When
The system prepares to access the waybill database
Then
The system sets the waybill PCB (GCUS-PCB3) as the database access control block
R-GCCUSIO-cbl-00623
Extract Waybill Index Value from Cargo Record
Process Rules
📊 Business Logic Narrative
When the process 'Extract Waybill Index Value from Cargo Record' is invoked, and assuming that a cargo record with waybill index information exists, when the system performs a waybill index search, the desired outcome is that the system extracts the waybill index value from gcusrt-rt072-waybill-index and assigns it to gcuw-key-value.
💻 Technical Criteria
Given
A cargo record with waybill index information exists
When
The system performs a waybill index search
Then
The system extracts the waybill index value from GCUSRT-RT072-WAYBILL-INDEX and assigns it to GCUW-KEY-VALUE
R-GCCUSIO-cbl-00624
Set Search Operator from Input Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Set Search Operator from Input Parameters' is invoked, and assuming that input parameters contain a search operator specification, when the system prepares a waybill index search, the desired outcome is that the system assigns the operator from gcwusio-operator to gcuw-operator for the search criteria.
💻 Technical Criteria
Given
Input parameters contain a search operator specification
When
The system prepares a waybill index search
Then
The system assigns the operator from GCWUSIO-OPERATOR to GCUW-OPERATOR for the search criteria
R-GCCUSIO-cbl-00625
Build Qualified SSA for Waybill Search
Process Rules
📊 Business Logic Narrative
When the process 'Build Qualified SSA for Waybill Search' is invoked, and assuming that waybill key value and operator are set, when the system builds the search criteria, the desired outcome is that the system assigns gcuw-ssa-qual to ws-ssa-1 to create a qualified search specification.
💻 Technical Criteria
Given
Waybill key value and operator are set
When
The system builds the search criteria
Then
The system assigns GCUW-SSA-QUAL to WS-SSA-1 to create a qualified search specification
R-GCCUSIO-cbl-00626
Execute Database Call with Waybill Index
Action Rules
📊 Business Logic Narrative
When the process 'Execute Database Call with Waybill Index' is invoked, and assuming that waybill search criteria and database access parameters are configured, when the system executes the waybill index search, the desired outcome is that the system performs x1100-call-one-ssa to execute the database call with the waybill index search criteria.
💻 Technical Criteria
Given
Waybill search criteria and database access parameters are configured
When
The system executes the waybill index search
Then
The system performs X1100-CALL-ONE-SSA to execute the database call with the waybill index search criteria
R-GCCUSIO-cbl-00753
Is Cargo Record Deleted?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Cargo Record Deleted?' is invoked, and assuming that a cargo record is being processed for waybill index extraction, when the cargo record has a deleted status indicator (88-gcusrt-rt10-cpcargo-deleted is true), the desired outcome is that the system skips all waybill index processing and exits the extraction process.
💻 Technical Criteria
Given
A cargo record is being processed for waybill index extraction
When
The cargo record has a deleted status indicator (88-GCUSRT-RT10-CPCARGO-DELETED is true)
Then
The system skips all waybill index processing and exits the extraction process
R-GCCUSIO-cbl-00754
Extract Road Number from RT082-ROAD-NUM
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Extract Road Number from RT082-ROAD-NUM', assuming that a cargo record is active and not deleted, when the system processes waybill index extraction, the desired outcome is that the road number from gcusrt-rt082-road-num is extracted and prepared for index population.
💻 Technical Criteria
EXCLUDING
A cargo record is active and not deleted
When
The system processes waybill index extraction
Then
The road number from GCUSRT-RT082-ROAD-NUM is extracted and prepared for index population
R-GCCUSIO-cbl-00755
Extract Station Number from RT082-STN-NUM
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Extract Station Number from RT082-STN-NUM', assuming that a cargo record is active and not deleted, when the system processes waybill index extraction, the desired outcome is that the station number from gcusrt-rt082-stn-num is extracted and prepared for index population.
💻 Technical Criteria
EXCLUDING
A cargo record is active and not deleted
When
The system processes waybill index extraction
Then
The station number from GCUSRT-RT082-STN-NUM is extracted and prepared for index population
R-GCCUSIO-cbl-00756
Extract Waybill Number from RT082-WB-NUM
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Extract Waybill Number from RT082-WB-NUM', assuming that a cargo record is active and not deleted, when the system processes waybill index extraction, the desired outcome is that the waybill number from gcusrt-rt082-wb-num is extracted and prepared for index population.
💻 Technical Criteria
EXCLUDING
A cargo record is active and not deleted
When
The system processes waybill index extraction
Then
The waybill number from GCUSRT-RT082-WB-NUM is extracted and prepared for index population
R-GCCUSIO-cbl-00757
Extract Waybill Date from RT082-WB-DTE
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Extract Waybill Date from RT082-WB-DTE', assuming that a cargo record is active and not deleted, when the system processes waybill index extraction, the desired outcome is that the waybill date from gcusrt-rt082-wb-dte is extracted and prepared for index population.
💻 Technical Criteria
EXCLUDING
A cargo record is active and not deleted
When
The system processes waybill index extraction
Then
The waybill date from GCUSRT-RT082-WB-DTE is extracted and prepared for index population
R-GCCUSIO-cbl-00758
Populate RT072-ROAD-INDEX with Road Number
Process Rules
📊 Business Logic Narrative
When the process 'Populate RT072-ROAD-INDEX with Road Number' is invoked, and assuming that the road number has been extracted from rt082-road-num, when the system populates waybill index fields, the desired outcome is that the extracted road number is moved to gcusrt-rt072-road-index.
💻 Technical Criteria
Given
The road number has been extracted from RT082-ROAD-NUM
When
The system populates waybill index fields
Then
The extracted road number is moved to GCUSRT-RT072-ROAD-INDEX
R-GCCUSIO-cbl-00759
Populate RT072-STN-INDEX with Station Number
Process Rules
📊 Business Logic Narrative
When the process 'Populate RT072-STN-INDEX with Station Number' is invoked, and assuming that the station number has been extracted from rt082-stn-num, when the system populates waybill index fields, the desired outcome is that the extracted station number is moved to gcusrt-rt072-stn-index.
💻 Technical Criteria
Given
The station number has been extracted from RT082-STN-NUM
When
The system populates waybill index fields
Then
The extracted station number is moved to GCUSRT-RT072-STN-INDEX
R-GCCUSIO-cbl-00760
Populate RT072-WB-INDEX with Waybill Number
Process Rules
📊 Business Logic Narrative
When the process 'Populate RT072-WB-INDEX with Waybill Number' is invoked, and assuming that the waybill number has been extracted from rt082-wb-num, when the system populates waybill index fields, the desired outcome is that the extracted waybill number is moved to gcusrt-rt072-wb-index.
💻 Technical Criteria
Given
The waybill number has been extracted from RT082-WB-NUM
When
The system populates waybill index fields
Then
The extracted waybill number is moved to GCUSRT-RT072-WB-INDEX
R-GCCUSIO-cbl-00761
Populate RT072-WB-DTE-INDEX with Waybill Date
Process Rules
📊 Business Logic Narrative
When the process 'Populate RT072-WB-DTE-INDEX with Waybill Date' is invoked, and assuming that the waybill date has been extracted from rt082-wb-dte, when the system populates waybill index fields, the desired outcome is that the extracted waybill date is moved to gcusrt-rt072-wb-dte-index.
💻 Technical Criteria
Given
The waybill date has been extracted from RT082-WB-DTE
When
The system populates waybill index fields
Then
The extracted waybill date is moved to GCUSRT-RT072-WB-DTE-INDEX
R-GCCUSIO-cbl-00762
Create Complete Waybill Index RT072-WB-NUM-INDEX
Process Rules
📊 Business Logic Narrative
When the process 'Create Complete Waybill Index RT072-WB-NUM-INDEX' is invoked, and assuming that all individual waybill components have been populated in rt072 fields, when the system creates the complete waybill index, the desired outcome is that the rt072-wb-num-index field contains the complete waybill index structure for primary reference.
💻 Technical Criteria
Given
All individual waybill components have been populated in RT072 fields
When
The system creates the complete waybill index
Then
The RT072-WB-NUM-INDEX field contains the complete waybill index structure for primary reference
R-GCCUSIO-cbl-00763
Copy Waybill Index to RT073-WB-NUM-INDEX for Cross-Reference
Process Rules
📊 Business Logic Narrative
When the process 'Copy Waybill Index to RT073-WB-NUM-INDEX for Cross-Reference' is invoked, and assuming that the complete waybill index rt072-wb-num-index has been created, when the system establishes cross-reference indexing, the desired outcome is that the waybill index is copied from gcusrt-rt072-wb-num-index to gcusrt-rt073-wb-num-index.
💻 Technical Criteria
Given
The complete waybill index RT072-WB-NUM-INDEX has been created
When
The system establishes cross-reference indexing
Then
The waybill index is copied from GCUSRT-RT072-WB-NUM-INDEX to GCUSRT-RT073-WB-NUM-INDEX
R-GCCUSIO-cbl-00268
Car-Waybill Index Available?
Decision Rules
📊 Business Logic Narrative
When the process 'Car-Waybill Index Available?' is invoked, and assuming that a car-waybill search request is initiated, when the car-waybill index field is checked for content, the desired outcome is that if index contains data, qualified search is prepared; if index is empty or spaces, unqualified search is prepared.
💻 Technical Criteria
Given
A car-waybill search request is initiated
When
The car-waybill index field is checked for content
Then
If index contains data, qualified search is prepared; if index is empty or spaces, unqualified search is prepared
R-GCCUSIO-cbl-00269
Build Qualified Search with Car-Waybill Key
Process Rules
📊 Business Logic Narrative
When the process 'Build Qualified Search with Car-Waybill Key' is invoked, and assuming that car-waybill index contains valid data, when qualified search is being configured, the desired outcome is that car-waybill index value is moved to search key and qualified ssa is set for precise record matching.
💻 Technical Criteria
Given
Car-waybill index contains valid data
When
Qualified search is being configured
Then
Car-waybill index value is moved to search key and qualified SSA is set for precise record matching
R-GCCUSIO-cbl-00270
Build Unqualified Search
Process Rules
📊 Business Logic Narrative
When the process 'Build Unqualified Search' is invoked, and assuming that car-waybill index is empty or contains only spaces, when unqualified search is being configured, the desired outcome is that search key is set to spaces and unqualified ssa is set to retrieve all records.
💻 Technical Criteria
Given
Car-waybill index is empty or contains only spaces
When
Unqualified search is being configured
Then
Search key is set to spaces and unqualified SSA is set to retrieve all records
R-GCCUSIO-cbl-00271
Set Search Operator
Process Rules
📊 Business Logic Narrative
When the process 'Set Search Operator' is invoked, and assuming that car-waybill search parameters are being configured, when search operator needs to be set, the desired outcome is that the operator from the request is assigned to the car-waybill search operator field.
💻 Technical Criteria
Given
Car-waybill search parameters are being configured
When
Search operator needs to be set
Then
The operator from the request is assigned to the car-waybill search operator field
R-GCCUSIO-cbl-00272
Execute Database Search on Car-Waybill Index
Action Rules
📊 Business Logic Narrative
When the process 'Execute Database Search on Car-Waybill Index' is invoked, and assuming that car-waybill search parameters are configured with pcb4 and appropriate ssa, when database search is executed, the desired outcome is that system performs database call using the configured search criteria to retrieve cargo records via car-waybill index.
💻 Technical Criteria
Given
Car-waybill search parameters are configured with PCB4 and appropriate SSA
When
Database search is executed
Then
System performs database call using the configured search criteria to retrieve cargo records via car-waybill index
R-GCCUSIO-cbl-00518
Check Car-Waybill Index Content
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check Car-Waybill Index Content', assuming that a car-waybill index search request is being processed, when the car-waybill index field contains data (is not empty spaces), the desired outcome is that the system sets up a qualified search using the car-waybill index value as the search key and configures qualified search parameters.
💻 Technical Criteria
EXCLUDING
A car-waybill index search request is being processed
When
The car-waybill index field contains data (is not empty spaces)
Then
The system sets up a qualified search using the car-waybill index value as the search key and configures qualified search parameters
R-GCCUSIO-cbl-00519
Set Up Unqualified Search
Decision Rules
📊 Business Logic Narrative
When the process 'Set Up Unqualified Search' is invoked, and assuming that a car-waybill index search request is being processed, when the car-waybill index field is empty (contains spaces), the desired outcome is that the system clears the search key value to spaces and configures unqualified search parameters to retrieve all records.
💻 Technical Criteria
Given
A car-waybill index search request is being processed
When
The car-waybill index field is empty (contains spaces)
Then
The system clears the search key value to spaces and configures unqualified search parameters to retrieve all records
R-GCCUSIO-cbl-00520
Set Car-Waybill Index Value as Search Key
Process Rules
📊 Business Logic Narrative
When the process 'Set Car-Waybill Index Value as Search Key' is invoked, and assuming that the car-waybill index field contains data, when setting up a qualified search for car-waybill records, the desired outcome is that the system moves the car-waybill index value to the search key field, sets the operator, and configures qualified ssa parameters.
💻 Technical Criteria
Given
The car-waybill index field contains data
When
Setting up a qualified search for car-waybill records
Then
The system moves the car-waybill index value to the search key field, sets the operator, and configures qualified SSA parameters
R-GCCUSIO-cbl-00279
Set Origin Error Search Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Set Origin Error Search Parameters' is invoked, and assuming that an origin error index search is requested, when the system prepares to search by origin error index, the desired outcome is that the system sets error code to 'e', maps origin station number to error origin key, and sets cargo ccn as the error origin cargo key.
💻 Technical Criteria
Given
An origin error index search is requested
When
The system prepares to search by origin error index
Then
The system sets error code to 'E', maps origin station number to error origin key, and sets cargo CCN as the error origin cargo key
R-GCCUSIO-cbl-00280
Set Border Error Search Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Set Border Error Search Parameters' is invoked, and assuming that a border error index search is requested, when the system prepares to search by border error index, the desired outcome is that the system sets error code to 'e', retrieves border station number from mc table lookup using location id, and sets cargo ccn as the error border cargo key.
💻 Technical Criteria
Given
A border error index search is requested
When
The system prepares to search by border error index
Then
The system sets error code to 'E', retrieves border station number from MC table lookup using location ID, and sets cargo CCN as the error border cargo key
R-GCCUSIO-cbl-00281
Set Destination Error Search Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Set Destination Error Search Parameters' is invoked, and assuming that a destination error index search is requested, when the system prepares to search by destination error index, the desired outcome is that the system sets error code to 'e', maps destination station number to error destination key, and sets cargo ccn as the error destination cargo key.
💻 Technical Criteria
Given
A destination error index search is requested
When
The system prepares to search by destination error index
Then
The system sets error code to 'E', maps destination station number to error destination key, and sets cargo CCN as the error destination cargo key
R-GCCUSIO-cbl-00288
Retrieve Associated Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Associated Cargo Record' is invoked, and assuming that an origin error status record has been found with cargo ccn key, when the system attempts to retrieve the associated main cargo record, the desired outcome is that the system searches gcsusrt table using the cargo ccn key from the error status record.
💻 Technical Criteria
Given
An origin error status record has been found with cargo CCN key
When
The system attempts to retrieve the associated main cargo record
Then
The system searches GCSUSRT table using the cargo CCN key from the error status record
R-GCCUSIO-cbl-00289
Retrieve Associated Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Associated Cargo Record' is invoked, and assuming that a border error status record has been found with cargo ccn key, when the system attempts to retrieve the associated main cargo record, the desired outcome is that the system searches gcsusrt table using the cargo ccn key from the error status record.
💻 Technical Criteria
Given
A border error status record has been found with cargo CCN key
When
The system attempts to retrieve the associated main cargo record
Then
The system searches GCSUSRT table using the cargo CCN key from the error status record
R-GCCUSIO-cbl-00290
Retrieve Associated Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Associated Cargo Record' is invoked, and assuming that a destination error status record has been found with cargo ccn key, when the system attempts to retrieve the associated main cargo record, the desired outcome is that the system searches gcsusrt table using the cargo ccn key from the error status record.
💻 Technical Criteria
Given
A destination error status record has been found with cargo CCN key
When
The system attempts to retrieve the associated main cargo record
Then
The system searches GCSUSRT table using the cargo CCN key from the error status record
R-GCCUSIO-cbl-00127
Populate Origin Error Index
Process Rules
📊 Business Logic Narrative
When the process 'Populate Origin Error Index' is invoked, and assuming that a cargo record with error status, when the system processes error index fields, the desired outcome is that origin error index is populated with error code 'e', origin station number, and cargo ccn key.
💻 Technical Criteria
Given
A cargo record with error status
When
The system processes error index fields
Then
Origin error index is populated with error code 'E', origin station number, and cargo CCN key
R-GCCUSIO-cbl-00129
Populate Border Error Index
Process Rules
📊 Business Logic Narrative
When the process 'Populate Border Error Index' is invoked, and assuming that a cargo record with error status and successful border station lookup, when the system processes border error index, the desired outcome is that border error index is populated with error code 'e', border station number from mc table, and cargo ccn key.
💻 Technical Criteria
Given
A cargo record with error status and successful border station lookup
When
The system processes border error index
Then
Border error index is populated with error code 'E', border station number from MC table, and cargo CCN key
R-GCCUSIO-cbl-00130
Populate Destination Error Index
Process Rules
📊 Business Logic Narrative
When the process 'Populate Destination Error Index' is invoked, and assuming that a cargo record with error status, when the system processes destination error index, the desired outcome is that destination error index is populated with error code 'e', destination station number, and cargo ccn key.
💻 Technical Criteria
Given
A cargo record with error status
When
The system processes destination error index
Then
Destination error index is populated with error code 'E', destination station number, and cargo CCN key
R-GCCUSIO-cbl-00308
Extract Cargo CCN Key
Process Rules
📊 Business Logic Narrative
When the process 'Extract Cargo CCN Key' is invoked, and assuming that a cargo record exists with a unique ccn key identifier, when processing error conditions that need to be linked to specific cargo, the desired outcome is that the cargo ccn key must be extracted from the cargo record us-ccn-key field.
💻 Technical Criteria
Given
A cargo record exists with a unique CCN key identifier
When
Processing error conditions that need to be linked to specific cargo
Then
The cargo CCN key must be extracted from the cargo record US-CCN-KEY field
R-GCCUSIO-cbl-00309
Set Origin Error Cargo Key
Process Rules
📊 Business Logic Narrative
When the process 'Set Origin Error Cargo Key' is invoked, and assuming that the cargo ccn key has been extracted from the cargo record, when building the error index that links errors to specific cargo, the desired outcome is that the origin error cargo key must be set to the extracted cargo ccn key.
💻 Technical Criteria
Given
The cargo CCN key has been extracted from the cargo record
When
Building the error index that links errors to specific cargo
Then
The origin error cargo key must be set to the extracted cargo CCN key
R-GCCUSIO-cbl-00324
Set Border Error Index Key with Cargo CCN
Process Rules
📊 Business Logic Narrative
When the process 'Set Border Error Index Key with Cargo CCN' is invoked, and assuming that a cargo record has a valid ccn key and border station number is available, when the system finalizes the border error index key construction, the desired outcome is that the cargo ccn key is set as the border error cargo identifier in the index key.
💻 Technical Criteria
Given
A cargo record has a valid CCN key and border station number is available
When
The system finalizes the border error index key construction
Then
The cargo CCN key is set as the border error cargo identifier in the index key
R-GCCUSIO-cbl-00327
Get Cargo CCN Key
Process Rules
📊 Business Logic Narrative
When the process 'Get Cargo CCN Key' is invoked, and assuming that a cargo record exists with a valid ccn key, when the destination error index is being populated, the desired outcome is that the cargo's ccn key must be retrieved from the cargo record.
💻 Technical Criteria
Given
A cargo record exists with a valid CCN key
When
The destination error index is being populated
Then
The cargo's CCN key must be retrieved from the cargo record
R-GCCUSIO-cbl-00330
Set GCB1-KEY-ERROR-DEST-CARGO = CCN Key
Action Rules
📊 Business Logic Narrative
When the process 'Set GCB1-KEY-ERROR-DEST-CARGO = CCN Key' is invoked, and assuming that the cargo ccn key has been retrieved from the cargo record, when the destination error index is being populated, the desired outcome is that the gcb1-key-error-dest-cargo field must be set to the cargo's ccn key.
💻 Technical Criteria
Given
The cargo CCN key has been retrieved from the cargo record
When
The destination error index is being populated
Then
The GCB1-KEY-ERROR-DEST-CARGO field must be set to the cargo's CCN key
R-GCCUSIO-cbl-00144
Set Destination Hold Index
Process Rules
📊 Business Logic Narrative
When the process 'Set Destination Hold Index' is invoked, and assuming that cargo has destination hold status (hold, holdpcs, pr-hpcs, hold-d, pr-h-de, holdfda), when the system processes hold index fields, the desired outcome is that the system sets destination station number to held-dest field and cargo ccn key to held-dest-cargo field.
💻 Technical Criteria
Given
Cargo has destination hold status (HOLD, HOLDPCS, PR-HPCS, HOLD-D, PR-H-DE, HOLDFDA)
When
The system processes hold index fields
Then
The system sets destination station number to held-dest field and cargo CCN key to held-dest-cargo field
R-GCCUSIO-cbl-00145
Set Border Hold Index
Process Rules
📊 Business Logic Narrative
When the process 'Set Border Hold Index' is invoked, and assuming that cargo has border hold status (hold, holdpcs, pr-hpcs, hold-b, pr-h-bo, holdfda), when the system processes hold index fields, the desired outcome is that the system retrieves border station from mc table lookup and sets held-border field to border station number and held-border-cargo field to cargo ccn key.
💻 Technical Criteria
Given
Cargo has border hold status (HOLD, HOLDPCS, PR-HPCS, HOLD-B, PR-H-BO, HOLDFDA)
When
The system processes hold index fields
Then
The system retrieves border station from MC table lookup and sets held-border field to border station number and held-border-cargo field to cargo CCN key
R-GCCUSIO-cbl-00331
Check Cargo Status for Hold Conditions
Decision Rules
📊 Business Logic Narrative
When the process 'Check Cargo Status for Hold Conditions' is invoked, and assuming that a cargo record with us cargo status conditions, when the cargo status indicates hold, holdpcs, pr-hpcs, hold-d, pr-h-de, or holdfda, the desired outcome is that the system sets the destination station number as held destination key and the ccn key as held destination cargo key.
💻 Technical Criteria
Given
A cargo record with US cargo status conditions
When
The cargo status indicates HOLD, HOLDPCS, PR-HPCS, HOLD-D, PR-H-DE, or HOLDFDA
Then
The system sets the destination station number as held destination key and the CCN key as held destination cargo key
R-GCCUSIO-cbl-00334
Set Border Station Number
Process Rules
📊 Business Logic Narrative
When the process 'Set Border Station Number' is invoked, and assuming that a successful mc table lookup that returns station information with return flag '0', when the station segment contains valid station number information, the desired outcome is that the system sets the station number as held border key and the ccn key as held border cargo key.
💻 Technical Criteria
Given
A successful MC table lookup that returns station information with return flag '0'
When
The station segment contains valid station number information
Then
The system sets the station number as held border key and the CCN key as held border cargo key
R-GCCUSIO-cbl-00337
Set Cargo CCN for Destination Hold
Action Rules
📊 Business Logic Narrative
When the process 'Set Cargo CCN for Destination Hold' is invoked, and assuming that a cargo record with destination hold status and a valid ccn key, when the system creates the destination hold index entry, the desired outcome is that the cargo ccn key is assigned to the destination hold cargo reference field.
💻 Technical Criteria
Given
A cargo record with destination hold status and a valid CCN key
When
The system creates the destination hold index entry
Then
The cargo CCN key is assigned to the destination hold cargo reference field
R-GCCUSIO-cbl-00344
Set Border Hold Cargo Key
Process Rules
📊 Business Logic Narrative
When the process 'Set Border Hold Cargo Key' is invoked, and assuming that border hold index key has been populated with station number, when cargo ccn key is available for reference, the desired outcome is that the border hold cargo key is set with the cargo's us ccn key for cross-reference.
💻 Technical Criteria
Given
Border hold index key has been populated with station number
When
Cargo CCN key is available for reference
Then
The border hold cargo key is set with the cargo's US CCN key for cross-reference
R-GCCUSIO-cbl-00640
Set Qualified SSA with CCN Key
Decision Rules
📊 Business Logic Narrative
When the process 'Set Qualified SSA with CCN Key' is invoked, and assuming that a primary cargo segment (gcsusrt) operation is being processed and the ccn key field contains a valid value (not spaces), when the system builds ssa parameters for database access, the desired outcome is that the system creates a qualified ssa using the ccn key value for targeted record retrieval.
💻 Technical Criteria
Given
A primary cargo segment (GCSUSRT) operation is being processed AND the CCN key field contains a valid value (not spaces)
When
The system builds SSA parameters for database access
Then
The system creates a qualified SSA using the CCN key value for targeted record retrieval
R-GCCUSIO-cbl-00641
Set Unqualified SSA
Decision Rules
📊 Business Logic Narrative
When the process 'Set Unqualified SSA' is invoked, and assuming that a primary cargo segment (gcsusrt) operation is being processed and the ccn key field is empty or contains only spaces, when the system builds ssa parameters for database access, the desired outcome is that the system creates an unqualified ssa for broader record access without key constraints.
💻 Technical Criteria
Given
A primary cargo segment (GCSUSRT) operation is being processed AND the CCN key field is empty or contains only spaces
When
The system builds SSA parameters for database access
Then
The system creates an unqualified SSA for broader record access without key constraints
R-GCCUSIO-cbl-00770
Primary Key Available?
Decision Rules
📊 Business Logic Narrative
When the process 'Primary Key Available?' is invoked, and assuming that a cargo database operation is being performed with a specific function code and primary key (us-ccn-key), when the function code is gu (get unique) or gn (get next) and the primary key us-ccn-key contains spaces, the desired outcome is that the system uses unqualified ssa for browse operation and sets primary pcb for database access.
💻 Technical Criteria
Given
A cargo database operation is being performed with a specific function code and primary key (US-CCN-KEY)
When
The function code is GU (Get Unique) or GN (Get Next) and the primary key US-CCN-KEY contains spaces
Then
The system uses unqualified SSA for browse operation and sets primary PCB for database access
R-GCCUSIO-cbl-00771
Primary Key Available?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Primary Key Available?', assuming that a cargo database operation is being performed with function code gu (get unique) or gn (get next), when the primary key us-ccn-key is not spaces and contains a valid cargo control number, the desired outcome is that the system uses qualified ssa with the primary key value and sets primary pcb for targeted database access.
💻 Technical Criteria
EXCLUDING
A cargo database operation is being performed with function code GU (Get Unique) or GN (Get Next)
When
The primary key US-CCN-KEY is not spaces and contains a valid cargo control number
Then
The system uses qualified SSA with the primary key value and sets primary PCB for targeted database access
R-GCCUSIO-cbl-00179
Populate Error Index Fields
Process Rules
📊 Business Logic Narrative
When the process 'Populate Error Index Fields' is invoked, and assuming that a cargo record has error or pending status conditions, when the cargo has cp cargo error status or cp cargo pending status or us cargo error status, the desired outcome is that set error code origin to 'e' and set error origin station to cargo origin station number and set cargo ccn key to error origin cargo field and set error code border to 'e' and set error code destination to 'e' and set cargo destination station number to error destination field and set cargo ccn key to error destination cargo field.
💻 Technical Criteria
Given
A cargo record has error or pending status conditions
When
The cargo has CP cargo error status OR CP cargo pending status OR US cargo error status
Then
Set error code origin to 'E' AND set error origin station to cargo origin station number AND set cargo CCN key to error origin cargo field AND set error code border to 'E' AND set error code destination to 'E' AND set cargo destination station number to error destination field AND set cargo CCN key to error destination cargo field
R-GCCUSIO-cbl-00180
Set Border Station Code via MC Table Lookup
Action Rules
📊 Business Logic Narrative
When the process 'Set Border Station Code via MC Table Lookup' is invoked, and assuming that error index fields are being populated for a cargo record, when the mc table lookup is performed using cargo location id name, the desired outcome is that if mc table lookup returns success flag '0', set the mc station number from table segment to error border index field and set cargo ccn key to error border cargo field.
💻 Technical Criteria
Given
Error index fields are being populated for a cargo record
When
The MC table lookup is performed using cargo location ID name
Then
If MC table lookup returns success flag '0', set the MC station number from table segment to error border index field AND set cargo CCN key to error border cargo field
R-GCCUSIO-cbl-00181
Set Destination Hold Index
Process Rules
📊 Business Logic Narrative
When the process 'Set Destination Hold Index' is invoked, and assuming that a cargo record has hold status conditions, when the cargo has us cargo hold status or us cargo hold pcs status or us cargo pre-hold pcs status or us cargo hold destination status or us cargo pre-hold destination status or us cargo hold fda status, the desired outcome is that set cargo destination station number to held destination index field and set cargo ccn key to held destination cargo field.
💻 Technical Criteria
Given
A cargo record has hold status conditions
When
The cargo has US cargo hold status OR US cargo hold PCS status OR US cargo pre-hold PCS status OR US cargo hold destination status OR US cargo pre-hold destination status OR US cargo hold FDA status
Then
Set cargo destination station number to held destination index field AND set cargo CCN key to held destination cargo field
R-GCCUSIO-cbl-00182
Set Border Hold Index via MC Table Lookup
Process Rules
📊 Business Logic Narrative
When the process 'Set Border Hold Index via MC Table Lookup' is invoked, and assuming that a cargo record has hold status conditions, when the cargo has us cargo hold status or us cargo hold pcs status or us cargo pre-hold pcs status or us cargo hold border status or us cargo pre-hold border status or us cargo hold fda status, the desired outcome is that perform mc table lookup using cargo location id name and if lookup returns success flag '0', set mc station number from table segment to held border index field and set cargo ccn key to held border cargo field.
💻 Technical Criteria
Given
A cargo record has hold status conditions
When
The cargo has US cargo hold status OR US cargo hold PCS status OR US cargo pre-hold PCS status OR US cargo hold border status OR US cargo pre-hold border status OR US cargo hold FDA status
Then
Perform MC table lookup using cargo location ID name AND if lookup returns success flag '0', set MC station number from table segment to held border index field AND set cargo CCN key to held border cargo field
R-GCCUSIO-cbl-00183
Insert New GCSB1RT Record
Process Rules
📊 Business Logic Narrative
When the process 'Insert New GCSB1RT Record' is invoked, and assuming that a cargo record has error or hold conditions and no existing gcsb1rt record is found, when error or hold index fields have been populated, the desired outcome is that set cargo ccn key to gcsb1rt key cargo field and insert new gcsb1rt record with populated index fields.
💻 Technical Criteria
Given
A cargo record has error or hold conditions AND no existing GCSB1RT record is found
When
Error or hold index fields have been populated
Then
Set cargo CCN key to GCSB1RT key cargo field AND insert new GCSB1RT record with populated index fields
R-GCCUSIO-cbl-00185
Retrieve Existing GCSB1RT Record
Validation Rules
📊 Business Logic Narrative
When the process 'Retrieve Existing GCSB1RT Record' is invoked, and assuming that a cargo record requires gcsb1rt index management, when gcsb1rt record retrieval is attempted using cargo ccn key, the desired outcome is that if record is found, set found indicator to true and if record is not found, set found indicator to false.
💻 Technical Criteria
Given
A cargo record requires GCSB1RT index management
When
GCSB1RT record retrieval is attempted using cargo CCN key
Then
If record is found, set found indicator to true AND if record is not found, set found indicator to false
R-GCCUSIO-cbl-00371
Set Cargo Key from Primary Record
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Cargo Key from Primary Record' is invoked, and assuming that a primary cargo record with a us ccn key, when the system needs to search for the corresponding gcsb1rt index record, the desired outcome is that the us ccn key from the primary record is set as the key value for gcsb1rt search.
💻 Technical Criteria
Given
A primary cargo record with a US CCN key
When
The system needs to search for the corresponding GCSB1RT index record
Then
The US CCN key from the primary record is set as the key value for GCSB1RT search
R-GCCUSIO-cbl-00380
Set Origin Error Index with CCN Key
Process Rules
📊 Business Logic Narrative
When the process 'Set Origin Error Index with CCN Key' is invoked, and assuming that origin error code and station number are established, when the system creates the origin error index entry, the desired outcome is that the cargo's ccn key is assigned to the origin error cargo field to link the error to the specific cargo record.
💻 Technical Criteria
Given
Origin error code and station number are established
When
The system creates the origin error index entry
Then
The cargo's CCN key is assigned to the origin error cargo field to link the error to the specific cargo record
R-GCCUSIO-cbl-00384
Set Border Error Index with CCN Key
Process Rules
📊 Business Logic Narrative
When the process 'Set Border Error Index with CCN Key' is invoked, and assuming that border error code and station information are established, when the system creates the border error index entry, the desired outcome is that the cargo's ccn key is assigned to the border error cargo field to link the error to the specific cargo record.
💻 Technical Criteria
Given
Border error code and station information are established
When
The system creates the border error index entry
Then
The cargo's CCN key is assigned to the border error cargo field to link the error to the specific cargo record
R-GCCUSIO-cbl-00387
Set Destination Error Index with CCN Key
Process Rules
📊 Business Logic Narrative
When the process 'Set Destination Error Index with CCN Key' is invoked, and assuming that destination error code and station number are established, when the system creates the destination error index entry, the desired outcome is that the cargo's ccn key is assigned to the destination error cargo field to link the error to the specific cargo record.
💻 Technical Criteria
Given
Destination error code and station number are established
When
The system creates the destination error index entry
Then
The cargo's CCN key is assigned to the destination error cargo field to link the error to the specific cargo record
R-GCCUSIO-cbl-00656
Set IH Table Parameters - Table ID: 'IH' - Sequence ID from Station
Action Rules
📊 Business Logic Narrative
When the process 'Set IH Table Parameters - Table ID: 'IH' - Sequence ID from Station' is invoked, and assuming that a cargo record has a status change that requires external notification and contains waybill station information, when the system processes ih notification in z2000-process-ih-notification, the desired outcome is that the system sets up ih table lookup parameters with table id 'ih' and sequence id from the waybill station, calls gcctbio service, and if found processes the notification through gccih.
💻 Technical Criteria
Given
A cargo record has a status change that requires external notification and contains waybill station information
When
The system processes IH notification in Z2000-PROCESS-IH-NOTIFICATION
Then
The system sets up IH table lookup parameters with table ID 'IH' and sequence ID from the waybill station, calls GCCTBIO service, and if found processes the notification through GCCIH
R-GCCUSIO-cbl-00388
Set Destination Hold Index
Decision Rules
📊 Business Logic Narrative
When the process 'Set Destination Hold Index' is invoked, and assuming that a cargo record exists with hold status conditions, when the cargo has uscargo-hold or uscargo-holdpcs or uscargo-pr-hpcs or uscargo-hold-d or uscargo-pr-h-de or uscargo-holdfda status, the desired outcome is that the system sets the destination hold index with the destination station number and copies the cargo control number key to the destination hold cargo field.
💻 Technical Criteria
Given
A cargo record exists with hold status conditions
When
The cargo has USCARGO-HOLD or USCARGO-HOLDPCS or USCARGO-PR-HPCS or USCARGO-HOLD-D or USCARGO-PR-H-DE or USCARGO-HOLDFDA status
Then
The system sets the destination hold index with the destination station number and copies the cargo control number key to the destination hold cargo field
R-GCCUSIO-cbl-00389
Set Border Hold Index
Decision Rules
📊 Business Logic Narrative
When the process 'Set Border Hold Index' is invoked, and assuming that a cargo record exists with hold status conditions, when the cargo has uscargo-hold or uscargo-holdpcs or uscargo-pr-hpcs or uscargo-hold-b or uscargo-pr-h-bo or uscargo-holdfda status, the desired outcome is that the system sets the border hold index with the border station number and copies the cargo control number key to the border hold cargo field.
💻 Technical Criteria
Given
A cargo record exists with hold status conditions
When
The cargo has USCARGO-HOLD or USCARGO-HOLDPCS or USCARGO-PR-HPCS or USCARGO-HOLD-B or USCARGO-PR-H-BO or USCARGO-HOLDFDA status
Then
The system sets the border hold index with the border station number and copies the cargo control number key to the border hold cargo field
R-GCCUSIO-cbl-00189
Retrieve Iron Highway Station Configuration
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Iron Highway Station Configuration' is invoked, and assuming that a cargo record requires iron highway notification processing, when the system needs to check iron highway configuration, the desired outcome is that retrieve table segment 'ih' using the waybill station number as the sequence id.
💻 Technical Criteria
Given
A cargo record requires Iron Highway notification processing
When
The system needs to check Iron Highway configuration
Then
Retrieve table segment 'IH' using the waybill station number as the sequence ID
R-GCCUSIO-cbl-00196
Send Notification to Iron Highway System
Action Rules
📊 Business Logic Narrative
When the process 'Send Notification to Iron Highway System' is invoked, and assuming that iron highway notification status has been determined and message prepared, when all required notification data is available including car id, waybill number, ccn, and status, the desired outcome is that send notification to iron highway system using record type 'uc' with car identification, waybill number, cargo control number, shipment id, and determined status.
💻 Technical Criteria
Given
Iron Highway notification status has been determined and message prepared
When
All required notification data is available including car ID, waybill number, CCN, and status
Then
Send notification to Iron Highway system using record type 'UC' with car identification, waybill number, cargo control number, shipment ID, and determined status
R-GCCUSIO-cbl-00395
Set Station Code as Search Key
Process Rules
📊 Business Logic Narrative
When the process 'Set Station Code as Search Key' is invoked, and assuming that a saved waybill station code from cargo processing, when the system sets the search key for ih table lookup, the desired outcome is that the waybill station code is assigned as the sequence id search key.
💻 Technical Criteria
Given
A saved waybill station code from cargo processing
When
The system sets the search key for IH table lookup
Then
The waybill station code is assigned as the sequence ID search key
R-GCCUSIO-cbl-00558
Extract Station Code from Waybill
Process Rules
📊 Business Logic Narrative
When the process 'Extract Station Code from Waybill' is invoked, and assuming that the system has saved waybill station information, when iron highway table lookup requires a station-based search key, the desired outcome is that the station code should be extracted from the saved waybill station data and used as the search sequence id.
💻 Technical Criteria
Given
The system has saved waybill station information
When
Iron Highway table lookup requires a station-based search key
Then
The station code should be extracted from the saved waybill station data and used as the search sequence ID
R-GCCUSIO-cbl-00559
Set Station Code as Search Key
Process Rules
📊 Business Logic Narrative
When the process 'Set Station Code as Search Key' is invoked, and assuming that a station code has been extracted from waybill information, when iron highway table lookup parameters are being finalized, the desired outcome is that the extracted station code should be assigned as the table search sequence id.
💻 Technical Criteria
Given
A station code has been extracted from waybill information
When
Iron Highway table lookup parameters are being finalized
Then
The extracted station code should be assigned as the table search sequence ID
R-GCCUSIO-cbl-00399
Build Secondary Key with CCN + Record Type '02' + Sequence '0001'
Process Rules
📊 Business Logic Narrative
When the process 'Build Secondary Key with CCN + Record Type '02' + Sequence '0001'' is invoked, and assuming that a cargo control number (ccn) exists in the primary cargo record, when the system needs to extract n9 reference numbers for notification processing, the desired outcome is that the system builds a secondary record key using the ccn, record type '02', and sequence '0001'.
💻 Technical Criteria
Given
A cargo control number (CCN) exists in the primary cargo record
When
The system needs to extract N9 reference numbers for notification processing
Then
The system builds a secondary record key using the CCN, record type '02', and sequence '0001'
R-GCCUSIO-cbl-00400
Retrieve Secondary Cargo Record GCSUSS02
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Secondary Cargo Record GCSUSS02' is invoked, and assuming that a secondary record key has been constructed with ccn, record type '02', and sequence '0001', when the system executes a database retrieval operation for the secondary cargo record, the desired outcome is that the system retrieves the gcsuss02 record if it exists in the database.
💻 Technical Criteria
Given
A secondary record key has been constructed with CCN, record type '02', and sequence '0001'
When
The system executes a database retrieval operation for the secondary cargo record
Then
The system retrieves the GCSUSS02 record if it exists in the database
R-GCCUSIO-cbl-00563
Build Complete Secondary Key
Process Rules
📊 Business Logic Narrative
When the process 'Build Complete Secondary Key' is invoked, and assuming that a cargo record with a valid ccn key exists, when the system needs to retrieve n9 reference data for shipment identification, the desired outcome is that the system builds a secondary key using the ccn key, record type '02', and sequence '0001'.
💻 Technical Criteria
Given
A cargo record with a valid CCN key exists
When
The system needs to retrieve N9 reference data for shipment identification
Then
The system builds a secondary key using the CCN key, record type '02', and sequence '0001'
R-GCCUSIO-cbl-00564
Retrieve N9 Reference Data
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve N9 Reference Data' is invoked, and assuming that a complete secondary key has been built with ccn, record type '02', and sequence '0001', when the system executes a database call to retrieve n9 reference data, the desired outcome is that the system retrieves the n9 reference data from the gcsa2rt secondary cargo segment.
💻 Technical Criteria
Given
A complete secondary key has been built with CCN, record type '02', and sequence '0001'
When
The system executes a database call to retrieve N9 reference data
Then
The system retrieves the N9 reference data from the GCSA2RT secondary cargo segment
R-GCCUSIO-cbl-00670
Build Secondary Cargo Key with CCN
Process Rules
📊 Business Logic Narrative
When the process 'Build Secondary Cargo Key with CCN' is invoked, and assuming that a cargo control number (ccn) exists in the primary cargo record, when the system needs to retrieve n9 reference data for iron highway notification, the desired outcome is that the system builds a secondary cargo key using the ccn from the primary record.
💻 Technical Criteria
Given
A cargo control number (CCN) exists in the primary cargo record
When
The system needs to retrieve N9 reference data for Iron Highway notification
Then
The system builds a secondary cargo key using the CCN from the primary record
R-GCCUSIO-cbl-00672
Set Sequence Number to '0001'
Process Rules
📊 Business Logic Narrative
When the process 'Set Sequence Number to '0001'' is invoked, and assuming that the system has identified the record type as '02' for n9 reference data, when accessing n9 reference segments in secondary cargo data, the desired outcome is that the system sets the sequence number to '0001' to retrieve the first n9 segment.
💻 Technical Criteria
Given
The system has identified the record type as '02' for N9 reference data
When
Accessing N9 reference segments in secondary cargo data
Then
The system sets the sequence number to '0001' to retrieve the first N9 segment
R-GCCUSIO-cbl-00673
Retrieve Secondary Cargo Record GCSUSS02
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Secondary Cargo Record GCSUSS02' is invoked, and assuming that a complete secondary cargo key has been built with ccn, record type '02', and sequence '0001', when the system executes the retrieval operation for n9 reference data, the desired outcome is that the system attempts to read the gcsuss02 secondary cargo record using the qualified key.
💻 Technical Criteria
Given
A complete secondary cargo key has been built with CCN, record type '02', and sequence '0001'
When
The system executes the retrieval operation for N9 reference data
Then
The system attempts to read the GCSUSS02 secondary cargo record using the qualified key
R-GCCUSIO-cbl-00783
Build Secondary Key with CCN + Record Type '02' + Sequence '0001'
Process Rules
📊 Business Logic Narrative
When the process 'Build Secondary Key with CCN + Record Type '02' + Sequence '0001'' is invoked, and assuming that a cargo control number (ccn) exists in the primary cargo record, when the system needs to retrieve n9 reference segments from secondary cargo data, the desired outcome is that the system builds a composite key using the ccn, record type '02', and sequence '0001'.
💻 Technical Criteria
Given
A cargo control number (CCN) exists in the primary cargo record
When
The system needs to retrieve N9 reference segments from secondary cargo data
Then
The system builds a composite key using the CCN, record type '02', and sequence '0001'
R-GCCUSIO-cbl-00417
Send Notification to Iron Highway
Action Rules
📊 Business Logic Narrative
When the process 'Send Notification to Iron Highway' is invoked, and assuming that a cargo record exists with determined notification status and iron highway table configuration is found, when the system prepares to send notification, the desired outcome is that the system should call iron highway notification service with record type uc, car id, waybill number, ccn, shipment id, and status.
💻 Technical Criteria
Given
A cargo record exists with determined notification status and Iron Highway table configuration is found
When
The system prepares to send notification
Then
The system should call Iron Highway notification service with record type UC, car ID, waybill number, CCN, shipment ID, and status
R-GCCUSIO-cbl-00684
Lookup Iron Highway Station Table
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Iron Highway Station Table' is invoked, and assuming that a cargo record requires iron highway notification, when processing iron highway notification for a cargo record, the desired outcome is that lookup table 'ih' using saved waybill station as sequence id to get station configuration.
💻 Technical Criteria
Given
A cargo record requires Iron Highway notification
When
Processing Iron Highway notification for a cargo record
Then
Lookup table 'IH' using saved waybill station as sequence ID to get station configuration
R-GCCUSIO-cbl-00686
Extract N9 Reference Numbers
Action Rules
📊 Business Logic Narrative
When the process 'Extract N9 Reference Numbers' is invoked, and assuming that iron highway station configuration is found for the cargo, when processing n9 reference data for the cargo ccn key, the desired outcome is that extract shipment id from n9 reference qualifier 'cn' and store in iron highway message.
💻 Technical Criteria
Given
Iron Highway station configuration is found for the cargo
When
Processing N9 reference data for the cargo CCN key
Then
Extract shipment ID from N9 reference qualifier 'CN' and store in Iron Highway message
R-GCCUSIO-cbl-00687
Set Status to DELETED
Decision Rules
📊 Business Logic Narrative
When the process 'Set Status to DELETED' is invoked, and assuming that a cargo record requires iron highway notification and station configuration exists, when rt10b cp cargo status description equals 'deleted', the desired outcome is that set saved status to 'deleted' and set iron highway ccn status to 'deleted'.
💻 Technical Criteria
Given
A cargo record requires Iron Highway notification AND station configuration exists
When
RT10B CP cargo status description equals 'DELETED'
Then
Set saved status to 'DELETED' AND set Iron Highway CCN status to 'DELETED'
R-GCCUSIO-cbl-00688
Set Status to RELEASE
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Status to RELEASE', assuming that a cargo record requires iron highway notification and station configuration exists and status is not deleted, when rt10b cp cargo status description equals 'release', the desired outcome is that set saved status to 'release' and set iron highway ccn status to 'release'.
💻 Technical Criteria
EXCLUDING
A cargo record requires Iron Highway notification AND station configuration exists AND status is not DELETED
When
RT10B CP cargo status description equals 'RELEASE'
Then
Set saved status to 'RELEASE' AND set Iron Highway CCN status to 'RELEASE'
R-GCCUSIO-cbl-00689
Set Status to SENT
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Status to SENT', assuming that a cargo record requires iron highway notification and station configuration exists and status is not deleted or release, when rt21 us cargo short description is spaces and rt10b cp cargo status description equals 'sent ', the desired outcome is that set iron highway ccn status to 'sent'.
💻 Technical Criteria
EXCLUDING
A cargo record requires Iron Highway notification AND station configuration exists AND status is not DELETED or RELEASE
When
RT21 US cargo short description is spaces AND RT10B CP cargo status description equals 'SENT '
Then
Set Iron Highway CCN status to 'SENT'
R-GCCUSIO-cbl-00690
Set Status from US Cargo Description
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Status from US Cargo Description', assuming that a cargo record requires iron highway notification and station configuration exists and status is not deleted or release and condition for sent status is not met, when processing status determination for iron highway notification, the desired outcome is that set saved status to rt11 us cargo status and set iron highway ccn status to rt21 us cargo short description.
💻 Technical Criteria
EXCLUDING
A cargo record requires Iron Highway notification AND station configuration exists AND status is not DELETED or RELEASE AND condition for SENT status is not met
When
Processing status determination for Iron Highway notification
Then
Set saved status to RT11 US cargo status AND set Iron Highway CCN status to RT21 US cargo short description
R-GCCUSIO-cbl-00691
Prepare Iron Highway Message
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Iron Highway Message' is invoked, and assuming that a cargo record has been determined to require iron highway notification with valid status, when preparing the iron highway notification message, the desired outcome is that set record type to 'uc' and set car id from saved car number and set waybill from saved waybill number and set ccn from cargo ccn key.
💻 Technical Criteria
Given
A cargo record has been determined to require Iron Highway notification with valid status
When
Preparing the Iron Highway notification message
Then
Set record type to 'UC' AND set car ID from saved car number AND set waybill from saved waybill number AND set CCN from cargo CCN key
R-GCCUSIO-cbl-00423
Lookup Iron Highway Station Table
Validation Rules
📊 Business Logic Narrative
When the process 'Lookup Iron Highway Station Table' is invoked, and assuming that a cargo record has passed initial status validation for iron highway notification, when the system needs to determine if the station supports iron highway notifications, the desired outcome is that the system looks up the ih table using the saved waybill station as the sequence id.
💻 Technical Criteria
Given
A cargo record has passed initial status validation for Iron Highway notification
When
The system needs to determine if the station supports Iron Highway notifications
Then
The system looks up the IH table using the saved waybill station as the sequence ID
R-GCCUSIO-cbl-00425
Extract N9 Reference Numbers
Process Rules
📊 Business Logic Narrative
When the process 'Extract N9 Reference Numbers' is invoked, and assuming that the waybill station is configured for iron highway notifications, when the system processes the cargo record for notification, the desired outcome is that the system retrieves n9 reference information and extracts the shipment id from cn reference qualifier.
💻 Technical Criteria
Given
The waybill station is configured for Iron Highway notifications
When
The system processes the cargo record for notification
Then
The system retrieves N9 reference information and extracts the shipment ID from CN reference qualifier
R-GCCUSIO-cbl-00430
Set Message Record Type to 'UC'
Process Rules
📊 Business Logic Narrative
When the process 'Set Message Record Type to 'UC'' is invoked, and assuming that a cargo record has been validated and status determined for iron highway notification, when the system prepares the notification message content, the desired outcome is that the system sets record type to 'uc', car id from saved car number, waybill from saved waybill number, and ccn from cargo key.
💻 Technical Criteria
Given
A cargo record has been validated and status determined for Iron Highway notification
When
The system prepares the notification message content
Then
The system sets record type to 'UC', car ID from saved car number, waybill from saved waybill number, and CCN from cargo key
R-GCCUSIO-cbl-00197
Build Secondary Data Key - Use Cargo Control Number - Set Record Type '02' - Set Sequence '0001'
Process Rules
📊 Business Logic Narrative
When the process 'Build Secondary Data Key - Use Cargo Control Number - Set Record Type '02' - Set Sequence '0001'' is invoked, and assuming that a cargo record with a valid us ccn key exists, when the system needs to retrieve n9 reference data for the cargo, the desired outcome is that the system builds a secondary data key using the cargo's us ccn key, sets record type to '02', and sets sequence number to '0001'.
💻 Technical Criteria
Given
A cargo record with a valid US CCN key exists
When
The system needs to retrieve N9 reference data for the cargo
Then
The system builds a secondary data key using the cargo's US CCN key, sets record type to '02', and sets sequence number to '0001'
R-GCCUSIO-cbl-00198
Retrieve Secondary Cargo Data GCSUSS02 Segment
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Secondary Cargo Data GCSUSS02 Segment' is invoked, and assuming that a secondary data key has been constructed with cargo control number, record type '02', and sequence '0001', when the system executes a retrieval operation for secondary cargo data, the desired outcome is that the system calls the database interface to retrieve the gcsuss02 segment using the qualified key.
💻 Technical Criteria
Given
A secondary data key has been constructed with cargo control number, record type '02', and sequence '0001'
When
The system executes a retrieval operation for secondary cargo data
Then
The system calls the database interface to retrieve the GCSUSS02 segment using the qualified key
R-GCCUSIO-cbl-00432
Retrieve Secondary Cargo Record Type 02
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Secondary Cargo Record Type 02' is invoked, and assuming that a cargo ccn key exists in the system, when the system needs to process n9 reference numbers for shipment identification, the desired outcome is that the system retrieves the secondary cargo record with record type '02' and sequence '0001' using the cargo ccn key.
💻 Technical Criteria
Given
A cargo CCN key exists in the system
When
The system needs to process N9 reference numbers for shipment identification
Then
The system retrieves the secondary cargo record with record type '02' and sequence '0001' using the cargo CCN key
R-GCCUSIO-cbl-00214
Populate Error Index Fields
Process Rules
📊 Business Logic Narrative
When the process 'Populate Error Index Fields' is invoked, and assuming that a cargo record has error or pending conditions that require error index population, when the system processes error field population, the desired outcome is that the system sets error code 'e' for origin, border, and destination fields, populates origin error index with origin station number, populates destination error index with destination station number, populates border error index with border station number from mc table lookup, and assigns the cargo ccn key to all error cargo index fields.
💻 Technical Criteria
Given
A cargo record has error or pending conditions that require error index population
When
The system processes error field population
Then
The system sets error code 'E' for origin, border, and destination fields, populates origin error index with origin station number, populates destination error index with destination station number, populates border error index with border station number from MC table lookup, and assigns the cargo CCN key to all error cargo index fields
R-GCCUSIO-cbl-00215
Populate Hold Index Fields
Process Rules
📊 Business Logic Narrative
When the process 'Populate Hold Index Fields' is invoked, and assuming that a cargo record has hold conditions including uscargo-hold, uscargo-holdpcs, uscargo-pr-hpcs, uscargo-hold-d, uscargo-pr-h-de, or uscargo-holdfda, when the system processes hold field population for destination-related holds, the desired outcome is that the destination station number from the cargo record is assigned to the held destination index field and the cargo ccn key is assigned to the held destination cargo index field.
💻 Technical Criteria
Given
A cargo record has hold conditions including USCARGO-HOLD, USCARGO-HOLDPCS, USCARGO-PR-HPCS, USCARGO-HOLD-D, USCARGO-PR-H-DE, or USCARGO-HOLDFDA
When
The system processes hold field population for destination-related holds
Then
The destination station number from the cargo record is assigned to the held destination index field and the cargo CCN key is assigned to the held destination cargo index field
R-GCCUSIO-cbl-00216
Populate Hold Index Fields
Process Rules
📊 Business Logic Narrative
When the process 'Populate Hold Index Fields' is invoked, and assuming that a cargo record has hold conditions including uscargo-hold, uscargo-holdpcs, uscargo-pr-hpcs, uscargo-hold-b, uscargo-pr-h-bo, or uscargo-holdfda, when the system processes hold field population for border-related holds, the desired outcome is that the system performs mc table lookup using the cargo's location id, and if successful (return flag '0'), extracts the station number from the mc table segment and assigns it to the held border index field, and assigns the cargo ccn key to the held border cargo index field.
💻 Technical Criteria
Given
A cargo record has hold conditions including USCARGO-HOLD, USCARGO-HOLDPCS, USCARGO-PR-HPCS, USCARGO-HOLD-B, USCARGO-PR-H-BO, or USCARGO-HOLDFDA
When
The system processes hold field population for border-related holds
Then
The system performs MC table lookup using the cargo's location ID, and if successful (return flag '0'), extracts the station number from the MC table segment and assigns it to the held border index field, and assigns the cargo CCN key to the held border cargo index field
R-GCCUSIO-cbl-00219
Create Error Index Entries
Process Rules
📊 Business Logic Narrative
When the process 'Create Error Index Entries' is invoked, and assuming that a cargo record has error conditions (cpcargo-error or cpcargo-pending or uscargo-error), when the cargo status is being updated, the desired outcome is that the system sets error code to 'e', populates error origin with origin station number, error border with border station number from mc table lookup, error destination with destination station number, and associates all error indexes with the cargo ccn key.
💻 Technical Criteria
Given
A cargo record has error conditions (CPCARGO-ERROR or CPCARGO-PENDING or USCARGO-ERROR)
When
The cargo status is being updated
Then
The system sets error code to 'E', populates error origin with origin station number, error border with border station number from MC table lookup, error destination with destination station number, and associates all error indexes with the cargo CCN key
R-GCCUSIO-cbl-00220
Create Hold Index Entries
Process Rules
📊 Business Logic Narrative
When the process 'Create Hold Index Entries' is invoked, and assuming that a cargo record has hold conditions (uscargo-hold or uscargo-holdpcs or uscargo-pr-hpcs or uscargo-hold-d or uscargo-pr-h-de or uscargo-holdfda or uscargo-hold-b or uscargo-pr-h-bo), when the cargo status is being updated, the desired outcome is that the system populates held destination index with destination station number and cargo ccn for destination holds, and populates held border index with border station number from mc table lookup and cargo ccn for border holds.
💻 Technical Criteria
Given
A cargo record has hold conditions (USCARGO-HOLD or USCARGO-HOLDPCS or USCARGO-PR-HPCS or USCARGO-HOLD-D or USCARGO-PR-H-DE or USCARGO-HOLDFDA or USCARGO-HOLD-B or USCARGO-PR-H-BO)
When
The cargo status is being updated
Then
The system populates held destination index with destination station number and cargo CCN for destination holds, and populates held border index with border station number from MC table lookup and cargo CCN for border holds
R-GCCUSIO-cbl-00223
Create New GCSB1RT Index Record
Action Rules
📊 Business Logic Narrative
When the process 'Create New GCSB1RT Index Record' is invoked, and assuming that a cargo record has error conditions (cpcargo-error or cpcargo-pending or uscargo-error) or hold conditions (uscargo-hold or uscargo-holdpcs or uscargo-pr-hpcs or uscargo-hold-b or uscargo-pr-h-bo or uscargo-hold-d or uscargo-pr-h-de or uscargo-holdfda) and no existing status index record exists, when the cargo status is being updated, the desired outcome is that the system creates a new gcsb1rt record with the cargo ccn key and populated index fields.
💻 Technical Criteria
Given
A cargo record has error conditions (CPCARGO-ERROR or CPCARGO-PENDING or USCARGO-ERROR) or hold conditions (USCARGO-HOLD or USCARGO-HOLDPCS or USCARGO-PR-HPCS or USCARGO-HOLD-B or USCARGO-PR-H-BO or USCARGO-HOLD-D or USCARGO-PR-H-DE or USCARGO-HOLDFDA) and no existing status index record exists
When
The cargo status is being updated
Then
The system creates a new GCSB1RT record with the cargo CCN key and populated index fields
R-GCCUSIO-cbl-00701
Create New GCSB1RT Record
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Create New GCSB1RT Record', assuming that a cargo record has error conditions and no existing gcsb1rt record, when the gcsb1rt record retrieval returns not found status, the desired outcome is that a new gcsb1rt record should be inserted with the cargo ccn key and populated error index fields.
💻 Technical Criteria
EXCLUDING
A cargo record has error conditions and no existing GCSB1RT record
When
The GCSB1RT record retrieval returns not found status
Then
A new GCSB1RT record should be inserted with the cargo CCN key and populated error index fields
R-GCCUSIO-cbl-00703
Populate Hold Index Fields
Process Rules
📊 Business Logic Narrative
When the process 'Populate Hold Index Fields' is invoked, and assuming that a cargo record has hold status conditions, when the cargo has us cargo hold status or us cargo hold pcs status or us cargo pre-hold pcs status or us cargo hold destination status or us cargo pre-hold destination status or us cargo hold fda status, the desired outcome is that the held destination index should be set to destination station number and held destination cargo should be set to cargo ccn key.
💻 Technical Criteria
Given
A cargo record has hold status conditions
When
The cargo has US cargo hold status OR US cargo hold PCS status OR US cargo pre-hold PCS status OR US cargo hold destination status OR US cargo pre-hold destination status OR US cargo hold FDA status
Then
The held destination index should be set to destination station number and held destination cargo should be set to cargo CCN key
R-GCCUSIO-cbl-00704
Populate Hold Index Fields
Process Rules
📊 Business Logic Narrative
When the process 'Populate Hold Index Fields' is invoked, and assuming that a cargo record has border hold status conditions, when the cargo has us cargo hold status or us cargo hold pcs status or us cargo pre-hold pcs status or us cargo hold border status or us cargo pre-hold border status or us cargo hold fda status, the desired outcome is that the held border index should be set to border station number from mc table lookup and held border cargo should be set to cargo ccn key.
💻 Technical Criteria
Given
A cargo record has border hold status conditions
When
The cargo has US cargo hold status OR US cargo hold PCS status OR US cargo pre-hold PCS status OR US cargo hold border status OR US cargo pre-hold border status OR US cargo hold FDA status
Then
The held border index should be set to border station number from MC table lookup and held border cargo should be set to cargo CCN key
R-GCCUSIO-cbl-00705
Create New GCSB1RT Record
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Create New GCSB1RT Record', assuming that a cargo record has hold conditions and no existing gcsb1rt record, when the gcsb1rt record retrieval returns not found status, the desired outcome is that a new gcsb1rt record should be inserted with the cargo ccn key and populated hold index fields.
💻 Technical Criteria
EXCLUDING
A cargo record has hold conditions and no existing GCSB1RT record
When
The GCSB1RT record retrieval returns not found status
Then
A new GCSB1RT record should be inserted with the cargo CCN key and populated hold index fields
R-GCCUSIO-cbl-00805
Populate Error Index Fields - Origin Station, Border Station, Destination Station
Process Rules
📊 Business Logic Narrative
When the process 'Populate Error Index Fields - Origin Station, Border Station, Destination Station' is invoked, and assuming that a cargo record has error status (rt10-cpcargo-error, rt10-cpcargo-pending, or rt11-uscargo-error), when the system processes the cargo for index requirements, the desired outcome is that the system populates error code origin as 'e', error origin with origin station number, error origin cargo with ccn key, error code border as 'e', error border with border station number from mc table lookup, error border cargo with ccn key, error code destination as 'e', error destination with destination station number, and error destination cargo with ccn key.
💻 Technical Criteria
Given
A cargo record has error status (RT10-CPCARGO-ERROR, RT10-CPCARGO-PENDING, or RT11-USCARGO-ERROR)
When
The system processes the cargo for index requirements
Then
The system populates error code origin as 'E', error origin with origin station number, error origin cargo with CCN key, error code border as 'E', error border with border station number from MC table lookup, error border cargo with CCN key, error code destination as 'E', error destination with destination station number, and error destination cargo with CCN key
R-GCCUSIO-cbl-00808
Populate Hold Index Fields - Destination Station, Border Station
Process Rules
📊 Business Logic Narrative
When the process 'Populate Hold Index Fields - Destination Station, Border Station' is invoked, and assuming that a cargo record has hold status (rt11-uscargo-hold, rt11-uscargo-holdpcs, rt11-uscargo-pr-hpcs, rt11-uscargo-hold-b, rt11-uscargo-pr-h-bo, rt11-uscargo-hold-d, rt11-uscargo-pr-h-de, or rt11-uscargo-holdfda), when the system processes the cargo for index requirements, the desired outcome is that the system populates held destination with destination station number and held destination cargo with ccn key for destination holds (hold, holdpcs, pr-hpcs, hold-d, pr-h-de, holdfda), and populates held border with border station number from mc table lookup and held border cargo with ccn key for border holds (hold, holdpcs, pr-hpcs, hold-b, pr-h-bo, holdfda).
💻 Technical Criteria
Given
A cargo record has hold status (RT11-USCARGO-HOLD, RT11-USCARGO-HOLDPCS, RT11-USCARGO-PR-HPCS, RT11-USCARGO-HOLD-B, RT11-USCARGO-PR-H-BO, RT11-USCARGO-HOLD-D, RT11-USCARGO-PR-H-DE, or RT11-USCARGO-HOLDFDA)
When
The system processes the cargo for index requirements
Then
The system populates held destination with destination station number and held destination cargo with CCN key for destination holds (HOLD, HOLDPCS, PR-HPCS, HOLD-D, PR-H-DE, HOLDFDA), and populates held border with border station number from MC table lookup and held border cargo with CCN key for border holds (HOLD, HOLDPCS, PR-HPCS, HOLD-B, PR-H-BO, HOLDFDA)
R-GCCUSIO-cbl-00813
Set Cargo CCN Key for Origin Error Index
Process Rules
📊 Business Logic Narrative
When the process 'Set Cargo CCN Key for Origin Error Index' is invoked, and assuming that a cargo record has a unique ccn key and origin station error information, when the system populates the origin error index, the desired outcome is that the cargo's ccn key is assigned to the error origin cargo field to establish the link.
💻 Technical Criteria
Given
A cargo record has a unique CCN key and origin station error information
When
The system populates the origin error index
Then
The cargo's CCN key is assigned to the error origin cargo field to establish the link
R-GCCUSIO-cbl-00817
Set Cargo CCN Key for Border Error Index
Process Rules
📊 Business Logic Narrative
When the process 'Set Cargo CCN Key for Border Error Index' is invoked, and assuming that a cargo record has a unique ccn key and border station error information is being processed, when the system populates the border error index, the desired outcome is that the cargo's ccn key is assigned to the error border cargo field to establish the link.
💻 Technical Criteria
Given
A cargo record has a unique CCN key and border station error information is being processed
When
The system populates the border error index
Then
The cargo's CCN key is assigned to the error border cargo field to establish the link
R-GCCUSIO-cbl-00820
Set Cargo CCN Key for Destination Error Index
Process Rules
📊 Business Logic Narrative
When the process 'Set Cargo CCN Key for Destination Error Index' is invoked, and assuming that a cargo record has a unique ccn key and destination station error information, when the system populates the destination error index, the desired outcome is that the cargo's ccn key is assigned to the error destination cargo field to establish the link.
💻 Technical Criteria
Given
A cargo record has a unique CCN key and destination station error information
When
The system populates the destination error index
Then
The cargo's CCN key is assigned to the error destination cargo field to establish the link
R-GCCUSIO-cbl-00821
Set Destination Hold Index
Decision Rules
📊 Business Logic Narrative
When the process 'Set Destination Hold Index' is invoked, and assuming that a cargo record exists with destination hold status conditions, when the cargo status is hold or holdpcs or pr-hpcs or hold-d or pr-h-de or holdfda, the desired outcome is that the system sets the destination hold index using the destination station number and cargo ccn key.
💻 Technical Criteria
Given
A cargo record exists with destination hold status conditions
When
The cargo status is HOLD or HOLDPCS or PR-HPCS or HOLD-D or PR-H-DE or HOLDFDA
Then
The system sets the destination hold index using the destination station number and cargo CCN key
R-GCCUSIO-cbl-00822
Set Border Hold Index
Decision Rules
📊 Business Logic Narrative
When the process 'Set Border Hold Index' is invoked, and assuming that a cargo record exists with border hold status conditions, when the cargo status is hold or holdpcs or pr-hpcs or hold-b or pr-h-bo or holdfda, the desired outcome is that the system performs mc table lookup and sets the border hold index using the border station number and cargo ccn key.
💻 Technical Criteria
Given
A cargo record exists with border hold status conditions
When
The cargo status is HOLD or HOLDPCS or PR-HPCS or HOLD-B or PR-H-BO or HOLDFDA
Then
The system performs MC table lookup and sets the border hold index using the border station number and cargo CCN key
R-GCCUSIO-cbl-00707
Delete Index Record from Database
Process Rules
📊 Business Logic Narrative
When the process 'Delete Index Record from Database' is invoked, and assuming that a cargo ccn key is provided and an index record exists in gcsb1rt, when the delete gcsb1rt index record process is executed and the record is found, the desired outcome is that the system deletes the index record from gcsb1rt database.
💻 Technical Criteria
Given
A cargo CCN key is provided and an index record exists in GCSB1RT
When
The delete GCSB1RT index record process is executed and the record is found
Then
The system deletes the index record from GCSB1RT database
R-GCCUSIO-cbl-00709
Set Cargo Key from Primary Record
Process Rules
📊 Business Logic Narrative
When the process 'Set Cargo Key from Primary Record' is invoked, and assuming that a primary cargo record with a ccn key exists, when the delete gcsb1rt index record process needs to identify the target record, the desired outcome is that the system sets the cargo key value from the primary record's ccn key.
💻 Technical Criteria
Given
A primary cargo record with a CCN key exists
When
The delete GCSB1RT index record process needs to identify the target record
Then
The system sets the cargo key value from the primary record's CCN key
R-GCCUSIO-cbl-00596
Set Destination Hold Index Requirements
Process Rules
📊 Business Logic Narrative
When the process 'Set Destination Hold Index Requirements' is invoked, and assuming that a cargo record with destination hold status conditions, when the cargo has uscargo-hold or uscargo-holdpcs or uscargo-pr-hpcs or uscargo-hold-d or uscargo-pr-h-de or uscargo-holdfda status, the desired outcome is that the system should populate the destination hold index with the destination station number and the destination cargo key with the ccn key.
💻 Technical Criteria
Given
A cargo record with destination hold status conditions
When
The cargo has USCARGO-HOLD OR USCARGO-HOLDPCS OR USCARGO-PR-HPCS OR USCARGO-HOLD-D OR USCARGO-PR-H-DE OR USCARGO-HOLDFDA status
Then
The system should populate the destination hold index with the destination station number and the destination cargo key with the CCN key
R-GCCUSIO-cbl-00597
Set Border Hold Index Requirements
Process Rules
📊 Business Logic Narrative
When the process 'Set Border Hold Index Requirements' is invoked, and assuming that a cargo record with border hold status conditions, when the cargo has uscargo-hold or uscargo-holdpcs or uscargo-pr-hpcs or uscargo-hold-b or uscargo-pr-h-bo or uscargo-holdfda status, the desired outcome is that the system should retrieve the border station number from the mc table using the location id and populate the border hold index fields with the station number and ccn key.
💻 Technical Criteria
Given
A cargo record with border hold status conditions
When
The cargo has USCARGO-HOLD OR USCARGO-HOLDPCS OR USCARGO-PR-HPCS OR USCARGO-HOLD-B OR USCARGO-PR-H-BO OR USCARGO-HOLDFDA status
Then
The system should retrieve the border station number from the MC table using the location ID and populate the border hold index fields with the station number and CCN key
R-GCCUSIO-cbl-00464
Set Destination Hold Index
Process Rules
📊 Business Logic Narrative
When the process 'Set Destination Hold Index' is invoked, and assuming that a cargo record with destination-related hold status (hold, holdpcs, pr-hpcs, hold-d, pr-h-de, or holdfda), when the system processes the hold status, the desired outcome is that the system sets gcb1-key-held-dest to cargo destination station number rt29-dest-stn-num and gcb1-key-held-dest-cargo to cargo ccn key.
💻 Technical Criteria
Given
A cargo record with destination-related hold status (HOLD, HOLDPCS, PR-HPCS, HOLD-D, PR-H-DE, or HOLDFDA)
When
The system processes the hold status
Then
The system sets GCB1-KEY-HELD-DEST to cargo destination station number RT29-DEST-STN-NUM and GCB1-KEY-HELD-DEST-CARGO to cargo CCN key
R-GCCUSIO-cbl-00465
Set Border Hold Index
Process Rules
📊 Business Logic Narrative
When the process 'Set Border Hold Index' is invoked, and assuming that a cargo record with border-related hold status (hold, holdpcs, pr-hpcs, hold-b, pr-h-bo, or holdfda), when the system processes the hold status, the desired outcome is that the system retrieves station information for the border location and sets gcb1-key-held-border to the border station number and gcb1-key-held-border-cargo to cargo ccn key.
💻 Technical Criteria
Given
A cargo record with border-related hold status (HOLD, HOLDPCS, PR-HPCS, HOLD-B, PR-H-BO, or HOLDFDA)
When
The system processes the hold status
Then
The system retrieves station information for the border location and sets GCB1-KEY-HELD-BORDER to the border station number and GCB1-KEY-HELD-BORDER-CARGO to cargo CCN key
R-GCCUSIO-cbl-00471
Retrieve Existing Error Index Record
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Existing Error Index Record' is invoked, and assuming that a cargo record requires error index processing, when the system searches for existing gcsb1rt error index record using cargo ccn key, the desired outcome is that the system retrieves the record if it exists and sets appropriate status flag.
💻 Technical Criteria
Given
A cargo record requires error index processing
When
The system searches for existing GCSB1RT error index record using cargo CCN key
Then
The system retrieves the record if it exists and sets appropriate status flag
R-GCCUSIO-cbl-00472
Populate Error Origin Station
Process Rules
📊 Business Logic Narrative
When the process 'Populate Error Origin Station' is invoked, and assuming that cargo has error status and error index record is being processed, when the system fills error fields for the index record, the desired outcome is that error code 'e' is set, origin station number is populated from cargo record, and cargo ccn is set as error origin cargo key.
💻 Technical Criteria
Given
Cargo has error status and error index record is being processed
When
The system fills error fields for the index record
Then
Error code 'E' is set, origin station number is populated from cargo record, and cargo CCN is set as error origin cargo key
R-GCCUSIO-cbl-00473
Populate Error Destination Station
Process Rules
📊 Business Logic Narrative
When the process 'Populate Error Destination Station' is invoked, and assuming that cargo has error status and error index record is being processed, when the system fills error fields for the index record, the desired outcome is that error code 'e' is set, destination station number is populated from cargo record, and cargo ccn is set as error destination cargo key.
💻 Technical Criteria
Given
Cargo has error status and error index record is being processed
When
The system fills error fields for the index record
Then
Error code 'E' is set, destination station number is populated from cargo record, and cargo CCN is set as error destination cargo key
R-GCCUSIO-cbl-00475
Populate Error Border Station
Process Rules
📊 Business Logic Narrative
When the process 'Populate Error Border Station' is invoked, and assuming that cargo has error status and border station information is available from mc table lookup, when the system fills error border fields for the index record, the desired outcome is that error code 'e' is set, border station number is populated from mc table result, and cargo ccn is set as error border cargo key.
💻 Technical Criteria
Given
Cargo has error status and border station information is available from MC table lookup
When
The system fills error border fields for the index record
Then
Error code 'E' is set, border station number is populated from MC table result, and cargo CCN is set as error border cargo key
R-GCCUSIO-cbl-00476
Create New Error Index Record
Action Rules
📊 Business Logic Narrative
When the process 'Create New Error Index Record' is invoked, and assuming that cargo has error status and no existing error index record is found, when the system needs to create error index entry, the desired outcome is that a new gcsb1rt record is inserted with cargo ccn as key and populated error fields.
💻 Technical Criteria
Given
Cargo has error status and no existing error index record is found
When
The system needs to create error index entry
Then
A new GCSB1RT record is inserted with cargo CCN as key and populated error fields
R-GCCUSIO-cbl-00604
Populate Error Index Fields
Process Rules
📊 Business Logic Narrative
When the process 'Populate Error Index Fields' is invoked, and assuming that a cargo record has cpcargo-error status or cpcargo-pending status or uscargo-error status, when the system processes the error status update, the desired outcome is that the system sets error code origin to 'e' and sets error origin to origin station number and sets error origin cargo to ccn key and sets error code border to 'e' and retrieves border station from mc table and sets error border to border station number and sets error border cargo to ccn key and sets error code destination to 'e' and sets error destination to destination station number and sets error destination cargo to ccn key.
💻 Technical Criteria
Given
A cargo record has CPCARGO-ERROR status OR CPCARGO-PENDING status OR USCARGO-ERROR status
When
The system processes the error status update
Then
The system sets error code origin to 'E' AND sets error origin to origin station number AND sets error origin cargo to CCN key AND sets error code border to 'E' AND retrieves border station from MC table AND sets error border to border station number AND sets error border cargo to CCN key AND sets error code destination to 'E' AND sets error destination to destination station number AND sets error destination cargo to CCN key
R-GCCUSIO-cbl-00607
Populate Hold Index Fields
Process Rules
📊 Business Logic Narrative
When the process 'Populate Hold Index Fields' is invoked, and assuming that a cargo record has uscargo-hold status or uscargo-holdpcs status or uscargo-pr-hpcs status or uscargo-hold-d status or uscargo-pr-h-de status or uscargo-holdfda status, when the system processes the hold status for destination fields, the desired outcome is that the system sets held destination to destination station number and sets held destination cargo to ccn key.
💻 Technical Criteria
Given
A cargo record has USCARGO-HOLD status OR USCARGO-HOLDPCS status OR USCARGO-PR-HPCS status OR USCARGO-HOLD-D status OR USCARGO-PR-H-DE status OR USCARGO-HOLDFDA status
When
The system processes the hold status for destination fields
Then
The system sets held destination to destination station number AND sets held destination cargo to CCN key
R-GCCUSIO-cbl-00608
Populate Hold Index Fields
Process Rules
📊 Business Logic Narrative
When the process 'Populate Hold Index Fields' is invoked, and assuming that a cargo record has uscargo-hold status or uscargo-holdpcs status or uscargo-pr-hpcs status or uscargo-hold-b status or uscargo-pr-h-bo status or uscargo-holdfda status, when the system processes the hold status for border fields, the desired outcome is that the system retrieves border station from mc table and sets held border to border station number and sets held border cargo to ccn key.
💻 Technical Criteria
Given
A cargo record has USCARGO-HOLD status OR USCARGO-HOLDPCS status OR USCARGO-PR-HPCS status OR USCARGO-HOLD-B status OR USCARGO-PR-H-BO status OR USCARGO-HOLDFDA status
When
The system processes the hold status for border fields
Then
The system retrieves border station from MC table AND sets held border to border station number AND sets held border cargo to CCN key
R-GCCUSIO-cbl-00719
Set Cargo Key from Primary Record
Process Rules
📊 Business Logic Narrative
When the process 'Set Cargo Key from Primary Record' is invoked, and assuming that a primary cargo record (gcusrt) exists with a us-ccn-key, when the system needs to search for the corresponding gcsb1rt index record, the desired outcome is that the us-ccn-key from the primary cargo record is copied to the gcsb1rt key field (gcb1-key-value) to establish the search criteria.
💻 Technical Criteria
Given
A primary cargo record (GCUSRT) exists with a US-CCN-KEY
When
The system needs to search for the corresponding GCSB1RT index record
Then
The US-CCN-KEY from the primary cargo record is copied to the GCSB1RT key field (GCB1-KEY-VALUE) to establish the search criteria
R-GCCUSIO-cbl-00727
Set Cargo Key from Primary Record
Process Rules
📊 Business Logic Narrative
When the process 'Set Cargo Key from Primary Record' is invoked, and assuming that a primary cargo record exists with a valid us-ccn-key, when the system needs to create a new gcsb1rt index record, the desired outcome is that the cargo key field in the index record must be populated with the us-ccn-key from the primary cargo record.
💻 Technical Criteria
Given
A primary cargo record exists with a valid US-CCN-KEY
When
The system needs to create a new GCSB1RT index record
Then
The cargo key field in the index record must be populated with the US-CCN-KEY from the primary cargo record
R-GCCUSIO-cbl-00483
Set Destination Hold Index Fields
Process Rules
📊 Business Logic Narrative
When the process 'Set Destination Hold Index Fields' is invoked, and assuming that a cargo record with active hold status, when the cargo has uscargo-hold or uscargo-holdpcs or uscargo-pr-hpcs or uscargo-hold-d or uscargo-pr-h-de or uscargo-holdfda status, the desired outcome is that the system sets the destination station number to held destination index and cargo ccn key to held destination cargo index.
💻 Technical Criteria
Given
A cargo record with active hold status
When
The cargo has USCARGO-HOLD or USCARGO-HOLDPCS or USCARGO-PR-HPCS or USCARGO-HOLD-D or USCARGO-PR-H-DE or USCARGO-HOLDFDA status
Then
The system sets the destination station number to held destination index and cargo CCN key to held destination cargo index
R-GCCUSIO-cbl-00484
Set Border Hold Index Fields
Process Rules
📊 Business Logic Narrative
When the process 'Set Border Hold Index Fields' is invoked, and assuming that a cargo record with border hold status and successful mc table lookup, when the cargo has uscargo-hold or uscargo-holdpcs or uscargo-pr-hpcs or uscargo-hold-b or uscargo-pr-h-bo or uscargo-holdfda status and mc table lookup returns successfully, the desired outcome is that the system sets the mc station number to held border index and cargo ccn key to held border cargo index.
💻 Technical Criteria
Given
A cargo record with border hold status and successful MC table lookup
When
The cargo has USCARGO-HOLD or USCARGO-HOLDPCS or USCARGO-PR-HPCS or USCARGO-HOLD-B or USCARGO-PR-H-BO or USCARGO-HOLDFDA status and MC table lookup returns successfully
Then
The system sets the MC station number to held border index and cargo CCN key to held border cargo index
R-GCCUSIO-cbl-00486
Create New GCSB1RT Index Record
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Create New GCSB1RT Index Record', assuming that a cargo record with hold conditions and no existing gcsb1rt index record, when the system attempts to retrieve gcsb1rt record and receives not found status, the desired outcome is that the system creates a new gcsb1rt record with cargo ccn as the key and populated hold index fields.
💻 Technical Criteria
EXCLUDING
A cargo record with hold conditions and no existing GCSB1RT index record
When
The system attempts to retrieve GCSB1RT record and receives not found status
Then
The system creates a new GCSB1RT record with cargo CCN as the key and populated hold index fields
R-GCCUSIO-cbl-00614
Set Destination Hold Index Fields
Process Rules
📊 Business Logic Narrative
When the process 'Set Destination Hold Index Fields' is invoked, and assuming that a cargo record has hold status conditions, when the cargo has uscargo-hold, uscargo-holdpcs, uscargo-pr-hpcs, uscargo-hold-d, uscargo-pr-h-de, or uscargo-holdfda status, the desired outcome is that the system sets the held destination index to the destination station number and held destination cargo index to the cargo ccn key.
💻 Technical Criteria
Given
A cargo record has hold status conditions
When
The cargo has USCARGO-HOLD, USCARGO-HOLDPCS, USCARGO-PR-HPCS, USCARGO-HOLD-D, USCARGO-PR-H-DE, or USCARGO-HOLDFDA status
Then
The system sets the held destination index to the destination station number and held destination cargo index to the cargo CCN key
R-GCCUSIO-cbl-00615
Set Border Hold Index Fields
Process Rules
📊 Business Logic Narrative
When the process 'Set Border Hold Index Fields' is invoked, and assuming that a cargo record has hold status conditions, when the cargo has uscargo-hold, uscargo-holdpcs, uscargo-pr-hpcs, uscargo-hold-b, uscargo-pr-h-bo, or uscargo-holdfda status, the desired outcome is that the system retrieves the station number from the mc table using the location id, sets the held border index to this station number, and sets the held border cargo index to the cargo ccn key.
💻 Technical Criteria
Given
A cargo record has hold status conditions
When
The cargo has USCARGO-HOLD, USCARGO-HOLDPCS, USCARGO-PR-HPCS, USCARGO-HOLD-B, USCARGO-PR-H-BO, or USCARGO-HOLDFDA status
Then
The system retrieves the station number from the MC table using the location ID, sets the held border index to this station number, and sets the held border cargo index to the cargo CCN key
R-GCCUSIO-cbl-00736
Set Cargo Key from Primary Record
Process Rules
📊 Business Logic Narrative
When the process 'Set Cargo Key from Primary Record' is invoked, and assuming that a primary cargo record exists with a ccn key, when the system needs to search for hold index records, the desired outcome is that the cargo ccn key from the primary record must be copied to the hold index search key.
💻 Technical Criteria
Given
A primary cargo record exists with a CCN key
When
The system needs to search for hold index records
Then
The cargo CCN key from the primary record must be copied to the hold index search key
R-GCCUSIO-cbl-00744
Set Destination Hold Index Fields
Process Rules
📊 Business Logic Narrative
When the process 'Set Destination Hold Index Fields' is invoked, and assuming that a cargo record has destination hold status (hold, holdpcs, pr-hpcs, hold-d, pr-h-de, or holdfda), when the system processes hold field population, the desired outcome is that the system sets the destination station number to the held destination key and sets the cargo ccn key to the held destination cargo key.
💻 Technical Criteria
Given
A cargo record has destination hold status (HOLD, HOLDPCS, PR-HPCS, HOLD-D, PR-H-DE, or HOLDFDA)
When
The system processes hold field population
Then
The system sets the destination station number to the held destination key and sets the cargo CCN key to the held destination cargo key
R-GCCUSIO-cbl-00745
Set Border Hold Index Fields
Process Rules
📊 Business Logic Narrative
When the process 'Set Border Hold Index Fields' is invoked, and assuming that a cargo record has border hold status (hold, holdpcs, pr-hpcs, hold-b, pr-h-bo, or holdfda), when the system processes hold field population, the desired outcome is that the system retrieves the border station number from mc table lookup and sets it to the held border key, and sets the cargo ccn key to the held border cargo key.
💻 Technical Criteria
Given
A cargo record has border hold status (HOLD, HOLDPCS, PR-HPCS, HOLD-B, PR-H-BO, or HOLDFDA)
When
The system processes hold field population
Then
The system retrieves the border station number from MC table lookup and sets it to the held border key, and sets the cargo CCN key to the held border cargo key
R-GCCUSIO-cbl-00832
Set Destination Hold Index
Decision Rules
📊 Business Logic Narrative
When the process 'Set Destination Hold Index' is invoked, and assuming that a cargo record exists with hold status conditions, when the cargo status is uscargo-hold or uscargo-holdpcs or uscargo-pr-hpcs or uscargo-hold-d or uscargo-pr-h-de or uscargo-holdfda, the desired outcome is that set the destination station number from cargo record to held destination key and set the cargo ccn key to held destination cargo key.
💻 Technical Criteria
Given
A cargo record exists with hold status conditions
When
The cargo status is USCARGO-HOLD OR USCARGO-HOLDPCS OR USCARGO-PR-HPCS OR USCARGO-HOLD-D OR USCARGO-PR-H-DE OR USCARGO-HOLDFDA
Then
Set the destination station number from cargo record to held destination key AND set the cargo CCN key to held destination cargo key
R-GCCUSIO-cbl-00833
Set Border Hold Index
Decision Rules
📊 Business Logic Narrative
When the process 'Set Border Hold Index' is invoked, and assuming that a cargo record exists with hold status conditions and mc table lookup is successful, when the cargo status is uscargo-hold or uscargo-holdpcs or uscargo-pr-hpcs or uscargo-hold-b or uscargo-pr-h-bo or uscargo-holdfda and table lookup returns success flag '0', the desired outcome is that set the mc station number from table segment to held border key and set the cargo ccn key to held border cargo key.
💻 Technical Criteria
Given
A cargo record exists with hold status conditions AND MC table lookup is successful
When
The cargo status is USCARGO-HOLD OR USCARGO-HOLDPCS OR USCARGO-PR-HPCS OR USCARGO-HOLD-B OR USCARGO-PR-H-BO OR USCARGO-HOLDFDA AND table lookup returns success flag '0'
Then
Set the MC station number from table segment to held border key AND set the cargo CCN key to held border cargo key
💰 Bond & Financial Auth
25 logic blocks
R-GCCUSIO-cbl-00032
Set Default Operator to ' ='
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Default Operator to ' ='' is invoked, and assuming that an operator field is provided in the input parameters, when the operator field contains only spaces, the desired outcome is that the operator should be set to ' =' as the default value.
💻 Technical Criteria
Given
An operator field is provided in the input parameters
When
The operator field contains only spaces
Then
The operator should be set to ' =' as the default value
R-GCCUSIO-cbl-00629
Set SSA Search Arguments
Decision Rules
📊 Business Logic Narrative
When the process 'Set SSA Search Arguments' is invoked, and assuming that a database search operation is being prepared, when the system determines if key values are provided for search criteria, the desired outcome is that if key values are spaces for gu or gn operations, unqualified ssa is used, otherwise qualified ssa with key values is configured.
💻 Technical Criteria
Given
A database search operation is being prepared
When
The system determines if key values are provided for search criteria
Then
If key values are spaces for GU or GN operations, unqualified SSA is used, otherwise qualified SSA with key values is configured
R-GCCUSIO-cbl-00274
Set Bond Search Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Set Bond Search Parameters' is invoked, and assuming that bond index field contains a valid bond control number, when setting up bond search parameters, the desired outcome is that copy bond index value to search key and set operator from request parameters.
💻 Technical Criteria
Given
Bond index field contains a valid bond control number
When
Setting up bond search parameters
Then
Copy bond index value to search key and set operator from request parameters
R-GCCUSIO-cbl-00275
Build Qualified SSA with Bond Number
Process Rules
📊 Business Logic Narrative
When the process 'Build Qualified SSA with Bond Number' is invoked, and assuming that bond index contains a valid bond control number and search parameters are set, when building search argument for bond index query, the desired outcome is that create qualified ssa using bond key value and set pcb5 as the search control block.
💻 Technical Criteria
Given
Bond index contains a valid bond control number and search parameters are set
When
Building search argument for bond index query
Then
Create qualified SSA using bond key value and set PCB5 as the search control block
R-GCCUSIO-cbl-00277
Execute Bond Index Search
Action Rules
📊 Business Logic Narrative
When the process 'Execute Bond Index Search' is invoked, and assuming that search arguments are constructed and pcb5 is set for bond index access, when executing the bond index search operation, the desired outcome is that call database interface using function code, pcb5, data area, and constructed ssa.
💻 Technical Criteria
Given
Search arguments are constructed and PCB5 is set for bond index access
When
Executing the bond index search operation
Then
Call database interface using function code, PCB5, data area, and constructed SSA
R-GCCUSIO-cbl-00522
Set Bond Number from Index Field
Process Rules
📊 Business Logic Narrative
When the process 'Set Bond Number from Index Field' is invoked, and assuming that bond index field contains valid bond number data (not spaces), when the system prepares bond search parameters, the desired outcome is that the system sets the bond number value from the bond index field and configures qualified search with specific bond number criteria.
💻 Technical Criteria
Given
Bond index field contains valid bond number data (not spaces)
When
The system prepares bond search parameters
Then
The system sets the bond number value from the bond index field and configures qualified search with specific bond number criteria
R-GCCUSIO-cbl-00639
Execute Bond Index Database Call
Action Rules
📊 Business Logic Narrative
When the process 'Execute Bond Index Database Call' is invoked, and assuming that configured search parameters (either qualified or unqualified) for bond index lookup, when the system executes the bond index database search operation, the desired outcome is that the system performs database call using the configured ssa parameters to retrieve matching bond records.
💻 Technical Criteria
Given
Configured search parameters (either qualified or unqualified) for bond index lookup
When
The system executes the bond index database search operation
Then
The system performs database call using the configured SSA parameters to retrieve matching bond records
R-GCCUSIO-cbl-00767
Use Qualified Search with Bond Number
Action Rules
📊 Business Logic Narrative
When the process 'Use Qualified Search with Bond Number' is invoked, and assuming that bond index key value is set with actual bond number and qualified search parameters are prepared, when the system executes the bond index search, the desired outcome is that use gcub-ssa-qual for qualified search with the specific bond number.
💻 Technical Criteria
Given
Bond index key value is set with actual bond number and qualified search parameters are prepared
When
The system executes the bond index search
Then
Use GCUB-SSA-QUAL for qualified search with the specific bond number
R-GCCUSIO-cbl-00768
Use Unqualified Search
Action Rules
📊 Business Logic Narrative
When the process 'Use Unqualified Search' is invoked, and assuming that bond index key value is set to spaces and unqualified search parameters are prepared, when the system executes the bond index search, the desired outcome is that use gcub-ssa-unqual for unqualified search without specific bond criteria.
💻 Technical Criteria
Given
Bond index key value is set to SPACES and unqualified search parameters are prepared
When
The system executes the bond index search
Then
Use GCUB-SSA-UNQUAL for unqualified search without specific bond criteria
R-GCCUSIO-cbl-00769
Execute Bond Index Search
Action Rules
📊 Business Logic Narrative
When the process 'Execute Bond Index Search' is invoked, and assuming that search parameters are set with either qualified or unqualified search criteria and pcb5 is assigned to ws-pcb, when the system executes the bond index search operation, the desired outcome is that perform x1100-call-one-ssa to execute the database search with the prepared parameters.
💻 Technical Criteria
Given
Search parameters are set with either qualified or unqualified search criteria and PCB5 is assigned to WS-PCB
When
The system executes the bond index search operation
Then
Perform X1100-CALL-ONE-SSA to execute the database search with the prepared parameters
R-GCCUSIO-cbl-00526
Map Secondary Key to Search Value
Process Rules
📊 Business Logic Narrative
When the process 'Map Secondary Key to Search Value' is invoked, and assuming that a valid secondary key is provided for database access, when building ssa parameters for secondary segment access, the desired outcome is that map the secondary key (gcsuss00-key) to the database search value (gca2-key-value).
💻 Technical Criteria
Given
A valid secondary key is provided for database access
When
Building SSA parameters for secondary segment access
Then
Map the secondary key (GCSUSS00-KEY) to the database search value (GCA2-KEY-VALUE)
R-GCCUSIO-cbl-00644
Set Qualified SSA with Message Key
Decision Rules
📊 Business Logic Narrative
When the process 'Set Qualified SSA with Message Key' is invoked, and assuming that a message segment (gcsa8rt) operation is being processed and the message key field contains a valid value (not spaces), when the system builds ssa parameters for database access, the desired outcome is that the system creates a qualified ssa using the message key value for targeted record retrieval.
💻 Technical Criteria
Given
A message segment (GCSA8RT) operation is being processed AND the message key field contains a valid value (not spaces)
When
The system builds SSA parameters for database access
Then
The system creates a qualified SSA using the message key value for targeted record retrieval
R-GCCUSIO-cbl-00646
Set Qualified SSA with Table Key
Process Rules
📊 Business Logic Narrative
When the process 'Set Qualified SSA with Table Key' is invoked, and assuming that a table segment (gcst2rt) operation is being processed, when the system builds ssa parameters for database access, the desired outcome is that the system assigns the table key value and creates a qualified ssa for targeted table record retrieval.
💻 Technical Criteria
Given
A table segment (GCST2RT) operation is being processed
When
The system builds SSA parameters for database access
Then
The system assigns the table key value and creates a qualified SSA for targeted table record retrieval
R-GCCUSIO-cbl-00773
Secondary Key Available?
Decision Rules
📊 Business Logic Narrative
When the process 'Secondary Key Available?' is invoked, and assuming that a secondary database processing request is received, when the system checks if secondary key index flag (gcwusio-index-secn-key) is set to true, the desired outcome is that if secondary key index is available, use secondary key index search with gca2-pcb2 and build qualified ssa with gcsuss00-key mapped to gcb2-key-value, otherwise use primary key direct access with gca2-pcb and build qualified ssa with gcsuss00-key mapped to gca2-key-value.
💻 Technical Criteria
Given
A secondary database processing request is received
When
The system checks if secondary key index flag (GCWUSIO-INDEX-SECN-KEY) is set to true
Then
If secondary key index is available, use secondary key index search with GCA2-PCB2 and build qualified SSA with GCSUSS00-KEY mapped to GCB2-KEY-VALUE, otherwise use primary key direct access with GCA2-PCB and build qualified SSA with GCSUSS00-KEY mapped to GCA2-KEY-VALUE
R-GCCUSIO-cbl-00654
Retrieve Operation Completed
Validation Rules
📊 Business Logic Narrative
When the process 'Retrieve Operation Completed' is invoked, and assuming that a gcsa8rt retrieve operation with function code 'gu' or 'gn' is requested, when the system validates the input parameters, the desired outcome is that if the gcsa8rt key equals spaces, the system sets error number '0012' and error message 'gcsa8rt-key equal spaces', otherwise builds qualified ssa with the key value.
💻 Technical Criteria
Given
A GCSA8RT retrieve operation with function code 'GU' or 'GN' is requested
When
The system validates the input parameters
Then
If the GCSA8RT key equals spaces, the system sets error number '0012' and error message 'GCSA8RT-KEY EQUAL SPACES', otherwise builds qualified SSA with the key value
R-GCCUSIO-cbl-00167
Initialize Table Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Table Parameters' is invoked, and assuming that a table lookup request is initiated, when the system prepares for table lookup operation, the desired outcome is that all table parameters are cleared including second pcb flag, unqualified ssa flag, table key values, and return flag.
💻 Technical Criteria
Given
A table lookup request is initiated
When
The system prepares for table lookup operation
Then
All table parameters are cleared including second PCB flag, unqualified SSA flag, table key values, and return flag
R-GCCUSIO-cbl-00556
Clear Table Key Fields
Process Rules
📊 Business Logic Narrative
When the process 'Clear Table Key Fields' is invoked, and assuming that the system is preparing iron highway table lookup parameters, when table key fields need to be initialized, the desired outcome is that all table key fields including table key value, detail key value, second pcb flag, and unqualified ssa flag should be cleared to spaces.
💻 Technical Criteria
Given
The system is preparing Iron Highway table lookup parameters
When
Table key fields need to be initialized
Then
All table key fields including table key value, detail key value, second PCB flag, and unqualified SSA flag should be cleared to spaces
R-GCCUSIO-cbl-00775
Initialize Table Request Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Table Request Parameters' is invoked, and assuming that a request to extract station information is initiated, when the system prepares for table lookup, the desired outcome is that all table request parameters are cleared including key values and control flags.
💻 Technical Criteria
Given
A request to extract station information is initiated
When
The system prepares for table lookup
Then
All table request parameters are cleared including key values and control flags
R-GCCUSIO-cbl-00405
Extract Reference Number as Shipment ID
Action Rules
📊 Business Logic Narrative
When the process 'Extract Reference Number as Shipment ID' is invoked, and assuming that a reference number position contains the qualifier 'cn', when the system processes this qualified reference position, the desired outcome is that the system extracts the corresponding reference number value and assigns it as the shipment id.
💻 Technical Criteria
Given
A reference number position contains the qualifier 'CN'
When
The system processes this qualified reference position
Then
The system extracts the corresponding reference number value and assigns it as the shipment ID
R-GCCUSIO-cbl-00678
Extract Shipment ID from Reference Number
Process Rules
📊 Business Logic Narrative
When the process 'Extract Shipment ID from Reference Number' is invoked, and assuming that an n9 reference segment has qualifier 'cn' indicating shipment id data, when processing the reference number field of the segment, the desired outcome is that the system extracts the reference number value as the shipment id.
💻 Technical Criteria
Given
An N9 reference segment has qualifier 'CN' indicating shipment ID data
When
Processing the reference number field of the segment
Then
The system extracts the reference number value as the shipment ID
R-GCCUSIO-cbl-00788
Counter <= 20?
Validation Rules
📊 Business Logic Narrative
When the process 'Counter <= 20?' is invoked, and assuming that n9 reference entries are being processed sequentially, when the system checks the current counter value, the desired outcome is that if counter is 20 or less, continue processing, otherwise terminate n9 processing.
💻 Technical Criteria
Given
N9 reference entries are being processed sequentially
When
The system checks the current counter value
Then
If counter is 20 or less, continue processing, otherwise terminate N9 processing
R-GCCUSIO-cbl-00789
Check Reference Number Qualifier
Process Rules
📊 Business Logic Narrative
When the process 'Check Reference Number Qualifier' is invoked, and assuming that an n9 reference entry is being processed, when the system examines the reference number qualifier field, the desired outcome is that the system reads the qualifier value to determine reference type.
💻 Technical Criteria
Given
An N9 reference entry is being processed
When
The system examines the reference number qualifier field
Then
The system reads the qualifier value to determine reference type
R-GCCUSIO-cbl-00790
Qualifier = 'CN'?
Decision Rules
📊 Business Logic Narrative
When the process 'Qualifier = 'CN'?' is invoked, and assuming that an n9 reference entry qualifier has been examined, when the system compares the qualifier value to 'cn', the desired outcome is that if qualifier equals 'cn', process as customer number reference, otherwise continue to next entry.
💻 Technical Criteria
Given
An N9 reference entry qualifier has been examined
When
The system compares the qualifier value to 'CN'
Then
If qualifier equals 'CN', process as customer number reference, otherwise continue to next entry
R-GCCUSIO-cbl-00791
Extract Shipment ID from Reference Number
Process Rules
📊 Business Logic Narrative
When the process 'Extract Shipment ID from Reference Number' is invoked, and assuming that an n9 reference entry has qualifier 'cn', when the system processes the reference number field, the desired outcome is that the system extracts the reference number value as the shipment identification number.
💻 Technical Criteria
Given
An N9 reference entry has qualifier 'CN'
When
The system processes the reference number field
Then
The system extracts the reference number value as the shipment identification number
R-GCCUSIO-cbl-00203
Extract Reference Number as Shipment ID
Process Rules
📊 Business Logic Narrative
When the process 'Extract Reference Number as Shipment ID' is invoked, and assuming that an n9 reference entry has qualifier 'cn' indicating shipment id, when the system processes this qualified reference entry, the desired outcome is that the system moves the n9 reference number value to the shipment id field for notification purposes.
💻 Technical Criteria
Given
An N9 reference entry has qualifier 'CN' indicating shipment ID
When
The system processes this qualified reference entry
Then
The system moves the N9 reference number value to the shipment ID field for notification purposes
📍 Routing, Border & Port
35 logic blocks
R-GCCUSIO-cbl-00286
Border Error Record Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Border Error Record Found?' is invoked, and assuming that a search for border error record has been executed, when the system checks the database operation status code, the desired outcome is that if status code is spaces then record is found, otherwise no record found.
💻 Technical Criteria
Given
A search for border error record has been executed
When
The system checks the database operation status code
Then
If status code is spaces then record is found, otherwise no record found
R-GCCUSIO-cbl-00287
Destination Error Record Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Destination Error Record Found?' is invoked, and assuming that a search for destination error record has been executed, when the system checks the database operation status code, the desired outcome is that if status code is spaces then record is found, otherwise no record found.
💻 Technical Criteria
Given
A search for destination error record has been executed
When
The system checks the database operation status code
Then
If status code is spaces then record is found, otherwise no record found
R-GCCUSIO-cbl-00296
Hold Index Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Hold Index Type?' is invoked, and assuming that a hold index search request is initiated, when the system evaluates the index type specified in gcwusio-index-held-dest or gcwusio-index-held-border, the desired outcome is that the system routes to the appropriate hold index search processing.
💻 Technical Criteria
Given
A hold index search request is initiated
When
The system evaluates the index type specified in GCWUSIO-INDEX-HELD-DEST or GCWUSIO-INDEX-HELD-BORDER
Then
The system routes to the appropriate hold index search processing
R-GCCUSIO-cbl-00310
Initialize Table Request Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Table Request Parameters' is invoked, and assuming that a request to retrieve border station information from mc table, when the system prepares for table lookup, the desired outcome is that all table request parameters are cleared and initialized to spaces, and pcb flags are reset.
💻 Technical Criteria
Given
A request to retrieve border station information from MC table
When
The system prepares for table lookup
Then
All table request parameters are cleared and initialized to spaces, and PCB flags are reset
R-GCCUSIO-cbl-00312
Set Table ID to 'MC'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Table ID to 'MC'' is invoked, and assuming that a table lookup request for border station information, when the system identifies which table to query, the desired outcome is that the table id is set to 'mc' to target the mc table.
💻 Technical Criteria
Given
A table lookup request for border station information
When
The system identifies which table to query
Then
The table ID is set to 'MC' to target the MC table
R-GCCUSIO-cbl-00316
Extract Border Station Number from MC Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Border Station Number from MC Segment' is invoked, and assuming that a successful mc table lookup with retrieved table segment data, when the system processes the mc segment information, the desired outcome is that the border station number is extracted from the mc segment structure.
💻 Technical Criteria
Given
A successful MC table lookup with retrieved table segment data
When
The system processes the MC segment information
Then
The border station number is extracted from the MC segment structure
R-GCCUSIO-cbl-00317
Set Border Station in Index Fields
Process Rules
📊 Business Logic Narrative
When the process 'Set Border Station in Index Fields' is invoked, and assuming that a successfully extracted border station number from mc table, when the system updates error index fields, the desired outcome is that the border station number is assigned to the error border key field.
💻 Technical Criteria
Given
A successfully extracted border station number from MC table
When
The system updates error index fields
Then
The border station number is assigned to the error border key field
R-GCCUSIO-cbl-00320
Call MC Table Lookup for Border Station
Action Rules
📊 Business Logic Narrative
When the process 'Call MC Table Lookup for Border Station' is invoked, and assuming that a location id is available for border station lookup, when the system needs to determine the border station number, the desired outcome is that the mc table lookup service is called with function code 'gu', table id 'mc', and the location id as sequence identifier.
💻 Technical Criteria
Given
A location ID is available for border station lookup
When
The system needs to determine the border station number
Then
The MC table lookup service is called with function code 'GU', table ID 'MC', and the location ID as sequence identifier
R-GCCUSIO-cbl-00321
Table Lookup Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Table Lookup Successful?' is invoked, and assuming that an mc table lookup has been performed for border station information, when the system checks the lookup result, the desired outcome is that if the return flag equals '0', the lookup is considered successful and border station processing continues, otherwise border index processing is skipped.
💻 Technical Criteria
Given
An MC table lookup has been performed for border station information
When
The system checks the lookup result
Then
If the return flag equals '0', the lookup is considered successful and border station processing continues, otherwise border index processing is skipped
R-GCCUSIO-cbl-00322
Extract Border Station Number from MC Table
Process Rules
📊 Business Logic Narrative
When the process 'Extract Border Station Number from MC Table' is invoked, and assuming that mc table lookup has returned successfully with table segment data, when the system processes the returned mc table segment, the desired outcome is that the border station number is extracted from the mc segment station number field.
💻 Technical Criteria
Given
MC table lookup has returned successfully with table segment data
When
The system processes the returned MC table segment
Then
The border station number is extracted from the MC segment station number field
R-GCCUSIO-cbl-00323
Set Border Error Index Key with Station Number
Process Rules
📊 Business Logic Narrative
When the process 'Set Border Error Index Key with Station Number' is invoked, and assuming that a border station number has been successfully retrieved from mc table lookup, when the system builds the border error index key, the desired outcome is that the border error index key is set with the retrieved border station number.
💻 Technical Criteria
Given
A border station number has been successfully retrieved from MC table lookup
When
The system builds the border error index key
Then
The border error index key is set with the retrieved border station number
R-GCCUSIO-cbl-00328
Set GCB1-KEY-ECODE-DEST = 'E'
Action Rules
📊 Business Logic Narrative
When the process 'Set GCB1-KEY-ECODE-DEST = 'E'' is invoked, and assuming that the destination error index is being created or updated, when the error code field needs to be set, the desired outcome is that the gcb1-key-ecode-dest field must be set to 'e'.
💻 Technical Criteria
Given
The destination error index is being created or updated
When
The error code field needs to be set
Then
The GCB1-KEY-ECODE-DEST field must be set to 'E'
R-GCCUSIO-cbl-00150
Any Other Index Types Active?
Decision Rules
📊 Business Logic Narrative
When the process 'Any Other Index Types Active?' is invoked, and assuming that hold index fields have been cleared and an existing index record is found, when the system checks for other active index types, the desired outcome is that the system determines if error indexes (error-dest-index, error-orig-index, error-border-index) contain data to decide record retention.
💻 Technical Criteria
Given
Hold index fields have been cleared and an existing index record is found
When
The system checks for other active index types
Then
The system determines if error indexes (error-dest-index, error-orig-index, error-border-index) contain data to decide record retention
R-GCCUSIO-cbl-00341
Table Lookup Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Table Lookup Successful?' is invoked, and assuming that mc table lookup has been performed for border station information, when the table lookup return flag equals '0', the desired outcome is that the lookup is considered successful and station number extraction proceeds.
💻 Technical Criteria
Given
MC table lookup has been performed for border station information
When
The table lookup return flag equals '0'
Then
The lookup is considered successful and station number extraction proceeds
R-GCCUSIO-cbl-00342
Extract Station Number from MC Table
Process Rules
📊 Business Logic Narrative
When the process 'Extract Station Number from MC Table' is invoked, and assuming that successful mc table lookup with valid table segment data, when station information is available in the mc table segment, the desired outcome is that the mc station number is extracted and prepared for border hold index key population.
💻 Technical Criteria
Given
Successful MC table lookup with valid table segment data
When
Station information is available in the MC table segment
Then
The MC station number is extracted and prepared for border hold index key population
R-GCCUSIO-cbl-00343
Set Border Hold Index Key
Process Rules
📊 Business Logic Narrative
When the process 'Set Border Hold Index Key' is invoked, and assuming that valid border station number extracted from mc table, when border hold index requires population, the desired outcome is that the border hold index key is set with the extracted mc station number.
💻 Technical Criteria
Given
Valid border station number extracted from MC table
When
Border hold index requires population
Then
The border hold index key is set with the extracted MC station number
R-GCCUSIO-cbl-00166
Separate Key from Data
Process Rules
📊 Business Logic Narrative
When the process 'Separate Key from Data' is invoked, and assuming that a gcsa8rt message has been successfully retrieved, when the message data needs to be returned to the caller, the desired outcome is that extract the data portion from the complete message segment and move it to the io area, excluding the key portion.
💻 Technical Criteria
Given
A GCSA8RT message has been successfully retrieved
When
The message data needs to be returned to the caller
Then
Extract the data portion from the complete message segment and move it to the IO area, excluding the key portion
R-GCCUSIO-cbl-00368
Message Operation Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Message Operation Type?' is invoked, and assuming that a message operation request is received for gcsa8rt segment, when the system evaluates the function code, the desired outcome is that the system routes to delete processing for 'dlet', insert processing for 'isrt', or retrieval processing for 'gu' function codes.
💻 Technical Criteria
Given
A message operation request is received for GCSA8RT segment
When
The system evaluates the function code
Then
The system routes to delete processing for 'DLET', insert processing for 'ISRT', or retrieval processing for 'GU' function codes
R-GCCUSIO-cbl-00546
Move Data Portion to IO Area
Process Rules
📊 Business Logic Narrative
When the process 'Move Data Portion to IO Area' is invoked, and assuming that message segment data has been extracted to working storage, when preparing retrieval operation response, the desired outcome is that only the data portion must be moved back to the gcwusio io area.
💻 Technical Criteria
Given
Message segment data has been extracted to working storage
When
Preparing retrieval operation response
Then
Only the data portion must be moved back to the GCWUSIO IO area
R-GCCUSIO-cbl-00653
Message Data Formatted for Return
Process Rules
📊 Business Logic Narrative
When the process 'Message Data Formatted for Return' is invoked, and assuming that a gcsa8rt segment retrieve operation is requested with function code 'gu', when the system successfully retrieves the record, the desired outcome is that the system moves the complete io area to a work segment, extracts only the data portion from the work segment, and moves the extracted data back to the io area for return.
💻 Technical Criteria
Given
A GCSA8RT segment retrieve operation is requested with function code 'GU'
When
The system successfully retrieves the record
Then
The system moves the complete IO area to a work segment, extracts only the data portion from the work segment, and moves the extracted data back to the IO area for return
R-GCCUSIO-cbl-00383
Extract Border Station Number from Table
Process Rules
📊 Business Logic Narrative
When the process 'Extract Border Station Number from Table' is invoked, and assuming that the mc table lookup returns successful results with return flag '0', when the system processes the table lookup results, the desired outcome is that the border station number is extracted from the mc segment station number field for error index population.
💻 Technical Criteria
Given
The MC table lookup returns successful results with return flag '0'
When
The system processes the table lookup results
Then
The border station number is extracted from the MC segment station number field for error index population
R-GCCUSIO-cbl-00547
Initialize Table Lookup Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Table Lookup Parameters' is invoked, and assuming that a border station lookup is required for error index population, when the system prepares to lookup border station information, the desired outcome is that all table lookup parameters are cleared to spaces and flags are reset to ensure clean initialization.
💻 Technical Criteria
Given
A border station lookup is required for error index population
When
The system prepares to lookup border station information
Then
All table lookup parameters are cleared to spaces and flags are reset to ensure clean initialization
R-GCCUSIO-cbl-00548
Set Function Code to 'GU'
Action Rules
📊 Business Logic Narrative
When the process 'Set Function Code to 'GU'' is invoked, and assuming that border station lookup parameters are initialized, when the system prepares to retrieve border station information, the desired outcome is that the function code is set to 'gu' to perform a unique record retrieval.
💻 Technical Criteria
Given
Border station lookup parameters are initialized
When
The system prepares to retrieve border station information
Then
The function code is set to 'GU' to perform a unique record retrieval
R-GCCUSIO-cbl-00549
Set Table ID to 'MC'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Table ID to 'MC'' is invoked, and assuming that function code is set for border station lookup, when the system identifies which table contains border station data, the desired outcome is that the table id is set to 'mc' to access the border station reference table.
💻 Technical Criteria
Given
Function code is set for border station lookup
When
The system identifies which table contains border station data
Then
The table ID is set to 'MC' to access the border station reference table
R-GCCUSIO-cbl-00551
Call Table Lookup Service GCCTBIO
Action Rules
📊 Business Logic Narrative
When the process 'Call Table Lookup Service GCCTBIO' is invoked, and assuming that all lookup parameters are set with mc table id and location id, when the system executes the border station lookup, the desired outcome is that the gcctbio table lookup service is called with the prepared parameters to retrieve border station data.
💻 Technical Criteria
Given
All lookup parameters are set with MC table ID and location ID
When
The system executes the border station lookup
Then
The GCCTBIO table lookup service is called with the prepared parameters to retrieve border station data
R-GCCUSIO-cbl-00552
Lookup Successful?
Decision Rules
📊 Business Logic Narrative
When the process 'Lookup Successful?' is invoked, and assuming that border station table lookup service has been executed, when the system checks the lookup result, the desired outcome is that if return flag equals '0' then lookup is successful, otherwise lookup failed.
💻 Technical Criteria
Given
Border station table lookup service has been executed
When
The system checks the lookup result
Then
If return flag equals '0' then lookup is successful, otherwise lookup failed
R-GCCUSIO-cbl-00553
Extract Border Station Number from MC Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Border Station Number from MC Segment' is invoked, and assuming that border station lookup was successful with return flag '0', when the system processes the retrieved mc table segment, the desired outcome is that the border station number is extracted from the mc segment and made available for error index population.
💻 Technical Criteria
Given
Border station lookup was successful with return flag '0'
When
The system processes the retrieved MC table segment
Then
The border station number is extracted from the MC segment and made available for error index population
R-GCCUSIO-cbl-00658
Extract Station Information - Station Number - Border Station Data
Process Rules
📊 Business Logic Narrative
When the process 'Extract Station Information - Station Number - Border Station Data' is invoked, and assuming that a table lookup operation has been performed and gcctbio returns success flag '0', when the system processes the returned table segment data, the desired outcome is that the system extracts the relevant business data from ws-table-segment into the appropriate fields such as station numbers for mc tables or notification settings for ih tables.
💻 Technical Criteria
Given
A table lookup operation has been performed and GCCTBIO returns success flag '0'
When
The system processes the returned table segment data
Then
The system extracts the relevant business data from WS-TABLE-SEGMENT into the appropriate fields such as station numbers for MC tables or notification settings for IH tables
R-GCCUSIO-cbl-00391
Station Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Station Found?' is invoked, and assuming that the system has performed an mc table lookup for border station information, when the table lookup returns a successful result with return flag '0', the desired outcome is that the system assigns the retrieved station number to the border hold index, otherwise no border station assignment occurs.
💻 Technical Criteria
Given
The system has performed an MC table lookup for border station information
When
The table lookup returns a successful result with return flag '0'
Then
The system assigns the retrieved station number to the border hold index, otherwise no border station assignment occurs
R-GCCUSIO-cbl-00782
Extract Station Number from MC Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Station Number from MC Segment' is invoked, and assuming that station information was successfully found in mc table, when the system processes the retrieved station data, the desired outcome is that the station number is extracted from the mc segment for use in border location processing.
💻 Technical Criteria
Given
Station information was successfully found in MC table
When
The system processes the retrieved station data
Then
The station number is extracted from the MC segment for use in border location processing
R-GCCUSIO-cbl-00213
Set Border Station from Table
Decision Rules
📊 Business Logic Narrative
When the process 'Set Border Station from Table' is invoked, and assuming that an mc table lookup has been performed and returned successfully with return flag '0', when the system processes the table lookup results for border station determination, the desired outcome is that the station number is extracted from the mc table segment and assigned to the error border index field with error code 'e'.
💻 Technical Criteria
Given
An MC table lookup has been performed and returned successfully with return flag '0'
When
The system processes the table lookup results for border station determination
Then
The station number is extracted from the MC table segment and assigned to the error border index field with error code 'E'
R-GCCUSIO-cbl-00438
Initialize MC Table Lookup Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize MC Table Lookup Parameters' is invoked, and assuming that a need to lookup border station code from mc table, when the system prepares to perform mc table lookup, the desired outcome is that all lookup parameters are cleared and initialized to spaces, and function code is set to 'gu' for retrieval.
💻 Technical Criteria
Given
A need to lookup border station code from MC table
When
The system prepares to perform MC table lookup
Then
All lookup parameters are cleared and initialized to spaces, and function code is set to 'GU' for retrieval
R-GCCUSIO-cbl-00816
Extract Border Station Number from Table
Process Rules
📊 Business Logic Narrative
When the process 'Extract Border Station Number from Table' is invoked, and assuming that the mc table lookup returns a successful result with station information, when the system processes the table lookup response, the desired outcome is that the border station number is extracted from the mc-station-num field in the table segment and assigned to the error border key.
💻 Technical Criteria
Given
The MC table lookup returns a successful result with station information
When
The system processes the table lookup response
Then
The border station number is extracted from the MC-STATION-NUM field in the table segment and assigned to the error border key
R-GCCUSIO-cbl-00824
Use Border Station Number
Decision Rules
📊 Business Logic Narrative
When the process 'Use Border Station Number' is invoked, and assuming that the mc table lookup has been performed for border station information, when the table lookup returns successfully with return flag '0', the desired outcome is that the system uses the retrieved station number from the table segment to set the border hold index.
💻 Technical Criteria
Given
The MC table lookup has been performed for border station information
When
The table lookup returns successfully with return flag '0'
Then
The system uses the retrieved station number from the table segment to set the border hold index
R-GCCUSIO-cbl-00490
Update GCSB1RT with Cleared Hold Fields
Process Rules
📊 Business Logic Narrative
When the process 'Update GCSB1RT with Cleared Hold Fields' is invoked, and assuming that a gcsb1rt index record with cleared hold fields and existing error index entries, when at least one of the error destination index, error origin index, or error border index contains data, the desired outcome is that the system updates the gcsb1rt record with cleared hold fields while preserving error index entries.
💻 Technical Criteria
Given
A GCSB1RT index record with cleared hold fields and existing error index entries
When
At least one of the error destination index, error origin index, or error border index contains data
Then
The system updates the GCSB1RT record with cleared hold fields while preserving error index entries
🔁 EDI, Status & Database
126 logic blocks
R-GCCUSIO-cbl-00003
1:Parameter Validation
Policy Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '1:Parameter Validation', assuming that a request targets gcst2rt segment, when the function code is not gu (get unique), the desired outcome is that the system rejects the request with error code 0012 and message 'invalid function code'.
💻 Technical Criteria
EXCLUDING
A request targets GCST2RT segment
When
The function code is not GU (Get Unique)
Then
The system rejects the request with error code 0012 and message 'INVALID FUNCTION CODE'
R-GCCUSIO-cbl-00023
12:GCSA8RT Message Processing
Decision Rules
📊 Business Logic Narrative
When the process '12:GCSA8RT Message Processing' is invoked, and assuming that a gcsa8rt message segment insert operation is requested, when a record with the same key already exists, perform replace operation; if no existing record, perform insert operation, the desired outcome is that the system executes the appropriate database operation and restructures the message data format.
💻 Technical Criteria
Given
A GCSA8RT message segment insert operation is requested
When
A record with the same key already exists, perform replace operation; if no existing record, perform insert operation
Then
The system executes the appropriate database operation and restructures the message data format
R-GCCUSIO-cbl-00027
Set Parameter Valid Flag to TRUE
Process Rules
📊 Business Logic Narrative
When the process 'Set Parameter Valid Flag to TRUE' is invoked, and assuming that the parameter validation process is starting, when the system begins validation, the desired outcome is that the parameter valid flag should be set to true as the initial state.
💻 Technical Criteria
Given
The parameter validation process is starting
When
The system begins validation
Then
The parameter valid flag should be set to TRUE as the initial state
R-GCCUSIO-cbl-00028
Get Current Machine Time
Process Rules
📊 Business Logic Narrative
When the process 'Get Current Machine Time' is invoked, and assuming that the system is initializing for parameter validation, when time capture is required, the desired outcome is that the current machine time should be stored in working storage for later use.
💻 Technical Criteria
Given
The system is initializing for parameter validation
When
Time capture is required
Then
The current machine time should be stored in working storage for later use
R-GCCUSIO-cbl-00030
Is Function Code Valid?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is Function Code Valid?', assuming that a function code is provided for processing, when the function code is not equal to 'gu ' and not equal to 'gn ' and not equal to 'isrt' and not equal to 'repl' and not equal to 'dlet', the desired outcome is that the parameter should be marked as invalid with error code '0012' and message 'function code invalid'.
💻 Technical Criteria
EXCLUDING
A function code is provided for processing
When
The function code is not equal to 'GU ' and not equal to 'GN ' and not equal to 'ISRT' and not equal to 'REPL' and not equal to 'DLET'
Then
The parameter should be marked as invalid with error code '0012' and message 'FUNCTION CODE INVALID'
R-GCCUSIO-cbl-00031
Special Validation: GCST2RT with Non-GU Function?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Special Validation: GCST2RT with Non-GU Function?', assuming that the segment name is gcst2rt, when the function code is not 'gu ', the desired outcome is that the parameter should be marked as invalid with error code '0012' and message 'invalid function code'.
💻 Technical Criteria
EXCLUDING
The segment name is GCST2RT
When
The function code is not 'GU '
Then
The parameter should be marked as invalid with error code '0012' and message 'INVALID FUNCTION CODE'
R-GCCUSIO-cbl-00627
Set Function Code
Process Rules
📊 Business Logic Narrative
When the process 'Set Function Code' is invoked, and assuming that a database operation needs to be executed, when the system prepares database call parameters, the desired outcome is that the function code is set to the requested operation type (gu, gn, isrt, repl, dlet, ghu, zap).
💻 Technical Criteria
Given
A database operation needs to be executed
When
The system prepares database call parameters
Then
The function code is set to the requested operation type (GU, GN, ISRT, REPL, DLET, GHU, ZAP)
R-GCCUSIO-cbl-00628
Set PCB Control Block
Process Rules
📊 Business Logic Narrative
When the process 'Set PCB Control Block' is invoked, and assuming that a database operation is being prepared for a specific segment type, when the system sets up the database call parameters, the desired outcome is that the appropriate pcb is assigned to the working storage pcb field based on the target segment.
💻 Technical Criteria
Given
A database operation is being prepared for a specific segment type
When
The system sets up the database call parameters
Then
The appropriate PCB is assigned to the working storage PCB field based on the target segment
R-GCCUSIO-cbl-00630
Execute CIMS Database Call
Action Rules
📊 Business Logic Narrative
When the process 'Execute CIMS Database Call' is invoked, and assuming that database call parameters are prepared with function code, pcb, and ssa, when the system executes the database operation, the desired outcome is that the cims program is called with the communication area, function code, pcb, io area, and ssa parameters.
💻 Technical Criteria
Given
Database call parameters are prepared with function code, PCB, and SSA
When
The system executes the database operation
Then
The CIMS program is called with the communication area, function code, PCB, IO area, and SSA parameters
R-GCCUSIO-cbl-00631
Database Call Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Database Call Successful?' is invoked, and assuming that a database operation has been executed through cims, when the system checks the operation result, the desired outcome is that if cc-status-code is spaces, the operation is successful, otherwise it indicates an error or not found condition.
💻 Technical Criteria
Given
A database operation has been executed through CIMS
When
The system checks the operation result
Then
If CC-STATUS-CODE is spaces, the operation is successful, otherwise it indicates an error or not found condition
R-GCCUSIO-cbl-00632
Return Retrieved Data
Process Rules
📊 Business Logic Narrative
When the process 'Return Retrieved Data' is invoked, and assuming that a database retrieval operation completed successfully, when data is returned from the database, the desired outcome is that the retrieved segment data is available in the gcwusio-io-area for further processing.
💻 Technical Criteria
Given
A database retrieval operation completed successfully
When
Data is returned from the database
Then
The retrieved segment data is available in the GCWUSIO-IO-AREA for further processing
R-GCCUSIO-cbl-00633
Set Error Status
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Error Status', assuming that a database operation failed or returned not found, when the system processes the unsuccessful operation result, the desired outcome is that the error status code is preserved in cc-status-code for the calling program to handle appropriately.
💻 Technical Criteria
EXCLUDING
A database operation failed or returned not found
When
The system processes the unsuccessful operation result
Then
The error status code is preserved in CC-STATUS-CODE for the calling program to handle appropriately
R-GCCUSIO-cbl-00285
Origin Error Record Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Origin Error Record Found?' is invoked, and assuming that a search for origin error record has been executed, when the system checks the database operation status code, the desired outcome is that if status code is spaces then record is found, otherwise no record found.
💻 Technical Criteria
Given
A search for origin error record has been executed
When
The system checks the database operation status code
Then
If status code is spaces then record is found, otherwise no record found
R-GCCUSIO-cbl-00299
Retrieve GCSB1RT Index Record
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve GCSB1RT Index Record' is invoked, and assuming that a hold index search is being performed with valid index keys, when the system calls cims with the function code, pcb, gcsb1rt record, and qualified ssa, the desired outcome is that the system retrieves the gcsb1rt index record from the database and the status code indicates success or failure.
💻 Technical Criteria
Given
A hold index search is being performed with valid index keys
When
The system calls CIMS with the function code, PCB, GCSB1RT record, and qualified SSA
Then
The system retrieves the GCSB1RT index record from the database and the status code indicates success or failure
R-GCCUSIO-cbl-00311
Set Function Code to 'GU'
Action Rules
📊 Business Logic Narrative
When the process 'Set Function Code to 'GU'' is invoked, and assuming that a table lookup request is being prepared, when the system configures the database operation type, the desired outcome is that the function code is set to 'gu' for get unique operation.
💻 Technical Criteria
Given
A table lookup request is being prepared
When
The system configures the database operation type
Then
The function code is set to 'GU' for Get Unique operation
R-GCCUSIO-cbl-00314
Call Table Lookup Service GCCTBIO
Action Rules
📊 Business Logic Narrative
When the process 'Call Table Lookup Service GCCTBIO' is invoked, and assuming that all table lookup parameters are properly configured, when the system needs to retrieve mc table data, the desired outcome is that the gcctbio service is called with the configured parameters to perform the table lookup.
💻 Technical Criteria
Given
All table lookup parameters are properly configured
When
The system needs to retrieve MC table data
Then
The GCCTBIO service is called with the configured parameters to perform the table lookup
R-GCCUSIO-cbl-00315
Table Lookup Successful?
Decision Rules
📊 Business Logic Narrative
When the process 'Table Lookup Successful?' is invoked, and assuming that a completed mc table lookup operation, when the system evaluates the lookup result, the desired outcome is that if return flag equals '0' then lookup is successful, otherwise lookup failed.
💻 Technical Criteria
Given
A completed MC table lookup operation
When
The system evaluates the lookup result
Then
If return flag equals '0' then lookup is successful, otherwise lookup failed
R-GCCUSIO-cbl-00151
Delete Index Record
Process Rules
📊 Business Logic Narrative
When the process 'Delete Index Record' is invoked, and assuming that hold index fields are cleared and no error index fields contain data, when the system determines index record is no longer needed, the desired outcome is that the system deletes the gcsb1rt index record completely.
💻 Technical Criteria
Given
Hold index fields are cleared and no error index fields contain data
When
The system determines index record is no longer needed
Then
The system deletes the GCSB1RT index record completely
R-GCCUSIO-cbl-00152
Update Index Record
Process Rules
📊 Business Logic Narrative
When the process 'Update Index Record' is invoked, and assuming that hold index fields are cleared but error index fields contain data, when the system processes index record maintenance, the desired outcome is that the system replaces the index record with cleared hold fields but preserved error field information.
💻 Technical Criteria
Given
Hold index fields are cleared but error index fields contain data
When
The system processes index record maintenance
Then
The system replaces the index record with cleared hold fields but preserved error field information
R-GCCUSIO-cbl-00347
Set Accept Status to GE
Process Rules
📊 Business Logic Narrative
When the process 'Set Accept Status to GE' is invoked, and assuming that a secondary record existence check is being performed, when the system prepares the database call parameters, the desired outcome is that the accept status is set to 'ge' to handle both found and not-found scenarios gracefully.
💻 Technical Criteria
Given
A secondary record existence check is being performed
When
The system prepares the database call parameters
Then
The accept status is set to 'GE' to handle both found and not-found scenarios gracefully
R-GCCUSIO-cbl-00351
Set Not Found Flag - No Record
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Not Found Flag - No Record', assuming that a database retrieval operation has been completed, when the status code is 'ge' (record not found), the desired outcome is that the system sets the not-found flag and prepares for insert operation if data is provided.
💻 Technical Criteria
EXCLUDING
A database retrieval operation has been completed
When
The status code is 'GE' (record not found)
Then
The system sets the not-found flag and prepares for insert operation if data is provided
R-GCCUSIO-cbl-00527
Set PCB Path for Secondary Database
Process Rules
📊 Business Logic Narrative
When the process 'Set PCB Path for Secondary Database' is invoked, and assuming that secondary key mapping is completed successfully, when configuring database access parameters, the desired outcome is that set the pcb (program communication block) to gca2-pcb for secondary database path.
💻 Technical Criteria
Given
Secondary key mapping is completed successfully
When
Configuring database access parameters
Then
Set the PCB (Program Communication Block) to GCA2-PCB for secondary database path
R-GCCUSIO-cbl-00528
Construct Qualified SSA Statement
Process Rules
📊 Business Logic Narrative
When the process 'Construct Qualified SSA Statement' is invoked, and assuming that database path is configured and search key is mapped, when finalizing ssa parameters for database access, the desired outcome is that set the ssa statement to gca2-ssa-qual (qualified ssa) for targeted record retrieval.
💻 Technical Criteria
Given
Database path is configured and search key is mapped
When
Finalizing SSA parameters for database access
Then
Set the SSA statement to GCA2-SSA-QUAL (qualified SSA) for targeted record retrieval
R-GCCUSIO-cbl-00160
Check if Message Exists
Process Rules
📊 Business Logic Narrative
When the process 'Check if Message Exists' is invoked, and assuming that a gcsa8rt message delete request, when the delete function is initiated, the desired outcome is that first perform a ghu (get hold unique) operation to check if the message exists.
💻 Technical Criteria
Given
A GCSA8RT message delete request
When
The delete function is initiated
Then
First perform a GHU (Get Hold Unique) operation to check if the message exists
R-GCCUSIO-cbl-00161
Message Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Message Found?' is invoked, and assuming that a gcsa8rt message delete request has been processed, when the message exists in the system (status code is spaces), the desired outcome is that proceed with the delete operation using dlet function code.
💻 Technical Criteria
Given
A GCSA8RT message delete request has been processed
When
The message exists in the system (status code is spaces)
Then
Proceed with the delete operation using DLET function code
R-GCCUSIO-cbl-00162
Check if Message Exists
Process Rules
📊 Business Logic Narrative
When the process 'Check if Message Exists' is invoked, and assuming that a gcsa8rt message insert request, when the insert function is initiated, the desired outcome is that first perform a ghu operation to check if the message already exists.
💻 Technical Criteria
Given
A GCSA8RT message insert request
When
The insert function is initiated
Then
First perform a GHU operation to check if the message already exists
R-GCCUSIO-cbl-00163
Message Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Message Found?' is invoked, and assuming that a gcsa8rt message insert request has checked for existing message, when the message already exists in the system (status code is spaces), the desired outcome is that use repl function code to replace the existing message, otherwise use isrt function code to insert new message.
💻 Technical Criteria
Given
A GCSA8RT message insert request has checked for existing message
When
The message already exists in the system (status code is spaces)
Then
Use REPL function code to replace the existing message, otherwise use ISRT function code to insert new message
R-GCCUSIO-cbl-00164
Format Message Data
Process Rules
📊 Business Logic Narrative
When the process 'Format Message Data' is invoked, and assuming that a gcsa8rt message insert or replace operation, when the message data needs to be stored, the desired outcome is that combine the gcsa8rt key with the saved io area data to create the complete message segment.
💻 Technical Criteria
Given
A GCSA8RT message insert or replace operation
When
The message data needs to be stored
Then
Combine the GCSA8RT key with the saved IO area data to create the complete message segment
R-GCCUSIO-cbl-00165
Retrieve Message Segment
Process Rules
📊 Business Logic Narrative
When the process 'Retrieve Message Segment' is invoked, and assuming that a gcsa8rt message retrieval request with function code gu, when the retrieval operation is initiated, the desired outcome is that build qualified ssa with the message key and perform the database call.
💻 Technical Criteria
Given
A GCSA8RT message retrieval request with function code GU
When
The retrieval operation is initiated
Then
Build qualified SSA with the message key and perform the database call
R-GCCUSIO-cbl-00365
Structure Message for Insert/Replace
Process Rules
📊 Business Logic Narrative
When the process 'Structure Message for Insert/Replace' is invoked, and assuming that a message insert operation is requested with message data containing key and content information, when the system processes the insert operation for gcsa8rt segment, the desired outcome is that the system extracts the message key from the input, extracts the data content, combines the key and data into a properly structured message segment, and prepares it for database storage.
💻 Technical Criteria
Given
A message insert operation is requested with message data containing key and content information
When
The system processes the insert operation for GCSA8RT segment
Then
The system extracts the message key from the input, extracts the data content, combines the key and data into a properly structured message segment, and prepares it for database storage
R-GCCUSIO-cbl-00366
Extract Data Content from Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Data Content from Segment' is invoked, and assuming that a message retrieval operation is requested for gcsa8rt segment, when the system successfully retrieves the message segment from storage, the desired outcome is that the system extracts the data content from the retrieved segment structure and formats it for return to the calling program.
💻 Technical Criteria
Given
A message retrieval operation is requested for GCSA8RT segment
When
The system successfully retrieves the message segment from storage
Then
The system extracts the data content from the retrieved segment structure and formats it for return to the calling program
R-GCCUSIO-cbl-00369
Structure Message for Insert/Replace
Decision Rules
📊 Business Logic Narrative
When the process 'Structure Message for Insert/Replace' is invoked, and assuming that an insert operation is requested for a message segment, when the system attempts to retrieve the existing message using ghu function, the desired outcome is that if the message exists, the system performs a replace operation; if the message does not exist, the system performs an insert operation.
💻 Technical Criteria
Given
An insert operation is requested for a message segment
When
The system attempts to retrieve the existing message using GHU function
Then
If the message exists, the system performs a replace operation; if the message does not exist, the system performs an insert operation
R-GCCUSIO-cbl-00535
Save Original IO Area
Process Rules
📊 Business Logic Narrative
When the process 'Save Original IO Area' is invoked, and assuming that a message segment insert or replace operation is being performed, when the operation type is isrt or repl, the desired outcome is that the original io area content must be saved to working storage before any modifications.
💻 Technical Criteria
Given
A message segment insert or replace operation is being performed
When
The operation type is ISRT or REPL
Then
The original IO area content must be saved to working storage before any modifications
R-GCCUSIO-cbl-00536
Extract Message Key from Input
Process Rules
📊 Business Logic Narrative
When the process 'Extract Message Key from Input' is invoked, and assuming that a message segment operation requires key extraction, when the operation is insert or replace, the desired outcome is that the message key must be extracted from the gcwusio input area to the working storage key field.
💻 Technical Criteria
Given
A message segment operation requires key extraction
When
The operation is insert or replace
Then
The message key must be extracted from the GCWUSIO input area to the working storage key field
R-GCCUSIO-cbl-00537
Extract Message Data from Input
Process Rules
📊 Business Logic Narrative
When the process 'Extract Message Data from Input' is invoked, and assuming that a message segment requires data extraction, when processing insert or replace operations, the desired outcome is that the message data content must be extracted from the saved io area to working storage data field.
💻 Technical Criteria
Given
A message segment requires data extraction
When
Processing insert or replace operations
Then
The message data content must be extracted from the saved IO area to working storage data field
R-GCCUSIO-cbl-00540
Combine Key and Data into Segment Format
Process Rules
📊 Business Logic Narrative
When the process 'Combine Key and Data into Segment Format' is invoked, and assuming that message key and data are in working storage fields, when creating a structured segment for database operations, the desired outcome is that the key and data must be combined into the complete segment structure in working storage.
💻 Technical Criteria
Given
Message key and data are in working storage fields
When
Creating a structured segment for database operations
Then
The key and data must be combined into the complete segment structure in working storage
R-GCCUSIO-cbl-00541
Move Structured Segment to IO Area
Process Rules
📊 Business Logic Narrative
When the process 'Move Structured Segment to IO Area' is invoked, and assuming that a complete segment structure exists in working storage, when preparing for database insert or replace operation, the desired outcome is that the structured segment must be moved to the gcwusio io area.
💻 Technical Criteria
Given
A complete segment structure exists in working storage
When
Preparing for database insert or replace operation
Then
The structured segment must be moved to the GCWUSIO IO area
R-GCCUSIO-cbl-00542
Validate Key Not Spaces
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Key Not Spaces' is invoked, and assuming that a message segment retrieval operation is requested, when the function code is gu or gn and the message key is spaces, the desired outcome is that an error must be set indicating the key cannot be spaces.
💻 Technical Criteria
Given
A message segment retrieval operation is requested
When
The function code is GU or GN and the message key is spaces
Then
An error must be set indicating the key cannot be spaces
R-GCCUSIO-cbl-00544
Retrieve Message Segment
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Message Segment' is invoked, and assuming that a valid message key exists for retrieval, when processing gu operations with valid key, the desired outcome is that the message segment must be retrieved using the qualified ssa and appropriate pcb.
💻 Technical Criteria
Given
A valid message key exists for retrieval
When
Processing GU operations with valid key
Then
The message segment must be retrieved using the qualified SSA and appropriate PCB
R-GCCUSIO-cbl-00545
Extract Segment into Working Storage
Process Rules
📊 Business Logic Narrative
When the process 'Extract Segment into Working Storage' is invoked, and assuming that a message segment has been successfully retrieved, when processing the retrieved segment data, the desired outcome is that the complete segment must be moved to working storage for data extraction.
💻 Technical Criteria
Given
A message segment has been successfully retrieved
When
Processing the retrieved segment data
Then
The complete segment must be moved to working storage for data extraction
R-GCCUSIO-cbl-00650
Delete Operation Completed
Process Rules
📊 Business Logic Narrative
When the process 'Delete Operation Completed' is invoked, and assuming that a gcsa8rt segment delete operation is requested with function code 'dlet', when the system processes the delete request, the desired outcome is that the system retrieves the existing record first using 'ghu' function and if the record exists, deletes it using 'dlet' function with unqualified ssa.
💻 Technical Criteria
Given
A GCSA8RT segment delete operation is requested with function code 'DLET'
When
The system processes the delete request
Then
The system retrieves the existing record first using 'GHU' function and if the record exists, deletes it using 'DLET' function with unqualified SSA
R-GCCUSIO-cbl-00651
Insert/Replace Operation Completed
Decision Rules
📊 Business Logic Narrative
When the process 'Insert/Replace Operation Completed' is invoked, and assuming that a gcsa8rt segment insert operation is requested with function code 'isrt', when the system processes the insert request, the desired outcome is that the system first attempts to retrieve existing record with 'ghu' function, and if record exists performs 'repl' operation, otherwise performs 'isrt' operation with the formatted segment data.
💻 Technical Criteria
Given
A GCSA8RT segment insert operation is requested with function code 'ISRT'
When
The system processes the insert request
Then
The system first attempts to retrieve existing record with 'GHU' function, and if record exists performs 'REPL' operation, otherwise performs 'ISRT' operation with the formatted segment data
R-GCCUSIO-cbl-00652
Insert/Replace Operation Completed
Process Rules
📊 Business Logic Narrative
When the process 'Insert/Replace Operation Completed' is invoked, and assuming that a gcsa8rt insert or replace operation is being processed, when the system prepares the segment data for database operation, the desired outcome is that the system moves the gcsa8rt key to the segment key field and moves the saved io area data to the segment data field, then moves the complete formatted segment to the io area.
💻 Technical Criteria
Given
A GCSA8RT insert or replace operation is being processed
When
The system prepares the segment data for database operation
Then
The system moves the GCSA8RT key to the segment key field and moves the saved IO area data to the segment data field, then moves the complete formatted segment to the IO area
R-GCCUSIO-cbl-00168
Set Table ID to 'MC'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Table ID to 'MC'' is invoked, and assuming that a station information lookup is required, when the system needs to identify the correct table type, the desired outcome is that the table id is set to 'mc' and function code is set to 'gu' for station table lookup.
💻 Technical Criteria
Given
A station information lookup is required
When
The system needs to identify the correct table type
Then
The table ID is set to 'MC' and function code is set to 'GU' for station table lookup
R-GCCUSIO-cbl-00170
Call Table Lookup Service
Action Rules
📊 Business Logic Narrative
When the process 'Call Table Lookup Service' is invoked, and assuming that table parameters are initialized with mc table id and station key, when the system needs to retrieve station information, the desired outcome is that the gcctbio table lookup service is called with the prepared parameters to access table segments.
💻 Technical Criteria
Given
Table parameters are initialized with MC table ID and station key
When
The system needs to retrieve station information
Then
The GCCTBIO table lookup service is called with the prepared parameters to access table segments
R-GCCUSIO-cbl-00171
Table Record Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Table Record Found?' is invoked, and assuming that a table lookup operation has been performed, when the system checks the lookup result, the desired outcome is that if return flag equals '0' then station record is found, otherwise station record is not found.
💻 Technical Criteria
Given
A table lookup operation has been performed
When
The system checks the lookup result
Then
If return flag equals '0' then station record is found, otherwise station record is not found
R-GCCUSIO-cbl-00172
Extract Station Number
Process Rules
📊 Business Logic Narrative
When the process 'Extract Station Number' is invoked, and assuming that a station record is found in the mc table, when the system needs to extract station information, the desired outcome is that the table segment data is moved to mc segment structure and the mc station number is extracted for use.
💻 Technical Criteria
Given
A station record is found in the MC table
When
The system needs to extract station information
Then
The table segment data is moved to MC segment structure and the MC station number is extracted for use
R-GCCUSIO-cbl-00370
Clear GCSB1RT Work Area
Process Rules
📊 Business Logic Narrative
When the process 'Clear GCSB1RT Work Area' is invoked, and assuming that a request to retrieve an existing gcsb1rt index record, when the system begins the retrieval process, the desired outcome is that the gcsb1rt work area is cleared to spaces.
💻 Technical Criteria
Given
A request to retrieve an existing GCSB1RT index record
When
The system begins the retrieval process
Then
The GCSB1RT work area is cleared to spaces
R-GCCUSIO-cbl-00372
Set Database Status to Accept 'GE'
Process Rules
📊 Business Logic Narrative
When the process 'Set Database Status to Accept 'GE'' is invoked, and assuming that a request to retrieve a gcsb1rt record from the database, when the system prepares for database access, the desired outcome is that the database accept status is set to 'ge' to handle record not found conditions.
💻 Technical Criteria
Given
A request to retrieve a GCSB1RT record from the database
When
The system prepares for database access
Then
The database accept status is set to 'GE' to handle record not found conditions
R-GCCUSIO-cbl-00373
Set Function Code to 'GHU'
Process Rules
📊 Business Logic Narrative
When the process 'Set Function Code to 'GHU'' is invoked, and assuming that a need to retrieve a gcsb1rt record that may be updated, when the system sets up the database function code, the desired outcome is that the function code is set to 'ghu' to obtain exclusive access to the record.
💻 Technical Criteria
Given
A need to retrieve a GCSB1RT record that may be updated
When
The system sets up the database function code
Then
The function code is set to 'GHU' to obtain exclusive access to the record
R-GCCUSIO-cbl-00375
Record Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Record Found?' is invoked, and assuming that a database call response for gcsb1rt record retrieval, when the system evaluates the database status code, the desired outcome is that if status code equals spaces then record is found, otherwise record is not found.
💻 Technical Criteria
Given
A database call response for GCSB1RT record retrieval
When
The system evaluates the database status code
Then
If status code equals spaces then record is found, otherwise record is not found
R-GCCUSIO-cbl-00376
Set Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Found Flag' is invoked, and assuming that a successful database retrieval with status code equal to spaces, when the system processes the successful retrieval response, the desired outcome is that the gcsb1rt found flag is set to true.
💻 Technical Criteria
Given
A successful database retrieval with status code equal to spaces
When
The system processes the successful retrieval response
Then
The GCSB1RT found flag is set to true
R-GCCUSIO-cbl-00377
Set Not Found Flag
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Not Found Flag', assuming that a database retrieval with status code not equal to spaces, when the system processes the unsuccessful retrieval response, the desired outcome is that the gcsb1rt not found flag is set to true.
💻 Technical Criteria
EXCLUDING
A database retrieval with status code not equal to spaces
When
The system processes the unsuccessful retrieval response
Then
The GCSB1RT not found flag is set to true
R-GCCUSIO-cbl-00657
Set Generic Table Parameters - Function Code: 'GU' - Clear Return Flags
Process Rules
📊 Business Logic Narrative
When the process 'Set Generic Table Parameters - Function Code: 'GU' - Clear Return Flags' is invoked, and assuming that any table lookup operation is required regardless of table type, when the system initiates a table lookup through z1900-get-table-segment, the desired outcome is that the system sets function code to 'gu' (get unique), clears all return flags and secondary pcb flags, and prepares standard calling parameters for the gcctbio service.
💻 Technical Criteria
Given
Any table lookup operation is required regardless of table type
When
The system initiates a table lookup through Z1900-GET-TABLE-SEGMENT
Then
The system sets function code to 'GU' (Get Unique), clears all return flags and secondary PCB flags, and prepares standard calling parameters for the GCCTBIO service
R-GCCUSIO-cbl-00659
Set Return Flag to Not Found
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Return Flag to Not Found', assuming that a table lookup operation is performed through gcctbio service, when the table lookup returns a non-zero return flag indicating the table entry was not found, the desired outcome is that the system continues processing without the table data and does not perform operations that depend on the missing table information.
💻 Technical Criteria
EXCLUDING
A table lookup operation is performed through GCCTBIO service
When
The table lookup returns a non-zero return flag indicating the table entry was not found
Then
The system continues processing without the table data and does not perform operations that depend on the missing table information
R-GCCUSIO-cbl-00393
Set Table Lookup Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Set Table Lookup Parameters' is invoked, and assuming that a table lookup operation is required, when the system prepares for table lookup, the desired outcome is that all lookup parameter fields are cleared and function code is set to 'gu' (get unique).
💻 Technical Criteria
Given
A table lookup operation is required
When
The system prepares for table lookup
Then
All lookup parameter fields are cleared and function code is set to 'GU' (Get Unique)
R-GCCUSIO-cbl-00394
Set Table ID to 'IH'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Table ID to 'IH'' is invoked, and assuming that a table lookup operation for ih configuration, when the system sets the table identifier, the desired outcome is that the table id is set to 'ih' to identify the iron highway configuration table.
💻 Technical Criteria
Given
A table lookup operation for IH configuration
When
The system sets the table identifier
Then
The table ID is set to 'IH' to identify the Iron Highway configuration table
R-GCCUSIO-cbl-00396
Call Table Lookup Service
Action Rules
📊 Business Logic Narrative
When the process 'Call Table Lookup Service' is invoked, and assuming that table lookup parameters are configured with table id 'ih' and station code, when the system calls the table lookup service, the desired outcome is that the gcctbio service is invoked with the configured parameters to retrieve table segment data.
💻 Technical Criteria
Given
Table lookup parameters are configured with table ID 'IH' and station code
When
The system calls the table lookup service
Then
The GCCTBIO service is invoked with the configured parameters to retrieve table segment data
R-GCCUSIO-cbl-00397
IH Configuration Found?
Validation Rules
📊 Business Logic Narrative
When the process 'IH Configuration Found?' is invoked, and assuming that a table lookup service call has been executed, when the system checks the lookup result, the desired outcome is that configuration is found if the return flag equals '0', otherwise no configuration is available.
💻 Technical Criteria
Given
A table lookup service call has been executed
When
The system checks the lookup result
Then
Configuration is found if the return flag equals '0', otherwise no configuration is available
R-GCCUSIO-cbl-00398
Retrieve IH Station Settings
Process Rules
📊 Business Logic Narrative
When the process 'Retrieve IH Station Settings' is invoked, and assuming that ih configuration table lookup was successful, when the system processes the retrieved table segment, the desired outcome is that ih station settings are extracted and made available for notification processing.
💻 Technical Criteria
Given
IH configuration table lookup was successful
When
The system processes the retrieved table segment
Then
IH station settings are extracted and made available for notification processing
R-GCCUSIO-cbl-00554
Set Function Code to 'GU'
Process Rules
📊 Business Logic Narrative
When the process 'Set Function Code to 'GU'' is invoked, and assuming that the system needs to retrieve iron highway table configuration, when ih table lookup parameters are being initialized, the desired outcome is that the function code should be set to 'gu' for get unique operation.
💻 Technical Criteria
Given
The system needs to retrieve Iron Highway table configuration
When
IH table lookup parameters are being initialized
Then
The function code should be set to 'GU' for Get Unique operation
R-GCCUSIO-cbl-00555
Set Accept Status to 'GE'
Process Rules
📊 Business Logic Narrative
When the process 'Set Accept Status to 'GE'' is invoked, and assuming that the system is preparing to lookup iron highway table data, when table lookup parameters are being configured, the desired outcome is that the accept status should be set to 'ge' to handle table not found conditions gracefully.
💻 Technical Criteria
Given
The system is preparing to lookup Iron Highway table data
When
Table lookup parameters are being configured
Then
The accept status should be set to 'GE' to handle table not found conditions gracefully
R-GCCUSIO-cbl-00557
Set Table ID to 'IH'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Table ID to 'IH'' is invoked, and assuming that the system needs to access iron highway configuration data, when table lookup parameters are being set, the desired outcome is that the table id should be set to 'ih' to identify the iron highway configuration table.
💻 Technical Criteria
Given
The system needs to access Iron Highway configuration data
When
Table lookup parameters are being set
Then
The table ID should be set to 'IH' to identify the Iron Highway configuration table
R-GCCUSIO-cbl-00560
Clear Return Flag
Process Rules
📊 Business Logic Narrative
When the process 'Clear Return Flag' is invoked, and assuming that the system is preparing to call iron highway table lookup service, when return flag needs to be initialized, the desired outcome is that the return flag should be cleared to spaces to ensure accurate result detection.
💻 Technical Criteria
Given
The system is preparing to call Iron Highway table lookup service
When
Return flag needs to be initialized
Then
The return flag should be cleared to spaces to ensure accurate result detection
R-GCCUSIO-cbl-00561
Call Table Lookup Service
Action Rules
📊 Business Logic Narrative
When the process 'Call Table Lookup Service' is invoked, and assuming that all iron highway table lookup parameters have been prepared including function code, table id, and station search key, when the system needs to retrieve iron highway configuration data, the desired outcome is that the table lookup service should be called with the prepared parameters to retrieve the configuration segment.
💻 Technical Criteria
Given
All Iron Highway table lookup parameters have been prepared including function code, table ID, and station search key
When
The system needs to retrieve Iron Highway configuration data
Then
The table lookup service should be called with the prepared parameters to retrieve the configuration segment
R-GCCUSIO-cbl-00660
Initialize Table Lookup Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Table Lookup Parameters' is invoked, and assuming that a table lookup operation is requested, when the system prepares to call the table lookup service, the desired outcome is that all table lookup parameters are cleared to spaces and flags are reset to ensure clean initialization.
💻 Technical Criteria
Given
A table lookup operation is requested
When
The system prepares to call the table lookup service
Then
All table lookup parameters are cleared to spaces and flags are reset to ensure clean initialization
R-GCCUSIO-cbl-00661
Set Function Code to 'GU'
Action Rules
📊 Business Logic Narrative
When the process 'Set Function Code to 'GU'' is invoked, and assuming that a table lookup operation is being configured, when the system sets the operation type for table access, the desired outcome is that the function code is set to 'gu' to indicate a unique record retrieval operation.
💻 Technical Criteria
Given
A table lookup operation is being configured
When
The system sets the operation type for table access
Then
The function code is set to 'GU' to indicate a unique record retrieval operation
R-GCCUSIO-cbl-00662
Set Table ID to 'MC'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Table ID to 'MC'' is invoked, and assuming that a station information lookup is required, when the system configures the table identifier, the desired outcome is that the table id is set to 'mc' to target the station master table.
💻 Technical Criteria
Given
A station information lookup is required
When
The system configures the table identifier
Then
The table ID is set to 'MC' to target the station master table
R-GCCUSIO-cbl-00664
Clear Return Flag
Process Rules
📊 Business Logic Narrative
When the process 'Clear Return Flag' is invoked, and assuming that a table lookup operation is about to be executed, when the system prepares the return status indicator, the desired outcome is that the return flag is cleared to spaces to enable proper success/failure detection.
💻 Technical Criteria
Given
A table lookup operation is about to be executed
When
The system prepares the return status indicator
Then
The return flag is cleared to spaces to enable proper success/failure detection
R-GCCUSIO-cbl-00665
Call GCCTBIO Table Service
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCTBIO Table Service' is invoked, and assuming that all table lookup parameters are properly configured, when the system executes the table lookup operation, the desired outcome is that the gcctbio service is called with the function code, table identifiers, and search keys to retrieve the requested data.
💻 Technical Criteria
Given
All table lookup parameters are properly configured
When
The system executes the table lookup operation
Then
The GCCTBIO service is called with the function code, table identifiers, and search keys to retrieve the requested data
R-GCCUSIO-cbl-00666
Return Flag = '0'?
Validation Rules
📊 Business Logic Narrative
When the process 'Return Flag = '0'?' is invoked, and assuming that a table lookup operation has been executed, when the system evaluates the operation result, the desired outcome is that if the return flag equals '0', the lookup is considered successful, otherwise it indicates the record was not found.
💻 Technical Criteria
Given
A table lookup operation has been executed
When
The system evaluates the operation result
Then
If the return flag equals '0', the lookup is considered successful, otherwise it indicates the record was not found
R-GCCUSIO-cbl-00667
Extract Station Information
Process Rules
📊 Business Logic Narrative
When the process 'Extract Station Information' is invoked, and assuming that a table lookup operation returned successfully with return flag '0', when the system processes the retrieved table data, the desired outcome is that station information is extracted from the table segment for use in subsequent processing.
💻 Technical Criteria
Given
A table lookup operation returned successfully with return flag '0'
When
The system processes the retrieved table data
Then
Station information is extracted from the table segment for use in subsequent processing
R-GCCUSIO-cbl-00668
Move Table Segment to Working Storage
Process Rules
📊 Business Logic Narrative
When the process 'Move Table Segment to Working Storage' is invoked, and assuming that table data has been successfully retrieved and station information extracted, when the system prepares to process the station data, the desired outcome is that the table segment is moved to the mc segment working storage area for further processing.
💻 Technical Criteria
Given
Table data has been successfully retrieved and station information extracted
When
The system prepares to process the station data
Then
The table segment is moved to the MC segment working storage area for further processing
R-GCCUSIO-cbl-00776
Set Function Code to 'GU'
Action Rules
📊 Business Logic Narrative
When the process 'Set Function Code to 'GU'' is invoked, and assuming that station information lookup is being prepared, when the system configures the database operation type, the desired outcome is that the function code is set to 'gu' for unique record retrieval.
💻 Technical Criteria
Given
Station information lookup is being prepared
When
The system configures the database operation type
Then
The function code is set to 'GU' for unique record retrieval
R-GCCUSIO-cbl-00777
Set Table ID to 'MC'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Table ID to 'MC'' is invoked, and assuming that a station information lookup is required, when the system selects the appropriate data source, the desired outcome is that the table id is set to 'mc' to access the station master table.
💻 Technical Criteria
Given
A station information lookup is required
When
The system selects the appropriate data source
Then
The table ID is set to 'MC' to access the station master table
R-GCCUSIO-cbl-00779
Clear Return Flag
Process Rules
📊 Business Logic Narrative
When the process 'Clear Return Flag' is invoked, and assuming that table lookup parameters are being prepared, when the system initializes control flags, the desired outcome is that the return flag is cleared to spaces for proper status detection.
💻 Technical Criteria
Given
Table lookup parameters are being prepared
When
The system initializes control flags
Then
The return flag is cleared to spaces for proper status detection
R-GCCUSIO-cbl-00780
Call Table Lookup Service
Action Rules
📊 Business Logic Narrative
When the process 'Call Table Lookup Service' is invoked, and assuming that all table lookup parameters are properly configured, when the system executes the station information retrieval, the desired outcome is that the table lookup service is called with function code, table id, and search key.
💻 Technical Criteria
Given
All table lookup parameters are properly configured
When
The system executes the station information retrieval
Then
The table lookup service is called with function code, table ID, and search key
R-GCCUSIO-cbl-00781
Station Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Station Found?' is invoked, and assuming that table lookup service has been executed, when the system evaluates the lookup result, the desired outcome is that if return flag equals '0' then station information was found successfully, otherwise station was not found.
💻 Technical Criteria
Given
Table lookup service has been executed
When
The system evaluates the lookup result
Then
If return flag equals '0' then station information was found successfully, otherwise station was not found
R-GCCUSIO-cbl-00404
Reference Qualifier = 'CN'?
Validation Rules
📊 Business Logic Narrative
When the process 'Reference Qualifier = 'CN'?' is invoked, and assuming that the system is examining a specific reference number position in the n9 data, when the reference qualifier field is evaluated, the desired outcome is that the system identifies positions where the qualifier equals 'cn' for shipment id extraction.
💻 Technical Criteria
Given
The system is examining a specific reference number position in the N9 data
When
The reference qualifier field is evaluated
Then
The system identifies positions where the qualifier equals 'CN' for shipment ID extraction
R-GCCUSIO-cbl-00406
More Positions to Check?
Decision Rules
📊 Business Logic Narrative
When the process 'More Positions to Check?' is invoked, and assuming that the system has processed a reference number position, when the system evaluates the current position count against the total available positions, the desired outcome is that the system continues processing if more positions exist, otherwise completes the n9 extraction.
💻 Technical Criteria
Given
The system has processed a reference number position
When
The system evaluates the current position count against the total available positions
Then
The system continues processing if more positions exist, otherwise completes the N9 extraction
R-GCCUSIO-cbl-00407
Move to Next Reference Position
Process Rules
📊 Business Logic Narrative
When the process 'Move to Next Reference Position' is invoked, and assuming that additional reference number positions remain to be processed, when the system advances the processing sequence, the desired outcome is that the system increments the position counter and moves to examine the next reference number field.
💻 Technical Criteria
Given
Additional reference number positions remain to be processed
When
The system advances the processing sequence
Then
The system increments the position counter and moves to examine the next reference number field
R-GCCUSIO-cbl-00565
Loop Through 20 N9 Records
Process Rules
📊 Business Logic Narrative
When the process 'Loop Through 20 N9 Records' is invoked, and assuming that n9 reference data has been successfully retrieved from the database, when the system processes the n9 reference numbers, the desired outcome is that the system initializes a counter to zero and loops through up to 20 n9 reference number records.
💻 Technical Criteria
Given
N9 reference data has been successfully retrieved from the database
When
The system processes the N9 reference numbers
Then
The system initializes a counter to zero and loops through up to 20 N9 reference number records
R-GCCUSIO-cbl-00566
Extract Shipment ID from Reference Number
Decision Rules
📊 Business Logic Narrative
When the process 'Extract Shipment ID from Reference Number' is invoked, and assuming that the system is processing n9 reference number records, when a reference number qualifier equals 'cn', the desired outcome is that the system extracts the corresponding reference number as the shipment id.
💻 Technical Criteria
Given
The system is processing N9 reference number records
When
A reference number qualifier equals 'CN'
Then
The system extracts the corresponding reference number as the shipment ID
R-GCCUSIO-cbl-00567
No N9 Data Available
Decision Rules
📊 Business Logic Narrative
When the process 'No N9 Data Available' is invoked, and assuming that the system attempts to retrieve n9 reference data using the secondary key, when no n9 reference data is found in the database, the desired outcome is that the system continues processing without shipment id information.
💻 Technical Criteria
Given
The system attempts to retrieve N9 reference data using the secondary key
When
No N9 reference data is found in the database
Then
The system continues processing without shipment ID information
R-GCCUSIO-cbl-00675
Initialize N9 Counter to Zero
Process Rules
📊 Business Logic Narrative
When the process 'Initialize N9 Counter to Zero' is invoked, and assuming that n9 reference data record has been successfully retrieved, when the system begins processing n9 reference segments, the desired outcome is that the system initializes the n9 counter to zero to start processing from the first segment.
💻 Technical Criteria
Given
N9 reference data record has been successfully retrieved
When
The system begins processing N9 reference segments
Then
The system initializes the N9 counter to zero to start processing from the first segment
R-GCCUSIO-cbl-00676
Loop Through 20 N9 Reference Segments
Process Rules
📊 Business Logic Narrative
When the process 'Loop Through 20 N9 Reference Segments' is invoked, and assuming that n9 reference data is available and the counter is initialized, when processing n9 reference segments for shipment identification, the desired outcome is that the system loops through exactly 20 n9 reference segments to examine each one.
💻 Technical Criteria
Given
N9 reference data is available and the counter is initialized
When
Processing N9 reference segments for shipment identification
Then
The system loops through exactly 20 N9 reference segments to examine each one
R-GCCUSIO-cbl-00679
Store Shipment ID for Iron Highway
Process Rules
📊 Business Logic Narrative
When the process 'Store Shipment ID for Iron Highway' is invoked, and assuming that a shipment id has been extracted from an n9 reference segment with qualifier 'cn', when preparing data for iron highway notification, the desired outcome is that the system stores the shipment id in the iron highway notification data structure.
💻 Technical Criteria
Given
A shipment ID has been extracted from an N9 reference segment with qualifier 'CN'
When
Preparing data for Iron Highway notification
Then
The system stores the shipment ID in the Iron Highway notification data structure
R-GCCUSIO-cbl-00785
N9 Segment Found?
Decision Rules
📊 Business Logic Narrative
When the process 'N9 Segment Found?' is invoked, and assuming that a database retrieval operation has been executed for n9 reference segments, when the system checks the operation result status, the desired outcome is that if segments are found, continue with n9 processing, otherwise skip n9 processing entirely.
💻 Technical Criteria
Given
A database retrieval operation has been executed for N9 reference segments
When
The system checks the operation result status
Then
If segments are found, continue with N9 processing, otherwise skip N9 processing entirely
R-GCCUSIO-cbl-00786
Initialize N9 Counter to Zero
Process Rules
📊 Business Logic Narrative
When the process 'Initialize N9 Counter to Zero' is invoked, and assuming that n9 reference segments have been successfully retrieved, when the system begins processing individual n9 reference entries, the desired outcome is that the system initializes a counter to zero to track the current n9 entry position.
💻 Technical Criteria
Given
N9 reference segments have been successfully retrieved
When
The system begins processing individual N9 reference entries
Then
The system initializes a counter to zero to track the current N9 entry position
R-GCCUSIO-cbl-00792
Store Shipment ID for Iron Highway Notification
Process Rules
📊 Business Logic Narrative
When the process 'Store Shipment ID for Iron Highway Notification' is invoked, and assuming that a shipment identification number has been extracted from an n9 reference entry, when the system needs to prepare data for iron highway notification, the desired outcome is that the system stores the shipment id in the notification data structure.
💻 Technical Criteria
Given
A shipment identification number has been extracted from an N9 reference entry
When
The system needs to prepare data for Iron Highway notification
Then
The system stores the shipment ID in the notification data structure
R-GCCUSIO-cbl-00424
Exit - Station Not Configured
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Exit - Station Not Configured', assuming that the system has looked up the iron highway station configuration table, when the table lookup returns a non-zero return flag indicating the station is not found, the desired outcome is that the system exits the notification process without sending a message.
💻 Technical Criteria
EXCLUDING
The system has looked up the Iron Highway station configuration table
When
The table lookup returns a non-zero return flag indicating the station is not found
Then
The system exits the notification process without sending a message
R-GCCUSIO-cbl-00431
Call Iron Highway Interface
Action Rules
📊 Business Logic Narrative
When the process 'Call Iron Highway Interface' is invoked, and assuming that the iron highway notification message has been formatted with all required information, when the system is ready to send the notification, the desired outcome is that the system calls the gccih program with the common control block and iron highway message structure.
💻 Technical Criteria
Given
The Iron Highway notification message has been formatted with all required information
When
The system is ready to send the notification
Then
The system calls the GCCIH program with the common control block and Iron Highway message structure
R-GCCUSIO-cbl-00201
Loop Through 20 N9 Reference Entries
Process Rules
📊 Business Logic Narrative
When the process 'Loop Through 20 N9 Reference Entries' is invoked, and assuming that the n9 counter has been initialized and secondary data is available, when the system processes n9 reference entries, the desired outcome is that the system performs 20 iterations, incrementing the n9 counter by 1 each time to access each reference entry.
💻 Technical Criteria
Given
The N9 counter has been initialized and secondary data is available
When
The system processes N9 reference entries
Then
The system performs 20 iterations, incrementing the N9 counter by 1 each time to access each reference entry
R-GCCUSIO-cbl-00202
N9 Qualifier = 'CN' 'Shipment ID'?
Validation Rules
📊 Business Logic Narrative
When the process 'N9 Qualifier = 'CN' 'Shipment ID'?' is invoked, and assuming that an n9 reference entry is being processed during the iteration, when the system examines the n9 reference number qualifier for the current entry, the desired outcome is that if the qualifier equals 'cn', the entry contains shipment id information, otherwise it contains other reference data.
💻 Technical Criteria
Given
An N9 reference entry is being processed during the iteration
When
The system examines the N9 reference number qualifier for the current entry
Then
If the qualifier equals 'CN', the entry contains shipment ID information, otherwise it contains other reference data
R-GCCUSIO-cbl-00434
Reference Qualifier = 'CN'?
Decision Rules
📊 Business Logic Narrative
When the process 'Reference Qualifier = 'CN'?' is invoked, and assuming that n9 reference number entries are being processed, when a reference entry has qualifier 'cn', the desired outcome is that the system extracts the corresponding reference number and stores it as the shipment id for iron highway notification.
💻 Technical Criteria
Given
N9 reference number entries are being processed
When
A reference entry has qualifier 'CN'
Then
The system extracts the corresponding reference number and stores it as the shipment ID for Iron Highway notification
R-GCCUSIO-cbl-00439
Set Table ID to 'MC'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Table ID to 'MC'' is invoked, and assuming that a requirement to lookup station master data, when the system configures table lookup parameters, the desired outcome is that table id is set to 'mc' to identify the station master table.
💻 Technical Criteria
Given
A requirement to lookup station master data
When
The system configures table lookup parameters
Then
Table ID is set to 'MC' to identify the station master table
R-GCCUSIO-cbl-00441
Call Table Lookup Routine GCCTBIO
Action Rules
📊 Business Logic Narrative
When the process 'Call Table Lookup Routine GCCTBIO' is invoked, and assuming that all mc table lookup parameters are properly initialized, when the system needs to retrieve station master data, the desired outcome is that external routine gcctbio is called with function code, table parameters, and search keys to perform the lookup.
💻 Technical Criteria
Given
All MC table lookup parameters are properly initialized
When
The system needs to retrieve station master data
Then
External routine GCCTBIO is called with function code, table parameters, and search keys to perform the lookup
R-GCCUSIO-cbl-00442
Table Record Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Table Record Found?' is invoked, and assuming that mc table lookup has been executed, when the system evaluates the lookup result, the desired outcome is that if return flag equals '0' then lookup is successful, otherwise lookup failed.
💻 Technical Criteria
Given
MC table lookup has been executed
When
The system evaluates the lookup result
Then
If return flag equals '0' then lookup is successful, otherwise lookup failed
R-GCCUSIO-cbl-00708
Initialize GCSB1RT Record to Spaces
Process Rules
📊 Business Logic Narrative
When the process 'Initialize GCSB1RT Record to Spaces' is invoked, and assuming that a delete gcsb1rt index record process is initiated, when the process begins, the desired outcome is that the system clears all fields in the gcsb1rt record structure.
💻 Technical Criteria
Given
A delete GCSB1RT index record process is initiated
When
The process begins
Then
The system clears all fields in the GCSB1RT record structure
R-GCCUSIO-cbl-00711
Clear Status Code
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Clear Status Code', assuming that a delete gcsb1rt index record process is executed, when the index record is not found in the database, the desired outcome is that the system clears the status code to indicate no error condition.
💻 Technical Criteria
EXCLUDING
A delete GCSB1RT index record process is executed
When
The index record is not found in the database
Then
The system clears the status code to indicate no error condition
R-GCCUSIO-cbl-00712
Delete Index Record from Database
Action Rules
📊 Business Logic Narrative
When the process 'Delete Index Record from Database' is invoked, and assuming that an index record exists in gcsb1rt database, when the record has been successfully retrieved and verified, the desired outcome is that the system executes the delete operation to remove the record from the database.
💻 Technical Criteria
Given
An index record exists in GCSB1RT database
When
The record has been successfully retrieved and verified
Then
The system executes the delete operation to remove the record from the database
R-GCCUSIO-cbl-00480
Delete Error Index Record
Action Rules
📊 Business Logic Narrative
When the process 'Delete Error Index Record' is invoked, and assuming that error fields have been cleared and no other index entries remain in the record, when the system determines the index record is no longer needed, the desired outcome is that the gcsb1rt error index record is deleted from the database.
💻 Technical Criteria
Given
Error fields have been cleared and no other index entries remain in the record
When
The system determines the index record is no longer needed
Then
The GCSB1RT error index record is deleted from the database
R-GCCUSIO-cbl-00481
Keep Error Index Record
Action Rules
📊 Business Logic Narrative
When the process 'Keep Error Index Record' is invoked, and assuming that error fields have been cleared but other index entries still remain in the record, when the system determines the index record is still needed for other purposes, the desired outcome is that the gcsb1rt error index record is updated and retained in the database.
💻 Technical Criteria
Given
Error fields have been cleared but other index entries still remain in the record
When
The system determines the index record is still needed for other purposes
Then
The GCSB1RT error index record is updated and retained in the database
R-GCCUSIO-cbl-00718
Clear GCSB1RT Record Area
Process Rules
📊 Business Logic Narrative
When the process 'Clear GCSB1RT Record Area' is invoked, and assuming that a gcsb1rt record area exists in memory, when the system needs to retrieve an existing gcsb1rt index record, the desired outcome is that the gcsb1rt record area is cleared to spaces to ensure no residual data affects the retrieval operation.
💻 Technical Criteria
Given
A GCSB1RT record area exists in memory
When
The system needs to retrieve an existing GCSB1RT index record
Then
The GCSB1RT record area is cleared to spaces to ensure no residual data affects the retrieval operation
R-GCCUSIO-cbl-00720
Set Database Status to Accept 'GE'
Process Rules
📊 Business Logic Narrative
When the process 'Set Database Status to Accept 'GE'' is invoked, and assuming that the system is preparing to retrieve a gcsb1rt index record, when the database call is about to be executed, the desired outcome is that the database acceptance status is set to 'ge' to allow the system to handle the case where the record is not found without treating it as an error.
💻 Technical Criteria
Given
The system is preparing to retrieve a GCSB1RT index record
When
The database call is about to be executed
Then
The database acceptance status is set to 'GE' to allow the system to handle the case where the record is not found without treating it as an error
R-GCCUSIO-cbl-00721
Set Function Code to 'GHU'
Process Rules
📊 Business Logic Narrative
When the process 'Set Function Code to 'GHU'' is invoked, and assuming that the system needs to retrieve and potentially update a gcsb1rt index record, when the database function code is being set for the retrieval operation, the desired outcome is that the function code is set to 'ghu' (get hold unique) to retrieve the record with exclusive access for potential updates.
💻 Technical Criteria
Given
The system needs to retrieve and potentially update a GCSB1RT index record
When
The database function code is being set for the retrieval operation
Then
The function code is set to 'GHU' (Get Hold Unique) to retrieve the record with exclusive access for potential updates
R-GCCUSIO-cbl-00722
Call Database with Qualified Search
Action Rules
📊 Business Logic Narrative
When the process 'Call Database with Qualified Search' is invoked, and assuming that the search key, function code, and database status are properly configured, when the system executes the database retrieval operation, the desired outcome is that the database is called using the cims interface with the function code, pcb, gcsb1rt record area, and qualified ssa to retrieve the specific index record.
💻 Technical Criteria
Given
The search key, function code, and database status are properly configured
When
The system executes the database retrieval operation
Then
The database is called using the CIMS interface with the function code, PCB, GCSB1RT record area, and qualified SSA to retrieve the specific index record
R-GCCUSIO-cbl-00723
Record Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Record Found?' is invoked, and assuming that a database retrieval operation for gcsb1rt index record has been executed, when the system checks the database status code returned from the operation, the desired outcome is that if the status code is spaces (blank), the record was found; if the status code is not spaces, the record was not found.
💻 Technical Criteria
Given
A database retrieval operation for GCSB1RT index record has been executed
When
The system checks the database status code returned from the operation
Then
If the status code is spaces (blank), the record was found; if the status code is not spaces, the record was not found
R-GCCUSIO-cbl-00724
Set Found Flag to TRUE
Process Rules
📊 Business Logic Narrative
When the process 'Set Found Flag to TRUE' is invoked, and assuming that the database retrieval operation returned a status code of spaces (successful), when the system processes the successful retrieval result, the desired outcome is that the sw-gcsb1rt-found flag is set to true to indicate that the gcsb1rt index record exists and was successfully retrieved.
💻 Technical Criteria
Given
The database retrieval operation returned a status code of spaces (successful)
When
The system processes the successful retrieval result
Then
The SW-GCSB1RT-FOUND flag is set to TRUE to indicate that the GCSB1RT index record exists and was successfully retrieved
R-GCCUSIO-cbl-00725
Set Not Found Flag to TRUE
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Not Found Flag to TRUE', assuming that the database retrieval operation returned a non-space status code (record not found), when the system processes the unsuccessful retrieval result, the desired outcome is that the sw-gcsb1rt-not-found flag is set to true to indicate that the gcsb1rt index record does not exist in the database.
💻 Technical Criteria
EXCLUDING
The database retrieval operation returned a non-space status code (record not found)
When
The system processes the unsuccessful retrieval result
Then
The SW-GCSB1RT-NOT-FOUND flag is set to TRUE to indicate that the GCSB1RT index record does not exist in the database
R-GCCUSIO-cbl-00726
Clear Database Status
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Clear Database Status', assuming that the gcsb1rt index record was not found and the not found flag has been set, when the system completes processing the not found condition, the desired outcome is that the database status code is cleared to spaces to reset the status for subsequent operations.
💻 Technical Criteria
EXCLUDING
The GCSB1RT index record was not found and the not found flag has been set
When
The system completes processing the not found condition
Then
The database status code is cleared to spaces to reset the status for subsequent operations
R-GCCUSIO-cbl-00728
Clear Database Status Flags
Process Rules
📊 Business Logic Narrative
When the process 'Clear Database Status Flags' is invoked, and assuming that the system is preparing to create a new gcsb1rt index record, when the database operation is about to be initiated, the desired outcome is that the database accept status must be cleared to spaces to ensure proper processing.
💻 Technical Criteria
Given
The system is preparing to create a new GCSB1RT index record
When
The database operation is about to be initiated
Then
The database accept status must be cleared to spaces to ensure proper processing
R-GCCUSIO-cbl-00729
Set Function Code to ISRT
Action Rules
📊 Business Logic Narrative
When the process 'Set Function Code to ISRT' is invoked, and assuming that the system needs to create a new gcsb1rt index record, when the database function code is being set, the desired outcome is that the function code must be set to 'isrt' to indicate an insert operation.
💻 Technical Criteria
Given
The system needs to create a new GCSB1RT index record
When
The database function code is being set
Then
The function code must be set to 'ISRT' to indicate an insert operation
R-GCCUSIO-cbl-00731
Set Accept Status to GE
Process Rules
📊 Business Logic Narrative
When the process 'Set Accept Status to GE' is invoked, and assuming that an index record update operation is being performed on gcsb1rt, when the system prepares to update an existing index record, the desired outcome is that the accept status must be set to 'ge' to indicate successful processing expectation.
💻 Technical Criteria
Given
An index record update operation is being performed on GCSB1RT
When
The system prepares to update an existing index record
Then
The accept status must be set to 'GE' to indicate successful processing expectation
R-GCCUSIO-cbl-00732
Set Function Code to REPL
Process Rules
📊 Business Logic Narrative
When the process 'Set Function Code to REPL' is invoked, and assuming that an existing index record needs to be updated in gcsb1rt, when the system prepares the database operation, the desired outcome is that the function code must be set to 'repl' to perform a replace operation.
💻 Technical Criteria
Given
An existing index record needs to be updated in GCSB1RT
When
The system prepares the database operation
Then
The function code must be set to 'REPL' to perform a replace operation
R-GCCUSIO-cbl-00733
Call IMS Database with REPL Function
Action Rules
📊 Business Logic Narrative
When the process 'Call IMS Database with REPL Function' is invoked, and assuming that the function code is set to 'repl' and accept status is set to 'ge', when the system executes the database call using cims with repl function code, pcb, gcsb1rt record, and unqualified ssa, the desired outcome is that the database management system processes the replace operation on the gcsb1rt index record.
💻 Technical Criteria
Given
The function code is set to 'REPL' and accept status is set to 'GE'
When
The system executes the database call using CIMS with REPL function code, PCB, GCSB1RT record, and unqualified SSA
Then
The database management system processes the replace operation on the GCSB1RT index record
R-GCCUSIO-cbl-00734
Update Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Update Successful?' is invoked, and assuming that a replace operation has been executed on the gcsb1rt index record, when the system checks the cc-status-code after the database operation, the desired outcome is that if cc-status-code equals spaces then the update is successful, otherwise the update failed.
💻 Technical Criteria
Given
A replace operation has been executed on the GCSB1RT index record
When
The system checks the CC-STATUS-CODE after the database operation
Then
If CC-STATUS-CODE equals SPACES then the update is successful, otherwise the update failed
R-GCCUSIO-cbl-00735
Clear GCSB1RT Record Area
Process Rules
📊 Business Logic Narrative
When the process 'Clear GCSB1RT Record Area' is invoked, and assuming that a hold index record search is about to be performed, when the system prepares to check for existing hold index records, the desired outcome is that the gcsb1rt record area must be cleared to spaces.
💻 Technical Criteria
Given
A hold index record search is about to be performed
When
The system prepares to check for existing hold index records
Then
The GCSB1RT record area must be cleared to spaces
R-GCCUSIO-cbl-00737
Set Accept Status to 'GE'
Process Rules
📊 Business Logic Narrative
When the process 'Set Accept Status to 'GE'' is invoked, and assuming that a hold index record search is being performed, when the system prepares the database call parameters, the desired outcome is that the accept status must be set to 'ge' to handle both found and not found scenarios.
💻 Technical Criteria
Given
A hold index record search is being performed
When
The system prepares the database call parameters
Then
The accept status must be set to 'GE' to handle both found and not found scenarios
R-GCCUSIO-cbl-00738
Set Function Code to 'GHU'
Process Rules
📊 Business Logic Narrative
When the process 'Set Function Code to 'GHU'' is invoked, and assuming that a hold index record needs to be retrieved for processing, when the system prepares the database function code, the desired outcome is that the function code must be set to 'ghu' for get hold unique operation.
💻 Technical Criteria
Given
A hold index record needs to be retrieved for processing
When
The system prepares the database function code
Then
The function code must be set to 'GHU' for Get Hold Unique operation
R-GCCUSIO-cbl-00740
Record Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Record Found?' is invoked, and assuming that a database search for hold index records has been executed, when the system evaluates the search results, the desired outcome is that if the status code is spaces, the record exists; otherwise, the record does not exist.
💻 Technical Criteria
Given
A database search for hold index records has been executed
When
The system evaluates the search results
Then
If the status code is spaces, the record exists; otherwise, the record does not exist
R-GCCUSIO-cbl-00741
Set Hold Index Record Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Hold Index Record Found Flag' is invoked, and assuming that a hold index record search has been executed, when the database returns a status code of spaces indicating success, the desired outcome is that the system must set the hold index record found flag to true.
💻 Technical Criteria
Given
A hold index record search has been executed
When
The database returns a status code of spaces indicating success
Then
The system must set the hold index record found flag to true
R-GCCUSIO-cbl-00742
Set Hold Index Record Not Found Flag
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Hold Index Record Not Found Flag', assuming that a hold index record search has been executed, when the database returns a status code other than spaces indicating record not found, the desired outcome is that the system must set the hold index record not found flag to true.
💻 Technical Criteria
EXCLUDING
A hold index record search has been executed
When
The database returns a status code other than spaces indicating record not found
Then
The system must set the hold index record not found flag to true
R-GCCUSIO-cbl-00748
Set Function Code to 'REPL'
Action Rules
📊 Business Logic Narrative
When the process 'Set Function Code to 'REPL'' is invoked, and assuming that an existing hold index record needs to be updated in gcsb1rt table, when the system processes a hold index record update operation, the desired outcome is that the function code must be set to 'repl' to enable record replacement.
💻 Technical Criteria
Given
An existing hold index record needs to be updated in GCSB1RT table
When
The system processes a hold index record update operation
Then
The function code must be set to 'REPL' to enable record replacement
R-GCCUSIO-cbl-00749
Set Accept Status to 'GE'
Process Rules
📊 Business Logic Narrative
When the process 'Set Accept Status to 'GE'' is invoked, and assuming that a hold index record update operation is being processed, when the system prepares to update the gcsb1rt record, the desired outcome is that the accept status must be set to 'ge' before executing the database call.
💻 Technical Criteria
Given
A hold index record update operation is being processed
When
The system prepares to update the GCSB1RT record
Then
The accept status must be set to 'GE' before executing the database call
R-GCCUSIO-cbl-00750
Call CIMS with Replace Function
Action Rules
📊 Business Logic Narrative
When the process 'Call CIMS with Replace Function' is invoked, and assuming that the function code is set to 'repl' and accept status is set to 'ge', when the system needs to update an existing hold index record, the desired outcome is that the system must call cims with the function code, pcb, gcsb1rt record, and unqualified ssa to execute the replace operation.
💻 Technical Criteria
Given
The function code is set to 'REPL' and accept status is set to 'GE'
When
The system needs to update an existing hold index record
Then
The system must call CIMS with the function code, PCB, GCSB1RT record, and unqualified SSA to execute the replace operation
🚂 Equipment & Cargo Specs
444 logic blocks
R-GCCUSIO-cbl-00001
1:Parameter Validation
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '1:Parameter Validation', assuming that a cargo processing request is received with a segment name, when the segment name is not one of gcsusrt, gcsa2rt, gcsa8rt, or gcst2rt, the desired outcome is that the system rejects the request with error code 0012 and message 'segment name invalid'.
💻 Technical Criteria
EXCLUDING
A cargo processing request is received with a segment name
When
The segment name is not one of GCSUSRT, GCSA2RT, GCSA8RT, or GCST2RT
Then
The system rejects the request with error code 0012 and message 'SEGMENT NAME INVALID'
R-GCCUSIO-cbl-00002
1:Parameter Validation
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '1:Parameter Validation', assuming that a cargo processing request is received with a function code, when the function code is not gu, gn, isrt, repl, or dlet, the desired outcome is that the system rejects the request with error code 0012 and message 'function code invalid'.
💻 Technical Criteria
EXCLUDING
A cargo processing request is received with a function code
When
The function code is not GU, GN, ISRT, REPL, or DLET
Then
The system rejects the request with error code 0012 and message 'FUNCTION CODE INVALID'
R-GCCUSIO-cbl-00004
1:Parameter Validation
Definitional Rules
📊 Business Logic Narrative
When the process '1:Parameter Validation' is invoked, and assuming that a cargo processing request is received, when the operator field is empty or contains spaces, the desired outcome is that the system sets the operator to equals (=) as default.
💻 Technical Criteria
Given
A cargo processing request is received
When
The operator field is empty or contains spaces
Then
The system sets the operator to equals (=) as default
R-GCCUSIO-cbl-00005
Segment Type?
Process Rules
📊 Business Logic Narrative
When the process 'Segment Type?' is invoked, and assuming that a validated cargo processing request, when the segment type is gcsusrt, gcsa2rt, gcsa8rt, or gcst2rt, the desired outcome is that the system routes to primary, secondary, message, or table processing respectively.
💻 Technical Criteria
Given
A validated cargo processing request
When
The segment type is GCSUSRT, GCSA2RT, GCSA8RT, or GCST2RT
Then
The system routes to primary, secondary, message, or table processing respectively
R-GCCUSIO-cbl-00006
Function Code?
Audit Rules
📊 Business Logic Narrative
When the process 'Function Code?' is invoked, and assuming that a cargo record modification request, when the function code is isrt, dlet, repl, or zap, the desired outcome is that the system sets the update-by-module field to the current transaction code.
💻 Technical Criteria
Given
A cargo record modification request
When
The function code is ISRT, DLET, REPL, or ZAP
Then
The system sets the update-by-module field to the current transaction code
R-GCCUSIO-cbl-00007
2:Primary Cargo Record Insert
Audit Rules
📊 Business Logic Narrative
When the process '2:Primary Cargo Record Insert' is invoked, and assuming that a new cargo record is being inserted, when the creation timestamp field is empty, the desired outcome is that the system sets creation date, time, terminal, and user id from current system values and copies to last-modify fields.
💻 Technical Criteria
Given
A new cargo record is being inserted
When
The creation timestamp field is empty
Then
The system sets creation date, time, terminal, and user ID from current system values and copies to last-modify fields
R-GCCUSIO-cbl-00008
2:Primary Cargo Record Insert
Audit Rules
📊 Business Logic Narrative
When the process '2:Primary Cargo Record Insert' is invoked, and assuming that a cargo record is being inserted, when the creation timestamp field already contains data, the desired outcome is that the system updates only the last-modify date, time, terminal, and user id with current system values.
💻 Technical Criteria
Given
A cargo record is being inserted
When
The creation timestamp field already contains data
Then
The system updates only the last-modify date, time, terminal, and user ID with current system values
R-GCCUSIO-cbl-00009
6:Index Field Management
Process Rules
📊 Business Logic Narrative
When the process '6:Index Field Management' is invoked, and assuming that a cargo record index update is requested, when the cargo status indicates the record is deleted, the desired outcome is that the system skips all index field setting operations.
💻 Technical Criteria
Given
A cargo record index update is requested
When
The cargo status indicates the record is deleted
Then
The system skips all index field setting operations
R-GCCUSIO-cbl-00010
18:Bond Control Number Processing
Decision Rules
📊 Business Logic Narrative
When the process '18:Bond Control Number Processing' is invoked, and assuming that a cargo record requires bond number indexing, when in-bond control number exists, use it; else if entry number exists, use entry number; else set to spaces, the desired outcome is that the system sets the bond index field according to the priority hierarchy.
💻 Technical Criteria
Given
A cargo record requires bond number indexing
When
In-bond control number exists, use it; else if entry number exists, use entry number; else set to spaces
Then
The system sets the bond index field according to the priority hierarchy
R-GCCUSIO-cbl-00011
4:Primary Cargo Record Delete
Process Rules
📊 Business Logic Narrative
When the process '4:Primary Cargo Record Delete' is invoked, and assuming that a cargo record deletion is requested, when the delete operation is initiated, the desired outcome is that the system retrieves the record, blanks index fields, sets status to deleted, and updates the record.
💻 Technical Criteria
Given
A cargo record deletion is requested
When
The delete operation is initiated
Then
The system retrieves the record, blanks index fields, sets status to DELETED, and updates the record
R-GCCUSIO-cbl-00012
3:Primary Cargo Record Update
Audit Rules
📊 Business Logic Narrative
When the process '3:Primary Cargo Record Update' is invoked, and assuming that a cargo record replacement is requested, when the replace operation is performed, the desired outcome is that the system updates last-modify date, time, terminal, and user id with current system values.
💻 Technical Criteria
Given
A cargo record replacement is requested
When
The replace operation is performed
Then
The system updates last-modify date, time, terminal, and user ID with current system values
R-GCCUSIO-cbl-00013
14:GCSB1RT Index Database Management
Process Rules
📊 Business Logic Narrative
When the process '14:GCSB1RT Index Database Management' is invoked, and assuming that a cargo record status update is processed, when the cargo has no error conditions and no hold conditions (hold, holdpcs, pr-hpcs, hold-b, pr-h-bo, hold-d, pr-h-de, holdfda), the desired outcome is that the system deletes the cargo record from the gcsb1rt status index.
💻 Technical Criteria
Given
A cargo record status update is processed
When
The cargo has no error conditions and no hold conditions (HOLD, HOLDPCS, PR-HPCS, HOLD-B, PR-H-BO, HOLD-D, PR-H-DE, HOLDFDA)
Then
The system deletes the cargo record from the GCSB1RT status index
R-GCCUSIO-cbl-00014
14:GCSB1RT Index Database Management
Process Rules
📊 Business Logic Narrative
When the process '14:GCSB1RT Index Database Management' is invoked, and assuming that a cargo record has error or pending status, when the cargo status indicates cpcargo-error, cpcargo-pending, or uscargo-error, the desired outcome is that the system fills error fields and either updates existing status record or inserts new status record.
💻 Technical Criteria
Given
A cargo record has error or pending status
When
The cargo status indicates CPCARGO-ERROR, CPCARGO-PENDING, or USCARGO-ERROR
Then
The system fills error fields and either updates existing status record or inserts new status record
R-GCCUSIO-cbl-00015
14:GCSB1RT Index Database Management
Process Rules
📊 Business Logic Narrative
When the process '14:GCSB1RT Index Database Management' is invoked, and assuming that a cargo record has hold status, when the cargo status indicates any hold condition (hold, holdpcs, pr-hpcs, hold-b, pr-h-bo, hold-d, pr-h-de, holdfda), the desired outcome is that the system fills hold fields and either updates existing status record or inserts new status record.
💻 Technical Criteria
Given
A cargo record has hold status
When
The cargo status indicates any hold condition (HOLD, HOLDPCS, PR-HPCS, HOLD-B, PR-H-BO, HOLD-D, PR-H-DE, HOLDFDA)
Then
The system fills hold fields and either updates existing status record or inserts new status record
R-GCCUSIO-cbl-00017
11:Secondary Database Processing
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '11:Secondary Database Processing', assuming that a secondary cargo data operation is requested, when for repl function: if record exists and new data is empty, delete; if record exists and new data has content, replace; if record not found and new data has content, insert, the desired outcome is that the system performs the appropriate database operation based on the content and existence logic.
💻 Technical Criteria
EXCLUDING
A secondary cargo data operation is requested
When
For REPL function: if record exists and new data is empty, delete; if record exists and new data has content, replace; if record not found and new data has content, insert
Then
The system performs the appropriate database operation based on the content and existence logic
R-GCCUSIO-cbl-00018
15:Iron Highway Notification Processing
Process Rules
📊 Business Logic Narrative
When the process '15:Iron Highway Notification Processing' is invoked, and assuming that a cargo status change triggers notification processing, when both us cargo status and cp cargo status are empty, or the status matches the previous notification, or the status is release, the desired outcome is that the system skips sending the notification.
💻 Technical Criteria
Given
A cargo status change triggers notification processing
When
Both US cargo status and CP cargo status are empty, or the status matches the previous notification, or the status is RELEASE
Then
The system skips sending the notification
R-GCCUSIO-cbl-00019
15:Iron Highway Notification Processing
Decision Rules
📊 Business Logic Narrative
When the process '15:Iron Highway Notification Processing' is invoked, and assuming that a cargo status notification is being prepared, when us cargo status is empty and cp status is sent, use sent; for deleted or release status, always process; otherwise use us cargo short description, the desired outcome is that the system selects the appropriate status value according to the priority rules.
💻 Technical Criteria
Given
A cargo status notification is being prepared
When
US cargo status is empty and CP status is SENT, use SENT; for DELETED or RELEASE status, always process; otherwise use US cargo short description
Then
The system selects the appropriate status value according to the priority rules
R-GCCUSIO-cbl-00020
7:Cargo Status Description Setting
Definitional Rules
📊 Business Logic Narrative
When the process '7:Cargo Status Description Setting' is invoked, and assuming that a cargo status code needs to be displayed or processed, when the internal status is ok, pending, acknwlg, error, sent, deleted, delpend, relsd, arrival, aarr, export, aexp, imed-ex, or xfered, the desired outcome is that the system maps to corresponding business descriptions: ok, pending, ack, error, sent, deleted, delpend, released, mnl-arrv, aut-arrv, mnl-exp, aut-exp, imed-exp, xfered respectively.
💻 Technical Criteria
Given
A cargo status code needs to be displayed or processed
When
The internal status is OK, PENDING, ACKNWLG, ERROR, SENT, DELETED, DELPEND, RELSD, ARRIVAL, AARR, EXPORT, AEXP, IMED-EX, or XFERED
Then
The system maps to corresponding business descriptions: OK, PENDING, ACK, ERROR, SENT, DELETED, DELPEND, RELEASED, MNL-ARRV, AUT-ARRV, MNL-EXP, AUT-EXP, IMED-EXP, XFERED respectively
R-GCCUSIO-cbl-00021
11:Secondary Database Processing
Validation Rules
📊 Business Logic Narrative
When the process '11:Secondary Database Processing' is invoked, and assuming that a secondary segment retrieval operation is requested, when the function is gu or gn and the secondary key is empty or spaces, the desired outcome is that the system returns error code 0012 with message 'secn-key equal spaces'.
💻 Technical Criteria
Given
A secondary segment retrieval operation is requested
When
The function is GU or GN and the secondary key is empty or spaces
Then
The system returns error code 0012 with message 'SECN-KEY EQUAL SPACES'
R-GCCUSIO-cbl-00022
12:GCSA8RT Message Processing
Validation Rules
📊 Business Logic Narrative
When the process '12:GCSA8RT Message Processing' is invoked, and assuming that a gcsa8rt message segment retrieval operation is requested, when the function is gu or gn and the gcsa8rt key is empty or spaces, the desired outcome is that the system returns error code 0012 with message 'gcsa8rt-key equal spaces'.
💻 Technical Criteria
Given
A GCSA8RT message segment retrieval operation is requested
When
The function is GU or GN and the GCSA8RT key is empty or spaces
Then
The system returns error code 0012 with message 'GCSA8RT-KEY EQUAL SPACES'
R-GCCUSIO-cbl-00024
16:Reference Number Processing
Process Rules
📊 Business Logic Narrative
When the process '16:Reference Number Processing' is invoked, and assuming that a cargo notification requires shipment reference information, when n9 reference segments exist for the cargo with qualifier 'cn', the desired outcome is that the system extracts the reference number as shipment id for the notification.
💻 Technical Criteria
Given
A cargo notification requires shipment reference information
When
N9 reference segments exist for the cargo with qualifier 'CN'
Then
The system extracts the reference number as shipment ID for the notification
R-GCCUSIO-cbl-00025
19:Station Code Processing
Action Rules
📊 Business Logic Narrative
When the process '19:Station Code Processing' is invoked, and assuming that a cargo operation requires station or border information, when the system needs to resolve location codes to station numbers, the desired outcome is that the system retrieves station information from gcstbrt table segments using location id.
💻 Technical Criteria
Given
A cargo operation requires station or border information
When
The system needs to resolve location codes to station numbers
Then
The system retrieves station information from GCSTBRT table segments using location ID
R-GCCUSIO-cbl-00026
20:Cargo Status Transition Management
Process Rules
📊 Business Logic Narrative
When the process '20:Cargo Status Transition Management' is invoked, and assuming that a cargo status change is requested, when the new status represents a valid business transition from the current status, the desired outcome is that the system updates the cargo status and triggers appropriate downstream processing including notifications and index updates.
💻 Technical Criteria
Given
A cargo status change is requested
When
The new status represents a valid business transition from the current status
Then
The system updates the cargo status and triggers appropriate downstream processing including notifications and index updates
R-GCCUSIO-cbl-00033
Set Creation Audit Trail
Process Rules
📊 Business Logic Narrative
When the process 'Set Creation Audit Trail' is invoked, and assuming that a cargo record is being inserted into the primary database, when the creation timestamp field is empty or spaces, the desired outcome is that the system sets creation century, date, time, terminal, and user id from current system values and copies this information to last modify fields.
💻 Technical Criteria
Given
A cargo record is being inserted into the primary database
When
The creation timestamp field is empty or spaces
Then
The system sets creation century, date, time, terminal, and user ID from current system values and copies this information to last modify fields
R-GCCUSIO-cbl-00034
Set Last Modify Audit Trail
Process Rules
📊 Business Logic Narrative
When the process 'Set Last Modify Audit Trail' is invoked, and assuming that a cargo record is being inserted into the primary database, when the creation timestamp field already contains data, the desired outcome is that the system updates only the last modify century, date, time, terminal, and user id with current system values while preserving the original creation timestamp.
💻 Technical Criteria
Given
A cargo record is being inserted into the primary database
When
The creation timestamp field already contains data
Then
The system updates only the last modify century, date, time, terminal, and user ID with current system values while preserving the original creation timestamp
R-GCCUSIO-cbl-00035
Populate Index Fields
Decision Rules
📊 Business Logic Narrative
When the process 'Populate Index Fields' is invoked, and assuming that a cargo record is being processed for index field population, when the cargo status indicates the record is marked as deleted, the desired outcome is that the system skips all index field population and exits the index setting process.
💻 Technical Criteria
Given
A cargo record is being processed for index field population
When
The cargo status indicates the record is marked as deleted
Then
The system skips all index field population and exits the index setting process
R-GCCUSIO-cbl-00040
Set Bond Control Number Index
Decision Rules
📊 Business Logic Narrative
When the process 'Set Bond Control Number Index' is invoked, and assuming that a cargo record may contain in-bond control number or entry number, when bond number index is being populated, the desired outcome is that the system uses in-bond control number if available, otherwise uses entry number if available, otherwise sets bond index to spaces.
💻 Technical Criteria
Given
A cargo record may contain in-bond control number or entry number
When
Bond number index is being populated
Then
The system uses in-bond control number if available, otherwise uses entry number if available, otherwise sets bond index to spaces
R-GCCUSIO-cbl-00042
Set Cargo Status Description
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Cargo Status Description' is invoked, and assuming that a cargo record has an internal cargo status code, when status description is being set, the desired outcome is that the system maps the status code to corresponding description: ok to 'ok', pending to 'pending', acknwlg to 'ack', error to 'error', sent to 'sent', deleted to 'deleted', delpend to 'delpend', relsd to 'released', arrival to 'mnl-arrv', aarr to 'aut-arrv', export to 'mnl-exp', aexp to 'aut-exp', imed-ex to 'imed-exp', xfered to 'xfered', or uses the original status if no mapping exists.
💻 Technical Criteria
Given
A cargo record has an internal cargo status code
When
Status description is being set
Then
The system maps the status code to corresponding description: OK to 'OK', PENDING to 'PENDING', ACKNWLG to 'ACK', ERROR to 'ERROR', SENT to 'SENT', DELETED to 'DELETED', DELPEND to 'DELPEND', RELSD to 'RELEASED', ARRIVAL to 'MNL-ARRV', AARR to 'AUT-ARRV', EXPORT to 'MNL-EXP', AEXP to 'AUT-EXP', IMED-EX to 'IMED-EXP', XFERED to 'XFERED', or uses the original status if no mapping exists
R-GCCUSIO-cbl-00043
Insert Record to Primary Database
Action Rules
📊 Business Logic Narrative
When the process 'Insert Record to Primary Database' is invoked, and assuming that a cargo record is prepared with all required fields populated, when the record insertion is requested, the desired outcome is that the system calls the database interface to insert the record using the primary pcb and unqualified ssa.
💻 Technical Criteria
Given
A cargo record is prepared with all required fields populated
When
The record insertion is requested
Then
The system calls the database interface to insert the record using the primary PCB and unqualified SSA
R-GCCUSIO-cbl-00044
Save Iron Highway Status
Process Rules
📊 Business Logic Narrative
When the process 'Save Iron Highway Status' is invoked, and assuming that a cargo record has been processed, when iron highway notification data is being prepared, the desired outcome is that the system saves the us cargo short description to the iron highway status field.
💻 Technical Criteria
Given
A cargo record has been processed
When
Iron Highway notification data is being prepared
Then
The system saves the US cargo short description to the Iron Highway status field
R-GCCUSIO-cbl-00046
Save Car Number
Process Rules
📊 Business Logic Narrative
When the process 'Save Car Number' is invoked, and assuming that a cargo record contains car id number index information, when notification data is being prepared, the desired outcome is that the system saves the car id number index value for notification processing.
💻 Technical Criteria
Given
A cargo record contains car ID number index information
When
Notification data is being prepared
Then
The system saves the car ID number index value for notification processing
R-GCCUSIO-cbl-00047
Process Iron Highway Notification
Action Rules
📊 Business Logic Narrative
When the process 'Process Iron Highway Notification' is invoked, and assuming that cargo status information has been captured and prepared, when iron highway notification processing is invoked, the desired outcome is that the system calls the iron highway notification module to send status updates to external systems.
💻 Technical Criteria
Given
Cargo status information has been captured and prepared
When
Iron Highway notification processing is invoked
Then
The system calls the Iron Highway notification module to send status updates to external systems
R-GCCUSIO-cbl-00048
Update Index Database
Action Rules
📊 Business Logic Narrative
When the process 'Update Index Database' is invoked, and assuming that a cargo record has been inserted or updated in the primary database, when index database update is requested, the desired outcome is that the system calls the index database update process to maintain cargo status tracking tables based on error and hold conditions.
💻 Technical Criteria
Given
A cargo record has been inserted or updated in the primary database
When
Index database update is requested
Then
The system calls the index database update process to maintain cargo status tracking tables based on error and hold conditions
R-GCCUSIO-cbl-00226
Is Cargo Deleted?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Cargo Deleted?' is invoked, and assuming that a cargo record is being processed for index field population, when the cargo status indicates it is deleted (88-gcusrt-rt10-cpcargo-deleted is true), the desired outcome is that the system should exit the index population process without setting any index fields.
💻 Technical Criteria
Given
A cargo record is being processed for index field population
When
The cargo status indicates it is deleted (88-GCUSRT-RT10-CPCARGO-DELETED is true)
Then
The system should exit the index population process without setting any index fields
R-GCCUSIO-cbl-00229
Populate Car ID Index
Process Rules
📊 Business Logic Narrative
When the process 'Populate Car ID Index' is invoked, and assuming that a cargo record contains equipment car information, when index fields are being populated, the desired outcome is that the system should copy the equipment car number to the car id index field.
💻 Technical Criteria
Given
A cargo record contains equipment car information
When
Index fields are being populated
Then
The system should copy the equipment car number to the car ID index field
R-GCCUSIO-cbl-00232
Use Bond Control Number
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Bond Control Number', assuming that a cargo record is being processed for bond index population, when the in-bond control number field (gcusrt-m1206-in-bond-ctrl-num) is not empty, the desired outcome is that the system should use the in-bond control number as the bond number index value.
💻 Technical Criteria
EXCLUDING
A cargo record is being processed for bond index population
When
The in-bond control number field (GCUSRT-M1206-IN-BOND-CTRL-NUM) is not empty
Then
The system should use the in-bond control number as the bond number index value
R-GCCUSIO-cbl-00233
Use Entry Number
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Entry Number', assuming that a cargo record has no in-bond control number but contains an entry number, when the in-bond control number is empty and the entry number field (gcusrt-m1202-entry-num) is not empty, the desired outcome is that the system should use the entry number as the bond number index value.
💻 Technical Criteria
EXCLUDING
A cargo record has no in-bond control number but contains an entry number
When
The in-bond control number is empty and the entry number field (GCUSRT-M1202-ENTRY-NUM) is not empty
Then
The system should use the entry number as the bond number index value
R-GCCUSIO-cbl-00234
Clear Bond Index
Decision Rules
📊 Business Logic Narrative
When the process 'Clear Bond Index' is invoked, and assuming that a cargo record is being processed for bond index population, when both the in-bond control number and entry number fields are empty, the desired outcome is that the system should set the bond number index field to spaces.
💻 Technical Criteria
Given
A cargo record is being processed for bond index population
When
Both the in-bond control number and entry number fields are empty
Then
The system should set the bond number index field to spaces
R-GCCUSIO-cbl-00503
Determine Bond Index Source - Evaluates in-bond control number availability, falls back to entry number, or sets to spaces based on customs data hierarchy
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Determine Bond Index Source - Evaluates in-bond control number availability, falls back to entry number, or sets to spaces based on customs data hierarchy', assuming that a cargo record is being processed for index field population and the cargo is not marked as deleted, when the system needs to determine the bond index value for cargo tracking, the desired outcome is that the system should use in-bond control number as first priority, entry number as second priority, or set to spaces if neither is available.
💻 Technical Criteria
EXCLUDING
A cargo record is being processed for index field population and the cargo is not marked as deleted
When
The system needs to determine the bond index value for cargo tracking
Then
The system should use in-bond control number as first priority, entry number as second priority, or set to spaces if neither is available
R-GCCUSIO-cbl-00504
Use In-Bond Control Number as Bond Index
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use In-Bond Control Number as Bond Index', assuming that a cargo record contains an in-bond control number that is not spaces, when the system evaluates bond index assignment, the desired outcome is that the system should assign the in-bond control number to the bond number index field.
💻 Technical Criteria
EXCLUDING
A cargo record contains an in-bond control number that is not spaces
When
The system evaluates bond index assignment
Then
The system should assign the in-bond control number to the bond number index field
R-GCCUSIO-cbl-00505
Use Entry Number as Bond Index
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Entry Number as Bond Index', assuming that a cargo record has no in-bond control number (spaces) but contains an entry number that is not spaces, when the system evaluates bond index assignment after finding no in-bond control number, the desired outcome is that the system should assign the entry number to the bond number index field.
💻 Technical Criteria
EXCLUDING
A cargo record has no in-bond control number (spaces) but contains an entry number that is not spaces
When
The system evaluates bond index assignment after finding no in-bond control number
Then
The system should assign the entry number to the bond number index field
R-GCCUSIO-cbl-00506
Set Bond Index to Spaces
Decision Rules
📊 Business Logic Narrative
When the process 'Set Bond Index to Spaces' is invoked, and assuming that a cargo record has both in-bond control number and entry number set to spaces, when the system evaluates bond index assignment after finding no valid customs numbers, the desired outcome is that the system should set the bond number index field to spaces.
💻 Technical Criteria
Given
A cargo record has both in-bond control number and entry number set to spaces
When
The system evaluates bond index assignment after finding no valid customs numbers
Then
The system should set the bond number index field to spaces
R-GCCUSIO-cbl-00236
Creation Timestamp Already Exists?
Process Rules
📊 Business Logic Narrative
When the process 'Creation Timestamp Already Exists?' is invoked, and assuming that a cargo record is being inserted and the creation timestamp field is empty (spaces), when the system processes the cargo record insertion, the desired outcome is that the system sets creation century from current system century, creation date from current system date, creation time from current system time, creation terminal from originating terminal, creation user id from acf2 user id, and copies all creation information to last modify fields.
💻 Technical Criteria
Given
A cargo record is being inserted and the creation timestamp field is empty (spaces)
When
The system processes the cargo record insertion
Then
The system sets creation century from current system century, creation date from current system date, creation time from current system time, creation terminal from originating terminal, creation user ID from ACF2 user ID, and copies all creation information to last modify fields
R-GCCUSIO-cbl-00237
Creation Timestamp Already Exists?
Process Rules
📊 Business Logic Narrative
When the process 'Creation Timestamp Already Exists?' is invoked, and assuming that a cargo record is being inserted and the creation timestamp field contains existing data (not spaces), when the system processes the cargo record insertion, the desired outcome is that the system preserves existing creation information and only updates last modify century from current system century, last modify date from current system date, last modify time from current system time, last modify terminal from originating terminal, and last modify user id from acf2 user id.
💻 Technical Criteria
Given
A cargo record is being inserted and the creation timestamp field contains existing data (not spaces)
When
The system processes the cargo record insertion
Then
The system preserves existing creation information and only updates last modify century from current system century, last modify date from current system date, last modify time from current system time, last modify terminal from originating terminal, and last modify user ID from ACF2 user ID
R-GCCUSIO-cbl-00049
Retrieve Current Cargo Record
Process Rules
📊 Business Logic Narrative
When the process 'Retrieve Current Cargo Record' is invoked, and assuming that a cargo record update operation is requested, when the system needs to retrieve the current cargo record, the desired outcome is that the system performs a get hold unique operation to retrieve and lock the current cargo record.
💻 Technical Criteria
Given
A cargo record update operation is requested
When
The system needs to retrieve the current cargo record
Then
The system performs a Get Hold Unique operation to retrieve and lock the current cargo record
R-GCCUSIO-cbl-00050
Save Current Iron Highway Status
Process Rules
📊 Business Logic Narrative
When the process 'Save Current Iron Highway Status' is invoked, and assuming that a cargo record is being updated, when the current cargo record is retrieved, the desired outcome is that the system saves the us cargo short description to track status changes.
💻 Technical Criteria
Given
A cargo record is being updated
When
The current cargo record is retrieved
Then
The system saves the US cargo short description to track status changes
R-GCCUSIO-cbl-00052
Save Current Car Number
Process Rules
📊 Business Logic Narrative
When the process 'Save Current Car Number' is invoked, and assuming that a cargo record is being updated, when the current cargo record is retrieved, the desired outcome is that the system saves the car id number index for notification purposes.
💻 Technical Criteria
Given
A cargo record is being updated
When
The current cargo record is retrieved
Then
The system saves the car ID number index for notification purposes
R-GCCUSIO-cbl-00053
Restore Updated Cargo Data
Process Rules
📊 Business Logic Narrative
When the process 'Restore Updated Cargo Data' is invoked, and assuming that the current cargo record has been retrieved and saved data exists, when the system needs to apply updates to the cargo record, the desired outcome is that the system restores the updated cargo data from the saved working area.
💻 Technical Criteria
Given
The current cargo record has been retrieved and saved data exists
When
The system needs to apply updates to the cargo record
Then
The system restores the updated cargo data from the saved working area
R-GCCUSIO-cbl-00054
Populate Index Fields
Decision Rules
📊 Business Logic Narrative
When the process 'Populate Index Fields' is invoked, and assuming that a cargo record is being processed for index field updates, when the cargo record is marked as deleted, the desired outcome is that the system skips all index field population and exits the process.
💻 Technical Criteria
Given
A cargo record is being processed for index field updates
When
The cargo record is marked as deleted
Then
The system skips all index field population and exits the process
R-GCCUSIO-cbl-00057
Set Car ID Index
Process Rules
📊 Business Logic Narrative
When the process 'Set Car ID Index' is invoked, and assuming that a cargo record is being updated with index fields, when car identification information is available, the desired outcome is that the system copies the equipment car number to both rt071 and rt073 car id index fields.
💻 Technical Criteria
Given
A cargo record is being updated with index fields
When
Car identification information is available
Then
The system copies the equipment car number to both RT071 and RT073 car ID index fields
R-GCCUSIO-cbl-00059
Set Bond Number Index
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Bond Number Index', assuming that a cargo record is being updated with bond index information, when the in-bond control number is not empty, the desired outcome is that the system uses the in-bond control number to populate the rt074 bond number index.
💻 Technical Criteria
EXCLUDING
A cargo record is being updated with bond index information
When
The in-bond control number is not empty
Then
The system uses the in-bond control number to populate the RT074 bond number index
R-GCCUSIO-cbl-00060
Set Entry Number as Bond Index
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Entry Number as Bond Index', assuming that a cargo record is being updated with bond index information and in-bond control number is empty, when the entry number is not empty, the desired outcome is that the system uses the entry number to populate the rt074 bond number index.
💻 Technical Criteria
EXCLUDING
A cargo record is being updated with bond index information and in-bond control number is empty
When
The entry number is not empty
Then
The system uses the entry number to populate the RT074 bond number index
R-GCCUSIO-cbl-00061
Set Entry Number as Bond Index
Decision Rules
📊 Business Logic Narrative
When the process 'Set Entry Number as Bond Index' is invoked, and assuming that a cargo record is being updated with bond index information, when both in-bond control number and entry number are empty, the desired outcome is that the system sets the rt074 bond number index to spaces.
💻 Technical Criteria
Given
A cargo record is being updated with bond index information
When
Both in-bond control number and entry number are empty
Then
The system sets the RT074 bond number index to spaces
R-GCCUSIO-cbl-00063
Update Last Modification Timestamp
Process Rules
📊 Business Logic Narrative
When the process 'Update Last Modification Timestamp' is invoked, and assuming that a cargo record is being replaced, when the record modification tracking needs to be updated, the desired outcome is that the system sets the last modify date to current machine date and last modify time to current machine time.
💻 Technical Criteria
Given
A cargo record is being replaced
When
The record modification tracking needs to be updated
Then
The system sets the last modify date to current machine date and last modify time to current machine time
R-GCCUSIO-cbl-00064
Set Last Modification User ID
Process Rules
📊 Business Logic Narrative
When the process 'Set Last Modification User ID' is invoked, and assuming that a cargo record is being replaced, when the record modification tracking needs to be updated, the desired outcome is that the system sets the last modify user id to the current acf2 user id.
💻 Technical Criteria
Given
A cargo record is being replaced
When
The record modification tracking needs to be updated
Then
The system sets the last modify user ID to the current ACF2 user ID
R-GCCUSIO-cbl-00065
Set Last Modification Terminal
Process Rules
📊 Business Logic Narrative
When the process 'Set Last Modification Terminal' is invoked, and assuming that a cargo record is being replaced, when the record modification tracking needs to be updated, the desired outcome is that the system sets the last modify terminal to the current originating terminal.
💻 Technical Criteria
Given
A cargo record is being replaced
When
The record modification tracking needs to be updated
Then
The system sets the last modify terminal to the current originating terminal
R-GCCUSIO-cbl-00066
Replace Cargo Record in Database
Action Rules
📊 Business Logic Narrative
When the process 'Replace Cargo Record in Database' is invoked, and assuming that a cargo record has been prepared with updated data and timestamps, when the record is ready to be saved to the database, the desired outcome is that the system performs a replace operation using unqualified ssa to update the cargo record.
💻 Technical Criteria
Given
A cargo record has been prepared with updated data and timestamps
When
The record is ready to be saved to the database
Then
The system performs a replace operation using unqualified SSA to update the cargo record
R-GCCUSIO-cbl-00067
Update Index Database Records
Action Rules
📊 Business Logic Narrative
When the process 'Update Index Database Records' is invoked, and assuming that a cargo record has been successfully replaced in the primary database, when index database synchronization is required, the desired outcome is that the system updates the gcsb1rt index database records to reflect the cargo status changes.
💻 Technical Criteria
Given
A cargo record has been successfully replaced in the primary database
When
Index database synchronization is required
Then
The system updates the GCSB1RT index database records to reflect the cargo status changes
R-GCCUSIO-cbl-00068
Process Iron Highway Notification
Action Rules
📊 Business Logic Narrative
When the process 'Process Iron Highway Notification' is invoked, and assuming that a cargo record has been updated and index databases have been synchronized, when status change notification is required, the desired outcome is that the system processes iron highway notification using saved status information.
💻 Technical Criteria
Given
A cargo record has been updated and index databases have been synchronized
When
Status change notification is required
Then
The system processes Iron Highway notification using saved status information
R-GCCUSIO-cbl-00238
Is Cargo Deleted?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Cargo Deleted?' is invoked, and assuming that a cargo record is being processed for index field updates, when the cargo status indicates it has been deleted (88-gcusrt-rt10-cpcargo-deleted is true), the desired outcome is that the system should skip all index field population and exit the process immediately.
💻 Technical Criteria
Given
A cargo record is being processed for index field updates
When
The cargo status indicates it has been deleted (88-GCUSRT-RT10-CPCARGO-DELETED is true)
Then
The system should skip all index field population and exit the process immediately
R-GCCUSIO-cbl-00243
In-Bond Control Number Exists?, Use In-Bond Control Number for Bond Index, Entry Number Exists?, Use Entry Number for Bond Index, Clear Bond Index
Decision Rules
📊 Business Logic Narrative
When the process 'In-Bond Control Number Exists?, Use In-Bond Control Number for Bond Index, Entry Number Exists?, Use Entry Number for Bond Index, Clear Bond Index' is invoked, and assuming that a cargo record is being processed for bond index population, when the system evaluates available bond-related identifiers, the desired outcome is that if in-bond control number exists, use it for bond index; otherwise if entry number exists, use entry number for bond index; otherwise clear the bond index to spaces.
💻 Technical Criteria
Given
A cargo record is being processed for bond index population
When
The system evaluates available bond-related identifiers
Then
If in-bond control number exists, use it for bond index; otherwise if entry number exists, use entry number for bond index; otherwise clear the bond index to spaces
R-GCCUSIO-cbl-00069
Retrieve Current Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Current Cargo Record' is invoked, and assuming that a cargo record exists in the system and delete operation is requested, when the system needs to retrieve the current cargo record for deletion, the desired outcome is that the system performs a get hold unique operation to retrieve and lock the cargo record.
💻 Technical Criteria
Given
A cargo record exists in the system and delete operation is requested
When
The system needs to retrieve the current cargo record for deletion
Then
The system performs a Get Hold Unique operation to retrieve and lock the cargo record
R-GCCUSIO-cbl-00070
Save Iron Highway Status Information
Process Rules
📊 Business Logic Narrative
When the process 'Save Iron Highway Status Information' is invoked, and assuming that a cargo record is being processed for deletion, when the system retrieves the current cargo record, the desired outcome is that the system saves the rt21 us cargo short description to the iron highway status field.
💻 Technical Criteria
Given
A cargo record is being processed for deletion
When
The system retrieves the current cargo record
Then
The system saves the RT21 US cargo short description to the Iron Highway status field
R-GCCUSIO-cbl-00074
Clear Bond Number Index
Process Rules
📊 Business Logic Narrative
When the process 'Clear Bond Number Index' is invoked, and assuming that a cargo record is being logically deleted, when the system processes index field clearing, the desired outcome is that the system sets the rt074 bond index field to spaces.
💻 Technical Criteria
Given
A cargo record is being logically deleted
When
The system processes index field clearing
Then
The system sets the RT074 bond index field to spaces
R-GCCUSIO-cbl-00075
Clear Destination Index
Process Rules
📊 Business Logic Narrative
When the process 'Clear Destination Index' is invoked, and assuming that a cargo record is being logically deleted, when the system processes index field clearing, the desired outcome is that the system sets the rt076 destination index field to spaces.
💻 Technical Criteria
Given
A cargo record is being logically deleted
When
The system processes index field clearing
Then
The system sets the RT076 destination index field to spaces
R-GCCUSIO-cbl-00076
Set Cargo Status to DELETED
Decision Rules
📊 Business Logic Narrative
When the process 'Set Cargo Status to DELETED' is invoked, and assuming that a cargo record is being processed for deletion, when the system completes index field clearing, the desired outcome is that the system sets the rt10 cp cargo status to deleted.
💻 Technical Criteria
Given
A cargo record is being processed for deletion
When
The system completes index field clearing
Then
The system sets the RT10 CP cargo status to DELETED
R-GCCUSIO-cbl-00077
Set Cargo Status to DELETED
Action Rules
📊 Business Logic Narrative
When the process 'Set Cargo Status to DELETED' is invoked, and assuming that a cargo record has been marked as deleted, when the system processes status description updates, the desired outcome is that the system sets the rt10b cp cargo status description to the corresponding deleted status description.
💻 Technical Criteria
Given
A cargo record has been marked as deleted
When
The system processes status description updates
Then
The system sets the RT10B CP cargo status description to the corresponding deleted status description
R-GCCUSIO-cbl-00078
Update Cargo Record with Deleted Status
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record with Deleted Status' is invoked, and assuming that a cargo record has been marked as deleted with cleared index fields, when the system needs to persist the deletion changes, the desired outcome is that the system performs a replace operation to update the cargo record with the deleted status.
💻 Technical Criteria
Given
A cargo record has been marked as deleted with cleared index fields
When
The system needs to persist the deletion changes
Then
The system performs a replace operation to update the cargo record with the deleted status
R-GCCUSIO-cbl-00083
Secondary Index Specified?
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Secondary Index Specified?', assuming that a cargo record retrieval request is received with function code other than isrt, repl, dlet, or zap, when the secondary index field is not empty or spaces, the desired outcome is that route to secondary index processing instead of primary ssa building.
💻 Technical Criteria
EXCLUDING
A cargo record retrieval request is received with function code other than ISRT, REPL, DLET, or ZAP
When
The secondary index field is not empty or spaces
Then
Route to secondary index processing instead of primary SSA building
R-GCCUSIO-cbl-00084
Car ID Index Search
Action Rules
📊 Business Logic Narrative
When the process 'Car ID Index Search' is invoked, and assuming that a secondary index search request is received, when the index type is car-id, the desired outcome is that use car id index structure with car identification value and operator to search cargo records.
💻 Technical Criteria
Given
A secondary index search request is received
When
The index type is CAR-ID
Then
Use car ID index structure with car identification value and operator to search cargo records
R-GCCUSIO-cbl-00087
Bond Number Index Search
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Bond Number Index Search', assuming that a secondary index search request is received, when the index type is bond and bond index is not empty, the desired outcome is that use qualified ssa with bond index value, otherwise use unqualified ssa.
💻 Technical Criteria
EXCLUDING
A secondary index search request is received
When
The index type is BOND and bond index is not empty
Then
Use qualified SSA with bond index value, otherwise use unqualified SSA
R-GCCUSIO-cbl-00089
Held Destination Index Search
Process Rules
📊 Business Logic Narrative
When the process 'Held Destination Index Search' is invoked, and assuming that a secondary index search request is received, when the index type is held-dest, the desired outcome is that search status table by held destination key, then retrieve primary cargo record using the cargo key from status record.
💻 Technical Criteria
Given
A secondary index search request is received
When
The index type is HELD-DEST
Then
Search status table by held destination key, then retrieve primary cargo record using the cargo key from status record
R-GCCUSIO-cbl-00090
Held Border Index Search
Process Rules
📊 Business Logic Narrative
When the process 'Held Border Index Search' is invoked, and assuming that a secondary index search request is received, when the index type is held-border, the desired outcome is that search status table by held border key, then retrieve primary cargo record using the cargo key from status record.
💻 Technical Criteria
Given
A secondary index search request is received
When
The index type is HELD-BORDER
Then
Search status table by held border key, then retrieve primary cargo record using the cargo key from status record
R-GCCUSIO-cbl-00091
Error Origin Index Search
Process Rules
📊 Business Logic Narrative
When the process 'Error Origin Index Search' is invoked, and assuming that a secondary index search request is received, when the index type is err-orig, the desired outcome is that search status table by error origin key, then retrieve primary cargo record using the cargo key from status record.
💻 Technical Criteria
Given
A secondary index search request is received
When
The index type is ERR-ORIG
Then
Search status table by error origin key, then retrieve primary cargo record using the cargo key from status record
R-GCCUSIO-cbl-00092
Error Border Index Search
Process Rules
📊 Business Logic Narrative
When the process 'Error Border Index Search' is invoked, and assuming that a secondary index search request is received, when the index type is err-border, the desired outcome is that search status table by error border key, then retrieve primary cargo record using the cargo key from status record.
💻 Technical Criteria
Given
A secondary index search request is received
When
The index type is ERR-BORDER
Then
Search status table by error border key, then retrieve primary cargo record using the cargo key from status record
R-GCCUSIO-cbl-00093
Error Destination Index Search
Process Rules
📊 Business Logic Narrative
When the process 'Error Destination Index Search' is invoked, and assuming that a secondary index search request is received, when the index type is err-dest, the desired outcome is that search status table by error destination key, then retrieve primary cargo record using the cargo key from status record.
💻 Technical Criteria
Given
A secondary index search request is received
When
The index type is ERR-DEST
Then
Search status table by error destination key, then retrieve primary cargo record using the cargo key from status record
R-GCCUSIO-cbl-00094
Is Cargo Deleted?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Cargo Deleted?' is invoked, and assuming that a cargo record is being processed for index field updates, when the cargo status indicates it is deleted (88-gcusrt-rt10-cpcargo-deleted is true), the desired outcome is that the system should skip all index field population and exit the index management process.
💻 Technical Criteria
Given
A cargo record is being processed for index field updates
When
The cargo status indicates it is deleted (88-GCUSRT-RT10-CPCARGO-DELETED is true)
Then
The system should skip all index field population and exit the index management process
R-GCCUSIO-cbl-00096
Populate Car ID Index
Process Rules
📊 Business Logic Narrative
When the process 'Populate Car ID Index' is invoked, and assuming that a cargo record has equipment car information, when index fields are being populated, the desired outcome is that the system should copy the equipment car number to the car id index field (rt071-car-id-num-index).
💻 Technical Criteria
Given
A cargo record has equipment car information
When
Index fields are being populated
Then
The system should copy the equipment car number to the car ID index field (RT071-CAR-ID-NUM-INDEX)
R-GCCUSIO-cbl-00099
Bond Control Number Available?
Decision Rules
📊 Business Logic Narrative
When the process 'Bond Control Number Available?' is invoked, and assuming that a cargo record may have bond-related numbers, when the bond index field is being populated, the desired outcome is that if in-bond control number is not empty, use it for bond index; otherwise if entry number is not empty, use entry number; otherwise clear the bond index.
💻 Technical Criteria
Given
A cargo record may have bond-related numbers
When
The bond index field is being populated
Then
If in-bond control number is not empty, use it for bond index; otherwise if entry number is not empty, use entry number; otherwise clear the bond index
R-GCCUSIO-cbl-00246
Is Cargo Record Deleted?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Cargo Record Deleted?' is invoked, and assuming that a cargo record is being processed for car id index population, when the cargo record has deletion status flag set to true (88-gcusrt-rt10-cpcargo-deleted), the desired outcome is that the system skips all car id index field population and exits the process immediately.
💻 Technical Criteria
Given
A cargo record is being processed for car ID index population
When
The cargo record has deletion status flag set to true (88-GCUSRT-RT10-CPCARGO-DELETED)
Then
The system skips all car ID index field population and exits the process immediately
R-GCCUSIO-cbl-00247
Extract Equipment Car Information
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Extract Equipment Car Information', assuming that a cargo record is active and not marked as deleted, when the system processes the record for car id index population, the desired outcome is that the system extracts the equipment car information from field gcusrt-rt081-equipment-car for use in index population.
💻 Technical Criteria
EXCLUDING
A cargo record is active and not marked as deleted
When
The system processes the record for car ID index population
Then
The system extracts the equipment car information from field GCUSRT-RT081-EQUIPMENT-CAR for use in index population
R-GCCUSIO-cbl-00248
Set Car ID Number Index Field
Process Rules
📊 Business Logic Narrative
When the process 'Set Car ID Number Index Field' is invoked, and assuming that equipment car information has been extracted from an active cargo record, when the system populates car id index fields, the desired outcome is that the equipment car value is moved to the primary car id number index field gcusrt-rt071-car-id-num-index.
💻 Technical Criteria
Given
Equipment car information has been extracted from an active cargo record
When
The system populates car ID index fields
Then
The equipment car value is moved to the primary car ID number index field GCUSRT-RT071-CAR-ID-NUM-INDEX
R-GCCUSIO-cbl-00255
Is Cargo Deleted?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Cargo Deleted?' is invoked, and assuming that a cargo record is being processed for bond index population, when the cargo status indicates it has been deleted (88-gcusrt-rt10-cpcargo-deleted is true), the desired outcome is that the bond index population process should be skipped and control should exit immediately.
💻 Technical Criteria
Given
A cargo record is being processed for bond index population
When
The cargo status indicates it has been deleted (88-GCUSRT-RT10-CPCARGO-DELETED is true)
Then
The bond index population process should be skipped and control should exit immediately
R-GCCUSIO-cbl-00256
In-Bond Control Number Available?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'In-Bond Control Number Available?', assuming that a cargo record requires bond index population and the cargo is not deleted, when the in-bond control number field (gcusrt-m1206-in-bond-ctrl-num) contains a value other than spaces, the desired outcome is that the in-bond control number should be used to populate the bond number index field (gcusrt-rt074-bond-num-index).
💻 Technical Criteria
EXCLUDING
A cargo record requires bond index population and the cargo is not deleted
When
The in-bond control number field (GCUSRT-M1206-IN-BOND-CTRL-NUM) contains a value other than spaces
Then
The in-bond control number should be used to populate the bond number index field (GCUSRT-RT074-BOND-NUM-INDEX)
R-GCCUSIO-cbl-00257
Entry Number Available?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Entry Number Available?', assuming that a cargo record requires bond index population, the cargo is not deleted, and the in-bond control number is spaces, when the entry number field (gcusrt-m1202-entry-num) contains a value other than spaces, the desired outcome is that the entry number should be used to populate the bond number index field (gcusrt-rt074-bond-num-index).
💻 Technical Criteria
EXCLUDING
A cargo record requires bond index population, the cargo is not deleted, and the in-bond control number is spaces
When
The entry number field (GCUSRT-M1202-ENTRY-NUM) contains a value other than spaces
Then
The entry number should be used to populate the bond number index field (GCUSRT-RT074-BOND-NUM-INDEX)
R-GCCUSIO-cbl-00258
Set Bond Index to Spaces
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Bond Index to Spaces', assuming that a cargo record requires bond index population, the cargo is not deleted, the in-bond control number is spaces, and the entry number is spaces, when no valid bond identification numbers are available, the desired outcome is that the bond number index field (gcusrt-rt074-bond-num-index) should be set to spaces.
💻 Technical Criteria
EXCLUDING
A cargo record requires bond index population, the cargo is not deleted, the in-bond control number is spaces, and the entry number is spaces
When
No valid bond identification numbers are available
Then
The bond number index field (GCUSRT-RT074-BOND-NUM-INDEX) should be set to spaces
R-GCCUSIO-cbl-00101
Set Status Description to 'OK'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Status Description to 'OK'' is invoked, and assuming that a cargo record exists with cp cargo status code indicating ok status, when the system processes cargo status description setting, the desired outcome is that the cargo status description field is set to 'ok'.
💻 Technical Criteria
Given
A cargo record exists with CP cargo status code indicating OK status
When
The system processes cargo status description setting
Then
The cargo status description field is set to 'OK'
R-GCCUSIO-cbl-00102
Set Status Description to 'PENDING'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Status Description to 'PENDING'' is invoked, and assuming that a cargo record exists with cp cargo status code indicating pending status, when the system processes cargo status description setting, the desired outcome is that the cargo status description field is set to 'pending'.
💻 Technical Criteria
Given
A cargo record exists with CP cargo status code indicating PENDING status
When
The system processes cargo status description setting
Then
The cargo status description field is set to 'PENDING'
R-GCCUSIO-cbl-00103
Set Status Description to 'ACKNOWLEDGED'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Status Description to 'ACKNOWLEDGED'' is invoked, and assuming that a cargo record exists with cp cargo status code indicating acknowledged status, when the system processes cargo status description setting, the desired outcome is that the cargo status description field is set to 'ack'.
💻 Technical Criteria
Given
A cargo record exists with CP cargo status code indicating ACKNOWLEDGED status
When
The system processes cargo status description setting
Then
The cargo status description field is set to 'ACK'
R-GCCUSIO-cbl-00104
Set Status Description to 'ERROR'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Status Description to 'ERROR'' is invoked, and assuming that a cargo record exists with cp cargo status code indicating error status, when the system processes cargo status description setting, the desired outcome is that the cargo status description field is set to 'error'.
💻 Technical Criteria
Given
A cargo record exists with CP cargo status code indicating ERROR status
When
The system processes cargo status description setting
Then
The cargo status description field is set to 'ERROR'
R-GCCUSIO-cbl-00105
Set Status Description to 'SENT'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Status Description to 'SENT'' is invoked, and assuming that a cargo record exists with cp cargo status code indicating sent status, when the system processes cargo status description setting, the desired outcome is that the cargo status description field is set to 'sent'.
💻 Technical Criteria
Given
A cargo record exists with CP cargo status code indicating SENT status
When
The system processes cargo status description setting
Then
The cargo status description field is set to 'SENT'
R-GCCUSIO-cbl-00106
Set Status Description to 'DELETED'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Status Description to 'DELETED'' is invoked, and assuming that a cargo record exists with cp cargo status code indicating deleted status, when the system processes cargo status description setting, the desired outcome is that the cargo status description field is set to 'deleted'.
💻 Technical Criteria
Given
A cargo record exists with CP cargo status code indicating DELETED status
When
The system processes cargo status description setting
Then
The cargo status description field is set to 'DELETED'
R-GCCUSIO-cbl-00107
Set Status Description to 'DELETE PENDING'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Status Description to 'DELETE PENDING'' is invoked, and assuming that a cargo record exists with cp cargo status code indicating delete pending status, when the system processes cargo status description setting, the desired outcome is that the cargo status description field is set to 'delpend'.
💻 Technical Criteria
Given
A cargo record exists with CP cargo status code indicating DELETE PENDING status
When
The system processes cargo status description setting
Then
The cargo status description field is set to 'DELPEND'
R-GCCUSIO-cbl-00108
Set Status Description to 'RELEASED'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Status Description to 'RELEASED'' is invoked, and assuming that a cargo record exists with cp cargo status code indicating released status, when the system processes cargo status description setting, the desired outcome is that the cargo status description field is set to 'released'.
💻 Technical Criteria
Given
A cargo record exists with CP cargo status code indicating RELEASED status
When
The system processes cargo status description setting
Then
The cargo status description field is set to 'RELEASED'
R-GCCUSIO-cbl-00109
Set Status Description to 'MANUAL ARRIVAL'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Status Description to 'MANUAL ARRIVAL'' is invoked, and assuming that a cargo record exists with cp cargo status code indicating arrival status, when the system processes cargo status description setting, the desired outcome is that the cargo status description field is set to 'mnl-arrv'.
💻 Technical Criteria
Given
A cargo record exists with CP cargo status code indicating ARRIVAL status
When
The system processes cargo status description setting
Then
The cargo status description field is set to 'MNL-ARRV'
R-GCCUSIO-cbl-00110
Set Status Description to 'AUTO ARRIVAL'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Status Description to 'AUTO ARRIVAL'' is invoked, and assuming that a cargo record exists with cp cargo status code indicating auto arrival status, when the system processes cargo status description setting, the desired outcome is that the cargo status description field is set to 'aut-arrv'.
💻 Technical Criteria
Given
A cargo record exists with CP cargo status code indicating AUTO ARRIVAL status
When
The system processes cargo status description setting
Then
The cargo status description field is set to 'AUT-ARRV'
R-GCCUSIO-cbl-00111
Set Status Description to 'MANUAL EXPORT'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Status Description to 'MANUAL EXPORT'' is invoked, and assuming that a cargo record exists with cp cargo status code indicating export status, when the system processes cargo status description setting, the desired outcome is that the cargo status description field is set to 'mnl-exp'.
💻 Technical Criteria
Given
A cargo record exists with CP cargo status code indicating EXPORT status
When
The system processes cargo status description setting
Then
The cargo status description field is set to 'MNL-EXP'
R-GCCUSIO-cbl-00112
Set Status Description to 'AUTO EXPORT'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Status Description to 'AUTO EXPORT'' is invoked, and assuming that a cargo record exists with cp cargo status code indicating auto export status, when the system processes cargo status description setting, the desired outcome is that the cargo status description field is set to 'aut-exp'.
💻 Technical Criteria
Given
A cargo record exists with CP cargo status code indicating AUTO EXPORT status
When
The system processes cargo status description setting
Then
The cargo status description field is set to 'AUT-EXP'
R-GCCUSIO-cbl-00113
Set Status Description to 'IMMEDIATE EXPORT'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Status Description to 'IMMEDIATE EXPORT'' is invoked, and assuming that a cargo record exists with cp cargo status code indicating immediate export status, when the system processes cargo status description setting, the desired outcome is that the cargo status description field is set to 'imed-exp'.
💻 Technical Criteria
Given
A cargo record exists with CP cargo status code indicating IMMEDIATE EXPORT status
When
The system processes cargo status description setting
Then
The cargo status description field is set to 'IMED-EXP'
R-GCCUSIO-cbl-00114
Set Status Description to 'TRANSFERRED'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Status Description to 'TRANSFERRED'' is invoked, and assuming that a cargo record exists with cp cargo status code indicating transferred status, when the system processes cargo status description setting, the desired outcome is that the cargo status description field is set to 'xfered'.
💻 Technical Criteria
Given
A cargo record exists with CP cargo status code indicating TRANSFERRED status
When
The system processes cargo status description setting
Then
The cargo status description field is set to 'XFERED'
R-GCCUSIO-cbl-00115
Use Original Status Code as Description
Definitional Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Original Status Code as Description', assuming that a cargo record exists with cp cargo status code that does not match any predefined status values, when the system processes cargo status description setting, the desired outcome is that the cargo status description field is set to the original cp cargo status code value.
💻 Technical Criteria
EXCLUDING
A cargo record exists with CP cargo status code that does not match any predefined status values
When
The system processes cargo status description setting
Then
The cargo status description field is set to the original CP cargo status code value
R-GCCUSIO-cbl-00116
Search Car ID Index
Action Rules
📊 Business Logic Narrative
When the process 'Search Car ID Index' is invoked, and assuming that a cargo search request with car id index type is received, when the system processes the car id index search, the desired outcome is that the system sets the car id key value from the cargo record car id index field, applies the search operator, and executes the search using the car id secondary index.
💻 Technical Criteria
Given
A cargo search request with car ID index type is received
When
The system processes the car ID index search
Then
The system sets the car ID key value from the cargo record car ID index field, applies the search operator, and executes the search using the car ID secondary index
R-GCCUSIO-cbl-00119
Bond Index Exists?
Decision Rules
📊 Business Logic Narrative
When the process 'Bond Index Exists?' is invoked, and assuming that a cargo search request with bond index type is received, when the system checks if the bond index field contains data, the desired outcome is that if the bond index field is not empty, the system uses qualified search with the index value, otherwise it uses unqualified search with empty key value.
💻 Technical Criteria
Given
A cargo search request with bond index type is received
When
The system checks if the bond index field contains data
Then
If the bond index field is not empty, the system uses qualified search with the index value, otherwise it uses unqualified search with empty key value
R-GCCUSIO-cbl-00121
Search Held Destination Index
Action Rules
📊 Business Logic Narrative
When the process 'Search Held Destination Index' is invoked, and assuming that a cargo search request with held destination index type is received, when the system processes the held destination index search, the desired outcome is that the system retrieves the held destination index record using the search criteria, extracts the cargo key from the index record, and retrieves the corresponding primary cargo record using the extracted key.
💻 Technical Criteria
Given
A cargo search request with held destination index type is received
When
The system processes the held destination index search
Then
The system retrieves the held destination index record using the search criteria, extracts the cargo key from the index record, and retrieves the corresponding primary cargo record using the extracted key
R-GCCUSIO-cbl-00122
Search Held Border Index
Action Rules
📊 Business Logic Narrative
When the process 'Search Held Border Index' is invoked, and assuming that a cargo search request with held border index type is received, when the system processes the held border index search, the desired outcome is that the system retrieves the held border index record using the search criteria, extracts the cargo key from the index record, and retrieves the corresponding primary cargo record using the extracted key.
💻 Technical Criteria
Given
A cargo search request with held border index type is received
When
The system processes the held border index search
Then
The system retrieves the held border index record using the search criteria, extracts the cargo key from the index record, and retrieves the corresponding primary cargo record using the extracted key
R-GCCUSIO-cbl-00123
Search Error Origin Index
Action Rules
📊 Business Logic Narrative
When the process 'Search Error Origin Index' is invoked, and assuming that a cargo search request with error origin index type is received, when the system processes the error origin index search, the desired outcome is that the system retrieves the error origin index record using the search criteria, extracts the cargo key from the index record, and retrieves the corresponding primary cargo record using the extracted key.
💻 Technical Criteria
Given
A cargo search request with error origin index type is received
When
The system processes the error origin index search
Then
The system retrieves the error origin index record using the search criteria, extracts the cargo key from the index record, and retrieves the corresponding primary cargo record using the extracted key
R-GCCUSIO-cbl-00124
Search Error Border Index
Action Rules
📊 Business Logic Narrative
When the process 'Search Error Border Index' is invoked, and assuming that a cargo search request with error border index type is received, when the system processes the error border index search, the desired outcome is that the system retrieves the error border index record using the search criteria, extracts the cargo key from the index record, and retrieves the corresponding primary cargo record using the extracted key.
💻 Technical Criteria
Given
A cargo search request with error border index type is received
When
The system processes the error border index search
Then
The system retrieves the error border index record using the search criteria, extracts the cargo key from the index record, and retrieves the corresponding primary cargo record using the extracted key
R-GCCUSIO-cbl-00125
Search Error Destination Index
Action Rules
📊 Business Logic Narrative
When the process 'Search Error Destination Index' is invoked, and assuming that a cargo search request with error destination index type is received, when the system processes the error destination index search, the desired outcome is that the system retrieves the error destination index record using the search criteria, extracts the cargo key from the index record, and retrieves the corresponding primary cargo record using the extracted key.
💻 Technical Criteria
Given
A cargo search request with error destination index type is received
When
The system processes the error destination index search
Then
The system retrieves the error destination index record using the search criteria, extracts the cargo key from the index record, and retrieves the corresponding primary cargo record using the extracted key
R-GCCUSIO-cbl-00259
Set Car ID Index Value
Process Rules
📊 Business Logic Narrative
When the process 'Set Car ID Index Value' is invoked, and assuming that a cargo record exists with car identification number in the car id index field, when car id search is initiated, the desired outcome is that the car identification number from the cargo record is mapped to the search key value.
💻 Technical Criteria
Given
A cargo record exists with car identification number in the car ID index field
When
Car ID search is initiated
Then
The car identification number from the cargo record is mapped to the search key value
R-GCCUSIO-cbl-00260
Set Search Operator
Process Rules
📊 Business Logic Narrative
When the process 'Set Search Operator' is invoked, and assuming that a search operator is specified in the input parameters, when car id search is being configured, the desired outcome is that the input search operator is applied to the car id search criteria.
💻 Technical Criteria
Given
A search operator is specified in the input parameters
When
Car ID search is being configured
Then
The input search operator is applied to the car ID search criteria
R-GCCUSIO-cbl-00261
Configure Car ID PCB
Process Rules
📊 Business Logic Narrative
When the process 'Configure Car ID PCB' is invoked, and assuming that car id index search is being performed, when database path needs to be configured, the desired outcome is that the secondary pcb for car id index is selected as the working database path.
💻 Technical Criteria
Given
Car ID index search is being performed
When
Database path needs to be configured
Then
The secondary PCB for car ID index is selected as the working database path
R-GCCUSIO-cbl-00262
Build Qualified SSA
Process Rules
📊 Business Logic Narrative
When the process 'Build Qualified SSA' is invoked, and assuming that car id search key and operator are configured, when database search statement needs to be built, the desired outcome is that a qualified ssa is constructed using the car id search criteria.
💻 Technical Criteria
Given
Car ID search key and operator are configured
When
Database search statement needs to be built
Then
A qualified SSA is constructed using the car ID search criteria
R-GCCUSIO-cbl-00263
Execute Database Call
Action Rules
📊 Business Logic Narrative
When the process 'Execute Database Call' is invoked, and assuming that car id search statement and database path are configured, when car id search is executed, the desired outcome is that database call is performed using the configured function code, pcb, data area, and search statement.
💻 Technical Criteria
Given
Car ID search statement and database path are configured
When
Car ID search is executed
Then
Database call is performed using the configured function code, PCB, data area, and search statement
R-GCCUSIO-cbl-00507
Extract Car ID from Index Field
Process Rules
📊 Business Logic Narrative
When the process 'Extract Car ID from Index Field' is invoked, and assuming that a cargo record exists with car id index field populated, when car id search parameters are being built, the desired outcome is that the car id value is extracted from gcusrt-rt071-car-id-index field.
💻 Technical Criteria
Given
A cargo record exists with car ID index field populated
When
Car ID search parameters are being built
Then
The car ID value is extracted from GCUSRT-RT071-CAR-ID-INDEX field
R-GCCUSIO-cbl-00508
Map Car ID to Search Key Value
Process Rules
📊 Business Logic Narrative
When the process 'Map Car ID to Search Key Value' is invoked, and assuming that car id has been extracted from the index field, when search parameters are being configured, the desired outcome is that the car id value is mapped to gcuc-key-value for search operations.
💻 Technical Criteria
Given
Car ID has been extracted from the index field
When
Search parameters are being configured
Then
The car ID value is mapped to GCUC-KEY-VALUE for search operations
R-GCCUSIO-cbl-00509
Set Search Operator from Input
Process Rules
📊 Business Logic Narrative
When the process 'Set Search Operator from Input' is invoked, and assuming that search operator is provided in input parameters, when car id search parameters are being built, the desired outcome is that the operator from gcwusio-operator is assigned to gcuc-operator.
💻 Technical Criteria
Given
Search operator is provided in input parameters
When
Car ID search parameters are being built
Then
The operator from GCWUSIO-OPERATOR is assigned to GCUC-OPERATOR
R-GCCUSIO-cbl-00510
Configure Car ID PCB Path
Process Rules
📊 Business Logic Narrative
When the process 'Configure Car ID PCB Path' is invoked, and assuming that car id search is being initiated, when database access path needs to be configured, the desired outcome is that gcus-pcb2 is assigned to ws-pcb for car id index access.
💻 Technical Criteria
Given
Car ID search is being initiated
When
Database access path needs to be configured
Then
GCUS-PCB2 is assigned to WS-PCB for car ID index access
R-GCCUSIO-cbl-00511
Build Qualified SSA Statement
Process Rules
📊 Business Logic Narrative
When the process 'Build Qualified SSA Statement' is invoked, and assuming that car id search key and operator are configured, when database query statement needs to be built, the desired outcome is that gcuc-ssa-qual is assigned to ws-ssa-1 for qualified search execution.
💻 Technical Criteria
Given
Car ID search key and operator are configured
When
Database query statement needs to be built
Then
GCUC-SSA-QUAL is assigned to WS-SSA-1 for qualified search execution
R-GCCUSIO-cbl-00512
Execute Car ID Index Search
Action Rules
📊 Business Logic Narrative
When the process 'Execute Car ID Index Search' is invoked, and assuming that car id search parameters are fully configured with pcb path and qualified ssa, when car id index search is executed, the desired outcome is that x1100-call-one-ssa is performed to execute the database search operation.
💻 Technical Criteria
Given
Car ID search parameters are fully configured with PCB path and qualified SSA
When
Car ID index search is executed
Then
X1100-CALL-ONE-SSA is performed to execute the database search operation
R-GCCUSIO-cbl-00618
Set Car ID Index Key from Primary Record
Process Rules
📊 Business Logic Narrative
When the process 'Set Car ID Index Key from Primary Record' is invoked, and assuming that a primary cargo record exists with car identification information, when car id index search is requested, the desired outcome is that the car id from the primary record rt071-car-id-index field is set as the search key value.
💻 Technical Criteria
Given
A primary cargo record exists with car identification information
When
Car ID index search is requested
Then
The car ID from the primary record RT071-CAR-ID-INDEX field is set as the search key value
R-GCCUSIO-cbl-00619
Set Search Operator from Input
Process Rules
📊 Business Logic Narrative
When the process 'Set Search Operator from Input' is invoked, and assuming that a search operator is provided in the input parameters, when car id index search is configured, the desired outcome is that the input operator is applied to the car id index search criteria.
💻 Technical Criteria
Given
A search operator is provided in the input parameters
When
Car ID index search is configured
Then
The input operator is applied to the car ID index search criteria
R-GCCUSIO-cbl-00620
Configure Car ID Index PCB and SSA
Process Rules
📊 Business Logic Narrative
When the process 'Configure Car ID Index PCB and SSA' is invoked, and assuming that car id search key and operator are configured, when database access is prepared for car id index, the desired outcome is that pcb2 is set for car id index access and qualified ssa is configured with search parameters.
💻 Technical Criteria
Given
Car ID search key and operator are configured
When
Database access is prepared for Car ID index
Then
PCB2 is set for Car ID index access and qualified SSA is configured with search parameters
R-GCCUSIO-cbl-00621
Execute Database Call via Car ID Index
Action Rules
📊 Business Logic Narrative
When the process 'Execute Database Call via Car ID Index' is invoked, and assuming that car id index search parameters are configured with pcb and ssa, when database search is executed, the desired outcome is that the database management system is called with car id search parameters to find matching records.
💻 Technical Criteria
Given
Car ID index search parameters are configured with PCB and SSA
When
Database search is executed
Then
The database management system is called with Car ID search parameters to find matching records
R-GCCUSIO-cbl-00751
Is Cargo Record Deleted?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Cargo Record Deleted?' is invoked, and assuming that a cargo record is being processed for index field updates, when the cargo record has a deleted status indicator set to true, the desired outcome is that the system skips all car id index field setting operations and exits the process.
💻 Technical Criteria
Given
A cargo record is being processed for index field updates
When
The cargo record has a deleted status indicator set to true
Then
The system skips all car ID index field setting operations and exits the process
R-GCCUSIO-cbl-00752
Extract Equipment Car ID from Primary Record
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Extract Equipment Car ID from Primary Record', assuming that a cargo record is active and not marked as deleted, when the system processes the cargo record for index field updates, the desired outcome is that the equipment car identifier from the primary record is copied to the car id index field.
💻 Technical Criteria
EXCLUDING
A cargo record is active and not marked as deleted
When
The system processes the cargo record for index field updates
Then
The equipment car identifier from the primary record is copied to the car ID index field
R-GCCUSIO-cbl-00273
Bond Index Available?
Decision Rules
📊 Business Logic Narrative
When the process 'Bond Index Available?' is invoked, and assuming that a cargo search request is initiated using bond control number index, when the system checks if bond index field contains data, the desired outcome is that if bond index is not empty, use qualified search with bond number, otherwise use unqualified search.
💻 Technical Criteria
Given
A cargo search request is initiated using bond control number index
When
The system checks if bond index field contains data
Then
If bond index is not empty, use qualified search with bond number, otherwise use unqualified search
R-GCCUSIO-cbl-00276
Build Unqualified SSA
Process Rules
📊 Business Logic Narrative
When the process 'Build Unqualified SSA' is invoked, and assuming that bond index field is empty or contains spaces, when building search argument for bond index query, the desired outcome is that create unqualified ssa with empty key value and set pcb5 as the search control block.
💻 Technical Criteria
Given
Bond index field is empty or contains spaces
When
Building search argument for bond index query
Then
Create unqualified SSA with empty key value and set PCB5 as the search control block
R-GCCUSIO-cbl-00521
Bond Index Available?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Bond Index Available?', assuming that a cargo record with bond index field that may or may not contain bond number data, when the system evaluates the bond index field for content, the desired outcome is that the system identifies whether bond index contains valid bond number data or is empty.
💻 Technical Criteria
EXCLUDING
A cargo record with bond index field that may or may not contain bond number data
When
The system evaluates the bond index field for content
Then
The system identifies whether bond index contains valid bond number data or is empty
R-GCCUSIO-cbl-00523
Set Empty Bond Number
Process Rules
📊 Business Logic Narrative
When the process 'Set Empty Bond Number' is invoked, and assuming that bond index field is empty (contains spaces), when the system prepares bond search parameters, the desired outcome is that the system sets empty bond number value and configures unqualified search to retrieve all bond records.
💻 Technical Criteria
Given
Bond index field is empty (contains spaces)
When
The system prepares bond search parameters
Then
The system sets empty bond number value and configures unqualified search to retrieve all bond records
R-GCCUSIO-cbl-00524
Execute Bond Index Search
Action Rules
📊 Business Logic Narrative
When the process 'Execute Bond Index Search' is invoked, and assuming that bond search parameters are configured with either specific bond number for qualified search or empty value for unqualified search, when the system executes the bond index search operation, the desired outcome is that the system performs the database search using the configured search parameters and retrieval method.
💻 Technical Criteria
Given
Bond search parameters are configured with either specific bond number for qualified search or empty value for unqualified search
When
The system executes the bond index search operation
Then
The system performs the database search using the configured search parameters and retrieval method
R-GCCUSIO-cbl-00634
Bond Index Data Available?
Decision Rules
📊 Business Logic Narrative
When the process 'Bond Index Data Available?' is invoked, and assuming that a cargo record with bond index information, when the system evaluates the bond index field for search operations, the desired outcome is that the system identifies whether bond index data is available (not empty or spaces) or unavailable (empty or spaces).
💻 Technical Criteria
Given
A cargo record with bond index information
When
The system evaluates the bond index field for search operations
Then
The system identifies whether bond index data is available (not empty or spaces) or unavailable (empty or spaces)
R-GCCUSIO-cbl-00635
Set Bond Index Key Value
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Bond Index Key Value', assuming that a cargo record where bond index field is not empty or spaces, when the system prepares for bond index search operation, the desired outcome is that the system sets the bond index value as the search key value for qualified search.
💻 Technical Criteria
EXCLUDING
A cargo record where bond index field is not empty or spaces
When
The system prepares for bond index search operation
Then
The system sets the bond index value as the search key value for qualified search
R-GCCUSIO-cbl-00636
Set Qualified Search SSA
Action Rules
📊 Business Logic Narrative
When the process 'Set Qualified Search SSA' is invoked, and assuming that a cargo record with valid bond index data and assigned search key value, when the system configures search parameters for bond index lookup, the desired outcome is that the system sets qualified ssa parameters for targeted bond index search.
💻 Technical Criteria
Given
A cargo record with valid bond index data and assigned search key value
When
The system configures search parameters for bond index lookup
Then
The system sets qualified SSA parameters for targeted bond index search
R-GCCUSIO-cbl-00637
Set Empty Key Value
Action Rules
📊 Business Logic Narrative
When the process 'Set Empty Key Value' is invoked, and assuming that a cargo record where bond index field is empty or contains only spaces, when the system prepares search parameters for bond index operation, the desired outcome is that the system sets the search key value to spaces for unqualified search.
💻 Technical Criteria
Given
A cargo record where bond index field is empty or contains only spaces
When
The system prepares search parameters for bond index operation
Then
The system sets the search key value to spaces for unqualified search
R-GCCUSIO-cbl-00638
Set Unqualified Search SSA
Action Rules
📊 Business Logic Narrative
When the process 'Set Unqualified Search SSA' is invoked, and assuming that a cargo record with empty bond index data and empty search key value, when the system configures search parameters for bond index lookup, the desired outcome is that the system sets unqualified ssa parameters for broad bond index search.
💻 Technical Criteria
Given
A cargo record with empty bond index data and empty search key value
When
The system configures search parameters for bond index lookup
Then
The system sets unqualified SSA parameters for broad bond index search
R-GCCUSIO-cbl-00764
Bond Index Data Available?
Decision Rules
📊 Business Logic Narrative
When the process 'Bond Index Data Available?' is invoked, and assuming that a cargo record with bond index field (gcusrt-rt074-bond-index) and bond search operator (gcwusio-operator), when the system processes a bond index search request, the desired outcome is that if bond index is not empty, use qualified search with bond number as key value, otherwise use unqualified search with empty key value.
💻 Technical Criteria
Given
A cargo record with bond index field (GCUSRT-RT074-BOND-INDEX) and bond search operator (GCWUSIO-OPERATOR)
When
The system processes a bond index search request
Then
If bond index is not empty, use qualified search with bond number as key value, otherwise use unqualified search with empty key value
R-GCCUSIO-cbl-00765
Set Bond Index Key Value
Action Rules
📊 Business Logic Narrative
When the process 'Set Bond Index Key Value' is invoked, and assuming that a cargo record with non-empty bond index field (gcusrt-rt074-bond-index) and search operator (gcwusio-operator), when the system prepares for qualified bond index search, the desired outcome is that set the bond index value to gcub-key-value and assign the operator to gcub-operator.
💻 Technical Criteria
Given
A cargo record with non-empty bond index field (GCUSRT-RT074-BOND-INDEX) and search operator (GCWUSIO-OPERATOR)
When
The system prepares for qualified bond index search
Then
Set the bond index value to GCUB-KEY-VALUE and assign the operator to GCUB-OPERATOR
R-GCCUSIO-cbl-00766
Set Empty Bond Index Key
Action Rules
📊 Business Logic Narrative
When the process 'Set Empty Bond Index Key' is invoked, and assuming that a cargo record with empty bond index field (gcusrt-rt074-bond-index equals spaces), when the system prepares for unqualified bond index search, the desired outcome is that set spaces to gcub-key-value for the search operation.
💻 Technical Criteria
Given
A cargo record with empty bond index field (GCUSRT-RT074-BOND-INDEX equals SPACES)
When
The system prepares for unqualified bond index search
Then
Set SPACES to GCUB-KEY-VALUE for the search operation
R-GCCUSIO-cbl-00278
Error Index Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Error Index Type?' is invoked, and assuming that a cargo search request with error index specification, when the system evaluates the error index type from the request parameters, the desired outcome is that the system routes to the appropriate error index search path (origin, border, or destination error index).
💻 Technical Criteria
Given
A cargo search request with error index specification
When
The system evaluates the error index type from the request parameters
Then
The system routes to the appropriate error index search path (origin, border, or destination error index)
R-GCCUSIO-cbl-00282
Search GCSB1RT by Origin Error Index
Action Rules
📊 Business Logic Narrative
When the process 'Search GCSB1RT by Origin Error Index' is invoked, and assuming that origin error search parameters are configured, when the system executes search against gcsb1rt table using origin error index, the desired outcome is that the system attempts to retrieve cargo status record matching the origin error criteria using qualified ssa.
💻 Technical Criteria
Given
Origin error search parameters are configured
When
The system executes search against GCSB1RT table using origin error index
Then
The system attempts to retrieve cargo status record matching the origin error criteria using qualified SSA
R-GCCUSIO-cbl-00283
Search GCSB1RT by Border Error Index
Action Rules
📊 Business Logic Narrative
When the process 'Search GCSB1RT by Border Error Index' is invoked, and assuming that border error search parameters are configured, when the system executes search against gcsb1rt table using border error index, the desired outcome is that the system attempts to retrieve cargo status record matching the border error criteria using qualified ssa.
💻 Technical Criteria
Given
Border error search parameters are configured
When
The system executes search against GCSB1RT table using border error index
Then
The system attempts to retrieve cargo status record matching the border error criteria using qualified SSA
R-GCCUSIO-cbl-00284
Search GCSB1RT by Destination Error Index
Action Rules
📊 Business Logic Narrative
When the process 'Search GCSB1RT by Destination Error Index' is invoked, and assuming that destination error search parameters are configured, when the system executes search against gcsb1rt table using destination error index, the desired outcome is that the system attempts to retrieve cargo status record matching the destination error criteria using qualified ssa.
💻 Technical Criteria
Given
Destination error search parameters are configured
When
The system executes search against GCSB1RT table using destination error index
Then
The system attempts to retrieve cargo status record matching the destination error criteria using qualified SSA
R-GCCUSIO-cbl-00291
Cargo Record Exists?
Validation Rules
📊 Business Logic Narrative
When the process 'Cargo Record Exists?' is invoked, and assuming that a retrieval attempt for main cargo record associated with origin error has been made, when the system checks if the cargo record retrieval was successful, the desired outcome is that if status code is spaces then cargo record exists, otherwise cargo record does not exist indicating data inconsistency.
💻 Technical Criteria
Given
A retrieval attempt for main cargo record associated with origin error has been made
When
The system checks if the cargo record retrieval was successful
Then
If status code is spaces then cargo record exists, otherwise cargo record does not exist indicating data inconsistency
R-GCCUSIO-cbl-00292
Cargo Record Exists?
Validation Rules
📊 Business Logic Narrative
When the process 'Cargo Record Exists?' is invoked, and assuming that a retrieval attempt for main cargo record associated with border error has been made, when the system checks if the cargo record retrieval was successful, the desired outcome is that if status code is spaces then cargo record exists, otherwise cargo record does not exist indicating data inconsistency.
💻 Technical Criteria
Given
A retrieval attempt for main cargo record associated with border error has been made
When
The system checks if the cargo record retrieval was successful
Then
If status code is spaces then cargo record exists, otherwise cargo record does not exist indicating data inconsistency
R-GCCUSIO-cbl-00293
Cargo Record Exists?
Validation Rules
📊 Business Logic Narrative
When the process 'Cargo Record Exists?' is invoked, and assuming that a retrieval attempt for main cargo record associated with destination error has been made, when the system checks if the cargo record retrieval was successful, the desired outcome is that if status code is spaces then cargo record exists, otherwise cargo record does not exist indicating data inconsistency.
💻 Technical Criteria
Given
A retrieval attempt for main cargo record associated with destination error has been made
When
The system checks if the cargo record retrieval was successful
Then
If status code is spaces then cargo record exists, otherwise cargo record does not exist indicating data inconsistency
R-GCCUSIO-cbl-00294
Log Index Inconsistency Error
Policy Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Log Index Inconsistency Error', assuming that an error status record exists in gcsb1rt but the associated cargo record does not exist in gcsusrt, when the system detects this data inconsistency condition, the desired outcome is that the system logs error message 'gcsb1rt exist without gcsusrt' and calls error handling routine.
💻 Technical Criteria
EXCLUDING
An error status record exists in GCSB1RT but the associated cargo record does not exist in GCSUSRT
When
The system detects this data inconsistency condition
Then
The system logs error message 'GCSB1RT EXIST WITHOUT GCSUSRT' and calls error handling routine
R-GCCUSIO-cbl-00295
Return Cargo Record Data
Process Rules
📊 Business Logic Narrative
When the process 'Return Cargo Record Data' is invoked, and assuming that a cargo record has been successfully found through error index search and validated for existence, when the system completes the error index search process, the desired outcome is that the system returns the cargo record data in the io area for further processing.
💻 Technical Criteria
Given
A cargo record has been successfully found through error index search and validated for existence
When
The system completes the error index search process
Then
The system returns the cargo record data in the IO area for further processing
R-GCCUSIO-cbl-00297
Search Held Destination Index
Process Rules
📊 Business Logic Narrative
When the process 'Search Held Destination Index' is invoked, and assuming that the index type is held destination (gcwusio-index-held-dest is true), when the system processes the held destination index search, the desired outcome is that the system retrieves gcsb1rt record using held destination key and cargo key from the index, then calls cims to access the held destination index database.
💻 Technical Criteria
Given
The index type is held destination (GCWUSIO-INDEX-HELD-DEST is true)
When
The system processes the held destination index search
Then
The system retrieves GCSB1RT record using held destination key and cargo key from the index, then calls CIMS to access the held destination index database
R-GCCUSIO-cbl-00298
Search Held Border Index
Process Rules
📊 Business Logic Narrative
When the process 'Search Held Border Index' is invoked, and assuming that the index type is held border (gcwusio-index-held-border is true), when the system processes the held border index search, the desired outcome is that the system retrieves gcsb1rt record using held border key and cargo key from the index, then calls cims to access the held border index database.
💻 Technical Criteria
Given
The index type is held border (GCWUSIO-INDEX-HELD-BORDER is true)
When
The system processes the held border index search
Then
The system retrieves GCSB1RT record using held border key and cargo key from the index, then calls CIMS to access the held border index database
R-GCCUSIO-cbl-00300
Extract Cargo Key from Index
Process Rules
📊 Business Logic Narrative
When the process 'Extract Cargo Key from Index' is invoked, and assuming that a gcsb1rt index record has been successfully retrieved, when the system processes the index record, the desired outcome is that the system extracts the cargo key (gcb1-key-cargo) from the index record and prepares it for primary cargo record retrieval.
💻 Technical Criteria
Given
A GCSB1RT index record has been successfully retrieved
When
The system processes the index record
Then
The system extracts the cargo key (GCB1-KEY-CARGO) from the index record and prepares it for primary cargo record retrieval
R-GCCUSIO-cbl-00301
Retrieve Primary Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Primary Cargo Record' is invoked, and assuming that a cargo key has been extracted from the gcsb1rt index record, when the system sets the function code to gu (get unique) and calls x1100-call-one-ssa with the cargo key, the desired outcome is that the system attempts to retrieve the primary gcsusrt cargo record using the extracted key.
💻 Technical Criteria
Given
A cargo key has been extracted from the GCSB1RT index record
When
The system sets the function code to GU (Get Unique) and calls X1100-CALL-ONE-SSA with the cargo key
Then
The system attempts to retrieve the primary GCSUSRT cargo record using the extracted key
R-GCCUSIO-cbl-00302
Primary Record Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Primary Record Found?' is invoked, and assuming that an attempt to retrieve the primary cargo record has been made, when the system checks the status code after the retrieval attempt, the desired outcome is that if status code is spaces then primary record is found, otherwise primary record is not found.
💻 Technical Criteria
Given
An attempt to retrieve the primary cargo record has been made
When
The system checks the status code after the retrieval attempt
Then
If status code is spaces then primary record is found, otherwise primary record is not found
R-GCCUSIO-cbl-00303
Return Cargo Data
Process Rules
📊 Business Logic Narrative
When the process 'Return Cargo Data' is invoked, and assuming that the primary cargo record has been successfully retrieved (status code is spaces), when the hold index search completes successfully, the desired outcome is that the system returns the retrieved cargo data to the calling process.
💻 Technical Criteria
Given
The primary cargo record has been successfully retrieved (status code is spaces)
When
The hold index search completes successfully
Then
The system returns the retrieved cargo data to the calling process
R-GCCUSIO-cbl-00304
Log Index Inconsistency Error
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Log Index Inconsistency Error', assuming that a gcsb1rt index record exists but the corresponding primary cargo record is not found (status code is not spaces), when the system detects this index inconsistency, the desired outcome is that the system sets error message to 'gcsb1rt exist without gcsusrt' and calls cerr error handling program.
💻 Technical Criteria
EXCLUDING
A GCSB1RT index record exists but the corresponding primary cargo record is not found (status code is not spaces)
When
The system detects this index inconsistency
Then
The system sets error message to 'GCSB1RT EXIST WITHOUT GCSUSRT' and calls CERR error handling program
R-GCCUSIO-cbl-00126
Cargo Has Error Status?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Has Error Status?' is invoked, and assuming that a cargo record with status indicators, when the system checks for error conditions, the desired outcome is that error index management is triggered if cargo has cpcargo-error, cpcargo-pending, or uscargo-error status.
💻 Technical Criteria
Given
A cargo record with status indicators
When
The system checks for error conditions
Then
Error index management is triggered if cargo has CPCARGO-ERROR, CPCARGO-PENDING, or USCARGO-ERROR status
R-GCCUSIO-cbl-00128
Get Border Station from MC Table
Action Rules
📊 Business Logic Narrative
When the process 'Get Border Station from MC Table' is invoked, and assuming that a cargo record requiring border error index and location id, when the system looks up border station information, the desired outcome is that mc table is queried using location id to retrieve border station number.
💻 Technical Criteria
Given
A cargo record requiring border error index and location ID
When
The system looks up border station information
Then
MC table is queried using location ID to retrieve border station number
R-GCCUSIO-cbl-00131
GCSB1RT Index Record Exists?
Decision Rules
📊 Business Logic Narrative
When the process 'GCSB1RT Index Record Exists?' is invoked, and assuming that error index fields populated for a cargo record, when the system checks for existing gcsb1rt index record, the desired outcome is that existing record is updated if found, otherwise new record is created.
💻 Technical Criteria
Given
Error index fields populated for a cargo record
When
The system checks for existing GCSB1RT index record
Then
Existing record is updated if found, otherwise new record is created
R-GCCUSIO-cbl-00132
Create New Index Record
Action Rules
📊 Business Logic Narrative
When the process 'Create New Index Record' is invoked, and assuming that a cargo record with error status and no existing gcsb1rt record, when the system processes error index record creation, the desired outcome is that new gcsb1rt record is inserted with populated error index fields.
💻 Technical Criteria
Given
A cargo record with error status and no existing GCSB1RT record
When
The system processes error index record creation
Then
New GCSB1RT record is inserted with populated error index fields
R-GCCUSIO-cbl-00133
Update Existing Index Record
Action Rules
📊 Business Logic Narrative
When the process 'Update Existing Index Record' is invoked, and assuming that a cargo record with error status and existing gcsb1rt record, when the system processes error index record update, the desired outcome is that existing gcsb1rt record is updated with current error index fields.
💻 Technical Criteria
Given
A cargo record with error status and existing GCSB1RT record
When
The system processes error index record update
Then
Existing GCSB1RT record is updated with current error index fields
R-GCCUSIO-cbl-00134
Remove Error Index Fields
Process Rules
📊 Business Logic Narrative
When the process 'Remove Error Index Fields' is invoked, and assuming that a cargo record without error status but with existing error index fields, when the system processes error index cleanup, the desired outcome is that error origin, destination, and border index fields are cleared to spaces.
💻 Technical Criteria
Given
A cargo record without error status but with existing error index fields
When
The system processes error index cleanup
Then
Error origin, destination, and border index fields are cleared to spaces
R-GCCUSIO-cbl-00135
All Error Fields Empty?
Decision Rules
📊 Business Logic Narrative
When the process 'All Error Fields Empty?' is invoked, and assuming that a gcsb1rt record with error fields cleared, when the system checks if all error and hold fields are empty, the desired outcome is that record is deleted if all fields are empty, otherwise record is updated.
💻 Technical Criteria
Given
A GCSB1RT record with error fields cleared
When
The system checks if all error and hold fields are empty
Then
Record is deleted if all fields are empty, otherwise record is updated
R-GCCUSIO-cbl-00136
Delete Index Record
Action Rules
📊 Business Logic Narrative
When the process 'Delete Index Record' is invoked, and assuming that a gcsb1rt record with all error and hold index fields empty, when the system processes index record cleanup, the desired outcome is that gcsb1rt record is deleted from the database.
💻 Technical Criteria
Given
A GCSB1RT record with all error and hold index fields empty
When
The system processes index record cleanup
Then
GCSB1RT record is deleted from the database
R-GCCUSIO-cbl-00137
Update Index Record
Action Rules
📊 Business Logic Narrative
When the process 'Update Index Record' is invoked, and assuming that a gcsb1rt record with some error fields cleared but hold fields still populated, when the system processes partial index cleanup, the desired outcome is that gcsb1rt record is updated with remaining non-empty index fields.
💻 Technical Criteria
Given
A GCSB1RT record with some error fields cleared but hold fields still populated
When
The system processes partial index cleanup
Then
GCSB1RT record is updated with remaining non-empty index fields
R-GCCUSIO-cbl-00138
Search Origin Error Index
Action Rules
📊 Business Logic Narrative
When the process 'Search Origin Error Index' is invoked, and assuming that a search request for origin error index, when the system processes origin error search, the desired outcome is that gcsb1rt is queried using origin error station and cargo key to find matching records.
💻 Technical Criteria
Given
A search request for origin error index
When
The system processes origin error search
Then
GCSB1RT is queried using origin error station and cargo key to find matching records
R-GCCUSIO-cbl-00139
Search Border Error Index
Action Rules
📊 Business Logic Narrative
When the process 'Search Border Error Index' is invoked, and assuming that a search request for border error index, when the system processes border error search, the desired outcome is that gcsb1rt is queried using border error station and cargo key to find matching records.
💻 Technical Criteria
Given
A search request for border error index
When
The system processes border error search
Then
GCSB1RT is queried using border error station and cargo key to find matching records
R-GCCUSIO-cbl-00140
Search Destination Error Index
Action Rules
📊 Business Logic Narrative
When the process 'Search Destination Error Index' is invoked, and assuming that a search request for destination error index, when the system processes destination error search, the desired outcome is that gcsb1rt is queried using destination error station and cargo key to find matching records.
💻 Technical Criteria
Given
A search request for destination error index
When
The system processes destination error search
Then
GCSB1RT is queried using destination error station and cargo key to find matching records
R-GCCUSIO-cbl-00141
Retrieve Matching Cargo Records
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Matching Cargo Records' is invoked, and assuming that successful error index search results from gcsb1rt, when the system processes search results, the desired outcome is that primary cargo records are retrieved from gcsusrt using cargo keys found in index search.
💻 Technical Criteria
Given
Successful error index search results from GCSB1RT
When
The system processes search results
Then
Primary cargo records are retrieved from GCSUSRT using cargo keys found in index search
R-GCCUSIO-cbl-00305
Set Error Code to 'E'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Error Code to 'E'' is invoked, and assuming that the system is processing error fields for origin station cargo processing, when the origin error index needs to be populated, the desired outcome is that the error code for origin station must be set to 'e'.
💻 Technical Criteria
Given
The system is processing error fields for origin station cargo processing
When
The origin error index needs to be populated
Then
The error code for origin station must be set to 'E'
R-GCCUSIO-cbl-00306
Extract Origin Station Number
Process Rules
📊 Business Logic Narrative
When the process 'Extract Origin Station Number' is invoked, and assuming that a cargo record exists with origin station information, when processing error conditions for the origin station, the desired outcome is that the origin station number must be extracted from the cargo record field rt28-orig-stn-num.
💻 Technical Criteria
Given
A cargo record exists with origin station information
When
Processing error conditions for the origin station
Then
The origin station number must be extracted from the cargo record field RT28-ORIG-STN-NUM
R-GCCUSIO-cbl-00307
Set Origin Error Index Key
Process Rules
📊 Business Logic Narrative
When the process 'Set Origin Error Index Key' is invoked, and assuming that the origin station number has been extracted from the cargo record, when building the error index for origin station processing, the desired outcome is that the origin error index key must be set to the extracted origin station number.
💻 Technical Criteria
Given
The origin station number has been extracted from the cargo record
When
Building the error index for origin station processing
Then
The origin error index key must be set to the extracted origin station number
R-GCCUSIO-cbl-00313
Set Location ID from Cargo Record
Process Rules
📊 Business Logic Narrative
When the process 'Set Location ID from Cargo Record' is invoked, and assuming that a cargo record with location id information, when the system prepares the mc table lookup key, the desired outcome is that the location id from the cargo record is used as the sequence id for table lookup.
💻 Technical Criteria
Given
A cargo record with location ID information
When
The system prepares the MC table lookup key
Then
The location ID from the cargo record is used as the sequence ID for table lookup
R-GCCUSIO-cbl-00318
Set Error Code to 'E' for Border
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Error Code to 'E' for Border' is invoked, and assuming that a cargo record requires border error index processing, when the system processes error fields for border station tracking, the desired outcome is that the border error code is set to 'e' to identify it as an error condition.
💻 Technical Criteria
Given
A cargo record requires border error index processing
When
The system processes error fields for border station tracking
Then
The border error code is set to 'E' to identify it as an error condition
R-GCCUSIO-cbl-00319
Get Location ID from Cargo Record
Process Rules
📊 Business Logic Narrative
When the process 'Get Location ID from Cargo Record' is invoked, and assuming that a cargo record contains location information, when border error index processing requires station number lookup, the desired outcome is that the location id is retrieved from the cargo record rt04 field for table lookup.
💻 Technical Criteria
Given
A cargo record contains location information
When
Border error index processing requires station number lookup
Then
The location ID is retrieved from the cargo record RT04 field for table lookup
R-GCCUSIO-cbl-00325
Set Error Code to 'E'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Error Code to 'E'' is invoked, and assuming that the system is processing destination error index fields for a cargo record, when the destination error index population process is initiated, the desired outcome is that the destination error code field must be set to 'e'.
💻 Technical Criteria
Given
The system is processing destination error index fields for a cargo record
When
The destination error index population process is initiated
Then
The destination error code field must be set to 'E'
R-GCCUSIO-cbl-00326
Extract Destination Station Number
Process Rules
📊 Business Logic Narrative
When the process 'Extract Destination Station Number' is invoked, and assuming that a cargo record exists with destination station information, when the destination error index is being populated, the desired outcome is that the destination station number must be extracted from the cargo record's destination station field.
💻 Technical Criteria
Given
A cargo record exists with destination station information
When
The destination error index is being populated
Then
The destination station number must be extracted from the cargo record's destination station field
R-GCCUSIO-cbl-00329
Set GCB1-KEY-ERROR-DEST = Destination Station Number
Action Rules
📊 Business Logic Narrative
When the process 'Set GCB1-KEY-ERROR-DEST = Destination Station Number' is invoked, and assuming that the destination station number has been extracted from the cargo record, when the destination error index is being populated, the desired outcome is that the gcb1-key-error-dest field must be set to the destination station number.
💻 Technical Criteria
Given
The destination station number has been extracted from the cargo record
When
The destination error index is being populated
Then
The GCB1-KEY-ERROR-DEST field must be set to the destination station number
R-GCCUSIO-cbl-00142
Check Cargo Hold Status
Decision Rules
📊 Business Logic Narrative
When the process 'Check Cargo Hold Status' is invoked, and assuming that a cargo record with various status indicators, when the system checks for hold status conditions, the desired outcome is that the system identifies if cargo is in any hold status (hold, holdpcs, pr-hpcs, hold-b, pr-h-bo, hold-d, pr-h-de, holdfda) or has no hold status.
💻 Technical Criteria
Given
A cargo record with various status indicators
When
The system checks for hold status conditions
Then
The system identifies if cargo is in any hold status (HOLD, HOLDPCS, PR-HPCS, HOLD-B, PR-H-BO, HOLD-D, PR-H-DE, HOLDFDA) or has no hold status
R-GCCUSIO-cbl-00143
Determine Hold Type
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Hold Type' is invoked, and assuming that cargo is confirmed to be in hold status, when the system analyzes the specific hold status codes, the desired outcome is that the system determines if the hold is destination-related (hold, holdpcs, pr-hpcs, hold-d, pr-h-de, holdfda) or border-related (hold, holdpcs, pr-hpcs, hold-b, pr-h-bo, holdfda).
💻 Technical Criteria
Given
Cargo is confirmed to be in hold status
When
The system analyzes the specific hold status codes
Then
The system determines if the hold is destination-related (HOLD, HOLDPCS, PR-HPCS, HOLD-D, PR-H-DE, HOLDFDA) or border-related (HOLD, HOLDPCS, PR-HPCS, HOLD-B, PR-H-BO, HOLDFDA)
R-GCCUSIO-cbl-00146
Lookup Border Station from MC Table
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Border Station from MC Table' is invoked, and assuming that cargo requires border hold index and has location id, when the system needs border station information, the desired outcome is that the system calls table lookup service with mc table id and location id to retrieve station number.
💻 Technical Criteria
Given
Cargo requires border hold index and has location ID
When
The system needs border station information
Then
The system calls table lookup service with MC table ID and location ID to retrieve station number
R-GCCUSIO-cbl-00147
Update Existing Index Record
Process Rules
📊 Business Logic Narrative
When the process 'Update Existing Index Record' is invoked, and assuming that a gcsb1rt index record exists for the cargo and hold index fields are populated, when the system processes hold index management, the desired outcome is that the system replaces the existing index record with updated hold field information.
💻 Technical Criteria
Given
A GCSB1RT index record exists for the cargo and hold index fields are populated
When
The system processes hold index management
Then
The system replaces the existing index record with updated hold field information
R-GCCUSIO-cbl-00148
Create New Index Record
Process Rules
📊 Business Logic Narrative
When the process 'Create New Index Record' is invoked, and assuming that no gcsb1rt index record exists for the cargo and hold index fields are populated, when the system processes hold index management, the desired outcome is that the system inserts a new index record with cargo key and hold field information.
💻 Technical Criteria
Given
No GCSB1RT index record exists for the cargo and hold index fields are populated
When
The system processes hold index management
Then
The system inserts a new index record with cargo key and hold field information
R-GCCUSIO-cbl-00149
Clear Hold Index Fields
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Clear Hold Index Fields', assuming that cargo is not in any hold status (not hold, holdpcs, pr-hpcs, hold-b, pr-h-bo, hold-d, pr-h-de, holdfda), when the system processes hold index management, the desired outcome is that the system clears held-dest-index and held-border-index fields to spaces.
💻 Technical Criteria
EXCLUDING
Cargo is not in any hold status (not HOLD, HOLDPCS, PR-HPCS, HOLD-B, PR-H-BO, HOLD-D, PR-H-DE, HOLDFDA)
When
The system processes hold index management
Then
The system clears held-dest-index and held-border-index fields to spaces
R-GCCUSIO-cbl-00332
Check Cargo Status for Hold Conditions
Decision Rules
📊 Business Logic Narrative
When the process 'Check Cargo Status for Hold Conditions' is invoked, and assuming that a cargo record with us cargo status conditions, when the cargo status indicates hold, holdpcs, pr-hpcs, hold-b, pr-h-bo, or holdfda, the desired outcome is that the system initiates mc table lookup to determine the border station information.
💻 Technical Criteria
Given
A cargo record with US cargo status conditions
When
The cargo status indicates HOLD, HOLDPCS, PR-HPCS, HOLD-B, PR-H-BO, or HOLDFDA
Then
The system initiates MC table lookup to determine the border station information
R-GCCUSIO-cbl-00333
Get Station Information from MC Table
Action Rules
📊 Business Logic Narrative
When the process 'Get Station Information from MC Table' is invoked, and assuming that a cargo record requiring border hold processing with a location id, when the system performs mc table lookup using the location id as sequence id, the desired outcome is that the system retrieves the corresponding station segment information from the mc table.
💻 Technical Criteria
Given
A cargo record requiring border hold processing with a location ID
When
The system performs MC table lookup using the location ID as sequence ID
Then
The system retrieves the corresponding station segment information from the MC table
R-GCCUSIO-cbl-00335
Check Cargo Hold Status
Decision Rules
📊 Business Logic Narrative
When the process 'Check Cargo Hold Status' is invoked, and assuming that a cargo record with various hold status conditions, when the system checks for destination hold status types including hold, holdpcs, pr-hpcs, hold-d, pr-h-de, or holdfda, the desired outcome is that the system identifies whether destination hold index processing is required.
💻 Technical Criteria
Given
A cargo record with various hold status conditions
When
The system checks for destination hold status types including HOLD, HOLDPCS, PR-HPCS, HOLD-D, PR-H-DE, or HOLDFDA
Then
The system identifies whether destination hold index processing is required
R-GCCUSIO-cbl-00336
Set Destination Hold Index Key
Action Rules
📊 Business Logic Narrative
When the process 'Set Destination Hold Index Key' is invoked, and assuming that a cargo record with destination hold status and a destination station number, when the system processes destination hold index creation, the desired outcome is that the destination station number is assigned to the destination hold index key field.
💻 Technical Criteria
Given
A cargo record with destination hold status and a destination station number
When
The system processes destination hold index creation
Then
The destination station number is assigned to the destination hold index key field
R-GCCUSIO-cbl-00338
Check Cargo Hold Status
Decision Rules
📊 Business Logic Narrative
When the process 'Check Cargo Hold Status' is invoked, and assuming that a cargo record with various hold status conditions, when the system checks for border hold requirements, the desired outcome is that border hold processing is triggered only for specific hold status types: hold, holdpcs, pr-hpcs, hold-b, pr-h-bo, or holdfda.
💻 Technical Criteria
Given
A cargo record with various hold status conditions
When
The system checks for border hold requirements
Then
Border hold processing is triggered only for specific hold status types: HOLD, HOLDPCS, PR-HPCS, HOLD-B, PR-H-BO, or HOLDFDA
R-GCCUSIO-cbl-00339
Is Border Hold Status?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Border Hold Status?' is invoked, and assuming that cargo with confirmed hold status conditions, when the hold status is hold, holdpcs, pr-hpcs, hold-b, pr-h-bo, or holdfda, the desired outcome is that border hold index processing is required and mc table lookup is initiated.
💻 Technical Criteria
Given
Cargo with confirmed hold status conditions
When
The hold status is HOLD, HOLDPCS, PR-HPCS, HOLD-B, PR-H-BO, or HOLDFDA
Then
Border hold index processing is required and MC table lookup is initiated
R-GCCUSIO-cbl-00340
Perform MC Table Lookup
Action Rules
📊 Business Logic Narrative
When the process 'Perform MC Table Lookup' is invoked, and assuming that cargo requiring border hold index with location id information, when mc table lookup is performed using table id 'mc' and cargo location id as sequence id, the desired outcome is that system attempts to retrieve corresponding station information from the mc reference table.
💻 Technical Criteria
Given
Cargo requiring border hold index with location ID information
When
MC table lookup is performed using table ID 'MC' and cargo location ID as sequence ID
Then
System attempts to retrieve corresponding station information from the MC reference table
R-GCCUSIO-cbl-00153
New Data Empty?
Decision Rules
📊 Business Logic Narrative
When the process 'New Data Empty?' is invoked, and assuming that a secondary cargo data segment (gcsa2rt) replace operation is requested, when the system retrieves the existing record and evaluates the new cargo data content, the desired outcome is that if the new data contains only spaces, low-values, or underscores, the system should delete the existing record; otherwise it should insert or replace the record based on whether it exists.
💻 Technical Criteria
Given
A secondary cargo data segment (GCSA2RT) replace operation is requested
When
The system retrieves the existing record and evaluates the new cargo data content
Then
If the new data contains only spaces, low-values, or underscores, the system should delete the existing record; otherwise it should insert or replace the record based on whether it exists
R-GCCUSIO-cbl-00154
Insert Data Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Insert Data Valid?' is invoked, and assuming that a secondary cargo data segment (gcsa2rt) insert operation is requested, when the system evaluates the cargo data content for insertion, the desired outcome is that the system should only proceed with insertion if the data is not all spaces, not all low-values, and not all underscores.
💻 Technical Criteria
Given
A secondary cargo data segment (GCSA2RT) insert operation is requested
When
The system evaluates the cargo data content for insertion
Then
The system should only proceed with insertion if the data is not all spaces, not all low-values, and not all underscores
R-GCCUSIO-cbl-00155
Delete Secondary Record
Process Rules
📊 Business Logic Narrative
When the process 'Delete Secondary Record' is invoked, and assuming that a secondary cargo data segment (gcsa2rt) delete operation is requested, when the system attempts to retrieve the existing record using ghu function, the desired outcome is that if the record exists (status code is not 'ge'), the system should proceed with deletion; if not found, the operation should continue without error.
💻 Technical Criteria
Given
A secondary cargo data segment (GCSA2RT) delete operation is requested
When
The system attempts to retrieve the existing record using GHU function
Then
If the record exists (status code is not 'GE'), the system should proceed with deletion; if not found, the operation should continue without error
R-GCCUSIO-cbl-00156
Index Type?
Action Rules
📊 Business Logic Narrative
When the process 'Index Type?' is invoked, and assuming that a secondary cargo data retrieval operation is requested, when the system evaluates the index type specified in the request, the desired outcome is that if secn-key index is specified, use secondary key search; otherwise use primary key search with built secondary ssa.
💻 Technical Criteria
Given
A secondary cargo data retrieval operation is requested
When
The system evaluates the index type specified in the request
Then
If SECN-KEY index is specified, use secondary key search; otherwise use primary key search with built secondary SSA
R-GCCUSIO-cbl-00157
Record Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Record Found?' is invoked, and assuming that a secondary cargo data replace operation is in progress, when the system attempts to retrieve the existing record using ghu function with 'ge' accept status, the desired outcome is that if the status code equals 'ge', the record is not found and requires insertion; if status code is spaces, the record exists and can be replaced or deleted based on data content.
💻 Technical Criteria
Given
A secondary cargo data replace operation is in progress
When
The system attempts to retrieve the existing record using GHU function with 'GE' accept status
Then
If the status code equals 'GE', the record is not found and requires insertion; if status code is spaces, the record exists and can be replaced or deleted based on data content
R-GCCUSIO-cbl-00158
Record Exists?
Validation Rules
📊 Business Logic Narrative
When the process 'Record Exists?' is invoked, and assuming that a secondary cargo data delete operation is requested, when the system retrieves the record using ghu function with 'ge' accept status, the desired outcome is that if the status code is spaces, the record exists and should be deleted; if status code is 'ge', the record does not exist and no deletion is needed.
💻 Technical Criteria
Given
A secondary cargo data delete operation is requested
When
The system retrieves the record using GHU function with 'GE' accept status
Then
If the status code is spaces, the record exists and should be deleted; if status code is 'GE', the record does not exist and no deletion is needed
R-GCCUSIO-cbl-00345
Function Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Function Type?' is invoked, and assuming that a secondary cargo data processing request is received, when the function code is repl (replace) or dlet (delete), the desired outcome is that the system routes to retrieval processing to check for existing records before performing the operation.
💻 Technical Criteria
Given
A secondary cargo data processing request is received
When
The function code is REPL (Replace) or DLET (Delete)
Then
The system routes to retrieval processing to check for existing records before performing the operation
R-GCCUSIO-cbl-00346
Set Function to GHU for Retrieval
Process Rules
📊 Business Logic Narrative
When the process 'Set Function to GHU for Retrieval' is invoked, and assuming that a repl or dlet operation is requested for secondary cargo data, when the system needs to verify record existence, the desired outcome is that the function code is temporarily changed to ghu (get hold unique) for the existence check.
💻 Technical Criteria
Given
A REPL or DLET operation is requested for secondary cargo data
When
The system needs to verify record existence
Then
The function code is temporarily changed to GHU (Get Hold Unique) for the existence check
R-GCCUSIO-cbl-00348
Build Secondary SSA with Key
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Build Secondary SSA with Key', assuming that a secondary cargo record needs to be retrieved, when the secondary record key is available and not empty, the desired outcome is that the system builds a qualified ssa (segment search argument) using the key value for precise record location.
💻 Technical Criteria
EXCLUDING
A secondary cargo record needs to be retrieved
When
The secondary record key is available and not empty
Then
The system builds a qualified SSA (Segment Search Argument) using the key value for precise record location
R-GCCUSIO-cbl-00349
Call Database with Retrieval Parameters
Action Rules
📊 Business Logic Narrative
When the process 'Call Database with Retrieval Parameters' is invoked, and assuming that the retrieval parameters are properly configured with function code, pcb, and ssa, when the database call is executed, the desired outcome is that the system attempts to retrieve the secondary cargo record and returns the operation status.
💻 Technical Criteria
Given
The retrieval parameters are properly configured with function code, PCB, and SSA
When
The database call is executed
Then
The system attempts to retrieve the secondary cargo record and returns the operation status
R-GCCUSIO-cbl-00350
Record Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Record Found?' is invoked, and assuming that a database retrieval operation has been completed, when the status code is empty (spaces), the desired outcome is that the system determines that the record was found and sets the found flag to true.
💻 Technical Criteria
Given
A database retrieval operation has been completed
When
The status code is empty (spaces)
Then
The system determines that the record was found and sets the found flag to true
R-GCCUSIO-cbl-00352
Data Content Check
Validation Rules
📊 Business Logic Narrative
When the process 'Data Content Check' is invoked, and assuming that secondary cargo data has been prepared for processing, when the data content is all spaces, low-values, or underscore characters, the desired outcome is that the system treats this as empty data and prepares for delete operation if record exists, or skips operation if record doesn't exist.
💻 Technical Criteria
Given
Secondary cargo data has been prepared for processing
When
The data content is all spaces, low-values, or underscore characters
Then
The system treats this as empty data and prepares for delete operation if record exists, or skips operation if record doesn't exist
R-GCCUSIO-cbl-00353
Prepare for Replace Operation
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Prepare for Replace Operation', assuming that an existing secondary cargo record is found and new data contains meaningful content, when the operation type is repl and data is not empty, the desired outcome is that the system prepares to replace the existing record with the new data using repl function code.
💻 Technical Criteria
EXCLUDING
An existing secondary cargo record is found and new data contains meaningful content
When
The operation type is REPL and data is not empty
Then
The system prepares to replace the existing record with the new data using REPL function code
R-GCCUSIO-cbl-00354
Prepare for Insert Operation
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Prepare for Insert Operation', assuming that no existing secondary cargo record is found and new data contains meaningful content, when the operation type is repl and data is not empty, the desired outcome is that the system changes the function code to isrt to insert a new record with the provided data.
💻 Technical Criteria
EXCLUDING
No existing secondary cargo record is found and new data contains meaningful content
When
The operation type is REPL and data is not empty
Then
The system changes the function code to ISRT to insert a new record with the provided data
R-GCCUSIO-cbl-00355
Prepare for Delete Operation
Decision Rules
📊 Business Logic Narrative
When the process 'Prepare for Delete Operation' is invoked, and assuming that an existing secondary cargo record is found and either new data is empty or delete operation is explicitly requested, when the data content is empty (spaces, low-values, or underscores) or function code is dlet, the desired outcome is that the system prepares to delete the existing record using dlet function code.
💻 Technical Criteria
Given
An existing secondary cargo record is found and either new data is empty or delete operation is explicitly requested
When
The data content is empty (spaces, low-values, or underscores) or function code is DLET
Then
The system prepares to delete the existing record using DLET function code
R-GCCUSIO-cbl-00356
Continue with Requested Operation
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Continue with Requested Operation', assuming that an insert operation is requested for secondary cargo data, when the cargo data is not all spaces, not all low-values, and not all underscore characters, the desired outcome is that the system proceeds with the insert operation using the provided meaningful data.
💻 Technical Criteria
EXCLUDING
An insert operation is requested for secondary cargo data
When
The cargo data is not all spaces, not all low-values, and not all underscore characters
Then
The system proceeds with the insert operation using the provided meaningful data
R-GCCUSIO-cbl-00525
Is Function GU or GN?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Function GU or GN?' is invoked, and assuming that a request to build secondary ssa parameters for database access, when the function code is gu (get unique) or gn (get next) and the secondary key (gcsuss00-key) is empty spaces, the desired outcome is that set error code '0012' and error message 'secn-key equal spaces' to indicate invalid parameters.
💻 Technical Criteria
Given
A request to build secondary SSA parameters for database access
When
The function code is GU (Get Unique) or GN (Get Next) AND the secondary key (GCSUSS00-KEY) is empty spaces
Then
Set error code '0012' and error message 'SECN-KEY EQUAL SPACES' to indicate invalid parameters
R-GCCUSIO-cbl-00642
Set Qualified SSA with Secondary Key
Decision Rules
📊 Business Logic Narrative
When the process 'Set Qualified SSA with Secondary Key' is invoked, and assuming that a secondary cargo segment (gcsa2rt) operation is being processed and the secondary key field contains a valid value (not spaces), when the system builds ssa parameters for database access, the desired outcome is that the system creates a qualified ssa using the secondary key value for targeted record retrieval.
💻 Technical Criteria
Given
A secondary cargo segment (GCSA2RT) operation is being processed AND the secondary key field contains a valid value (not spaces)
When
The system builds SSA parameters for database access
Then
The system creates a qualified SSA using the secondary key value for targeted record retrieval
R-GCCUSIO-cbl-00643
Return Error - Key Required
Validation Rules
📊 Business Logic Narrative
When the process 'Return Error - Key Required' is invoked, and assuming that a secondary cargo segment (gcsa2rt) retrieval operation (gu or gn) is being processed and the secondary key field is empty or contains only spaces, when the system attempts to build ssa parameters for database access, the desired outcome is that the system returns error code '0012' with message 'secn-key equal spaces'.
💻 Technical Criteria
Given
A secondary cargo segment (GCSA2RT) retrieval operation (GU or GN) is being processed AND the secondary key field is empty or contains only spaces
When
The system attempts to build SSA parameters for database access
Then
The system returns error code '0012' with message 'SECN-KEY EQUAL SPACES'
R-GCCUSIO-cbl-00645
Return Error - Key Required
Validation Rules
📊 Business Logic Narrative
When the process 'Return Error - Key Required' is invoked, and assuming that a message segment (gcsa8rt) retrieval operation (gu or gn) is being processed and the message key field is empty or contains only spaces, when the system attempts to build ssa parameters for database access, the desired outcome is that the system returns error code '0012' with message 'gcsa8rt-key equal spaces'.
💻 Technical Criteria
Given
A message segment (GCSA8RT) retrieval operation (GU or GN) is being processed AND the message key field is empty or contains only spaces
When
The system attempts to build SSA parameters for database access
Then
The system returns error code '0012' with message 'GCSA8RT-KEY EQUAL SPACES'
R-GCCUSIO-cbl-00772
Primary Key Available?
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Primary Key Available?', assuming that a cargo database operation is being performed, when the function code is not gu (get unique) or gn (get next) but is isrt (insert), repl (replace), dlet (delete), or zap, the desired outcome is that the system proceeds directly to database access without primary key validation checks.
💻 Technical Criteria
EXCLUDING
A cargo database operation is being performed
When
The function code is not GU (Get Unique) or GN (Get Next) but is ISRT (Insert), REPL (Replace), DLET (Delete), or ZAP
Then
The system proceeds directly to database access without primary key validation checks
R-GCCUSIO-cbl-00774
Message Key Available?
Validation Rules
📊 Business Logic Narrative
When the process 'Message Key Available?' is invoked, and assuming that a request to process gcsa8rt segment with get unique or get next function code, when the system checks if the gcsa8rt key field is empty (contains only spaces), the desired outcome is that if the key is empty, set error code '0012' and error message 'gcsa8rt-key equal spaces', otherwise allow processing to continue.
💻 Technical Criteria
Given
A request to process GCSA8RT segment with Get Unique or Get Next function code
When
The system checks if the GCSA8RT key field is empty (contains only spaces)
Then
If the key is empty, set error code '0012' and error message 'GCSA8RT-KEY EQUAL SPACES', otherwise allow processing to continue
R-GCCUSIO-cbl-00357
Data = ALL SPACES?
Validation Rules
📊 Business Logic Narrative
When the process 'Data = ALL SPACES?' is invoked, and assuming that secondary cargo data is being processed for validation, when the cargo data content equals all spaces, the desired outcome is that the data should be marked as empty and invalid for processing.
💻 Technical Criteria
Given
Secondary cargo data is being processed for validation
When
The cargo data content equals all spaces
Then
The data should be marked as empty and invalid for processing
R-GCCUSIO-cbl-00358
Data = ALL LOW-VALUES?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Data = ALL LOW-VALUES?', assuming that secondary cargo data is being processed for validation and does not contain all spaces, when the cargo data content equals all low-values, the desired outcome is that the data should be marked as empty and invalid for processing.
💻 Technical Criteria
EXCLUDING
Secondary cargo data is being processed for validation and does not contain all spaces
When
The cargo data content equals all low-values
Then
The data should be marked as empty and invalid for processing
R-GCCUSIO-cbl-00359
Data = ALL Underscores '_'?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Data = ALL Underscores '_'?', assuming that secondary cargo data is being processed for validation and does not contain all spaces or low-values, when the cargo data content equals all underscore characters, the desired outcome is that the data should be marked as empty and invalid for processing.
💻 Technical Criteria
EXCLUDING
Secondary cargo data is being processed for validation and does not contain all spaces or low-values
When
The cargo data content equals all underscore characters
Then
The data should be marked as empty and invalid for processing
R-GCCUSIO-cbl-00360
Mark Data as Valid
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Mark Data as Valid', assuming that secondary cargo data is being processed for validation, when the cargo data content does not equal all spaces and does not equal all low-values and does not equal all underscore characters, the desired outcome is that the data should be marked as valid for processing.
💻 Technical Criteria
EXCLUDING
Secondary cargo data is being processed for validation
When
The cargo data content does not equal all spaces and does not equal all low-values and does not equal all underscore characters
Then
The data should be marked as valid for processing
R-GCCUSIO-cbl-00361
Skip Insert Operation
Decision Rules
📊 Business Logic Narrative
When the process 'Skip Insert Operation' is invoked, and assuming that a secondary cargo insert operation is requested and the data has been validated as empty or invalid, when the function code is isrt (insert), the desired outcome is that the insert operation should be skipped and not executed.
💻 Technical Criteria
Given
A secondary cargo insert operation is requested and the data has been validated as empty or invalid
When
The function code is ISRT (Insert)
Then
The insert operation should be skipped and not executed
R-GCCUSIO-cbl-00362
Execute Delete Operation
Decision Rules
📊 Business Logic Narrative
When the process 'Execute Delete Operation' is invoked, and assuming that a secondary cargo replace operation is requested and the new data has been validated as empty or invalid, when the function code is repl (replace) and an existing record is found, the desired outcome is that a delete operation should be executed to remove the existing record.
💻 Technical Criteria
Given
A secondary cargo replace operation is requested and the new data has been validated as empty or invalid
When
The function code is REPL (Replace) and an existing record is found
Then
A delete operation should be executed to remove the existing record
R-GCCUSIO-cbl-00363
Proceed with Replace
Decision Rules
📊 Business Logic Narrative
When the process 'Proceed with Replace' is invoked, and assuming that a secondary cargo replace operation is requested and the data has been validated as valid, when the function code is repl (replace) and an existing record is found, the desired outcome is that the replace operation should proceed to update the existing record with the new valid data.
💻 Technical Criteria
Given
A secondary cargo replace operation is requested and the data has been validated as valid
When
The function code is REPL (Replace) and an existing record is found
Then
The replace operation should proceed to update the existing record with the new valid data
R-GCCUSIO-cbl-00364
Proceed with Insert
Decision Rules
📊 Business Logic Narrative
When the process 'Proceed with Insert' is invoked, and assuming that a secondary cargo replace operation is requested and the data has been validated as valid, when the function code is repl (replace) and no existing record is found, the desired outcome is that an insert operation should be executed to create a new record with the valid data.
💻 Technical Criteria
Given
A secondary cargo replace operation is requested and the data has been validated as valid
When
The function code is REPL (Replace) and no existing record is found
Then
An insert operation should be executed to create a new record with the valid data
R-GCCUSIO-cbl-00529
Check Cargo Data Content
Validation Rules
📊 Business Logic Narrative
When the process 'Check Cargo Data Content' is invoked, and assuming that secondary cargo data is being processed for repl function, when the cargo data equals all spaces or all low-values or all underscores, the desired outcome is that mark the data as empty and invalid for processing.
💻 Technical Criteria
Given
Secondary cargo data is being processed for REPL function
When
The cargo data equals ALL SPACES OR ALL LOW-VALUES OR ALL UNDERSCORES
Then
Mark the data as empty and invalid for processing
R-GCCUSIO-cbl-00530
Mark Data as Valid
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Mark Data as Valid', assuming that secondary cargo data is being processed, when the cargo data does not equal all spaces and does not equal all low-values and does not equal all underscores, the desired outcome is that mark the data as valid and continue with normal processing.
💻 Technical Criteria
EXCLUDING
Secondary cargo data is being processed
When
The cargo data does NOT equal ALL SPACES AND does NOT equal ALL LOW-VALUES AND does NOT equal ALL UNDERSCORES
Then
Mark the data as valid and continue with normal processing
R-GCCUSIO-cbl-00531
Skip INSERT Operation
Decision Rules
📊 Business Logic Narrative
When the process 'Skip INSERT Operation' is invoked, and assuming that function code is isrt for secondary cargo data, when the cargo data equals all spaces or all low-values or all underscores, the desired outcome is that skip the insert operation and do not create a record.
💻 Technical Criteria
Given
Function code is ISRT for secondary cargo data
When
The cargo data equals ALL SPACES OR ALL LOW-VALUES OR ALL UNDERSCORES
Then
Skip the INSERT operation and do not create a record
R-GCCUSIO-cbl-00532
Perform DELETE Operation
Decision Rules
📊 Business Logic Narrative
When the process 'Perform DELETE Operation' is invoked, and assuming that function code is repl for secondary cargo data and existing record is found, when the replacement cargo data equals all spaces or all low-values or all underscores, the desired outcome is that perform delete operation to remove the existing record.
💻 Technical Criteria
Given
Function code is REPL for secondary cargo data AND existing record is found
When
The replacement cargo data equals ALL SPACES OR ALL LOW-VALUES OR ALL UNDERSCORES
Then
Perform DELETE operation to remove the existing record
R-GCCUSIO-cbl-00533
Continue with Normal Processing
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Continue with Normal Processing', assuming that function code is repl for secondary cargo data and existing record is found, when the replacement cargo data does not equal all spaces and does not equal all low-values and does not equal all underscores, the desired outcome is that perform repl operation to update the existing record with new data.
💻 Technical Criteria
EXCLUDING
Function code is REPL for secondary cargo data AND existing record is found
When
The replacement cargo data does NOT equal ALL SPACES AND does NOT equal ALL LOW-VALUES AND does NOT equal ALL UNDERSCORES
Then
Perform REPL operation to update the existing record with new data
R-GCCUSIO-cbl-00534
Continue with Normal Processing
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Continue with Normal Processing', assuming that function code is repl for secondary cargo data and no existing record is found, when the cargo data does not equal all spaces and does not equal all low-values and does not equal all underscores, the desired outcome is that perform isrt operation to create a new record.
💻 Technical Criteria
EXCLUDING
Function code is REPL for secondary cargo data AND no existing record is found
When
The cargo data does NOT equal ALL SPACES AND does NOT equal ALL LOW-VALUES AND does NOT equal ALL UNDERSCORES
Then
Perform ISRT operation to create a new record
R-GCCUSIO-cbl-00647
Secondary Index Key Provided?
Decision Rules
📊 Business Logic Narrative
When the process 'Secondary Index Key Provided?' is invoked, and assuming that a request to retrieve secondary cargo data (gcsa2rt segment) with retrieval function codes (gu or gn), when the system checks if a secondary index key (gcwusio-index-secn-key) is provided in the request, the desired outcome is that if secondary index key is provided, route to secondary index search processing, otherwise route to primary key search processing.
💻 Technical Criteria
Given
A request to retrieve secondary cargo data (GCSA2RT segment) with retrieval function codes (GU or GN)
When
The system checks if a secondary index key (GCWUSIO-INDEX-SECN-KEY) is provided in the request
Then
If secondary index key is provided, route to secondary index search processing, otherwise route to primary key search processing
R-GCCUSIO-cbl-00648
Use Secondary Index Search
Process Rules
📊 Business Logic Narrative
When the process 'Use Secondary Index Search' is invoked, and assuming that a secondary index key (gcwusio-index-secn-key) is provided for secondary cargo data retrieval, when the system processes the secondary index search request, the desired outcome is that set the secondary key value to gcb2-key-value, set the operator to gcb2-operator, use qualified ssa (gcb2-ssa-qual), set pcb to gca2-pcb2, and execute the database call.
💻 Technical Criteria
Given
A secondary index key (GCWUSIO-INDEX-SECN-KEY) is provided for secondary cargo data retrieval
When
The system processes the secondary index search request
Then
Set the secondary key value to GCB2-KEY-VALUE, set the operator to GCB2-OPERATOR, use qualified SSA (GCB2-SSA-QUAL), set PCB to GCA2-PCB2, and execute the database call
R-GCCUSIO-cbl-00649
Build Primary Secondary SSA
Validation Rules
📊 Business Logic Narrative
When the process 'Build Primary Secondary SSA' is invoked, and assuming that no secondary index key is provided for secondary cargo data retrieval and function code is gu or gn, when the system needs to build ssa for primary key search on secondary data, the desired outcome is that if the secondary key (gcsuss00-key) is spaces, set error '0012' with message 'secn-key equal spaces', otherwise set gcsuss00-key to gca2-key-value, use qualified ssa (gca2-ssa-qual), and set pcb to gca2-pcb.
💻 Technical Criteria
Given
No secondary index key is provided for secondary cargo data retrieval and function code is GU or GN
When
The system needs to build SSA for primary key search on secondary data
Then
If the secondary key (GCSUSS00-KEY) is spaces, set error '0012' with message 'SECN-KEY EQUAL SPACES', otherwise set GCSUSS00-KEY to GCA2-KEY-VALUE, use qualified SSA (GCA2-SSA-QUAL), and set PCB to GCA2-PCB
R-GCCUSIO-cbl-00159
Message Key Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Message Key Valid?' is invoked, and assuming that a gcsa8rt message processing request with function code gu or gn, when the gcsa8rt key field is empty or contains only spaces, the desired outcome is that return error code '0012' with message 'gcsa8rt-key equal spaces'.
💻 Technical Criteria
Given
A GCSA8RT message processing request with function code GU or GN
When
The GCSA8RT key field is empty or contains only spaces
Then
Return error code '0012' with message 'GCSA8RT-KEY EQUAL SPACES'
R-GCCUSIO-cbl-00367
Extract Message Key
Validation Rules
📊 Business Logic Narrative
When the process 'Extract Message Key' is invoked, and assuming that a message retrieval operation (gu or gn) is requested for gcsa8rt segment, when the message key is empty or contains only spaces, the desired outcome is that the system sets error number '0012' and error message 'gcsa8rt-key equal spaces' to indicate invalid key for retrieval.
💻 Technical Criteria
Given
A message retrieval operation (GU or GN) is requested for GCSA8RT segment
When
The message key is empty or contains only spaces
Then
The system sets error number '0012' and error message 'GCSA8RT-KEY EQUAL SPACES' to indicate invalid key for retrieval
R-GCCUSIO-cbl-00543
Set Error - Key Cannot be Spaces
Validation Rules
📊 Business Logic Narrative
When the process 'Set Error - Key Cannot be Spaces' is invoked, and assuming that a retrieval operation has an empty message key, when key validation fails for gu or gn operations, the desired outcome is that error number '0012' and message 'gcsa8rt-key equal spaces' must be set.
💻 Technical Criteria
Given
A retrieval operation has an empty message key
When
Key validation fails for GU or GN operations
Then
Error number '0012' and message 'GCSA8RT-KEY EQUAL SPACES' must be set
R-GCCUSIO-cbl-00169
Set Station Key from Location ID
Process Rules
📊 Business Logic Narrative
When the process 'Set Station Key from Location ID' is invoked, and assuming that a cargo record contains a location id name, when the system performs station table lookup, the desired outcome is that the location id name from the cargo record is used as the station sequence id key for table lookup.
💻 Technical Criteria
Given
A cargo record contains a location ID name
When
The system performs station table lookup
Then
The location ID name from the cargo record is used as the station sequence ID key for table lookup
R-GCCUSIO-cbl-00173
Use Station Number for Border Processing
Process Rules
📊 Business Logic Narrative
When the process 'Use Station Number for Border Processing' is invoked, and assuming that a station number has been successfully extracted from mc table, when the system processes border-related cargo operations, the desired outcome is that the mc station number is used as the border station identifier in cargo status processing.
💻 Technical Criteria
Given
A station number has been successfully extracted from MC table
When
The system processes border-related cargo operations
Then
The MC station number is used as the border station identifier in cargo status processing
R-GCCUSIO-cbl-00174
No Index Processing Required - Delete Record
Process Rules
📊 Business Logic Narrative
When the process 'No Index Processing Required - Delete Record' is invoked, and assuming that a cargo record exists in the system, when the cargo has no cp cargo error status and no cp cargo pending status and no us cargo error status and no us cargo hold status and no us cargo hold pcs status and no us cargo pre-hold pcs status and no us cargo hold border status and no us cargo pre-hold border status and no us cargo hold destination status and no us cargo pre-hold destination status and no us cargo hold fda status, the desired outcome is that delete the cargo record from gcsb1rt index database and complete index management.
💻 Technical Criteria
Given
A cargo record exists in the system
When
The cargo has no CP cargo error status AND no CP cargo pending status AND no US cargo error status AND no US cargo hold status AND no US cargo hold PCS status AND no US cargo pre-hold PCS status AND no US cargo hold border status AND no US cargo pre-hold border status AND no US cargo hold destination status AND no US cargo pre-hold destination status AND no US cargo hold FDA status
Then
Delete the cargo record from GCSB1RT index database and complete index management
R-GCCUSIO-cbl-00175
Clear Error Index Fields
Process Rules
📊 Business Logic Narrative
When the process 'Clear Error Index Fields' is invoked, and assuming that a cargo record exists in gcsb1rt index database, when the cargo has no cp cargo error status and no cp cargo pending status and no us cargo error status, the desired outcome is that clear the error origin index field and clear the error destination index field and clear the error border index field in the gcsb1rt record.
💻 Technical Criteria
Given
A cargo record exists in GCSB1RT index database
When
The cargo has no CP cargo error status AND no CP cargo pending status AND no US cargo error status
Then
Clear the error origin index field AND clear the error destination index field AND clear the error border index field in the GCSB1RT record
R-GCCUSIO-cbl-00176
Clear Hold Index Fields
Process Rules
📊 Business Logic Narrative
When the process 'Clear Hold Index Fields' is invoked, and assuming that a cargo record exists in gcsb1rt index database, when the cargo has no us cargo hold status and no us cargo hold pcs status and no us cargo pre-hold pcs status and no us cargo hold border status and no us cargo pre-hold border status and no us cargo hold destination status and no us cargo pre-hold destination status and no us cargo hold fda status, the desired outcome is that clear the held destination index field and clear the held border index field in the gcsb1rt record.
💻 Technical Criteria
Given
A cargo record exists in GCSB1RT index database
When
The cargo has no US cargo hold status AND no US cargo hold PCS status AND no US cargo pre-hold PCS status AND no US cargo hold border status AND no US cargo pre-hold border status AND no US cargo hold destination status AND no US cargo pre-hold destination status AND no US cargo hold FDA status
Then
Clear the held destination index field AND clear the held border index field in the GCSB1RT record
R-GCCUSIO-cbl-00177
Any Index Fields Remaining?
Decision Rules
📊 Business Logic Narrative
When the process 'Any Index Fields Remaining?' is invoked, and assuming that error and hold index fields have been cleared from a gcsb1rt record, when the error destination index field is empty and the error origin index field is empty and the error border index field is empty, the desired outcome is that delete the gcsb1rt record from the index database.
💻 Technical Criteria
Given
Error and hold index fields have been cleared from a GCSB1RT record
When
The error destination index field is empty AND the error origin index field is empty AND the error border index field is empty
Then
Delete the GCSB1RT record from the index database
R-GCCUSIO-cbl-00178
Any Index Fields Remaining?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Any Index Fields Remaining?', assuming that error and hold index fields have been cleared from a gcsb1rt record, when at least one of the following fields is not empty: error destination index field or error origin index field or error border index field, the desired outcome is that replace the existing gcsb1rt record with the updated field values.
💻 Technical Criteria
EXCLUDING
Error and hold index fields have been cleared from a GCSB1RT record
When
At least one of the following fields is not empty: error destination index field OR error origin index field OR error border index field
Then
Replace the existing GCSB1RT record with the updated field values
R-GCCUSIO-cbl-00184
Replace Existing GCSB1RT Record
Process Rules
📊 Business Logic Narrative
When the process 'Replace Existing GCSB1RT Record' is invoked, and assuming that a cargo record has error or hold conditions and an existing gcsb1rt record is found, when error or hold index fields have been populated or cleared, the desired outcome is that replace the existing gcsb1rt record with the updated field values.
💻 Technical Criteria
Given
A cargo record has error or hold conditions AND an existing GCSB1RT record is found
When
Error or hold index fields have been populated or cleared
Then
Replace the existing GCSB1RT record with the updated field values
R-GCCUSIO-cbl-00374
Call Database with Qualified Search
Action Rules
📊 Business Logic Narrative
When the process 'Call Database with Qualified Search' is invoked, and assuming that a configured database request with cargo key, function code, and qualified search criteria, when the system executes the database call, the desired outcome is that the database is accessed using cims with the specified parameters and qualified search criteria.
💻 Technical Criteria
Given
A configured database request with cargo key, function code, and qualified search criteria
When
The system executes the database call
Then
The database is accessed using CIMS with the specified parameters and qualified search criteria
R-GCCUSIO-cbl-00378
Set Origin Error Code to 'E'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Origin Error Code to 'E'' is invoked, and assuming that a cargo record requires error index field population, when the system processes origin error information, the desired outcome is that the origin error code is set to 'e' to indicate an error classification.
💻 Technical Criteria
Given
A cargo record requires error index field population
When
The system processes origin error information
Then
The origin error code is set to 'E' to indicate an error classification
R-GCCUSIO-cbl-00379
Extract Origin Station Number from Cargo Record
Process Rules
📊 Business Logic Narrative
When the process 'Extract Origin Station Number from Cargo Record' is invoked, and assuming that a cargo record contains origin station information, when the system populates error index fields, the desired outcome is that the origin station number is extracted from the cargo record field rt28-orig-stn-num and used for error index population.
💻 Technical Criteria
Given
A cargo record contains origin station information
When
The system populates error index fields
Then
The origin station number is extracted from the cargo record field RT28-ORIG-STN-NUM and used for error index population
R-GCCUSIO-cbl-00381
Set Border Error Code to 'E'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Border Error Code to 'E'' is invoked, and assuming that a cargo record requires error index field population, when the system processes border error information, the desired outcome is that the border error code is set to 'e' to indicate an error classification.
💻 Technical Criteria
Given
A cargo record requires error index field population
When
The system processes border error information
Then
The border error code is set to 'E' to indicate an error classification
R-GCCUSIO-cbl-00382
Lookup Border Station from MC Table
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Border Station from MC Table' is invoked, and assuming that a cargo record contains location identifier information, when the system needs to determine the border station for error indexing, the desired outcome is that the system performs a table lookup using the location id from field rt04-location-id-name to retrieve border station details from the mc table.
💻 Technical Criteria
Given
A cargo record contains location identifier information
When
The system needs to determine the border station for error indexing
Then
The system performs a table lookup using the location ID from field RT04-LOCATION-ID-NAME to retrieve border station details from the MC table
R-GCCUSIO-cbl-00385
Set Destination Error Code to 'E'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Destination Error Code to 'E'' is invoked, and assuming that a cargo record requires error index field population, when the system processes destination error information, the desired outcome is that the destination error code is set to 'e' to indicate an error classification.
💻 Technical Criteria
Given
A cargo record requires error index field population
When
The system processes destination error information
Then
The destination error code is set to 'E' to indicate an error classification
R-GCCUSIO-cbl-00386
Extract Destination Station Number from Cargo Record
Process Rules
📊 Business Logic Narrative
When the process 'Extract Destination Station Number from Cargo Record' is invoked, and assuming that a cargo record contains destination station information, when the system populates error index fields, the desired outcome is that the destination station number is extracted from the cargo record field rt29-dest-stn-num and used for error index population.
💻 Technical Criteria
Given
A cargo record contains destination station information
When
The system populates error index fields
Then
The destination station number is extracted from the cargo record field RT29-DEST-STN-NUM and used for error index population
R-GCCUSIO-cbl-00550
Set Location ID from Cargo Record
Process Rules
📊 Business Logic Narrative
When the process 'Set Location ID from Cargo Record' is invoked, and assuming that mc table is identified for border station lookup, when the system needs to specify which location to lookup, the desired outcome is that the location id from the cargo record is used as the search sequence id for the mc table lookup.
💻 Technical Criteria
Given
MC table is identified for border station lookup
When
The system needs to specify which location to lookup
Then
The location ID from the cargo record is used as the search sequence ID for the MC table lookup
R-GCCUSIO-cbl-00655
Set MC Table Parameters - Table ID: 'MC' - Sequence ID from Location
Action Rules
📊 Business Logic Narrative
When the process 'Set MC Table Parameters - Table ID: 'MC' - Sequence ID from Location' is invoked, and assuming that a cargo record contains a location id in rt04-location-id-name field, when the system needs to retrieve border station information for error processing, the desired outcome is that the system sets up mc table lookup parameters with table id 'mc' and sequence id from the location field, calls gcctbio service, and if successful extracts the station number for border error indexing.
💻 Technical Criteria
Given
A cargo record contains a location ID in RT04-LOCATION-ID-NAME field
When
The system needs to retrieve border station information for error processing
Then
The system sets up MC table lookup parameters with table ID 'MC' and sequence ID from the location field, calls GCCTBIO service, and if successful extracts the station number for border error indexing
R-GCCUSIO-cbl-00390
Lookup Border Station Information
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Border Station Information' is invoked, and assuming that a cargo record requires border hold index population, when the system needs to determine the border station number, the desired outcome is that the system queries the mc table using the cargo location id and retrieves the station number if found.
💻 Technical Criteria
Given
A cargo record requires border hold index population
When
The system needs to determine the border station number
Then
The system queries the MC table using the cargo location ID and retrieves the station number if found
R-GCCUSIO-cbl-00186
Status Change Required?
Decision Rules
📊 Business Logic Narrative
When the process 'Status Change Required?' is invoked, and assuming that a cargo record is being processed for iron highway notification, when both us cargo short description and cp cargo status description are empty or spaces, the desired outcome is that skip the iron highway notification process entirely.
💻 Technical Criteria
Given
A cargo record is being processed for Iron Highway notification
When
Both US cargo short description and CP cargo status description are empty or spaces
Then
Skip the Iron Highway notification process entirely
R-GCCUSIO-cbl-00187
Status Change Required?
Decision Rules
📊 Business Logic Narrative
When the process 'Status Change Required?' is invoked, and assuming that a cargo record has a us cargo short description status, when the us cargo short description equals 'release', the desired outcome is that skip the iron highway notification process.
💻 Technical Criteria
Given
A cargo record has a US cargo short description status
When
The US cargo short description equals 'RELEASE'
Then
Skip the Iron Highway notification process
R-GCCUSIO-cbl-00188
Status Change Required?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Status Change Required?', assuming that a cargo record is being processed and has a saved previous status, when the current cargo status matches the previously saved status and the status is not deleted or release, the desired outcome is that skip the iron highway notification process.
💻 Technical Criteria
EXCLUDING
A cargo record is being processed and has a saved previous status
When
The current cargo status matches the previously saved status AND the status is not DELETED or RELEASE
Then
Skip the Iron Highway notification process
R-GCCUSIO-cbl-00190
Station Configuration Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Station Configuration Found?' is invoked, and assuming that a cargo record is being processed for iron highway notification, when the iron highway station configuration table lookup returns no matching record, the desired outcome is that skip the iron highway notification process.
💻 Technical Criteria
Given
A cargo record is being processed for Iron Highway notification
When
The Iron Highway station configuration table lookup returns no matching record
Then
Skip the Iron Highway notification process
R-GCCUSIO-cbl-00191
Extract N9 Reference Numbers
Process Rules
📊 Business Logic Narrative
When the process 'Extract N9 Reference Numbers' is invoked, and assuming that iron highway station configuration is found and notification should proceed, when the system processes n9 reference number segments for the cargo, the desired outcome is that search through up to 20 n9 reference number qualifiers and extract the reference number where qualifier equals 'cn' as the shipment id.
💻 Technical Criteria
Given
Iron Highway station configuration is found and notification should proceed
When
The system processes N9 reference number segments for the cargo
Then
Search through up to 20 N9 reference number qualifiers and extract the reference number where qualifier equals 'CN' as the shipment ID
R-GCCUSIO-cbl-00192
Determine Notification Status
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Notification Status' is invoked, and assuming that a cargo record is being processed for iron highway notification, when the cp cargo status description equals 'deleted', the desired outcome is that set the iron highway notification status to 'deleted'.
💻 Technical Criteria
Given
A cargo record is being processed for Iron Highway notification
When
The CP cargo status description equals 'DELETED'
Then
Set the Iron Highway notification status to 'DELETED'
R-GCCUSIO-cbl-00193
Determine Notification Status
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Notification Status' is invoked, and assuming that a cargo record is being processed for iron highway notification, when the cp cargo status description equals 'release', the desired outcome is that set the iron highway notification status to 'release'.
💻 Technical Criteria
Given
A cargo record is being processed for Iron Highway notification
When
The CP cargo status description equals 'RELEASE'
Then
Set the Iron Highway notification status to 'RELEASE'
R-GCCUSIO-cbl-00194
Determine Notification Status
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Notification Status' is invoked, and assuming that a cargo record is being processed for iron highway notification, when the us cargo short description is empty or spaces and the cp cargo status description equals 'sent ', the desired outcome is that set the iron highway notification status to 'sent'.
💻 Technical Criteria
Given
A cargo record is being processed for Iron Highway notification
When
The US cargo short description is empty or spaces AND the CP cargo status description equals 'SENT '
Then
Set the Iron Highway notification status to 'SENT'
R-GCCUSIO-cbl-00195
Determine Notification Status
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Determine Notification Status', assuming that a cargo record is being processed for iron highway notification, when the cargo status is not deleted, release, or the special sent case, the desired outcome is that set the iron highway notification status to the us cargo short description value.
💻 Technical Criteria
EXCLUDING
A cargo record is being processed for Iron Highway notification
When
The cargo status is not DELETED, RELEASE, or the special SENT case
Then
Set the Iron Highway notification status to the US cargo short description value
R-GCCUSIO-cbl-00392
IH Status Processing Required?
Decision Rules
📊 Business Logic Narrative
When the process 'IH Status Processing Required?' is invoked, and assuming that a cargo record with us cargo status and cp cargo status fields, when the system evaluates if ih notification processing is needed, the desired outcome is that ih processing is required if both status fields are not empty or if cp status is 'sent' when us status is empty or if status is not 'release'.
💻 Technical Criteria
Given
A cargo record with US cargo status and CP cargo status fields
When
The system evaluates if IH notification processing is needed
Then
IH processing is required if both status fields are not empty OR if CP status is 'SENT' when US status is empty OR if status is not 'RELEASE'
R-GCCUSIO-cbl-00663
Set Sequence ID from Location
Process Rules
📊 Business Logic Narrative
When the process 'Set Sequence ID from Location' is invoked, and assuming that a cargo record contains a location id, when the system prepares to lookup station information, the desired outcome is that the location id from the cargo record is used as the sequence key for table search.
💻 Technical Criteria
Given
A cargo record contains a location ID
When
The system prepares to lookup station information
Then
The location ID from the cargo record is used as the sequence key for table search
R-GCCUSIO-cbl-00669
Extract Station Number
Process Rules
📊 Business Logic Narrative
When the process 'Extract Station Number' is invoked, and assuming that mc table segment data is available in working storage, when the system needs the station number for cargo processing, the desired outcome is that the station number is extracted from the mc table segment data structure.
💻 Technical Criteria
Given
MC table segment data is available in working storage
When
The system needs the station number for cargo processing
Then
The station number is extracted from the MC table segment data structure
R-GCCUSIO-cbl-00778
Set Station Sequence ID from Location
Process Rules
📊 Business Logic Narrative
When the process 'Set Station Sequence ID from Location' is invoked, and assuming that cargo location id is available from the cargo record, when the system prepares to search for station information, the desired outcome is that the location id is used as the sequence id search key for the mc table lookup.
💻 Technical Criteria
Given
Cargo location ID is available from the cargo record
When
The system prepares to search for station information
Then
The location ID is used as the sequence ID search key for the MC table lookup
R-GCCUSIO-cbl-00401
Record Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Record Found?' is invoked, and assuming that a database retrieval operation has been executed for secondary cargo record gcsuss02, when the system checks the operation result status, the desired outcome is that the system proceeds with n9 extraction if the record exists, otherwise terminates n9 processing.
💻 Technical Criteria
Given
A database retrieval operation has been executed for secondary cargo record GCSUSS02
When
The system checks the operation result status
Then
The system proceeds with N9 extraction if the record exists, otherwise terminates N9 processing
R-GCCUSIO-cbl-00402
Initialize Reference Counter to Zero
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Reference Counter to Zero' is invoked, and assuming that a secondary cargo record with n9 reference data has been successfully retrieved, when the system begins processing reference number fields, the desired outcome is that the system initializes the reference counter to zero to start sequential processing.
💻 Technical Criteria
Given
A secondary cargo record with N9 reference data has been successfully retrieved
When
The system begins processing reference number fields
Then
The system initializes the reference counter to zero to start sequential processing
R-GCCUSIO-cbl-00403
Loop Through 20 Reference Number Positions
Process Rules
📊 Business Logic Narrative
When the process 'Loop Through 20 Reference Number Positions' is invoked, and assuming that n9 reference data exists in the secondary cargo record and counter is initialized, when the system processes reference number positions sequentially, the desired outcome is that the system examines each of the 20 possible reference number positions for qualifying data.
💻 Technical Criteria
Given
N9 reference data exists in the secondary cargo record and counter is initialized
When
The system processes reference number positions sequentially
Then
The system examines each of the 20 possible reference number positions for qualifying data
R-GCCUSIO-cbl-00671
Set Record Type to '02'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Record Type to '02'' is invoked, and assuming that the system is preparing to retrieve n9 reference data from secondary cargo records, when building the access key for secondary cargo data, the desired outcome is that the system sets the record type to '02' to identify n9 reference data segments.
💻 Technical Criteria
Given
The system is preparing to retrieve N9 reference data from secondary cargo records
When
Building the access key for secondary cargo data
Then
The system sets the record type to '02' to identify N9 reference data segments
R-GCCUSIO-cbl-00674
Record Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Record Found?' is invoked, and assuming that the system has attempted to retrieve the secondary cargo record with n9 data, when the retrieval operation completes, the desired outcome is that the system checks if the record was found successfully to determine n9 data availability.
💻 Technical Criteria
Given
The system has attempted to retrieve the secondary cargo record with N9 data
When
The retrieval operation completes
Then
The system checks if the record was found successfully to determine N9 data availability
R-GCCUSIO-cbl-00784
Retrieve First N9 Segment from GCSA2RT
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve First N9 Segment from GCSA2RT' is invoked, and assuming that a composite key has been built for n9 reference segment lookup, when the system executes a database retrieval operation against secondary cargo data, the desired outcome is that the system retrieves the first n9 reference segment if it exists.
💻 Technical Criteria
Given
A composite key has been built for N9 reference segment lookup
When
The system executes a database retrieval operation against secondary cargo data
Then
The system retrieves the first N9 reference segment if it exists
R-GCCUSIO-cbl-00408
Set Status to SENT
Decision Rules
📊 Business Logic Narrative
When the process 'Set Status to SENT' is invoked, and assuming that a cargo record exists with empty cargo status description and cp cargo status equals sent, when the system evaluates notification status determination, the desired outcome is that the system should set the notification status to sent.
💻 Technical Criteria
Given
A cargo record exists with empty cargo status description and CP cargo status equals SENT
When
The system evaluates notification status determination
Then
The system should set the notification status to SENT
R-GCCUSIO-cbl-00409
Exit - No Notification Needed
Decision Rules
📊 Business Logic Narrative
When the process 'Exit - No Notification Needed' is invoked, and assuming that a cargo record exists with both cargo status description and cp cargo status description being empty or spaces, when the system evaluates notification requirements, the desired outcome is that the system should exit without sending any notification.
💻 Technical Criteria
Given
A cargo record exists with both cargo status description and CP cargo status description being empty or spaces
When
The system evaluates notification requirements
Then
The system should exit without sending any notification
R-GCCUSIO-cbl-00410
Continue Processing
Decision Rules
📊 Business Logic Narrative
When the process 'Continue Processing' is invoked, and assuming that a cargo record exists with cp cargo status description equal to deleted or release, when the system evaluates notification processing requirements, the desired outcome is that the system should continue with notification processing.
💻 Technical Criteria
Given
A cargo record exists with CP cargo status description equal to DELETED or RELEASE
When
The system evaluates notification processing requirements
Then
The system should continue with notification processing
R-GCCUSIO-cbl-00411
Exit - No Status Change
Decision Rules
📊 Business Logic Narrative
When the process 'Exit - No Status Change' is invoked, and assuming that a cargo record exists where the saved notification status equals the current cargo status description, when the system compares current status with previous notification status, the desired outcome is that the system should exit without sending notification.
💻 Technical Criteria
Given
A cargo record exists where the saved notification status equals the current cargo status description
When
The system compares current status with previous notification status
Then
The system should exit without sending notification
R-GCCUSIO-cbl-00412
Exit - Release Status
Decision Rules
📊 Business Logic Narrative
When the process 'Exit - Release Status' is invoked, and assuming that a cargo record exists with cargo status description equal to release, when the system evaluates notification requirements, the desired outcome is that the system should exit without sending any notification.
💻 Technical Criteria
Given
A cargo record exists with cargo status description equal to RELEASE
When
The system evaluates notification requirements
Then
The system should exit without sending any notification
R-GCCUSIO-cbl-00413
Set Status to DELETED
Decision Rules
📊 Business Logic Narrative
When the process 'Set Status to DELETED' is invoked, and assuming that a cargo record exists with cp cargo status description equal to deleted, when the system determines final notification status, the desired outcome is that the system should set notification status to deleted and saved status to deleted.
💻 Technical Criteria
Given
A cargo record exists with CP cargo status description equal to DELETED
When
The system determines final notification status
Then
The system should set notification status to DELETED and saved status to DELETED
R-GCCUSIO-cbl-00414
Set Status to RELEASE
Decision Rules
📊 Business Logic Narrative
When the process 'Set Status to RELEASE' is invoked, and assuming that a cargo record exists with cp cargo status description equal to release, when the system determines final notification status, the desired outcome is that the system should set notification status to release and saved status to release.
💻 Technical Criteria
Given
A cargo record exists with CP cargo status description equal to RELEASE
When
The system determines final notification status
Then
The system should set notification status to RELEASE and saved status to RELEASE
R-GCCUSIO-cbl-00415
Set Status to SENT
Decision Rules
📊 Business Logic Narrative
When the process 'Set Status to SENT' is invoked, and assuming that a cargo record exists with empty cargo status description and cp cargo status description equal to sent, when the system determines final notification status, the desired outcome is that the system should set notification status to sent.
💻 Technical Criteria
Given
A cargo record exists with empty cargo status description and CP cargo status description equal to SENT
When
The system determines final notification status
Then
The system should set notification status to SENT
R-GCCUSIO-cbl-00416
Use US Cargo Status
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use US Cargo Status', assuming that a cargo record exists where cp status is not deleted, not release, and either us status is not empty or cp status is not sent, when the system determines final notification status, the desired outcome is that the system should use the us cargo status description as the notification status and save the us cargo status as the saved status.
💻 Technical Criteria
EXCLUDING
A cargo record exists where CP status is not DELETED, not RELEASE, and either US status is not empty or CP status is not SENT
When
The system determines final notification status
Then
The system should use the US cargo status description as the notification status and save the US cargo status as the saved status
R-GCCUSIO-cbl-00568
Current US Cargo Status Empty?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Current US Cargo Status Empty?', assuming that a cargo record is being processed for iron highway notification, when the us cargo short description is empty (spaces) and the cp cargo status description is not equal to 'sent', the desired outcome is that the system should proceed to check if both current and cp status are empty.
💻 Technical Criteria
EXCLUDING
A cargo record is being processed for Iron Highway notification
When
The US cargo short description is empty (spaces) AND the CP cargo status description is not equal to 'SENT'
Then
The system should proceed to check if both current and CP status are empty
R-GCCUSIO-cbl-00569
CP Cargo Status = SENT?
Decision Rules
📊 Business Logic Narrative
When the process 'CP Cargo Status = SENT?' is invoked, and assuming that a cargo record has empty us cargo short description and cp cargo status description equals 'sent', when the system is determining the current status for iron highway notification, the desired outcome is that the system should use the cp cargo status description as the current status.
💻 Technical Criteria
Given
A cargo record has empty US cargo short description AND CP cargo status description equals 'SENT'
When
The system is determining the current status for Iron Highway notification
Then
The system should use the CP cargo status description as the current status
R-GCCUSIO-cbl-00570
Both Current and CP Status Empty?
Decision Rules
📊 Business Logic Narrative
When the process 'Both Current and CP Status Empty?' is invoked, and assuming that a cargo record is being evaluated for iron highway notification, when both the us cargo short description is empty (spaces) and the cp cargo status description is empty (spaces), the desired outcome is that the system should exit the notification process without sending any notification.
💻 Technical Criteria
Given
A cargo record is being evaluated for Iron Highway notification
When
Both the US cargo short description is empty (spaces) AND the CP cargo status description is empty (spaces)
Then
The system should exit the notification process without sending any notification
R-GCCUSIO-cbl-00571
CP Status = DELETED or RELEASE?
Decision Rules
📊 Business Logic Narrative
When the process 'CP Status = DELETED or RELEASE?' is invoked, and assuming that a cargo record is being processed for iron highway notification, when the cp cargo status description equals 'deleted' or equals 'release', the desired outcome is that the system should continue with the notification process without checking for status changes.
💻 Technical Criteria
Given
A cargo record is being processed for Iron Highway notification
When
The CP cargo status description equals 'DELETED' OR equals 'RELEASE'
Then
The system should continue with the notification process without checking for status changes
R-GCCUSIO-cbl-00572
Saved Status = Current Status?
Decision Rules
📊 Business Logic Narrative
When the process 'Saved Status = Current Status?' is invoked, and assuming that a cargo record has a previously saved status for comparison, when the saved iron highway status equals the current us cargo short description, the desired outcome is that the system should exit the notification process as no status change has occurred.
💻 Technical Criteria
Given
A cargo record has a previously saved status for comparison
When
The saved Iron Highway status equals the current US cargo short description
Then
The system should exit the notification process as no status change has occurred
R-GCCUSIO-cbl-00573
Current Status = RELEASE?
Decision Rules
📊 Business Logic Narrative
When the process 'Current Status = RELEASE?' is invoked, and assuming that a cargo record is being evaluated for iron highway notification, when the us cargo short description equals 'release', the desired outcome is that the system should exit the notification process without sending notification.
💻 Technical Criteria
Given
A cargo record is being evaluated for Iron Highway notification
When
The US cargo short description equals 'RELEASE'
Then
The system should exit the notification process without sending notification
R-GCCUSIO-cbl-00574
Status Change Detected
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Status Change Detected', assuming that a cargo record has passed all status comparison checks, when the current status is different from the saved status and the current status is not 'release' and not both statuses are empty, the desired outcome is that the system should proceed with generating and sending the iron highway notification.
💻 Technical Criteria
EXCLUDING
A cargo record has passed all status comparison checks
When
The current status is different from the saved status AND the current status is not 'RELEASE' AND not both statuses are empty
Then
The system should proceed with generating and sending the Iron Highway notification
R-GCCUSIO-cbl-00680
Check if Both Descriptions Empty
Decision Rules
📊 Business Logic Narrative
When the process 'Check if Both Descriptions Empty' is invoked, and assuming that a cargo record is being processed for iron highway notification, when both rt21 us cargo short description is spaces and rt10b cp cargo status description is spaces, the desired outcome is that skip iron highway notification processing and exit.
💻 Technical Criteria
Given
A cargo record is being processed for Iron Highway notification
When
Both RT21 US cargo short description is spaces AND RT10B CP cargo status description is spaces
Then
Skip Iron Highway notification processing and exit
R-GCCUSIO-cbl-00681
Check if SENT Status with Empty Description
Decision Rules
📊 Business Logic Narrative
When the process 'Check if SENT Status with Empty Description' is invoked, and assuming that a cargo record has empty us cargo short description, when rt21 us cargo short description is spaces and rt10b cp cargo status description equals 'sent ', the desired outcome is that set the saved status to rt10b cp cargo status description for notification.
💻 Technical Criteria
Given
A cargo record has empty US cargo short description
When
RT21 US cargo short description is spaces AND RT10B CP cargo status description equals 'SENT '
Then
Set the saved status to RT10B CP cargo status description for notification
R-GCCUSIO-cbl-00682
Compare Current vs Previous Status
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Compare Current vs Previous Status', assuming that a cargo record is being processed for status notification and the status is not deleted or release, when the saved status equals the current rt21 us cargo short description, the desired outcome is that skip iron highway notification processing and exit.
💻 Technical Criteria
EXCLUDING
A cargo record is being processed for status notification AND the status is not DELETED or RELEASE
When
The saved status equals the current RT21 US cargo short description
Then
Skip Iron Highway notification processing and exit
R-GCCUSIO-cbl-00683
Check if Status is RELEASE
Decision Rules
📊 Business Logic Narrative
When the process 'Check if Status is RELEASE' is invoked, and assuming that a cargo record is being processed for iron highway notification, when rt21 us cargo short description equals 'release', the desired outcome is that skip iron highway notification processing and exit.
💻 Technical Criteria
Given
A cargo record is being processed for Iron Highway notification
When
RT21 US cargo short description equals 'RELEASE'
Then
Skip Iron Highway notification processing and exit
R-GCCUSIO-cbl-00685
Station Table Found?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Station Table Found?', assuming that a cargo record is being processed for iron highway notification, when iron highway station table lookup returns error flag not equal to '0', the desired outcome is that skip iron highway notification processing and exit.
💻 Technical Criteria
EXCLUDING
A cargo record is being processed for Iron Highway notification
When
Iron Highway station table lookup returns error flag not equal to '0'
Then
Skip Iron Highway notification processing and exit
R-GCCUSIO-cbl-00692
Call Iron Highway Interface GCCIH
Action Rules
📊 Business Logic Narrative
When the process 'Call Iron Highway Interface GCCIH' is invoked, and assuming that iron highway notification message is prepared with all required cargo information, when sending the notification to iron highway system, the desired outcome is that call external program 'gccih' with common control block and iron highway message structure.
💻 Technical Criteria
Given
Iron Highway notification message is prepared with all required cargo information
When
Sending the notification to Iron Highway system
Then
Call external program 'GCCIH' with common control block and Iron Highway message structure
R-GCCUSIO-cbl-00793
Determine Final Status
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Final Status' is invoked, and assuming that a cargo record exists with cp cargo status description and us cargo status description, when the system needs to determine the final status for notification processing, the desired outcome is that the system should set the final status to deleted if cargo status is deleted, or release if cargo status is release, or sent if us cargo description is empty and cp status is sent, or use the us cargo short description as the final status.
💻 Technical Criteria
Given
A cargo record exists with CP cargo status description and US cargo status description
When
The system needs to determine the final status for notification processing
Then
The system should set the final status to DELETED if cargo status is DELETED, or RELEASE if cargo status is RELEASE, or SENT if US cargo description is empty and CP status is SENT, or use the US cargo short description as the final status
R-GCCUSIO-cbl-00794
Does US Cargo Description Match Saved Status?
Process Rules
📊 Business Logic Narrative
When the process 'Does US Cargo Description Match Saved Status?' is invoked, and assuming that a cargo record has a current us cargo status and a previously saved status from prior notification, when the current us cargo status matches the saved status from previous notification, the desired outcome is that the system should skip sending the notification to avoid duplicate status updates.
💻 Technical Criteria
Given
A cargo record has a current US cargo status and a previously saved status from prior notification
When
The current US cargo status matches the saved status from previous notification
Then
The system should skip sending the notification to avoid duplicate status updates
R-GCCUSIO-cbl-00795
Is US Cargo Description Empty AND CP Status is SENT?
Decision Rules
📊 Business Logic Narrative
When the process 'Is US Cargo Description Empty AND CP Status is SENT?' is invoked, and assuming that a cargo record has empty us cargo short description and cp cargo status description is sent, when the system determines the final status for notification, the desired outcome is that the system should use sent as the final status for the notification.
💻 Technical Criteria
Given
A cargo record has empty US cargo short description and CP cargo status description is SENT
When
The system determines the final status for notification
Then
The system should use SENT as the final status for the notification
R-GCCUSIO-cbl-00796
Is Cargo Status DELETED?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Cargo Status DELETED?' is invoked, and assuming that a cargo record has cp cargo status description set to deleted, when the system determines the final status for notification, the desired outcome is that the system should set the final status to deleted and use this for the notification regardless of other status values.
💻 Technical Criteria
Given
A cargo record has CP cargo status description set to DELETED
When
The system determines the final status for notification
Then
The system should set the final status to DELETED and use this for the notification regardless of other status values
R-GCCUSIO-cbl-00797
Is Cargo Status RELEASE?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is Cargo Status RELEASE?', assuming that a cargo record has cp cargo status description set to release and is not deleted, when the system determines the final status for notification, the desired outcome is that the system should set the final status to release and use this for the notification.
💻 Technical Criteria
EXCLUDING
A cargo record has CP cargo status description set to RELEASE and is not DELETED
When
The system determines the final status for notification
Then
The system should set the final status to RELEASE and use this for the notification
R-GCCUSIO-cbl-00418
Set Status to 'SENT'
Decision Rules
📊 Business Logic Narrative
When the process 'Set Status to 'SENT'' is invoked, and assuming that a cargo record is being processed for iron highway notification, when the us cargo status description is empty and the cp cargo status description equals 'sent ', the desired outcome is that the system sets the saved ih status to the cp cargo status description value.
💻 Technical Criteria
Given
A cargo record is being processed for Iron Highway notification
When
The US cargo status description is empty AND the CP cargo status description equals 'SENT '
Then
The system sets the saved IH status to the CP cargo status description value
R-GCCUSIO-cbl-00419
Exit - No Message Needed
Decision Rules
📊 Business Logic Narrative
When the process 'Exit - No Message Needed' is invoked, and assuming that a cargo record is being processed for iron highway notification, when both us cargo status description is empty and cp cargo status description is empty, the desired outcome is that the system exits the notification process without sending a message.
💻 Technical Criteria
Given
A cargo record is being processed for Iron Highway notification
When
Both US cargo status description is empty AND CP cargo status description is empty
Then
The system exits the notification process without sending a message
R-GCCUSIO-cbl-00420
Continue Processing
Decision Rules
📊 Business Logic Narrative
When the process 'Continue Processing' is invoked, and assuming that a cargo record is being processed for iron highway notification, when the cp cargo status description equals 'deleted' or equals 'release', the desired outcome is that the system continues with the notification processing workflow.
💻 Technical Criteria
Given
A cargo record is being processed for Iron Highway notification
When
The CP cargo status description equals 'DELETED' OR equals 'RELEASE'
Then
The system continues with the notification processing workflow
R-GCCUSIO-cbl-00421
Exit - No Change
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Exit - No Change', assuming that a cargo record is being processed for iron highway notification and the status is not deleted or release, when the saved ih status equals the current us cargo status description, the desired outcome is that the system exits the notification process without sending a message.
💻 Technical Criteria
EXCLUDING
A cargo record is being processed for Iron Highway notification AND the status is not DELETED or RELEASE
When
The saved IH status equals the current US cargo status description
Then
The system exits the notification process without sending a message
R-GCCUSIO-cbl-00422
Exit - Release Status
Decision Rules
📊 Business Logic Narrative
When the process 'Exit - Release Status' is invoked, and assuming that a cargo record is being processed for iron highway notification, when the us cargo status description equals 'release', the desired outcome is that the system exits the notification process without sending a message.
💻 Technical Criteria
Given
A cargo record is being processed for Iron Highway notification
When
The US cargo status description equals 'RELEASE'
Then
The system exits the notification process without sending a message
R-GCCUSIO-cbl-00426
Set Message Status to 'DELETED'
Decision Rules
📊 Business Logic Narrative
When the process 'Set Message Status to 'DELETED'' is invoked, and assuming that a cargo record is being prepared for iron highway notification, when the cp cargo status description equals 'deleted', the desired outcome is that the system sets the iron highway message status to 'deleted' and the saved ih status to 'deleted'.
💻 Technical Criteria
Given
A cargo record is being prepared for Iron Highway notification
When
The CP cargo status description equals 'DELETED'
Then
The system sets the Iron Highway message status to 'DELETED' and the saved IH status to 'DELETED'
R-GCCUSIO-cbl-00427
Set Message Status to 'RELEASE'
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Message Status to 'RELEASE'', assuming that a cargo record is being prepared for iron highway notification and the status is not deleted, when the cp cargo status description equals 'release', the desired outcome is that the system sets the iron highway message status to 'release' and the saved ih status to 'release'.
💻 Technical Criteria
EXCLUDING
A cargo record is being prepared for Iron Highway notification AND the status is not DELETED
When
The CP cargo status description equals 'RELEASE'
Then
The system sets the Iron Highway message status to 'RELEASE' and the saved IH status to 'RELEASE'
R-GCCUSIO-cbl-00428
Set Message Status to 'SENT'
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Message Status to 'SENT'', assuming that a cargo record is being prepared for iron highway notification and the status is not deleted or release, when the us cargo status description is empty and the cp cargo status description equals 'sent ', the desired outcome is that the system sets the iron highway message status to 'sent'.
💻 Technical Criteria
EXCLUDING
A cargo record is being prepared for Iron Highway notification AND the status is not DELETED or RELEASE
When
The US cargo status description is empty AND the CP cargo status description equals 'SENT '
Then
The system sets the Iron Highway message status to 'SENT'
R-GCCUSIO-cbl-00429
Set Message Status from US Cargo Description
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Message Status from US Cargo Description', assuming that a cargo record is being prepared for iron highway notification and the status is not deleted or release, when the us cargo status description is not empty or the cp cargo status description is not 'sent ', the desired outcome is that the system sets the iron highway message status to the us cargo status description and updates the saved ih status to the us cargo status.
💻 Technical Criteria
EXCLUDING
A cargo record is being prepared for Iron Highway notification AND the status is not DELETED or RELEASE
When
The US cargo status description is not empty OR the CP cargo status description is not 'SENT '
Then
The system sets the Iron Highway message status to the US cargo status description and updates the saved IH status to the US cargo status
R-GCCUSIO-cbl-00199
Secondary Data Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Secondary Data Found?' is invoked, and assuming that a retrieval operation for secondary cargo data has been executed, when the system checks the operation result status, the desired outcome is that if the status code is spaces (successful), secondary data is available for n9 processing, otherwise no secondary data is available.
💻 Technical Criteria
Given
A retrieval operation for secondary cargo data has been executed
When
The system checks the operation result status
Then
If the status code is spaces (successful), secondary data is available for N9 processing, otherwise no secondary data is available
R-GCCUSIO-cbl-00200
Initialize N9 Counter to Zero
Process Rules
📊 Business Logic Narrative
When the process 'Initialize N9 Counter to Zero' is invoked, and assuming that secondary cargo data has been successfully retrieved, when the system prepares to process n9 reference entries, the desired outcome is that the system sets the n9 counter to zero to begin iteration from the first entry.
💻 Technical Criteria
Given
Secondary cargo data has been successfully retrieved
When
The system prepares to process N9 reference entries
Then
The system sets the N9 counter to zero to begin iteration from the first entry
R-GCCUSIO-cbl-00433
Loop Through 20 N9 Reference Entries
Process Rules
📊 Business Logic Narrative
When the process 'Loop Through 20 N9 Reference Entries' is invoked, and assuming that a secondary cargo record exists with n9 reference number data, when the system processes the n9 reference numbers, the desired outcome is that the system loops through 20 reference entries, checks each reference qualifier, and extracts the reference number as shipment id when the qualifier equals 'cn'.
💻 Technical Criteria
Given
A secondary cargo record exists with N9 reference number data
When
The system processes the N9 reference numbers
Then
The system loops through 20 reference entries, checks each reference qualifier, and extracts the reference number as shipment ID when the qualifier equals 'CN'
R-GCCUSIO-cbl-00204
Set Creation Audit Fields
Process Rules
📊 Business Logic Narrative
When the process 'Set Creation Audit Fields' is invoked, and assuming that a cargo record is being inserted and the creation timestamp field is empty (spaces), when the system processes the record creation, the desired outcome is that the system sets creation century from machine century, creation date from machine date, creation time from machine time hours and minutes, creation terminal from originating terminal, creation user id from acf2 user id, and copies all creation information to last modification fields.
💻 Technical Criteria
Given
A cargo record is being inserted and the creation timestamp field is empty (spaces)
When
The system processes the record creation
Then
The system sets creation century from machine century, creation date from machine date, creation time from machine time hours and minutes, creation terminal from originating terminal, creation user ID from ACF2 user ID, and copies all creation information to last modification fields
R-GCCUSIO-cbl-00205
Set Last Modification Audit Fields
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Last Modification Audit Fields', assuming that a cargo record is being updated and the creation timestamp field is not empty, when the system processes the record modification, the desired outcome is that the system updates last modification century from machine century, last modification date from machine date, last modification time from machine time hours and minutes, last modification terminal from originating terminal, and last modification user id from acf2 user id while preserving existing creation audit information.
💻 Technical Criteria
EXCLUDING
A cargo record is being updated and the creation timestamp field is not empty
When
The system processes the record modification
Then
The system updates last modification century from machine century, last modification date from machine date, last modification time from machine time hours and minutes, last modification terminal from originating terminal, and last modification user ID from ACF2 user ID while preserving existing creation audit information
R-GCCUSIO-cbl-00206
Is Cargo Deleted?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Cargo Deleted?' is invoked, and assuming that a cargo record is being processed for bond control number indexing, when the cargo status indicates it has been deleted (88-gcusrt-rt10-cpcargo-deleted is true), the desired outcome is that bond control number processing is skipped and control exits the procedure.
💻 Technical Criteria
Given
A cargo record is being processed for bond control number indexing
When
The cargo status indicates it has been deleted (88-GCUSRT-RT10-CPCARGO-DELETED is true)
Then
Bond control number processing is skipped and control exits the procedure
R-GCCUSIO-cbl-00207
In-Bond Control Number Available?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'In-Bond Control Number Available?', assuming that a cargo record requires bond number index population and cargo is not deleted, when the in-bond control number field (gcusrt-m1206-in-bond-ctrl-num) contains a value other than spaces, the desired outcome is that the in-bond control number is used to populate the bond number index field (gcusrt-rt074-bond-num-index).
💻 Technical Criteria
EXCLUDING
A cargo record requires bond number index population and cargo is not deleted
When
The in-bond control number field (GCUSRT-M1206-IN-BOND-CTRL-NUM) contains a value other than spaces
Then
The in-bond control number is used to populate the bond number index field (GCUSRT-RT074-BOND-NUM-INDEX)
R-GCCUSIO-cbl-00208
Entry Number Available?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Entry Number Available?', assuming that a cargo record requires bond number index population, cargo is not deleted, and in-bond control number is not available (spaces), when the entry number field (gcusrt-m1202-entry-num) contains a value other than spaces, the desired outcome is that the entry number is used to populate the bond number index field (gcusrt-rt074-bond-num-index).
💻 Technical Criteria
EXCLUDING
A cargo record requires bond number index population, cargo is not deleted, and in-bond control number is not available (spaces)
When
The entry number field (GCUSRT-M1202-ENTRY-NUM) contains a value other than spaces
Then
The entry number is used to populate the bond number index field (GCUSRT-RT074-BOND-NUM-INDEX)
R-GCCUSIO-cbl-00209
Entry Number Not Present
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Entry Number Not Present', assuming that a cargo record requires bond number index population, cargo is not deleted, in-bond control number is not available (spaces), and entry number is not available (spaces), when both control number fields are empty, the desired outcome is that the bond number index field (gcusrt-rt074-bond-num-index) is set to spaces.
💻 Technical Criteria
EXCLUDING
A cargo record requires bond number index population, cargo is not deleted, in-bond control number is not available (spaces), and entry number is not available (spaces)
When
Both control number fields are empty
Then
The bond number index field (GCUSRT-RT074-BOND-NUM-INDEX) is set to spaces
R-GCCUSIO-cbl-00435
In-Bond Control Number Available?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'In-Bond Control Number Available?', assuming that a cargo record requires bond number indexing for tracking purposes, when the system evaluates available bond control numbers and the in-bond control number field (m1206) is not empty, the desired outcome is that the system uses the in-bond control number as the bond number index value.
💻 Technical Criteria
EXCLUDING
A cargo record requires bond number indexing for tracking purposes
When
The system evaluates available bond control numbers and the in-bond control number field (M1206) is not empty
Then
The system uses the in-bond control number as the bond number index value
R-GCCUSIO-cbl-00436
Entry Number Available?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Entry Number Available?', assuming that a cargo record requires bond number indexing and the in-bond control number is empty, when the system evaluates the entry number field (m1202) and it is not empty, the desired outcome is that the system uses the entry number as the bond number index value.
💻 Technical Criteria
EXCLUDING
A cargo record requires bond number indexing and the in-bond control number is empty
When
The system evaluates the entry number field (M1202) and it is not empty
Then
The system uses the entry number as the bond number index value
R-GCCUSIO-cbl-00437
Set Bond Index to Spaces
Decision Rules
📊 Business Logic Narrative
When the process 'Set Bond Index to Spaces' is invoked, and assuming that a cargo record requires bond number indexing and both in-bond control number and entry number are empty, when the system cannot find any valid bond number source, the desired outcome is that the system sets the bond number index to spaces (empty value).
💻 Technical Criteria
Given
A cargo record requires bond number indexing and both in-bond control number and entry number are empty
When
The system cannot find any valid bond number source
Then
The system sets the bond number index to spaces (empty value)
R-GCCUSIO-cbl-00210
Extract Origin Station Code
Process Rules
📊 Business Logic Narrative
When the process 'Extract Origin Station Code' is invoked, and assuming that a cargo record exists with origin station information and error conditions are being processed, when the system processes error field population, the desired outcome is that the origin station number from the cargo record is extracted and assigned to the error origin index field with error code 'e'.
💻 Technical Criteria
Given
A cargo record exists with origin station information and error conditions are being processed
When
The system processes error field population
Then
The origin station number from the cargo record is extracted and assigned to the error origin index field with error code 'E'
R-GCCUSIO-cbl-00211
Extract Destination Station Code
Process Rules
📊 Business Logic Narrative
When the process 'Extract Destination Station Code' is invoked, and assuming that a cargo record exists with destination station information and error conditions are being processed, when the system processes error field population, the desired outcome is that the destination station number from the cargo record is extracted and assigned to the error destination index field with error code 'e'.
💻 Technical Criteria
Given
A cargo record exists with destination station information and error conditions are being processed
When
The system processes error field population
Then
The destination station number from the cargo record is extracted and assigned to the error destination index field with error code 'E'
R-GCCUSIO-cbl-00212
Determine Border Station Code
Action Rules
📊 Business Logic Narrative
When the process 'Determine Border Station Code' is invoked, and assuming that a cargo record exists with location id information and error conditions are being processed, when the system needs to determine the border station for error processing, the desired outcome is that the system performs a table lookup using 'mc' table id and the cargo's location id as the sequence id to retrieve the border station information.
💻 Technical Criteria
Given
A cargo record exists with location ID information and error conditions are being processed
When
The system needs to determine the border station for error processing
Then
The system performs a table lookup using 'MC' table ID and the cargo's location ID as the sequence ID to retrieve the border station information
R-GCCUSIO-cbl-00440
Set Search Key to Location ID
Process Rules
📊 Business Logic Narrative
When the process 'Set Search Key to Location ID' is invoked, and assuming that a cargo record with location id information, when the system prepares mc table lookup, the desired outcome is that the cargo location id is set as the sequence id search key for mc table lookup.
💻 Technical Criteria
Given
A cargo record with location ID information
When
The system prepares MC table lookup
Then
The cargo location ID is set as the sequence ID search key for MC table lookup
R-GCCUSIO-cbl-00443
Extract Border Station Number from MC Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Border Station Number from MC Segment' is invoked, and assuming that mc table lookup was successful and returned a valid table segment, when the system processes the retrieved mc table data, the desired outcome is that the border station number is extracted from the mc segment and made available for cargo status processing.
💻 Technical Criteria
Given
MC table lookup was successful and returned a valid table segment
When
The system processes the retrieved MC table data
Then
The border station number is extracted from the MC segment and made available for cargo status processing
R-GCCUSIO-cbl-00217
Remove Error Index Entries
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Remove Error Index Entries', assuming that a cargo record exists with hold conditions but no error conditions (not cpcargo-error, not cpcargo-pending, not uscargo-error), when the cargo status is being updated, the desired outcome is that the system clears error origin index, error destination index, and error border index fields to spaces.
💻 Technical Criteria
EXCLUDING
A cargo record exists with hold conditions but no error conditions (not CPCARGO-ERROR, not CPCARGO-PENDING, not USCARGO-ERROR)
When
The cargo status is being updated
Then
The system clears error origin index, error destination index, and error border index fields to spaces
R-GCCUSIO-cbl-00218
Remove Hold Index Entries
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Remove Hold Index Entries', assuming that a cargo record exists with error conditions but no hold conditions (not uscargo-hold, not uscargo-holdpcs, not uscargo-pr-hpcs, not uscargo-hold-b, not uscargo-pr-h-bo, not uscargo-hold-d, not uscargo-pr-h-de, not uscargo-holdfda), when the cargo status is being updated, the desired outcome is that the system clears held destination index and held border index fields to spaces.
💻 Technical Criteria
EXCLUDING
A cargo record exists with error conditions but no hold conditions (not USCARGO-HOLD, not USCARGO-HOLDPCS, not USCARGO-PR-HPCS, not USCARGO-HOLD-B, not USCARGO-PR-H-BO, not USCARGO-HOLD-D, not USCARGO-PR-H-DE, not USCARGO-HOLDFDA)
When
The cargo status is being updated
Then
The system clears held destination index and held border index fields to spaces
R-GCCUSIO-cbl-00221
Delete GCSB1RT Index Record
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Delete GCSB1RT Index Record', assuming that a cargo record has no error conditions (not cpcargo-error, not cpcargo-pending, not uscargo-error) and no hold conditions (not uscargo-hold, not uscargo-holdpcs, not uscargo-pr-hpcs, not uscargo-hold-b, not uscargo-pr-h-bo, not uscargo-hold-d, not uscargo-pr-h-de, not uscargo-holdfda), when the cargo status is being updated, the desired outcome is that the system deletes the cargo record from the gcsb1rt status index table.
💻 Technical Criteria
EXCLUDING
A cargo record has no error conditions (not CPCARGO-ERROR, not CPCARGO-PENDING, not USCARGO-ERROR) and no hold conditions (not USCARGO-HOLD, not USCARGO-HOLDPCS, not USCARGO-PR-HPCS, not USCARGO-HOLD-B, not USCARGO-PR-H-BO, not USCARGO-HOLD-D, not USCARGO-PR-H-DE, not USCARGO-HOLDFDA)
When
The cargo status is being updated
Then
The system deletes the cargo record from the GCSB1RT status index table
R-GCCUSIO-cbl-00222
Update GCSB1RT Index Record
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Update GCSB1RT Index Record', assuming that a cargo record exists in the status index table and has either error conditions or hold conditions but not both cleared, when the cargo status is being updated, the desired outcome is that the system updates the existing gcsb1rt record with the current index field values.
💻 Technical Criteria
EXCLUDING
A cargo record exists in the status index table and has either error conditions or hold conditions but not both cleared
When
The cargo status is being updated
Then
The system updates the existing GCSB1RT record with the current index field values
R-GCCUSIO-cbl-00224
Set Cargo Status Description
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Cargo Status Description' is invoked, and assuming that a cargo record has an internal cp cargo status code, when the cargo status description needs to be set, the desired outcome is that the system maps the internal status code to the corresponding business description: ok to 'ok', pending to 'pending', acknwlg to 'ack', error to 'error', sent to 'sent', deleted to 'deleted', delpend to 'delpend', relsd to 'released', arrival to 'mnl-arrv', aarr to 'aut-arrv', export to 'mnl-exp', aexp to 'aut-exp', imed-ex to 'imed-exp', xfered to 'xfered', or uses the original status code if no mapping exists.
💻 Technical Criteria
Given
A cargo record has an internal CP cargo status code
When
The cargo status description needs to be set
Then
The system maps the internal status code to the corresponding business description: OK to 'OK', PENDING to 'PENDING', ACKNWLG to 'ACK', ERROR to 'ERROR', SENT to 'SENT', DELETED to 'DELETED', DELPEND to 'DELPEND', RELSD to 'RELEASED', ARRIVAL to 'MNL-ARRV', AARR to 'AUT-ARRV', EXPORT to 'MNL-EXP', AEXP to 'AUT-EXP', IMED-EX to 'IMED-EXP', XFERED to 'XFERED', or uses the original status code if no mapping exists
R-GCCUSIO-cbl-00225
Update Last Modification Timestamp
Process Rules
📊 Business Logic Narrative
When the process 'Update Last Modification Timestamp' is invoked, and assuming that a cargo record is being modified with insert, replace, delete, or zap operations, when the cargo status is being updated, the desired outcome is that the system updates the last modification fields with current machine century, date, time, originating terminal, and user id.
💻 Technical Criteria
Given
A cargo record is being modified with insert, replace, delete, or zap operations
When
The cargo status is being updated
Then
The system updates the last modification fields with current machine century, date, time, originating terminal, and user ID
R-GCCUSIO-cbl-00444
CP Cargo Error Status?
Decision Rules
📊 Business Logic Narrative
When the process 'CP Cargo Error Status?' is invoked, and assuming that a cargo record is being processed for status evaluation, when the cp cargo status field rt10-cpcargo-status indicates an error condition (88-gcusrt-rt10-cpcargo-error is true), the desired outcome is that the system flags the cargo as having an error condition and proceeds to error handling workflow.
💻 Technical Criteria
Given
A cargo record is being processed for status evaluation
When
The CP cargo status field RT10-CPCARGO-STATUS indicates an error condition (88-GCUSRT-RT10-CPCARGO-ERROR is true)
Then
The system flags the cargo as having an error condition and proceeds to error handling workflow
R-GCCUSIO-cbl-00445
CP Cargo Pending Status?
Decision Rules
📊 Business Logic Narrative
When the process 'CP Cargo Pending Status?' is invoked, and assuming that a cargo record is being processed and cp cargo error status is false, when the cp cargo status field rt10-cpcargo-status indicates a pending condition (88-gcusrt-rt10-cpcargo-pending is true), the desired outcome is that the system flags the cargo as having a pending condition and proceeds to pending status handling workflow.
💻 Technical Criteria
Given
A cargo record is being processed and CP cargo error status is false
When
The CP cargo status field RT10-CPCARGO-STATUS indicates a pending condition (88-GCUSRT-RT10-CPCARGO-PENDING is true)
Then
The system flags the cargo as having a pending condition and proceeds to pending status handling workflow
R-GCCUSIO-cbl-00446
US Cargo Error Status?
Decision Rules
📊 Business Logic Narrative
When the process 'US Cargo Error Status?' is invoked, and assuming that a cargo record is being processed and both cp cargo error and pending statuses are false, when the us cargo status field rt11-uscargo-status indicates an error condition (88-gcusrt-rt11-uscargo-error is true), the desired outcome is that the system flags the cargo as having an error condition and proceeds to error handling workflow.
💻 Technical Criteria
Given
A cargo record is being processed and both CP cargo error and pending statuses are false
When
The US cargo status field RT11-USCARGO-STATUS indicates an error condition (88-GCUSRT-RT11-USCARGO-ERROR is true)
Then
The system flags the cargo as having an error condition and proceeds to error handling workflow
R-GCCUSIO-cbl-00447
US Cargo Hold Status?
Decision Rules
📊 Business Logic Narrative
When the process 'US Cargo Hold Status?' is invoked, and assuming that a cargo record is being processed and no error conditions exist, when the us cargo status field rt11-uscargo-status indicates a general hold condition (88-gcusrt-rt11-uscargo-hold is true), the desired outcome is that the system flags the cargo as having a hold condition and proceeds to hold status handling workflow.
💻 Technical Criteria
Given
A cargo record is being processed and no error conditions exist
When
The US cargo status field RT11-USCARGO-STATUS indicates a general hold condition (88-GCUSRT-RT11-USCARGO-HOLD is true)
Then
The system flags the cargo as having a hold condition and proceeds to hold status handling workflow
R-GCCUSIO-cbl-00448
US Cargo Hold PCS Status?
Decision Rules
📊 Business Logic Narrative
When the process 'US Cargo Hold PCS Status?' is invoked, and assuming that a cargo record is being processed and no error or general hold conditions exist, when the us cargo status field rt11-uscargo-status indicates a pcs hold condition (88-gcusrt-rt11-uscargo-holdpcs is true), the desired outcome is that the system flags the cargo as having a hold condition and proceeds to hold status handling workflow.
💻 Technical Criteria
Given
A cargo record is being processed and no error or general hold conditions exist
When
The US cargo status field RT11-USCARGO-STATUS indicates a PCS hold condition (88-GCUSRT-RT11-USCARGO-HOLDPCS is true)
Then
The system flags the cargo as having a hold condition and proceeds to hold status handling workflow
R-GCCUSIO-cbl-00449
US Cargo PR-HPCS Status?
Decision Rules
📊 Business Logic Narrative
When the process 'US Cargo PR-HPCS Status?' is invoked, and assuming that a cargo record is being processed and no error, general hold, or pcs hold conditions exist, when the us cargo status field rt11-uscargo-status indicates a pre-release pcs hold condition (88-gcusrt-rt11-uscargo-pr-hpcs is true), the desired outcome is that the system flags the cargo as having a hold condition and proceeds to hold status handling workflow.
💻 Technical Criteria
Given
A cargo record is being processed and no error, general hold, or PCS hold conditions exist
When
The US cargo status field RT11-USCARGO-STATUS indicates a pre-release PCS hold condition (88-GCUSRT-RT11-USCARGO-PR-HPCS is true)
Then
The system flags the cargo as having a hold condition and proceeds to hold status handling workflow
R-GCCUSIO-cbl-00450
US Cargo Hold Border Status?
Decision Rules
📊 Business Logic Narrative
When the process 'US Cargo Hold Border Status?' is invoked, and assuming that a cargo record is being processed and no error or previous hold conditions exist, when the us cargo status field rt11-uscargo-status indicates a border hold condition (88-gcusrt-rt11-uscargo-hold-b is true), the desired outcome is that the system flags the cargo as having a hold condition and proceeds to hold status handling workflow.
💻 Technical Criteria
Given
A cargo record is being processed and no error or previous hold conditions exist
When
The US cargo status field RT11-USCARGO-STATUS indicates a border hold condition (88-GCUSRT-RT11-USCARGO-HOLD-B is true)
Then
The system flags the cargo as having a hold condition and proceeds to hold status handling workflow
R-GCCUSIO-cbl-00451
US Cargo PR-H-BO Status?
Decision Rules
📊 Business Logic Narrative
When the process 'US Cargo PR-H-BO Status?' is invoked, and assuming that a cargo record is being processed and no error or previous hold conditions exist, when the us cargo status field rt11-uscargo-status indicates a pre-release border hold condition (88-gcusrt-rt11-uscargo-pr-h-bo is true), the desired outcome is that the system flags the cargo as having a hold condition and proceeds to hold status handling workflow.
💻 Technical Criteria
Given
A cargo record is being processed and no error or previous hold conditions exist
When
The US cargo status field RT11-USCARGO-STATUS indicates a pre-release border hold condition (88-GCUSRT-RT11-USCARGO-PR-H-BO is true)
Then
The system flags the cargo as having a hold condition and proceeds to hold status handling workflow
R-GCCUSIO-cbl-00452
US Cargo Hold Dest Status?
Decision Rules
📊 Business Logic Narrative
When the process 'US Cargo Hold Dest Status?' is invoked, and assuming that a cargo record is being processed and no error or previous hold conditions exist, when the us cargo status field rt11-uscargo-status indicates a destination hold condition (88-gcusrt-rt11-uscargo-hold-d is true), the desired outcome is that the system flags the cargo as having a hold condition and proceeds to hold status handling workflow.
💻 Technical Criteria
Given
A cargo record is being processed and no error or previous hold conditions exist
When
The US cargo status field RT11-USCARGO-STATUS indicates a destination hold condition (88-GCUSRT-RT11-USCARGO-HOLD-D is true)
Then
The system flags the cargo as having a hold condition and proceeds to hold status handling workflow
R-GCCUSIO-cbl-00453
US Cargo PR-H-DE Status?
Decision Rules
📊 Business Logic Narrative
When the process 'US Cargo PR-H-DE Status?' is invoked, and assuming that a cargo record is being processed and no error or previous hold conditions exist, when the us cargo status field rt11-uscargo-status indicates a pre-release destination hold condition (88-gcusrt-rt11-uscargo-pr-h-de is true), the desired outcome is that the system flags the cargo as having a hold condition and proceeds to hold status handling workflow.
💻 Technical Criteria
Given
A cargo record is being processed and no error or previous hold conditions exist
When
The US cargo status field RT11-USCARGO-STATUS indicates a pre-release destination hold condition (88-GCUSRT-RT11-USCARGO-PR-H-DE is true)
Then
The system flags the cargo as having a hold condition and proceeds to hold status handling workflow
R-GCCUSIO-cbl-00454
US Cargo Hold FDA Status?
Decision Rules
📊 Business Logic Narrative
When the process 'US Cargo Hold FDA Status?' is invoked, and assuming that a cargo record is being processed and no error or previous hold conditions exist, when the us cargo status field rt11-uscargo-status indicates an fda hold condition (88-gcusrt-rt11-uscargo-holdfda is true), the desired outcome is that the system flags the cargo as having a hold condition and proceeds to hold status handling workflow.
💻 Technical Criteria
Given
A cargo record is being processed and no error or previous hold conditions exist
When
The US cargo status field RT11-USCARGO-STATUS indicates an FDA hold condition (88-GCUSRT-RT11-USCARGO-HOLDFDA is true)
Then
The system flags the cargo as having a hold condition and proceeds to hold status handling workflow
R-GCCUSIO-cbl-00455
No Error/Hold Conditions
Decision Rules
📊 Business Logic Narrative
When the process 'No Error/Hold Conditions' is invoked, and assuming that a cargo record is being processed for status evaluation, when all error and hold status checks return false (no cp cargo errors, no cp cargo pending, no us cargo errors, and no us cargo hold conditions of any type), the desired outcome is that the system determines the cargo has clean status and proceeds to normal processing workflow without special handling requirements.
💻 Technical Criteria
Given
A cargo record is being processed for status evaluation
When
All error and hold status checks return false (no CP cargo errors, no CP cargo pending, no US cargo errors, and no US cargo hold conditions of any type)
Then
The system determines the cargo has clean status and proceeds to normal processing workflow without special handling requirements
R-GCCUSIO-cbl-00575
Check RT10 CPCARGO-ERROR Status?
Decision Rules
📊 Business Logic Narrative
When the process 'Check RT10 CPCARGO-ERROR Status?' is invoked, and assuming that a cp cargo record with rt10 status field, when the system checks the rt10 cpcargo-error status condition, the desired outcome is that the system identifies if error processing is required based on the cpcargo-error status.
💻 Technical Criteria
Given
A CP cargo record with RT10 status field
When
The system checks the RT10 CPCARGO-ERROR status condition
Then
The system identifies if error processing is required based on the CPCARGO-ERROR status
R-GCCUSIO-cbl-00576
Check RT10 CPCARGO-PENDING Status?
Decision Rules
📊 Business Logic Narrative
When the process 'Check RT10 CPCARGO-PENDING Status?' is invoked, and assuming that a cp cargo record with rt10 status field, when the system checks the rt10 cpcargo-pending status condition, the desired outcome is that the system identifies if error processing is required based on the cpcargo-pending status.
💻 Technical Criteria
Given
A CP cargo record with RT10 status field
When
The system checks the RT10 CPCARGO-PENDING status condition
Then
The system identifies if error processing is required based on the CPCARGO-PENDING status
R-GCCUSIO-cbl-00577
Check RT11 USCARGO-ERROR Status?
Decision Rules
📊 Business Logic Narrative
When the process 'Check RT11 USCARGO-ERROR Status?' is invoked, and assuming that a us cargo record with rt11 status field, when the system checks the rt11 uscargo-error status condition, the desired outcome is that the system identifies if error processing is required based on the uscargo-error status.
💻 Technical Criteria
Given
A US cargo record with RT11 status field
When
The system checks the RT11 USCARGO-ERROR status condition
Then
The system identifies if error processing is required based on the USCARGO-ERROR status
R-GCCUSIO-cbl-00578
Check RT11 USCARGO-HOLD Status?
Decision Rules
📊 Business Logic Narrative
When the process 'Check RT11 USCARGO-HOLD Status?' is invoked, and assuming that a us cargo record with rt11 status field, when the system checks the rt11 uscargo-hold status condition, the desired outcome is that the system identifies if hold processing is required based on the uscargo-hold status.
💻 Technical Criteria
Given
A US cargo record with RT11 status field
When
The system checks the RT11 USCARGO-HOLD status condition
Then
The system identifies if hold processing is required based on the USCARGO-HOLD status
R-GCCUSIO-cbl-00579
Check RT11 USCARGO-HOLDPCS Status?
Decision Rules
📊 Business Logic Narrative
When the process 'Check RT11 USCARGO-HOLDPCS Status?' is invoked, and assuming that a us cargo record with rt11 status field, when the system checks the rt11 uscargo-holdpcs status condition, the desired outcome is that the system identifies if hold processing is required based on the uscargo-holdpcs status.
💻 Technical Criteria
Given
A US cargo record with RT11 status field
When
The system checks the RT11 USCARGO-HOLDPCS status condition
Then
The system identifies if hold processing is required based on the USCARGO-HOLDPCS status
R-GCCUSIO-cbl-00580
Check RT11 USCARGO-PR-HPCS Status?
Decision Rules
📊 Business Logic Narrative
When the process 'Check RT11 USCARGO-PR-HPCS Status?' is invoked, and assuming that a us cargo record with rt11 status field, when the system checks the rt11 uscargo-pr-hpcs status condition, the desired outcome is that the system identifies if hold processing is required based on the uscargo-pr-hpcs status.
💻 Technical Criteria
Given
A US cargo record with RT11 status field
When
The system checks the RT11 USCARGO-PR-HPCS status condition
Then
The system identifies if hold processing is required based on the USCARGO-PR-HPCS status
R-GCCUSIO-cbl-00581
Check RT11 USCARGO-HOLD-B Status?
Decision Rules
📊 Business Logic Narrative
When the process 'Check RT11 USCARGO-HOLD-B Status?' is invoked, and assuming that a us cargo record with rt11 status field, when the system checks the rt11 uscargo-hold-b status condition, the desired outcome is that the system identifies if hold processing is required based on the uscargo-hold-b status.
💻 Technical Criteria
Given
A US cargo record with RT11 status field
When
The system checks the RT11 USCARGO-HOLD-B status condition
Then
The system identifies if hold processing is required based on the USCARGO-HOLD-B status
R-GCCUSIO-cbl-00582
Check RT11 USCARGO-PR-H-BO Status?
Decision Rules
📊 Business Logic Narrative
When the process 'Check RT11 USCARGO-PR-H-BO Status?' is invoked, and assuming that a us cargo record with rt11 status field, when the system checks the rt11 uscargo-pr-h-bo status condition, the desired outcome is that the system identifies if hold processing is required based on the uscargo-pr-h-bo status.
💻 Technical Criteria
Given
A US cargo record with RT11 status field
When
The system checks the RT11 USCARGO-PR-H-BO status condition
Then
The system identifies if hold processing is required based on the USCARGO-PR-H-BO status
R-GCCUSIO-cbl-00583
Check RT11 USCARGO-HOLD-D Status?
Decision Rules
📊 Business Logic Narrative
When the process 'Check RT11 USCARGO-HOLD-D Status?' is invoked, and assuming that a us cargo record with rt11 status field, when the system checks the rt11 uscargo-hold-d status condition, the desired outcome is that the system identifies if hold processing is required based on the uscargo-hold-d status.
💻 Technical Criteria
Given
A US cargo record with RT11 status field
When
The system checks the RT11 USCARGO-HOLD-D status condition
Then
The system identifies if hold processing is required based on the USCARGO-HOLD-D status
R-GCCUSIO-cbl-00584
Check RT11 USCARGO-PR-H-DE Status?
Decision Rules
📊 Business Logic Narrative
When the process 'Check RT11 USCARGO-PR-H-DE Status?' is invoked, and assuming that a us cargo record with rt11 status field, when the system checks the rt11 uscargo-pr-h-de status condition, the desired outcome is that the system identifies if hold processing is required based on the uscargo-pr-h-de status.
💻 Technical Criteria
Given
A US cargo record with RT11 status field
When
The system checks the RT11 USCARGO-PR-H-DE status condition
Then
The system identifies if hold processing is required based on the USCARGO-PR-H-DE status
R-GCCUSIO-cbl-00585
Check RT11 USCARGO-HOLDFDA Status?
Decision Rules
📊 Business Logic Narrative
When the process 'Check RT11 USCARGO-HOLDFDA Status?' is invoked, and assuming that a us cargo record with rt11 status field, when the system checks the rt11 uscargo-holdfda status condition, the desired outcome is that the system identifies if hold processing is required based on the uscargo-holdfda status.
💻 Technical Criteria
Given
A US cargo record with RT11 status field
When
The system checks the RT11 USCARGO-HOLDFDA status condition
Then
The system identifies if hold processing is required based on the USCARGO-HOLDFDA status
R-GCCUSIO-cbl-00586
Delete GCSB1RT Index Record
Process Rules
📊 Business Logic Narrative
When the process 'Delete GCSB1RT Index Record' is invoked, and assuming that a cargo record with no error conditions (rt10 cpcargo-error, rt10 cpcargo-pending, rt11 uscargo-error) and no hold conditions (rt11 uscargo-hold, rt11 uscargo-holdpcs, rt11 uscargo-pr-hpcs, rt11 uscargo-hold-b, rt11 uscargo-pr-h-bo, rt11 uscargo-hold-d, rt11 uscargo-pr-h-de, rt11 uscargo-holdfda), when the system processes the cargo status update, the desired outcome is that the system removes the cargo record from the gcsb1rt status index table.
💻 Technical Criteria
Given
A cargo record with no error conditions (RT10 CPCARGO-ERROR, RT10 CPCARGO-PENDING, RT11 USCARGO-ERROR) and no hold conditions (RT11 USCARGO-HOLD, RT11 USCARGO-HOLDPCS, RT11 USCARGO-PR-HPCS, RT11 USCARGO-HOLD-B, RT11 USCARGO-PR-H-BO, RT11 USCARGO-HOLD-D, RT11 USCARGO-PR-H-DE, RT11 USCARGO-HOLDFDA)
When
The system processes the cargo status update
Then
The system removes the cargo record from the GCSB1RT status index table
R-GCCUSIO-cbl-00587
Clear Error Index Fields
Process Rules
📊 Business Logic Narrative
When the process 'Clear Error Index Fields' is invoked, and assuming that a cargo record with no error conditions (rt10 cpcargo-error, rt10 cpcargo-pending, rt11 uscargo-error) but with hold conditions, when the system processes the cargo status update, the desired outcome is that the system clears the error origin index, error destination index, and error border index fields in the status record.
💻 Technical Criteria
Given
A cargo record with no error conditions (RT10 CPCARGO-ERROR, RT10 CPCARGO-PENDING, RT11 USCARGO-ERROR) but with hold conditions
When
The system processes the cargo status update
Then
The system clears the error origin index, error destination index, and error border index fields in the status record
R-GCCUSIO-cbl-00588
Clear Hold Index Fields
Process Rules
📊 Business Logic Narrative
When the process 'Clear Hold Index Fields' is invoked, and assuming that a cargo record with no hold conditions (rt11 uscargo-hold, rt11 uscargo-holdpcs, rt11 uscargo-pr-hpcs, rt11 uscargo-hold-b, rt11 uscargo-pr-h-bo, rt11 uscargo-hold-d, rt11 uscargo-pr-h-de, rt11 uscargo-holdfda) but with error conditions, when the system processes the cargo status update, the desired outcome is that the system clears the held destination index and held border index fields in the status record.
💻 Technical Criteria
Given
A cargo record with no hold conditions (RT11 USCARGO-HOLD, RT11 USCARGO-HOLDPCS, RT11 USCARGO-PR-HPCS, RT11 USCARGO-HOLD-B, RT11 USCARGO-PR-H-BO, RT11 USCARGO-HOLD-D, RT11 USCARGO-PR-H-DE, RT11 USCARGO-HOLDFDA) but with error conditions
When
The system processes the cargo status update
Then
The system clears the held destination index and held border index fields in the status record
R-GCCUSIO-cbl-00589
Fill Error Index Fields
Action Rules
📊 Business Logic Narrative
When the process 'Fill Error Index Fields' is invoked, and assuming that a cargo record with error conditions (rt10 cpcargo-error, rt10 cpcargo-pending, or rt11 uscargo-error), when the system processes the cargo status update, the desired outcome is that the system populates error code and location fields for origin station, border station, and destination station in the status index record.
💻 Technical Criteria
Given
A cargo record with error conditions (RT10 CPCARGO-ERROR, RT10 CPCARGO-PENDING, or RT11 USCARGO-ERROR)
When
The system processes the cargo status update
Then
The system populates error code and location fields for origin station, border station, and destination station in the status index record
R-GCCUSIO-cbl-00590
Fill Hold Index Fields
Action Rules
📊 Business Logic Narrative
When the process 'Fill Hold Index Fields' is invoked, and assuming that a cargo record with hold conditions (rt11 uscargo-hold, rt11 uscargo-holdpcs, rt11 uscargo-pr-hpcs, rt11 uscargo-hold-b, rt11 uscargo-pr-h-bo, rt11 uscargo-hold-d, rt11 uscargo-pr-h-de, or rt11 uscargo-holdfda), when the system processes the cargo status update, the desired outcome is that the system populates held destination and held border location fields in the status index record.
💻 Technical Criteria
Given
A cargo record with hold conditions (RT11 USCARGO-HOLD, RT11 USCARGO-HOLDPCS, RT11 USCARGO-PR-HPCS, RT11 USCARGO-HOLD-B, RT11 USCARGO-PR-H-BO, RT11 USCARGO-HOLD-D, RT11 USCARGO-PR-H-DE, or RT11 USCARGO-HOLDFDA)
When
The system processes the cargo status update
Then
The system populates held destination and held border location fields in the status index record
R-GCCUSIO-cbl-00591
Insert/Update GCSB1RT Record
Process Rules
📊 Business Logic Narrative
When the process 'Insert/Update GCSB1RT Record' is invoked, and assuming that a cargo record with error or hold conditions requiring status tracking, when the system processes the cargo status update and the status index record exists, the desired outcome is that the system updates the existing gcsb1rt status index record with current status information.
💻 Technical Criteria
Given
A cargo record with error or hold conditions requiring status tracking
When
The system processes the cargo status update and the status index record exists
Then
The system updates the existing GCSB1RT status index record with current status information
R-GCCUSIO-cbl-00693
Delete GCSB1RT Record
Decision Rules
📊 Business Logic Narrative
When the process 'Delete GCSB1RT Record' is invoked, and assuming that a cargo record exists in the system, when the cargo has no cp cargo error status and no cp cargo pending status and no us cargo error status and no us cargo hold status and no us cargo hold pcs status and no us cargo pre-hold pcs status and no us cargo hold border status and no us cargo pre-hold border status and no us cargo hold destination status and no us cargo pre-hold destination status and no us cargo hold fda status, the desired outcome is that the cargo status record should be deleted from gcsb1rt table.
💻 Technical Criteria
Given
A cargo record exists in the system
When
The cargo has no CP cargo error status AND no CP cargo pending status AND no US cargo error status AND no US cargo hold status AND no US cargo hold PCS status AND no US cargo pre-hold PCS status AND no US cargo hold border status AND no US cargo pre-hold border status AND no US cargo hold destination status AND no US cargo pre-hold destination status AND no US cargo hold FDA status
Then
The cargo status record should be deleted from GCSB1RT table
R-GCCUSIO-cbl-00694
Clear Error Index Fields
Process Rules
📊 Business Logic Narrative
When the process 'Clear Error Index Fields' is invoked, and assuming that a cargo record exists with a gcsb1rt status record, when the cargo has no cp cargo error status and no cp cargo pending status and no us cargo error status, the desired outcome is that the error origin index, error destination index, and error border index fields should be cleared to spaces.
💻 Technical Criteria
Given
A cargo record exists with a GCSB1RT status record
When
The cargo has no CP cargo error status AND no CP cargo pending status AND no US cargo error status
Then
The error origin index, error destination index, and error border index fields should be cleared to spaces
R-GCCUSIO-cbl-00695
Delete GCSB1RT Record
Decision Rules
📊 Business Logic Narrative
When the process 'Delete GCSB1RT Record' is invoked, and assuming that a cargo gcsb1rt record exists with error fields cleared, when the held destination index is spaces and the held border index is spaces, the desired outcome is that the gcsb1rt record should be deleted.
💻 Technical Criteria
Given
A cargo GCSB1RT record exists with error fields cleared
When
The held destination index is spaces AND the held border index is spaces
Then
The GCSB1RT record should be deleted
R-GCCUSIO-cbl-00696
Update GCSB1RT Record
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Update GCSB1RT Record', assuming that a cargo gcsb1rt record exists with error fields cleared, when the held destination index is not spaces or the held border index is not spaces, the desired outcome is that the gcsb1rt record should be updated with the current field values.
💻 Technical Criteria
EXCLUDING
A cargo GCSB1RT record exists with error fields cleared
When
The held destination index is not spaces OR the held border index is not spaces
Then
The GCSB1RT record should be updated with the current field values
R-GCCUSIO-cbl-00697
Clear Hold Index Fields
Process Rules
📊 Business Logic Narrative
When the process 'Clear Hold Index Fields' is invoked, and assuming that a cargo record exists with a gcsb1rt status record, when the cargo has no us cargo hold status and no us cargo hold pcs status and no us cargo pre-hold pcs status and no us cargo hold border status and no us cargo pre-hold border status and no us cargo hold destination status and no us cargo pre-hold destination status and no us cargo hold fda status, the desired outcome is that the held destination index and held border index fields should be cleared to spaces.
💻 Technical Criteria
Given
A cargo record exists with a GCSB1RT status record
When
The cargo has no US cargo hold status AND no US cargo hold PCS status AND no US cargo pre-hold PCS status AND no US cargo hold border status AND no US cargo pre-hold border status AND no US cargo hold destination status AND no US cargo pre-hold destination status AND no US cargo hold FDA status
Then
The held destination index and held border index fields should be cleared to spaces
R-GCCUSIO-cbl-00698
Delete GCSB1RT Record
Decision Rules
📊 Business Logic Narrative
When the process 'Delete GCSB1RT Record' is invoked, and assuming that a cargo gcsb1rt record exists with hold fields cleared, when the error destination index is spaces and the error origin index is spaces and the error border index is spaces, the desired outcome is that the gcsb1rt record should be deleted.
💻 Technical Criteria
Given
A cargo GCSB1RT record exists with hold fields cleared
When
The error destination index is spaces AND the error origin index is spaces AND the error border index is spaces
Then
The GCSB1RT record should be deleted
R-GCCUSIO-cbl-00699
Update Existing GCSB1RT Record
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Update Existing GCSB1RT Record', assuming that a cargo gcsb1rt record exists with hold fields cleared, when the error destination index is not spaces or the error origin index is not spaces or the error border index is not spaces, the desired outcome is that the gcsb1rt record should be updated with the current field values.
💻 Technical Criteria
EXCLUDING
A cargo GCSB1RT record exists with hold fields cleared
When
The error destination index is not spaces OR the error origin index is not spaces OR the error border index is not spaces
Then
The GCSB1RT record should be updated with the current field values
R-GCCUSIO-cbl-00700
Populate Error Index Fields
Process Rules
📊 Business Logic Narrative
When the process 'Populate Error Index Fields' is invoked, and assuming that a cargo record has error or pending status conditions, when the cargo has cp cargo error status or cp cargo pending status or us cargo error status, the desired outcome is that the error origin index should be set to origin station number, error destination index should be set to destination station number, error border index should be set to border station number from mc table lookup, and all error code fields should be set to 'e'.
💻 Technical Criteria
Given
A cargo record has error or pending status conditions
When
The cargo has CP cargo error status OR CP cargo pending status OR US cargo error status
Then
The error origin index should be set to origin station number, error destination index should be set to destination station number, error border index should be set to border station number from MC table lookup, and all error code fields should be set to 'E'
R-GCCUSIO-cbl-00702
Update Existing GCSB1RT Record
Process Rules
📊 Business Logic Narrative
When the process 'Update Existing GCSB1RT Record' is invoked, and assuming that a cargo record has error conditions and an existing gcsb1rt record is found, when the gcsb1rt record retrieval returns successful status, the desired outcome is that the existing gcsb1rt record should be updated with the populated error index fields.
💻 Technical Criteria
Given
A cargo record has error conditions and an existing GCSB1RT record is found
When
The GCSB1RT record retrieval returns successful status
Then
The existing GCSB1RT record should be updated with the populated error index fields
R-GCCUSIO-cbl-00706
Update Existing GCSB1RT Record
Process Rules
📊 Business Logic Narrative
When the process 'Update Existing GCSB1RT Record' is invoked, and assuming that a cargo record has hold conditions and an existing gcsb1rt record is found, when the gcsb1rt record retrieval returns successful status, the desired outcome is that the existing gcsb1rt record should be updated with the populated hold index fields.
💻 Technical Criteria
Given
A cargo record has hold conditions and an existing GCSB1RT record is found
When
The GCSB1RT record retrieval returns successful status
Then
The existing GCSB1RT record should be updated with the populated hold index fields
R-GCCUSIO-cbl-00798
Delete Index Database Record - No Index Requirements
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Delete Index Database Record - No Index Requirements', assuming that a cargo record exists in the system, when the cargo does not have error status (rt10-cpcargo-error, rt10-cpcargo-pending, rt11-uscargo-error) and the cargo does not have hold status (rt11-uscargo-hold, rt11-uscargo-holdpcs, rt11-uscargo-pr-hpcs, rt11-uscargo-hold-b, rt11-uscargo-pr-h-bo, rt11-uscargo-hold-d, rt11-uscargo-pr-h-de, rt11-uscargo-holdfda), the desired outcome is that the system deletes the cargo index record from gcsb1rt database.
💻 Technical Criteria
EXCLUDING
A cargo record exists in the system
When
The cargo does not have error status (RT10-CPCARGO-ERROR, RT10-CPCARGO-PENDING, RT11-USCARGO-ERROR) AND the cargo does not have hold status (RT11-USCARGO-HOLD, RT11-USCARGO-HOLDPCS, RT11-USCARGO-PR-HPCS, RT11-USCARGO-HOLD-B, RT11-USCARGO-PR-H-BO, RT11-USCARGO-HOLD-D, RT11-USCARGO-PR-H-DE, RT11-USCARGO-HOLDFDA)
Then
The system deletes the cargo index record from GCSB1RT database
R-GCCUSIO-cbl-00799
Clear Error Index Fields - Keep Hold Index Fields
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Clear Error Index Fields - Keep Hold Index Fields', assuming that a cargo record exists with an index record in gcsb1rt, when the cargo does not have error status (rt10-cpcargo-error, rt10-cpcargo-pending, rt11-uscargo-error) and the cargo has hold status, the desired outcome is that the system clears error origin index, error destination index, and error border index fields to spaces while keeping hold index fields intact.
💻 Technical Criteria
EXCLUDING
A cargo record exists with an index record in GCSB1RT
When
The cargo does not have error status (RT10-CPCARGO-ERROR, RT10-CPCARGO-PENDING, RT11-USCARGO-ERROR) AND the cargo has hold status
Then
The system clears error origin index, error destination index, and error border index fields to spaces while keeping hold index fields intact
R-GCCUSIO-cbl-00800
Delete Index Database Record
Decision Rules
📊 Business Logic Narrative
When the process 'Delete Index Database Record' is invoked, and assuming that error index fields have been cleared from a cargo index record, when both held destination index and held border index fields are empty, the desired outcome is that the system deletes the entire cargo index record from gcsb1rt database.
💻 Technical Criteria
Given
Error index fields have been cleared from a cargo index record
When
Both held destination index and held border index fields are empty
Then
The system deletes the entire cargo index record from GCSB1RT database
R-GCCUSIO-cbl-00801
Update Index Database Record
Decision Rules
📊 Business Logic Narrative
When the process 'Update Index Database Record' is invoked, and assuming that error index fields have been cleared from a cargo index record, when either held destination index or held border index fields contain data, the desired outcome is that the system updates the existing cargo index record in gcsb1rt database with the cleared error fields.
💻 Technical Criteria
Given
Error index fields have been cleared from a cargo index record
When
Either held destination index or held border index fields contain data
Then
The system updates the existing cargo index record in GCSB1RT database with the cleared error fields
R-GCCUSIO-cbl-00802
Clear Hold Index Fields - Keep Error Index Fields
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Clear Hold Index Fields - Keep Error Index Fields', assuming that a cargo record exists with an index record in gcsb1rt, when the cargo does not have hold status (rt11-uscargo-hold, rt11-uscargo-holdpcs, rt11-uscargo-pr-hpcs, rt11-uscargo-hold-b, rt11-uscargo-pr-h-bo, rt11-uscargo-hold-d, rt11-uscargo-pr-h-de, rt11-uscargo-holdfda) and the cargo has error status, the desired outcome is that the system clears held destination index and held border index fields to spaces while keeping error index fields intact.
💻 Technical Criteria
EXCLUDING
A cargo record exists with an index record in GCSB1RT
When
The cargo does not have hold status (RT11-USCARGO-HOLD, RT11-USCARGO-HOLDPCS, RT11-USCARGO-PR-HPCS, RT11-USCARGO-HOLD-B, RT11-USCARGO-PR-H-BO, RT11-USCARGO-HOLD-D, RT11-USCARGO-PR-H-DE, RT11-USCARGO-HOLDFDA) AND the cargo has error status
Then
The system clears held destination index and held border index fields to spaces while keeping error index fields intact
R-GCCUSIO-cbl-00803
Delete Index Database Record
Decision Rules
📊 Business Logic Narrative
When the process 'Delete Index Database Record' is invoked, and assuming that hold index fields have been cleared from a cargo index record, when error destination index, error origin index, and error border index fields are all empty, the desired outcome is that the system deletes the entire cargo index record from gcsb1rt database.
💻 Technical Criteria
Given
Hold index fields have been cleared from a cargo index record
When
Error destination index, error origin index, and error border index fields are all empty
Then
The system deletes the entire cargo index record from GCSB1RT database
R-GCCUSIO-cbl-00804
Update Index Database Record
Decision Rules
📊 Business Logic Narrative
When the process 'Update Index Database Record' is invoked, and assuming that hold index fields have been cleared from a cargo index record, when any of error destination index, error origin index, or error border index fields contain data, the desired outcome is that the system updates the existing cargo index record in gcsb1rt database with the cleared hold fields.
💻 Technical Criteria
Given
Hold index fields have been cleared from a cargo index record
When
Any of error destination index, error origin index, or error border index fields contain data
Then
The system updates the existing cargo index record in GCSB1RT database with the cleared hold fields
R-GCCUSIO-cbl-00806
Update Existing Index Record
Action Rules
📊 Business Logic Narrative
When the process 'Update Existing Index Record' is invoked, and assuming that a cargo index record already exists in gcsb1rt database and cargo has error status, when error index fields have been populated, the desired outcome is that the system updates the existing cargo index record in gcsb1rt database with the error information.
💻 Technical Criteria
Given
A cargo index record already exists in GCSB1RT database AND cargo has error status
When
Error index fields have been populated
Then
The system updates the existing cargo index record in GCSB1RT database with the error information
R-GCCUSIO-cbl-00807
Create New Index Record
Action Rules
📊 Business Logic Narrative
When the process 'Create New Index Record' is invoked, and assuming that no cargo index record exists in gcsb1rt database and cargo has error status, when error index fields have been populated, the desired outcome is that the system creates a new cargo index record in gcsb1rt database with the error information.
💻 Technical Criteria
Given
No cargo index record exists in GCSB1RT database AND cargo has error status
When
Error index fields have been populated
Then
The system creates a new cargo index record in GCSB1RT database with the error information
R-GCCUSIO-cbl-00809
Update Existing Index Record
Action Rules
📊 Business Logic Narrative
When the process 'Update Existing Index Record' is invoked, and assuming that a cargo index record already exists in gcsb1rt database and cargo has hold status, when hold index fields have been populated, the desired outcome is that the system updates the existing cargo index record in gcsb1rt database with the hold information.
💻 Technical Criteria
Given
A cargo index record already exists in GCSB1RT database AND cargo has hold status
When
Hold index fields have been populated
Then
The system updates the existing cargo index record in GCSB1RT database with the hold information
R-GCCUSIO-cbl-00810
Create New Index Record
Action Rules
📊 Business Logic Narrative
When the process 'Create New Index Record' is invoked, and assuming that no cargo index record exists in gcsb1rt database and cargo has hold status, when hold index fields have been populated, the desired outcome is that the system creates a new cargo index record in gcsb1rt database with the hold information.
💻 Technical Criteria
Given
No cargo index record exists in GCSB1RT database AND cargo has hold status
When
Hold index fields have been populated
Then
The system creates a new cargo index record in GCSB1RT database with the hold information
R-GCCUSIO-cbl-00811
Set Error Code 'E' for Origin Station
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Error Code 'E' for Origin Station' is invoked, and assuming that a cargo record requires error index field population, when the system begins populating error fields for the origin station, the desired outcome is that the error code 'e' is assigned to the origin station error code field.
💻 Technical Criteria
Given
A cargo record requires error index field population
When
The system begins populating error fields for the origin station
Then
The error code 'E' is assigned to the origin station error code field
R-GCCUSIO-cbl-00812
Extract Origin Station Number from Cargo Record
Process Rules
📊 Business Logic Narrative
When the process 'Extract Origin Station Number from Cargo Record' is invoked, and assuming that a cargo record exists with origin station information, when the system populates error index fields for origin station, the desired outcome is that the origin station number is extracted from field rt28-orig-stn-num and assigned to the error origin key.
💻 Technical Criteria
Given
A cargo record exists with origin station information
When
The system populates error index fields for origin station
Then
The origin station number is extracted from field RT28-ORIG-STN-NUM and assigned to the error origin key
R-GCCUSIO-cbl-00814
Set Error Code 'E' for Border Station
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Error Code 'E' for Border Station' is invoked, and assuming that a cargo record requires error index field population, when the system begins populating error fields for the border station, the desired outcome is that the error code 'e' is assigned to the border station error code field.
💻 Technical Criteria
Given
A cargo record requires error index field population
When
The system begins populating error fields for the border station
Then
The error code 'E' is assigned to the border station error code field
R-GCCUSIO-cbl-00815
Lookup Border Station from MC Table
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Border Station from MC Table' is invoked, and assuming that a cargo record contains a location id and the mc table is available, when the system needs to determine the border station for error indexing, the desired outcome is that the system performs a table lookup using the cargo's location id to retrieve the corresponding border station information.
💻 Technical Criteria
Given
A cargo record contains a location ID and the MC table is available
When
The system needs to determine the border station for error indexing
Then
The system performs a table lookup using the cargo's location ID to retrieve the corresponding border station information
R-GCCUSIO-cbl-00818
Set Error Code 'E' for Destination Station
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Error Code 'E' for Destination Station' is invoked, and assuming that a cargo record requires error index field population, when the system begins populating error fields for the destination station, the desired outcome is that the error code 'e' is assigned to the destination station error code field.
💻 Technical Criteria
Given
A cargo record requires error index field population
When
The system begins populating error fields for the destination station
Then
The error code 'E' is assigned to the destination station error code field
R-GCCUSIO-cbl-00819
Extract Destination Station Number from Cargo Record
Process Rules
📊 Business Logic Narrative
When the process 'Extract Destination Station Number from Cargo Record' is invoked, and assuming that a cargo record exists with destination station information, when the system populates error index fields for destination station, the desired outcome is that the destination station number is extracted from field rt29-dest-stn-num and assigned to the error destination key.
💻 Technical Criteria
Given
A cargo record exists with destination station information
When
The system populates error index fields for destination station
Then
The destination station number is extracted from field RT29-DEST-STN-NUM and assigned to the error destination key
R-GCCUSIO-cbl-00823
Lookup Border Station from MC Table
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Border Station from MC Table' is invoked, and assuming that a cargo record requires border hold index population, when the system needs to determine the border station number, the desired outcome is that the system calls the table lookup service with table id 'mc' and cargo location id to retrieve the station number.
💻 Technical Criteria
Given
A cargo record requires border hold index population
When
The system needs to determine the border station number
Then
The system calls the table lookup service with table ID 'MC' and cargo location ID to retrieve the station number
R-GCCUSIO-cbl-00710
Attempt to Retrieve Existing Index Record
Validation Rules
📊 Business Logic Narrative
When the process 'Attempt to Retrieve Existing Index Record' is invoked, and assuming that a cargo key is set for index record identification, when the system needs to verify if the index record exists, the desired outcome is that the system attempts to retrieve the existing index record using the cargo key.
💻 Technical Criteria
Given
A cargo key is set for index record identification
When
The system needs to verify if the index record exists
Then
The system attempts to retrieve the existing index record using the cargo key
R-GCCUSIO-cbl-00592
Check RT11 USCARGO Status Fields
Decision Rules
📊 Business Logic Narrative
When the process 'Check RT11 USCARGO Status Fields' is invoked, and assuming that a cargo record with rt11 uscargo status fields, when the system checks for uscargo-hold or uscargo-holdpcs or uscargo-pr-hpcs or uscargo-hold-d or uscargo-pr-h-de or uscargo-holdfda status conditions, the desired outcome is that the system should identify that destination hold index processing is required and proceed with hold field population.
💻 Technical Criteria
Given
A cargo record with RT11 USCARGO status fields
When
The system checks for USCARGO-HOLD OR USCARGO-HOLDPCS OR USCARGO-PR-HPCS OR USCARGO-HOLD-D OR USCARGO-PR-H-DE OR USCARGO-HOLDFDA status conditions
Then
The system should identify that destination hold index processing is required and proceed with hold field population
R-GCCUSIO-cbl-00593
Check RT11 USCARGO Status Fields
Decision Rules
📊 Business Logic Narrative
When the process 'Check RT11 USCARGO Status Fields' is invoked, and assuming that a cargo record with rt11 uscargo status fields, when the system checks for uscargo-hold-b or uscargo-pr-h-bo status conditions, the desired outcome is that the system should identify that border hold index processing is required and proceed with border hold field population.
💻 Technical Criteria
Given
A cargo record with RT11 USCARGO status fields
When
The system checks for USCARGO-HOLD-B OR USCARGO-PR-H-BO status conditions
Then
The system should identify that border hold index processing is required and proceed with border hold field population
R-GCCUSIO-cbl-00594
Check RT11 USCARGO Status Fields
Decision Rules
📊 Business Logic Narrative
When the process 'Check RT11 USCARGO Status Fields' is invoked, and assuming that a cargo record with rt11 uscargo status fields, when the system checks for uscargo-error status condition, the desired outcome is that the system should identify that error index processing is required and proceed with error field population.
💻 Technical Criteria
Given
A cargo record with RT11 USCARGO status fields
When
The system checks for USCARGO-ERROR status condition
Then
The system should identify that error index processing is required and proceed with error field population
R-GCCUSIO-cbl-00595
Clear Hold Index Fields
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Clear Hold Index Fields', assuming that a cargo record being processed for status table updates, when the cargo does not have uscargo-hold and not uscargo-holdpcs and not uscargo-pr-hpcs and not uscargo-hold-b and not uscargo-pr-h-bo and not uscargo-hold-d and not uscargo-pr-h-de and not uscargo-holdfda status conditions, the desired outcome is that the system should clear the held destination index and held border index fields and determine if status record deletion is required.
💻 Technical Criteria
EXCLUDING
A cargo record being processed for status table updates
When
The cargo does NOT have USCARGO-HOLD AND NOT USCARGO-HOLDPCS AND NOT USCARGO-PR-HPCS AND NOT USCARGO-HOLD-B AND NOT USCARGO-PR-H-BO AND NOT USCARGO-HOLD-D AND NOT USCARGO-PR-H-DE AND NOT USCARGO-HOLDFDA status conditions
Then
The system should clear the held destination index and held border index fields and determine if status record deletion is required
R-GCCUSIO-cbl-00713
Cargo has Error or Hold Status?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo has Error or Hold Status?' is invoked, and assuming that a cargo record exists in the system, when the cargo has no cp cargo error status and no cp cargo pending status and no us cargo error status and no us cargo hold status and no us cargo hold pcs status and no us cargo pre-hold pcs status and no us cargo hold border status and no us cargo pre-hold border status and no us cargo hold destination status and no us cargo pre-hold destination status and no us cargo hold fda status, the desired outcome is that delete the cargo from the status index table and exit processing.
💻 Technical Criteria
Given
A cargo record exists in the system
When
The cargo has no CP cargo error status AND no CP cargo pending status AND no US cargo error status AND no US cargo hold status AND no US cargo hold PCS status AND no US cargo pre-hold PCS status AND no US cargo hold border status AND no US cargo pre-hold border status AND no US cargo hold destination status AND no US cargo pre-hold destination status AND no US cargo hold FDA status
Then
Delete the cargo from the status index table and exit processing
R-GCCUSIO-cbl-00714
Cargo has Error Status Only?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo has Error Status Only?' is invoked, and assuming that a cargo record exists with potential error and hold statuses, when the cargo has no cp cargo error status and no cp cargo pending status and no us cargo error status, the desired outcome is that retrieve the current status index record, clear all error index fields, and if no hold index fields remain then delete the status record, otherwise update the status record.
💻 Technical Criteria
Given
A cargo record exists with potential error and hold statuses
When
The cargo has no CP cargo error status AND no CP cargo pending status AND no US cargo error status
Then
Retrieve the current status index record, clear all error index fields, and if no hold index fields remain then delete the status record, otherwise update the status record
R-GCCUSIO-cbl-00715
Cargo has Hold Status Only?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo has Hold Status Only?' is invoked, and assuming that a cargo record exists with potential error and hold statuses, when the cargo has no us cargo hold status and no us cargo hold pcs status and no us cargo pre-hold pcs status and no us cargo hold border status and no us cargo pre-hold border status and no us cargo hold destination status and no us cargo pre-hold destination status and no us cargo hold fda status, the desired outcome is that retrieve the current status index record and if found, clear all hold index fields, and if no error index fields remain then delete the status record, otherwise update the status record.
💻 Technical Criteria
Given
A cargo record exists with potential error and hold statuses
When
The cargo has no US cargo hold status AND no US cargo hold PCS status AND no US cargo pre-hold PCS status AND no US cargo hold border status AND no US cargo pre-hold border status AND no US cargo hold destination status AND no US cargo pre-hold destination status AND no US cargo hold FDA status
Then
Retrieve the current status index record and if found, clear all hold index fields, and if no error index fields remain then delete the status record, otherwise update the status record
R-GCCUSIO-cbl-00716
Cargo has Both Error and Hold Status?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo has Both Error and Hold Status?' is invoked, and assuming that a cargo record exists in the system, when the cargo has cp cargo error status or cp cargo pending status or us cargo error status, the desired outcome is that retrieve the current status index record, populate all error index fields with origin station, border station, and destination station information, and if the status record exists then update it, otherwise create a new status record.
💻 Technical Criteria
Given
A cargo record exists in the system
When
The cargo has CP cargo error status OR CP cargo pending status OR US cargo error status
Then
Retrieve the current status index record, populate all error index fields with origin station, border station, and destination station information, and if the status record exists then update it, otherwise create a new status record
R-GCCUSIO-cbl-00717
Cargo has Both Error and Hold Status?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo has Both Error and Hold Status?' is invoked, and assuming that a cargo record exists in the system, when the cargo has us cargo hold status or us cargo hold pcs status or us cargo pre-hold pcs status or us cargo hold border status or us cargo pre-hold border status or us cargo hold destination status or us cargo pre-hold destination status or us cargo hold fda status, the desired outcome is that retrieve the current status index record, populate hold index fields with destination and border station information, and if the status record exists then update it, otherwise create a new status record.
💻 Technical Criteria
Given
A cargo record exists in the system
When
The cargo has US cargo hold status OR US cargo hold PCS status OR US cargo pre-hold PCS status OR US cargo hold border status OR US cargo pre-hold border status OR US cargo hold destination status OR US cargo pre-hold destination status OR US cargo hold FDA status
Then
Retrieve the current status index record, populate hold index fields with destination and border station information, and if the status record exists then update it, otherwise create a new status record
R-GCCUSIO-cbl-00825
Delete GCSB1RT Index Record
Decision Rules
📊 Business Logic Narrative
When the process 'Delete GCSB1RT Index Record' is invoked, and assuming that a cargo record exists in the system, when the cargo has no cp cargo error status and no cp cargo pending status and no us cargo error status and no us cargo hold status and no us cargo hold pcs status and no us cargo pre-hold pcs status and no us cargo hold border status and no us cargo pre-hold border status and no us cargo hold destination status and no us cargo pre-hold destination status and no us cargo hold fda status, the desired outcome is that the system deletes the cargo record from the gcsb1rt status index table.
💻 Technical Criteria
Given
A cargo record exists in the system
When
The cargo has no CP cargo error status AND no CP cargo pending status AND no US cargo error status AND no US cargo hold status AND no US cargo hold PCS status AND no US cargo pre-hold PCS status AND no US cargo hold border status AND no US cargo pre-hold border status AND no US cargo hold destination status AND no US cargo pre-hold destination status AND no US cargo hold FDA status
Then
The system deletes the cargo record from the GCSB1RT status index table
R-GCCUSIO-cbl-00826
Has Error Status?
Decision Rules
📊 Business Logic Narrative
When the process 'Has Error Status?' is invoked, and assuming that a cargo record is being processed for status index updates, when the system evaluates cargo status conditions, the desired outcome is that the system identifies if cargo has cp cargo error status or cp cargo pending status or us cargo error status.
💻 Technical Criteria
Given
A cargo record is being processed for status index updates
When
The system evaluates cargo status conditions
Then
The system identifies if cargo has CP cargo error status OR CP cargo pending status OR US cargo error status
R-GCCUSIO-cbl-00827
Has Hold Status?
Decision Rules
📊 Business Logic Narrative
When the process 'Has Hold Status?' is invoked, and assuming that a cargo record is being processed for status index updates, when the system evaluates cargo status conditions, the desired outcome is that the system identifies if cargo has us cargo hold status or us cargo hold pcs status or us cargo pre-hold pcs status or us cargo hold border status or us cargo pre-hold border status or us cargo hold destination status or us cargo pre-hold destination status or us cargo hold fda status.
💻 Technical Criteria
Given
A cargo record is being processed for status index updates
When
The system evaluates cargo status conditions
Then
The system identifies if cargo has US cargo hold status OR US cargo hold PCS status OR US cargo pre-hold PCS status OR US cargo hold border status OR US cargo pre-hold border status OR US cargo hold destination status OR US cargo pre-hold destination status OR US cargo hold FDA status
R-GCCUSIO-cbl-00828
Continue Processing Error Conditions
Process Rules
📊 Business Logic Narrative
When the process 'Continue Processing Error Conditions' is invoked, and assuming that a cargo record has no cp cargo error status and no cp cargo pending status and no us cargo error status but has hold conditions, when the system processes the cargo status update, the desired outcome is that the system retrieves the current gcsb1rt record and clears error origin index and clears error destination index and clears error border index and if no held destination index exists and no held border index exists then deletes the gcsb1rt record else replaces the gcsb1rt record.
💻 Technical Criteria
Given
A cargo record has no CP cargo error status AND no CP cargo pending status AND no US cargo error status but has hold conditions
When
The system processes the cargo status update
Then
The system retrieves the current GCSB1RT record AND clears error origin index AND clears error destination index AND clears error border index AND if no held destination index exists AND no held border index exists then deletes the GCSB1RT record else replaces the GCSB1RT record
R-GCCUSIO-cbl-00829
Continue Processing Hold Conditions
Process Rules
📊 Business Logic Narrative
When the process 'Continue Processing Hold Conditions' is invoked, and assuming that a cargo record has no us cargo hold status and no us cargo hold pcs status and no us cargo pre-hold pcs status and no us cargo hold border status and no us cargo pre-hold border status and no us cargo hold destination status and no us cargo pre-hold destination status and no us cargo hold fda status but has error conditions, when the system processes the cargo status update, the desired outcome is that the system retrieves the current gcsb1rt record and if record is found then clears held destination index and clears held border index and if no error destination index exists and no error origin index exists and no error border index exists then deletes the gcsb1rt record else replaces the gcsb1rt record.
💻 Technical Criteria
Given
A cargo record has no US cargo hold status AND no US cargo hold PCS status AND no US cargo pre-hold PCS status AND no US cargo hold border status AND no US cargo pre-hold border status AND no US cargo hold destination status AND no US cargo pre-hold destination status AND no US cargo hold FDA status but has error conditions
When
The system processes the cargo status update
Then
The system retrieves the current GCSB1RT record AND if record is found then clears held destination index AND clears held border index AND if no error destination index exists AND no error origin index exists AND no error border index exists then deletes the GCSB1RT record else replaces the GCSB1RT record
R-GCCUSIO-cbl-00830
Continue Processing Error Conditions
Process Rules
📊 Business Logic Narrative
When the process 'Continue Processing Error Conditions' is invoked, and assuming that a cargo record exists in the system, when the cargo has cp cargo error status or cp cargo pending status or us cargo error status, the desired outcome is that the system retrieves the current gcsb1rt record and fills error fields with origin station, border station, and destination station information and if gcsb1rt record exists then replaces the record else inserts a new gcsb1rt record.
💻 Technical Criteria
Given
A cargo record exists in the system
When
The cargo has CP cargo error status OR CP cargo pending status OR US cargo error status
Then
The system retrieves the current GCSB1RT record AND fills error fields with origin station, border station, and destination station information AND if GCSB1RT record exists then replaces the record else inserts a new GCSB1RT record
R-GCCUSIO-cbl-00831
Continue Processing Hold Conditions
Process Rules
📊 Business Logic Narrative
When the process 'Continue Processing Hold Conditions' is invoked, and assuming that a cargo record exists in the system, when the cargo has us cargo hold status or us cargo hold pcs status or us cargo pre-hold pcs status or us cargo hold border status or us cargo pre-hold border status or us cargo hold destination status or us cargo pre-hold destination status or us cargo hold fda status, the desired outcome is that the system retrieves the current gcsb1rt record and fills held fields with destination and border information and if gcsb1rt record exists then replaces the record else inserts a new gcsb1rt record.
💻 Technical Criteria
Given
A cargo record exists in the system
When
The cargo has US cargo hold status OR US cargo hold PCS status OR US cargo pre-hold PCS status OR US cargo hold border status OR US cargo pre-hold border status OR US cargo hold destination status OR US cargo pre-hold destination status OR US cargo hold FDA status
Then
The system retrieves the current GCSB1RT record AND fills held fields with destination and border information AND if GCSB1RT record exists then replaces the record else inserts a new GCSB1RT record
R-GCCUSIO-cbl-00456
Check RT11 USCARGO HOLD Status?
Decision Rules
📊 Business Logic Narrative
When the process 'Check RT11 USCARGO HOLD Status?' is invoked, and assuming that a cargo record with rt11 uscargo status field, when the system checks if rt11 uscargo status equals hold, the desired outcome is that the system identifies cargo as having general hold status requiring destination hold index processing.
💻 Technical Criteria
Given
A cargo record with RT11 USCARGO status field
When
The system checks if RT11 USCARGO status equals HOLD
Then
The system identifies cargo as having general hold status requiring destination hold index processing
R-GCCUSIO-cbl-00457
Check RT11 USCARGO HOLDPCS Status?
Decision Rules
📊 Business Logic Narrative
When the process 'Check RT11 USCARGO HOLDPCS Status?' is invoked, and assuming that a cargo record with rt11 uscargo status field and no general hold status, when the system checks if rt11 uscargo status equals holdpcs, the desired outcome is that the system identifies cargo as having hold pcs status requiring destination hold index processing.
💻 Technical Criteria
Given
A cargo record with RT11 USCARGO status field and no general HOLD status
When
The system checks if RT11 USCARGO status equals HOLDPCS
Then
The system identifies cargo as having hold PCS status requiring destination hold index processing
R-GCCUSIO-cbl-00458
Check RT11 USCARGO PR-HPCS Status?
Decision Rules
📊 Business Logic Narrative
When the process 'Check RT11 USCARGO PR-HPCS Status?' is invoked, and assuming that a cargo record with rt11 uscargo status field and no hold or holdpcs status, when the system checks if rt11 uscargo status equals pr-hpcs, the desired outcome is that the system identifies cargo as having pre-release hold pcs status requiring destination hold index processing.
💻 Technical Criteria
Given
A cargo record with RT11 USCARGO status field and no HOLD or HOLDPCS status
When
The system checks if RT11 USCARGO status equals PR-HPCS
Then
The system identifies cargo as having pre-release hold PCS status requiring destination hold index processing
R-GCCUSIO-cbl-00459
Check RT11 USCARGO HOLD-B Status?
Decision Rules
📊 Business Logic Narrative
When the process 'Check RT11 USCARGO HOLD-B Status?' is invoked, and assuming that a cargo record with rt11 uscargo status field and no destination hold statuses, when the system checks if rt11 uscargo status equals hold-b, the desired outcome is that the system identifies cargo as having border hold status requiring border hold index processing.
💻 Technical Criteria
Given
A cargo record with RT11 USCARGO status field and no destination hold statuses
When
The system checks if RT11 USCARGO status equals HOLD-B
Then
The system identifies cargo as having border hold status requiring border hold index processing
R-GCCUSIO-cbl-00460
Check RT11 USCARGO PR-H-BO Status?
Decision Rules
📊 Business Logic Narrative
When the process 'Check RT11 USCARGO PR-H-BO Status?' is invoked, and assuming that a cargo record with rt11 uscargo status field and no destination hold or hold-b statuses, when the system checks if rt11 uscargo status equals pr-h-bo, the desired outcome is that the system identifies cargo as having pre-release hold border status requiring border hold index processing.
💻 Technical Criteria
Given
A cargo record with RT11 USCARGO status field and no destination hold or HOLD-B statuses
When
The system checks if RT11 USCARGO status equals PR-H-BO
Then
The system identifies cargo as having pre-release hold border status requiring border hold index processing
R-GCCUSIO-cbl-00461
Check RT11 USCARGO HOLD-D Status?
Decision Rules
📊 Business Logic Narrative
When the process 'Check RT11 USCARGO HOLD-D Status?' is invoked, and assuming that a cargo record with rt11 uscargo status field and no previous hold statuses, when the system checks if rt11 uscargo status equals hold-d, the desired outcome is that the system identifies cargo as having destination hold status requiring destination hold index processing.
💻 Technical Criteria
Given
A cargo record with RT11 USCARGO status field and no previous hold statuses
When
The system checks if RT11 USCARGO status equals HOLD-D
Then
The system identifies cargo as having destination hold status requiring destination hold index processing
R-GCCUSIO-cbl-00462
Check RT11 USCARGO PR-H-DE Status?
Decision Rules
📊 Business Logic Narrative
When the process 'Check RT11 USCARGO PR-H-DE Status?' is invoked, and assuming that a cargo record with rt11 uscargo status field and no previous hold statuses, when the system checks if rt11 uscargo status equals pr-h-de, the desired outcome is that the system identifies cargo as having pre-release hold destination status requiring destination hold index processing.
💻 Technical Criteria
Given
A cargo record with RT11 USCARGO status field and no previous hold statuses
When
The system checks if RT11 USCARGO status equals PR-H-DE
Then
The system identifies cargo as having pre-release hold destination status requiring destination hold index processing
R-GCCUSIO-cbl-00463
Check RT11 USCARGO HOLDFDA Status?
Decision Rules
📊 Business Logic Narrative
When the process 'Check RT11 USCARGO HOLDFDA Status?' is invoked, and assuming that a cargo record with rt11 uscargo status field and no previous hold statuses, when the system checks if rt11 uscargo status equals holdfda, the desired outcome is that the system identifies cargo as having fda hold status requiring destination hold index processing.
💻 Technical Criteria
Given
A cargo record with RT11 USCARGO status field and no previous hold statuses
When
The system checks if RT11 USCARGO status equals HOLDFDA
Then
The system identifies cargo as having FDA hold status requiring destination hold index processing
R-GCCUSIO-cbl-00466
Retrieve Station Information for Border
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Station Information for Border' is invoked, and assuming that a cargo record requiring border hold index processing, when the system needs to set border hold index, the desired outcome is that the system calls table lookup function to retrieve mc table segment using cargo location id and extracts station number for border hold index.
💻 Technical Criteria
Given
A cargo record requiring border hold index processing
When
The system needs to set border hold index
Then
The system calls table lookup function to retrieve MC table segment using cargo location ID and extracts station number for border hold index
R-GCCUSIO-cbl-00467
Update GCSB1RT Index Record
Process Rules
📊 Business Logic Narrative
When the process 'Update GCSB1RT Index Record' is invoked, and assuming that a cargo record with hold status and populated hold index fields, when the system processes hold status, the desired outcome is that the system checks if gcsb1rt record exists and either updates existing record or inserts new record with hold index information.
💻 Technical Criteria
Given
A cargo record with hold status and populated hold index fields
When
The system processes hold status
Then
The system checks if GCSB1RT record exists and either updates existing record or inserts new record with hold index information
R-GCCUSIO-cbl-00468
Clear Hold Index Fields
Process Rules
📊 Business Logic Narrative
When the process 'Clear Hold Index Fields' is invoked, and assuming that a cargo record with no hold status conditions, when the system processes cargo status update, the desired outcome is that the system clears gcb1-held-dest-index and gcb1-held-border-index fields to spaces.
💻 Technical Criteria
Given
A cargo record with no hold status conditions
When
The system processes cargo status update
Then
The system clears GCB1-HELD-DEST-INDEX and GCB1-HELD-BORDER-INDEX fields to spaces
R-GCCUSIO-cbl-00469
Delete GCSB1RT if No Other Indexes
Process Rules
📊 Business Logic Narrative
When the process 'Delete GCSB1RT if No Other Indexes' is invoked, and assuming that a gcsb1rt record exists for cargo with cleared hold indexes, when the cargo has no error index fields populated (error-dest, error-orig, error-border are all spaces), the desired outcome is that the system deletes the gcsb1rt index record completely.
💻 Technical Criteria
Given
A GCSB1RT record exists for cargo with cleared hold indexes
When
The cargo has no error index fields populated (error-dest, error-orig, error-border are all spaces)
Then
The system deletes the GCSB1RT index record completely
R-GCCUSIO-cbl-00470
Cargo Has Error Status?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Has Error Status?' is invoked, and assuming that a cargo record is being processed for index updates, when the system checks for cp cargo error status or cp cargo pending status or us cargo error status, the desired outcome is that the cargo is classified as having error status if any of these conditions are true.
💻 Technical Criteria
Given
A cargo record is being processed for index updates
When
The system checks for CP cargo error status OR CP cargo pending status OR US cargo error status
Then
The cargo is classified as having error status if any of these conditions are true
R-GCCUSIO-cbl-00474
Get Border Station from MC Table
Action Rules
📊 Business Logic Narrative
When the process 'Get Border Station from MC Table' is invoked, and assuming that cargo has error status and error index record needs border station information, when the system looks up mc table using cargo location id, the desired outcome is that if table lookup is successful, the border station number is retrieved from the table segment.
💻 Technical Criteria
Given
Cargo has error status and error index record needs border station information
When
The system looks up MC table using cargo location ID
Then
If table lookup is successful, the border station number is retrieved from the table segment
R-GCCUSIO-cbl-00477
Update Existing Error Index Record
Action Rules
📊 Business Logic Narrative
When the process 'Update Existing Error Index Record' is invoked, and assuming that cargo has error status and existing error index record is found, when the system needs to update error index entry, the desired outcome is that the existing gcsb1rt record is updated with current error field information.
💻 Technical Criteria
Given
Cargo has error status and existing error index record is found
When
The system needs to update error index entry
Then
The existing GCSB1RT record is updated with current error field information
R-GCCUSIO-cbl-00478
Clear Error Index Fields
Process Rules
📊 Business Logic Narrative
When the process 'Clear Error Index Fields' is invoked, and assuming that cargo no longer has error status but has existing error index record, when the system processes index cleanup for non-error cargo, the desired outcome is that error origin index, error destination index, and error border index fields are set to spaces.
💻 Technical Criteria
Given
Cargo no longer has error status but has existing error index record
When
The system processes index cleanup for non-error cargo
Then
Error origin index, error destination index, and error border index fields are set to spaces
R-GCCUSIO-cbl-00479
Any Other Index Entries Remain?
Decision Rules
📊 Business Logic Narrative
When the process 'Any Other Index Entries Remain?' is invoked, and assuming that error fields have been cleared from index record, when the system checks if held destination index and held border index are both empty, the desired outcome is that if both held indexes are empty, the record should be deleted; otherwise, the record should be kept.
💻 Technical Criteria
Given
Error fields have been cleared from index record
When
The system checks if held destination index and held border index are both empty
Then
If both held indexes are empty, the record should be deleted; otherwise, the record should be kept
R-GCCUSIO-cbl-00598
Clear Error Index Fields
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Clear Error Index Fields', assuming that a cargo record exists in the gcsb1rt index table and the cargo does not have cpcargo-error status and the cargo does not have cpcargo-pending status and the cargo does not have uscargo-error status, when the system processes the cargo status update, the desired outcome is that the system clears the error origin index field and clears the error destination index field and clears the error border index field.
💻 Technical Criteria
EXCLUDING
A cargo record exists in the GCSB1RT index table AND the cargo does not have CPCARGO-ERROR status AND the cargo does not have CPCARGO-PENDING status AND the cargo does not have USCARGO-ERROR status
When
The system processes the cargo status update
Then
The system clears the error origin index field AND clears the error destination index field AND clears the error border index field
R-GCCUSIO-cbl-00599
Delete Index Record
Decision Rules
📊 Business Logic Narrative
When the process 'Delete Index Record' is invoked, and assuming that error index fields have been cleared and the held destination index field is empty and the held border index field is empty, when the system evaluates remaining index content, the desired outcome is that the system deletes the gcsb1rt index record completely.
💻 Technical Criteria
Given
Error index fields have been cleared AND the held destination index field is empty AND the held border index field is empty
When
The system evaluates remaining index content
Then
The system deletes the GCSB1RT index record completely
R-GCCUSIO-cbl-00600
Update Index Record
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Update Index Record', assuming that error index fields have been cleared and either the held destination index field is not empty or the held border index field is not empty, when the system evaluates remaining index content, the desired outcome is that the system updates the existing gcsb1rt index record with the current field values.
💻 Technical Criteria
EXCLUDING
Error index fields have been cleared AND either the held destination index field is not empty OR the held border index field is not empty
When
The system evaluates remaining index content
Then
The system updates the existing GCSB1RT index record with the current field values
R-GCCUSIO-cbl-00601
Clear Hold Index Fields
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Clear Hold Index Fields', assuming that a cargo record exists in the gcsb1rt index table and the cargo does not have uscargo-hold status and the cargo does not have uscargo-holdpcs status and the cargo does not have uscargo-pr-hpcs status and the cargo does not have uscargo-hold-b status and the cargo does not have uscargo-pr-h-bo status and the cargo does not have uscargo-hold-d status and the cargo does not have uscargo-pr-h-de status and the cargo does not have uscargo-holdfda status, when the system processes the cargo status update, the desired outcome is that the system clears the held destination index field and clears the held border index field.
💻 Technical Criteria
EXCLUDING
A cargo record exists in the GCSB1RT index table AND the cargo does not have USCARGO-HOLD status AND the cargo does not have USCARGO-HOLDPCS status AND the cargo does not have USCARGO-PR-HPCS status AND the cargo does not have USCARGO-HOLD-B status AND the cargo does not have USCARGO-PR-H-BO status AND the cargo does not have USCARGO-HOLD-D status AND the cargo does not have USCARGO-PR-H-DE status AND the cargo does not have USCARGO-HOLDFDA status
When
The system processes the cargo status update
Then
The system clears the held destination index field AND clears the held border index field
R-GCCUSIO-cbl-00602
Delete Index Record
Decision Rules
📊 Business Logic Narrative
When the process 'Delete Index Record' is invoked, and assuming that hold index fields have been cleared and the error destination index field is empty and the error origin index field is empty and the error border index field is empty, when the system evaluates remaining index content, the desired outcome is that the system deletes the gcsb1rt index record completely.
💻 Technical Criteria
Given
Hold index fields have been cleared AND the error destination index field is empty AND the error origin index field is empty AND the error border index field is empty
When
The system evaluates remaining index content
Then
The system deletes the GCSB1RT index record completely
R-GCCUSIO-cbl-00603
Update Index Record
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Update Index Record', assuming that hold index fields have been cleared and either the error destination index field is not empty or the error origin index field is not empty or the error border index field is not empty, when the system evaluates remaining index content, the desired outcome is that the system updates the existing gcsb1rt index record with the current field values.
💻 Technical Criteria
EXCLUDING
Hold index fields have been cleared AND either the error destination index field is not empty OR the error origin index field is not empty OR the error border index field is not empty
When
The system evaluates remaining index content
Then
The system updates the existing GCSB1RT index record with the current field values
R-GCCUSIO-cbl-00605
Create New Index Record
Action Rules
📊 Business Logic Narrative
When the process 'Create New Index Record' is invoked, and assuming that cargo has error or pending status and error index fields have been populated and no existing gcsb1rt index record is found for the cargo, when the system attempts to update the index, the desired outcome is that the system creates a new gcsb1rt index record with the populated error field values.
💻 Technical Criteria
Given
Cargo has error or pending status AND error index fields have been populated AND no existing GCSB1RT index record is found for the cargo
When
The system attempts to update the index
Then
The system creates a new GCSB1RT index record with the populated error field values
R-GCCUSIO-cbl-00606
Update Existing Index Record
Action Rules
📊 Business Logic Narrative
When the process 'Update Existing Index Record' is invoked, and assuming that cargo has error or pending status and error index fields have been populated and an existing gcsb1rt index record is found for the cargo, when the system attempts to update the index, the desired outcome is that the system updates the existing gcsb1rt index record with the current error field values.
💻 Technical Criteria
Given
Cargo has error or pending status AND error index fields have been populated AND an existing GCSB1RT index record is found for the cargo
When
The system attempts to update the index
Then
The system updates the existing GCSB1RT index record with the current error field values
R-GCCUSIO-cbl-00609
Create New Index Record
Action Rules
📊 Business Logic Narrative
When the process 'Create New Index Record' is invoked, and assuming that cargo has hold status and hold index fields have been populated and no existing gcsb1rt index record is found for the cargo, when the system attempts to update the index, the desired outcome is that the system creates a new gcsb1rt index record with the populated hold field values.
💻 Technical Criteria
Given
Cargo has hold status AND hold index fields have been populated AND no existing GCSB1RT index record is found for the cargo
When
The system attempts to update the index
Then
The system creates a new GCSB1RT index record with the populated hold field values
R-GCCUSIO-cbl-00610
Update Existing Index Record
Action Rules
📊 Business Logic Narrative
When the process 'Update Existing Index Record' is invoked, and assuming that cargo has hold status and hold index fields have been populated and an existing gcsb1rt index record is found for the cargo, when the system attempts to update the index, the desired outcome is that the system updates the existing gcsb1rt index record with the current hold field values.
💻 Technical Criteria
Given
Cargo has hold status AND hold index fields have been populated AND an existing GCSB1RT index record is found for the cargo
When
The system attempts to update the index
Then
The system updates the existing GCSB1RT index record with the current hold field values
R-GCCUSIO-cbl-00730
Call Database Insert Operation
Action Rules
📊 Business Logic Narrative
When the process 'Call Database Insert Operation' is invoked, and assuming that the cargo key is set, database status is cleared, and function code is set to isrt, when the system executes the database insert operation, the desired outcome is that the cims interface must be called with the common control block, function code, pcb, gcsb1rt record, and unqualified ssa to insert the new index record.
💻 Technical Criteria
Given
The cargo key is set, database status is cleared, and function code is set to ISRT
When
The system executes the database insert operation
Then
The CIMS interface must be called with the common control block, function code, PCB, GCSB1RT record, and unqualified SSA to insert the new index record
R-GCCUSIO-cbl-00482
Check Cargo Hold Status
Decision Rules
📊 Business Logic Narrative
When the process 'Check Cargo Hold Status' is invoked, and assuming that a cargo record with various status flags, when the system checks for any active hold conditions including uscargo-hold, uscargo-holdpcs, uscargo-pr-hpcs, uscargo-hold-b, uscargo-pr-h-bo, uscargo-hold-d, uscargo-pr-h-de, or uscargo-holdfda, the desired outcome is that the system proceeds with hold index processing if any hold condition is active, otherwise skips hold processing.
💻 Technical Criteria
Given
A cargo record with various status flags
When
The system checks for any active hold conditions including USCARGO-HOLD, USCARGO-HOLDPCS, USCARGO-PR-HPCS, USCARGO-HOLD-B, USCARGO-PR-H-BO, USCARGO-HOLD-D, USCARGO-PR-H-DE, or USCARGO-HOLDFDA
Then
The system proceeds with hold index processing if any hold condition is active, otherwise skips hold processing
R-GCCUSIO-cbl-00485
Lookup Border Station from MC Table
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Border Station from MC Table' is invoked, and assuming that a cargo record requiring border hold index processing, when the system needs to determine border station number for hold indexing, the desired outcome is that the system calls table lookup service with mc table id and cargo location id to retrieve station number.
💻 Technical Criteria
Given
A cargo record requiring border hold index processing
When
The system needs to determine border station number for hold indexing
Then
The system calls table lookup service with MC table ID and cargo location ID to retrieve station number
R-GCCUSIO-cbl-00487
Update Existing GCSB1RT Index Record
Process Rules
📊 Business Logic Narrative
When the process 'Update Existing GCSB1RT Index Record' is invoked, and assuming that a cargo record with hold conditions and an existing gcsb1rt index record, when the system successfully retrieves an existing gcsb1rt record, the desired outcome is that the system updates the existing record with current hold index field values.
💻 Technical Criteria
Given
A cargo record with hold conditions and an existing GCSB1RT index record
When
The system successfully retrieves an existing GCSB1RT record
Then
The system updates the existing record with current hold index field values
R-GCCUSIO-cbl-00488
Clear Hold Index Fields
Process Rules
📊 Business Logic Narrative
When the process 'Clear Hold Index Fields' is invoked, and assuming that a cargo record that previously had hold conditions, when the cargo no longer has any of the hold status conditions (uscargo-hold, uscargo-holdpcs, uscargo-pr-hpcs, uscargo-hold-b, uscargo-pr-h-bo, uscargo-hold-d, uscargo-pr-h-de, uscargo-holdfda), the desired outcome is that the system clears the held destination index and held border index fields.
💻 Technical Criteria
Given
A cargo record that previously had hold conditions
When
The cargo no longer has any of the hold status conditions (USCARGO-HOLD, USCARGO-HOLDPCS, USCARGO-PR-HPCS, USCARGO-HOLD-B, USCARGO-PR-H-BO, USCARGO-HOLD-D, USCARGO-PR-H-DE, USCARGO-HOLDFDA)
Then
The system clears the held destination index and held border index fields
R-GCCUSIO-cbl-00489
Delete GCSB1RT Index Record
Process Rules
📊 Business Logic Narrative
When the process 'Delete GCSB1RT Index Record' is invoked, and assuming that a gcsb1rt index record with cleared hold fields, when the error destination index, error origin index, and error border index are all empty, the desired outcome is that the system deletes the entire gcsb1rt index record.
💻 Technical Criteria
Given
A GCSB1RT index record with cleared hold fields
When
The error destination index, error origin index, and error border index are all empty
Then
The system deletes the entire GCSB1RT index record
R-GCCUSIO-cbl-00611
Clear Hold Index Fields
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Clear Hold Index Fields', assuming that a cargo record exists in the system, when the cargo does not have any hold status conditions (uscargo-hold, uscargo-holdpcs, uscargo-pr-hpcs, uscargo-hold-b, uscargo-pr-h-bo, uscargo-hold-d, uscargo-pr-h-de, uscargo-holdfda), the desired outcome is that the system clears the held destination index and held border index fields by setting them to spaces.
💻 Technical Criteria
EXCLUDING
A cargo record exists in the system
When
The cargo does not have any hold status conditions (USCARGO-HOLD, USCARGO-HOLDPCS, USCARGO-PR-HPCS, USCARGO-HOLD-B, USCARGO-PR-H-BO, USCARGO-HOLD-D, USCARGO-PR-H-DE, USCARGO-HOLDFDA)
Then
The system clears the held destination index and held border index fields by setting them to spaces
R-GCCUSIO-cbl-00612
Delete Hold Index Record
Decision Rules
📊 Business Logic Narrative
When the process 'Delete Hold Index Record' is invoked, and assuming that a cargo status record exists with hold index fields cleared and no hold conditions present, when there are no error destination index fields, no error origin index fields, and no error border index fields present, the desired outcome is that the system deletes the entire cargo status record from gcsb1rt.
💻 Technical Criteria
Given
A cargo status record exists with hold index fields cleared and no hold conditions present
When
There are no error destination index fields, no error origin index fields, and no error border index fields present
Then
The system deletes the entire cargo status record from GCSB1RT
R-GCCUSIO-cbl-00613
Update Hold Index Record
Decision Rules
📊 Business Logic Narrative
When the process 'Update Hold Index Record' is invoked, and assuming that a cargo status record exists with hold index fields cleared and no hold conditions present, when there are error destination index fields, error origin index fields, or error border index fields present, the desired outcome is that the system updates the existing cargo status record in gcsb1rt with the cleared hold fields while preserving error information.
💻 Technical Criteria
Given
A cargo status record exists with hold index fields cleared and no hold conditions present
When
There are error destination index fields, error origin index fields, or error border index fields present
Then
The system updates the existing cargo status record in GCSB1RT with the cleared hold fields while preserving error information
R-GCCUSIO-cbl-00616
Update Existing Hold Index Record
Action Rules
📊 Business Logic Narrative
When the process 'Update Existing Hold Index Record' is invoked, and assuming that a cargo status record exists in gcsb1rt and cargo has hold conditions, when hold index fields have been populated with destination and/or border hold information, the desired outcome is that the system updates the existing cargo status record in gcsb1rt with the new hold index field values.
💻 Technical Criteria
Given
A cargo status record exists in GCSB1RT and cargo has hold conditions
When
Hold index fields have been populated with destination and/or border hold information
Then
The system updates the existing cargo status record in GCSB1RT with the new hold index field values
R-GCCUSIO-cbl-00617
Create New Hold Index Record
Action Rules
📊 Business Logic Narrative
When the process 'Create New Hold Index Record' is invoked, and assuming that no cargo status record exists in gcsb1rt and cargo has hold conditions, when hold index fields have been populated with destination and/or border hold information, the desired outcome is that the system creates a new cargo status record in gcsb1rt with the hold index field values and cargo key information.
💻 Technical Criteria
Given
No cargo status record exists in GCSB1RT and cargo has hold conditions
When
Hold index fields have been populated with destination and/or border hold information
Then
The system creates a new cargo status record in GCSB1RT with the hold index field values and cargo key information
R-GCCUSIO-cbl-00739
Call Database with Qualified Search
Action Rules
📊 Business Logic Narrative
When the process 'Call Database with Qualified Search' is invoked, and assuming that the search parameters are set with cargo key, function code, and accept status, when the system executes the database search, the desired outcome is that a qualified search must be performed against the gcsb1rt database using the prepared parameters.
💻 Technical Criteria
Given
The search parameters are set with cargo key, function code, and accept status
When
The system executes the database search
Then
A qualified search must be performed against the GCSB1RT database using the prepared parameters
R-GCCUSIO-cbl-00743
Check Hold Type
Decision Rules
📊 Business Logic Narrative
When the process 'Check Hold Type' is invoked, and assuming that a cargo record has hold status conditions detected, when the system evaluates the specific hold status types (hold, holdpcs, pr-hpcs, hold-b, pr-h-bo, hold-d, pr-h-de, holdfda), the desired outcome is that the system identifies whether destination hold fields, border hold fields, or both need to be populated.
💻 Technical Criteria
Given
A cargo record has hold status conditions detected
When
The system evaluates the specific hold status types (HOLD, HOLDPCS, PR-HPCS, HOLD-B, PR-H-BO, HOLD-D, PR-H-DE, HOLDFDA)
Then
The system identifies whether destination hold fields, border hold fields, or both need to be populated
R-GCCUSIO-cbl-00746
Use Border Station Number from MC Table
Action Rules
📊 Business Logic Narrative
When the process 'Use Border Station Number from MC Table' is invoked, and assuming that a cargo record requires border hold index fields and has a location id, when the system needs to determine the border station number, the desired outcome is that the system calls table lookup service to retrieve mc table segment using the cargo location id and extracts the station number if lookup is successful.
💻 Technical Criteria
Given
A cargo record requires border hold index fields and has a location ID
When
The system needs to determine the border station number
Then
The system calls table lookup service to retrieve MC table segment using the cargo location ID and extracts the station number if lookup is successful
R-GCCUSIO-cbl-00747
Create New GCSB1RT Hold Index Record
Process Rules
📊 Business Logic Narrative
When the process 'Create New GCSB1RT Hold Index Record' is invoked, and assuming that hold index fields have been populated for a cargo record, when the system needs to persist the hold index information, the desired outcome is that the system checks if a status record exists, and if found updates it with hold fields, otherwise inserts a new status record with the hold index information.
💻 Technical Criteria
Given
Hold index fields have been populated for a cargo record
When
The system needs to persist the hold index information
Then
The system checks if a status record exists, and if found updates it with hold fields, otherwise inserts a new status record with the hold index information
R-GCCUSIO-cbl-00834
Lookup Border Station from MC Table
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Border Station from MC Table' is invoked, and assuming that a cargo record with location id exists, when border hold processing is required for the cargo, the desired outcome is that call table lookup service with function code 'gu', table id 'mc', and cargo location id as sequence id to retrieve station number information.
💻 Technical Criteria
Given
A cargo record with location ID exists
When
Border hold processing is required for the cargo
Then
Call table lookup service with function code 'GU', table ID 'MC', and cargo location ID as sequence ID to retrieve station number information
Unmapped Subprogram
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
Module Tracker: GCX126R
1051 Validations & RulesModule Objective: No description provided from architecture analysis.
⚙️ General Logic & Formats
31 logic blocks
R-GCX126-cbl-00006
5:Process M10 Notice Segment
Process Rules
📊 Business Logic Narrative
When the process '5:Process M10 Notice Segment' is invoked, and assuming that message line contains m10 segment identifier, when m10 segment is processed, the desired outcome is that set m10 segment found flag to true, initialize m10 segment structure, and move table entry to m10 segment structure.
💻 Technical Criteria
Given
Message line contains M10 segment identifier
When
M10 segment is processed
Then
Set M10 segment found flag to true, initialize M10 segment structure, and move table entry to M10 segment structure
R-GCX126-cbl-00008
7:Process V9 Notice Reason Segment
Process Rules
📊 Business Logic Narrative
When the process '7:Process V9 Notice Reason Segment' is invoked, and assuming that message line contains v9 segment identifier, when v9 segment is processed, the desired outcome is that set v9 segment found flag to true, initialize v9 segment structure, and move table entry to v9 segment structure.
💻 Technical Criteria
Given
Message line contains V9 segment identifier
When
V9 segment is processed
Then
Set V9 segment found flag to true, initialize V9 segment structure, and move table entry to V9 segment structure
R-GCX126-cbl-00045
Format Machine Date - YYYYMMDD
Computation Rules
📊 Business Logic Narrative
When the process 'Format Machine Date - YYYYMMDD' is invoked, and assuming that the program needs the current system date for processing, when machine date is being formatted, the desired outcome is that cc-machine-year from cccom is moved to ws-fmt-machine-year, cc-machine-month from cccom is moved to ws-fmt-machine-month, and cc-machine-day from cccom is moved to ws-fmt-machine-day.
💻 Technical Criteria
Given
The program needs the current system date for processing
When
Machine date is being formatted
Then
CC-MACHINE-YEAR from CCCOM is moved to WS-FMT-MACHINE-YEAR, CC-MACHINE-MONTH from CCCOM is moved to WS-FMT-MACHINE-MONTH, and CC-MACHINE-DAY from CCCOM is moved to WS-FMT-MACHINE-DAY
R-GCX126-cbl-00046
Format Machine Time - HHMMSS
Computation Rules
📊 Business Logic Narrative
When the process 'Format Machine Time - HHMMSS' is invoked, and assuming that the program needs the current system time for processing, when machine time is being formatted, the desired outcome is that cc-machine-hour from cccom is moved to ws-fmt-machine-hour, cc-machine-min from cccom is moved to ws-fmt-machine-min, cc-machine-sec from cccom is moved to ws-fmt-machine-sec, and 01 is moved to ws-fmt-machine-seq.
💻 Technical Criteria
Given
The program needs the current system time for processing
When
Machine time is being formatted
Then
CC-MACHINE-HOUR from CCCOM is moved to WS-FMT-MACHINE-HOUR, CC-MACHINE-MIN from CCCOM is moved to WS-FMT-MACHINE-MIN, CC-MACHINE-SEC from CCCOM is moved to WS-FMT-MACHINE-SEC, and 01 is moved to WS-FMT-MACHINE-SEQ
R-GCX126-cbl-00054
Open MQ Queue for Input
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Open MQ Queue for Input', assuming that mq queue open has been attempted, when w03-compcode is not equal to mqcc-ok, the desired outcome is that w03-reason is moved to w03-reason-code, output-message-text is initialized, gccmqerr is called with w03-reason-code and output-message-text, w03-reason-code and output-message-text are concatenated into mq-error-text, '355' is moved to mq-trans-set, 'open failed' is moved to pgm-error-text, error-message2 is moved to cc-error-message in cccom, and the program aborts by performing z900-abend.
💻 Technical Criteria
EXCLUDING
MQ queue open has been attempted
When
W03-COMPCODE is not equal to MQCC-OK
Then
W03-REASON is moved to W03-REASON-CODE, OUTPUT-MESSAGE-TEXT is initialized, GCCMQERR is called with W03-REASON-CODE and OUTPUT-MESSAGE-TEXT, W03-REASON-CODE and OUTPUT-MESSAGE-TEXT are concatenated into MQ-ERROR-TEXT, '355' is moved to MQ-TRANS-SET, 'OPEN FAILED' is moved to PGM-ERROR-TEXT, ERROR-MESSAGE2 is moved to CC-ERROR-MESSAGE in CCCOM, and the program aborts by performing Z900-ABEND
R-GCX126-cbl-00507
Move Merlin User Code from Admin Config to EMI-TO-USERCODE
Process Rules
📊 Business Logic Narrative
When the process 'Move Merlin User Code from Admin Config to EMI-TO-USERCODE' is invoked, and assuming that the admin segment has been successfully found (88-ad-segment-found is true) and ws-table-segment contains the retrieved data, when the merlin user code needs to be extracted, the desired outcome is that ws-table-segment is moved to gcstbrt-ad-segment and gcstbrt-ad-dc-p-merlin-1 is moved to ws-emi-to-usercode.
💻 Technical Criteria
Given
The admin segment has been successfully found (88-AD-SEGMENT-FOUND is TRUE) and WS-TABLE-SEGMENT contains the retrieved data
When
The Merlin user code needs to be extracted
Then
WS-TABLE-SEGMENT is moved to GCSTBRT-AD-SEGMENT and GCSTBRT-AD-DC-P-MERLIN-1 is moved to WS-EMI-TO-USERCODE
R-GCX126-cbl-00739
More Followers? Max 100
Process Rules
📊 Business Logic Narrative
When the process 'More Followers? Max 100' is invoked, and assuming that follower manifests are being retrieved for a master manifest, when the system checks for the next follower manifest, the desired outcome is that if more follower manifests exist and the count is less than or equal to 100, continue processing; otherwise, complete the follower processing.
💻 Technical Criteria
Given
Follower manifests are being retrieved for a master manifest
When
The system checks for the next follower manifest
Then
If more follower manifests exist and the count is less than or equal to 100, continue processing; otherwise, complete the follower processing
R-GCX126-cbl-00088
Initialize M10 Segment Structure
Process Rules
📊 Business Logic Narrative
When the process 'Initialize M10 Segment Structure' is invoked, and assuming that the m10 segment found flag has been set, when preparing to load m10 segment data, the desired outcome is that the m10 segment data structure is initialized to spaces/zeros.
💻 Technical Criteria
Given
The M10 segment found flag has been set
When
Preparing to load M10 segment data
Then
The M10 segment data structure is initialized to spaces/zeros
R-GCX126-cbl-00119
Move MQ Table Entry to N7 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Move MQ Table Entry to N7 Segment' is invoked, and assuming that the n7 segment structure has been initialized, when the current line in the message queue table contains an n7 segment, the desired outcome is that the system moves the message queue table entry data to the n7 segment structure for further processing.
💻 Technical Criteria
Given
The N7 segment structure has been initialized
When
The current line in the message queue table contains an N7 segment
Then
The system moves the message queue table entry data to the N7 segment structure for further processing
R-GCX126-cbl-00560
Follower Count > 0?
Decision Rules
📊 Business Logic Narrative
When the process 'Follower Count > 0?' is invoked, and assuming that the final follower count has been calculated by subtracting 1 from index i, when the system checks if any followers were found, the desired outcome is that if the adjusted index i is less than or equal to 0, no follower manifests were found and the process exits; if i is greater than 0, follower manifests exist and are available for further processing.
💻 Technical Criteria
Given
The final follower count has been calculated by subtracting 1 from index I
When
The system checks if any followers were found
Then
If the adjusted index I is less than or equal to 0, no follower manifests were found and the process exits; if I is greater than 0, follower manifests exist and are available for further processing
R-GCX126-cbl-00608
Any Followers Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Any Followers Found?' is invoked, and assuming that the follower retrieval loop has completed, when the system validates the number of followers collected, the desired outcome is that subtract 1 from the counter to get the actual count of followers; if the count is less than or equal to 0, no followers were found and processing exits; if the count is greater than 0, proceed to process each follower in the array.
💻 Technical Criteria
Given
The follower retrieval loop has completed
When
The system validates the number of followers collected
Then
Subtract 1 from the counter to get the actual count of followers; If the count is less than or equal to 0, no followers were found and processing exits; If the count is greater than 0, proceed to process each follower in the array
R-GCX126-cbl-01005
Normalize Date - Replace Spaces with Zeros
Validation Rules
📊 Business Logic Narrative
When the process 'Normalize Date - Replace Spaces with Zeros' is invoked, and assuming that a valid log message exists in gcx105-message, when the gcx105-date field contains space characters, the desired outcome is that the system replaces all spaces in gcx105-date with zeroes to ensure proper date formatting.
💻 Technical Criteria
Given
A valid log message exists in GCX105-MESSAGE
When
The GCX105-DATE field contains space characters
Then
The system replaces all spaces in GCX105-DATE with zeroes to ensure proper date formatting
R-GCX126-cbl-01006
Normalize Time - Replace Spaces with '1'
Validation Rules
📊 Business Logic Narrative
When the process 'Normalize Time - Replace Spaces with '1'' is invoked, and assuming that a valid log message exists in gcx105-message and the gcx105-date field has been normalized, when the gcx105-time field contains space characters, the desired outcome is that the system replaces all spaces in gcx105-time with the character '1' to ensure proper time formatting.
💻 Technical Criteria
Given
A valid log message exists in GCX105-MESSAGE AND the GCX105-DATE field has been normalized
When
The GCX105-TIME field contains space characters
Then
The system replaces all spaces in GCX105-TIME with the character '1' to ensure proper time formatting
R-GCX126-cbl-00625
Index <= 0?
Validation Rules
📊 Business Logic Narrative
When the process 'Index <= 0?' is invoked, and assuming that the follower manifest retrieval process has completed and the index has been decremented by 1, when the system checks if any follower manifests were found, the desired outcome is that if the adjusted index is less than or equal to 0, exit the process as no follower manifests exist for this master.
💻 Technical Criteria
Given
The follower manifest retrieval process has completed and the index has been decremented by 1
When
The system checks if any follower manifests were found
Then
If the adjusted index is less than or equal to 0, exit the process as no follower manifests exist for this master
R-GCX126-cbl-00959
Replace Spaces with Zeroes in Date
Validation Rules
📊 Business Logic Narrative
When the process 'Replace Spaces with Zeroes in Date' is invoked, and assuming that the date field in gcx105 structure may contain spaces, when the date field is being prepared for logging, the desired outcome is that all space characters in the gcx105 date field are replaced with zeroes to ensure numeric consistency.
💻 Technical Criteria
Given
The date field in GCX105 structure may contain spaces
When
The date field is being prepared for logging
Then
All space characters in the GCX105 date field are replaced with zeroes to ensure numeric consistency
R-GCX126-cbl-00960
Replace Spaces with '1' in Time
Validation Rules
📊 Business Logic Narrative
When the process 'Replace Spaces with '1' in Time' is invoked, and assuming that the time field in gcx105 structure may contain spaces, when the time field is being prepared for logging, the desired outcome is that all space characters in the gcx105 time field are replaced with '1' to ensure data consistency.
💻 Technical Criteria
Given
The time field in GCX105 structure may contain spaces
When
The time field is being prepared for logging
Then
All space characters in the GCX105 time field are replaced with '1' to ensure data consistency
R-GCX126-cbl-01012
Replace Spaces with Zeroes in Date
Validation Rules
📊 Business Logic Narrative
When the process 'Replace Spaces with Zeroes in Date' is invoked, and assuming that a log message with a date field (gcx105-date) is ready to be written, when the date field contains any space characters, the desired outcome is that the system replaces all spaces in the date field with zeroes to ensure numeric consistency.
💻 Technical Criteria
Given
A log message with a date field (GCX105-DATE) is ready to be written
When
The date field contains any space characters
Then
The system replaces all spaces in the date field with zeroes to ensure numeric consistency
R-GCX126-cbl-01013
Replace Spaces with '1' in Time
Validation Rules
📊 Business Logic Narrative
When the process 'Replace Spaces with '1' in Time' is invoked, and assuming that a log message with a time field (gcx105-time) is ready to be written, when the time field contains any space characters, the desired outcome is that the system replaces all spaces in the time field with the character '1' to ensure data consistency.
💻 Technical Criteria
Given
A log message with a time field (GCX105-TIME) is ready to be written
When
The time field contains any space characters
Then
The system replaces all spaces in the time field with the character '1' to ensure data consistency
R-GCX126-cbl-01014
Move Log Input to GCT1051E Message
Process Rules
📊 Business Logic Narrative
When the process 'Move Log Input to GCT1051E Message' is invoked, and assuming that a validated log input structure (gcx105-input) with normalized date and time fields, when the log message is ready to be written to the audit trail, the desired outcome is that the system moves the entire log input structure to the gct1051e message format (gct1051e-msg).
💻 Technical Criteria
Given
A validated log input structure (GCX105-INPUT) with normalized date and time fields
When
The log message is ready to be written to the audit trail
Then
The system moves the entire log input structure to the GCT1051E message format (GCT1051E-MSG)
R-GCX126-cbl-00352
Initialize Follower Array, Set Index I = 1
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Follower Array, Set Index I = 1' is invoked, and assuming that a master manifest needs to be processed for follower manifests, when the follower manifest processing begins, the desired outcome is that the follower manifest array is cleared to spaces and the processing index i is set to 1.
💻 Technical Criteria
Given
A master manifest needs to be processed for follower manifests
When
The follower manifest processing begins
Then
The follower manifest array is cleared to spaces and the processing index I is set to 1
R-GCX126-cbl-00362
Calculate Total Follower Count = I - 1
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Total Follower Count = I - 1' is invoked, and assuming that the follower retrieval loop has completed, when determining how many followers were found, the desired outcome is that the total follower count is calculated as i minus 1.
💻 Technical Criteria
Given
The follower retrieval loop has completed
When
Determining how many followers were found
Then
The total follower count is calculated as I minus 1
R-GCX126-cbl-00363
Follower Count > 0?
Decision Rules
📊 Business Logic Narrative
When the process 'Follower Count > 0?' is invoked, and assuming that the total follower count has been calculated, when deciding whether to process followers, the desired outcome is that if the follower count is less than or equal to 0, exit the process; otherwise, proceed to process each follower.
💻 Technical Criteria
Given
The total follower count has been calculated
When
Deciding whether to process followers
Then
If the follower count is less than or equal to 0, exit the process; otherwise, proceed to process each follower
R-GCX126-cbl-00364
Initialize Loop Index J = 1
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Loop Index J = 1' is invoked, and assuming that at least one follower manifest exists in the array, when starting to process individual followers, the desired outcome is that the loop index j is initialized to 1.
💻 Technical Criteria
Given
At least one follower manifest exists in the array
When
Starting to process individual followers
Then
The loop index J is initialized to 1
R-GCX126-cbl-00376
Increment Index J
Process Rules
📊 Business Logic Narrative
When the process 'Increment Index J' is invoked, and assuming that the current follower has been processed, when moving to the next follower, the desired outcome is that the loop index j is incremented by 1.
💻 Technical Criteria
Given
The current follower has been processed
When
Moving to the next follower
Then
The loop index J is incremented by 1
R-GCX126-cbl-00377
J <= Total Follower Count?
Decision Rules
📊 Business Logic Narrative
When the process 'J <= Total Follower Count?' is invoked, and assuming that the loop index j has been incremented, when checking if processing should continue, the desired outcome is that if j is less than or equal to the total follower count, continue processing the next follower; otherwise, exit the follower processing loop.
💻 Technical Criteria
Given
The loop index J has been incremented
When
Checking if processing should continue
Then
If J is less than or equal to the total follower count, continue processing the next follower; otherwise, exit the follower processing loop
R-GCX126-cbl-00663
Counter I <= 0?
Decision Rules
📊 Business Logic Narrative
When the process 'Counter I <= 0?' is invoked, and assuming that the follower manifest retrieval process has completed and the counter has been adjusted, when the final count (i) is evaluated, the desired outcome is that if i is less than or equal to 0, no follower manifests were found and processing exits; if i is greater than 0, the follower manifest array contains valid entries for processing.
💻 Technical Criteria
Given
The follower manifest retrieval process has completed and the counter has been adjusted
When
The final count (I) is evaluated
Then
If I is less than or equal to 0, no follower manifests were found and processing exits; if I is greater than 0, the follower manifest array contains valid entries for processing
R-GCX126-cbl-00679
Increment Array Index J
Process Rules
📊 Business Logic Narrative
When the process 'Increment Array Index J' is invoked, and assuming that the current follower manifest has been processed (whether successfully or skipped), when the system prepares to process the next follower manifest, the desired outcome is that the array index j is incremented by 1.
💻 Technical Criteria
Given
The current follower manifest has been processed (whether successfully or skipped)
When
The system prepares to process the next follower manifest
Then
The array index J is incremented by 1
R-GCX126-cbl-00911
Set Log Time from Machine Time
Computation Rules
📊 Business Logic Narrative
When the process 'Set Log Time from Machine Time' is invoked, and assuming that the log date has been built, when the system sets the log time field, the desired outcome is that the log time is set to the machine time (hhmmss) from the common control area.
💻 Technical Criteria
Given
The log date has been built
When
The system sets the log time field
Then
The log time is set to the machine time (HHMMSS) from the common control area
R-GCX126-cbl-00415
Add Line 2: Blank
Process Rules
📊 Business Logic Narrative
When the process 'Add Line 2: Blank' is invoked, and assuming that the primary hold message has been added to the email body, when the email body content is being constructed, the desired outcome is that the system adds a blank line as the second line in the email body.
💻 Technical Criteria
Given
The primary hold message has been added to the email body
When
The email body content is being constructed
Then
The system adds a blank line as the second line in the email body
R-GCX126-cbl-00436
Resend Failed Email to OM01247
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Resend Failed Email to OM01247', assuming that an email send attempt has failed because to or copy usercode was not found, when the system determines which recipient was invalid based on message type, the desired outcome is that if message type is unrlse, store the second to usercode as the bad merlin id, otherwise store the first to usercode as the bad merlin id.
💻 Technical Criteria
EXCLUDING
An email send attempt has failed because TO or COPY usercode was not found
When
The system determines which recipient was invalid based on message type
Then
If message type is UNRLSE, store the second TO usercode as the bad Merlin ID, otherwise store the first TO usercode as the bad Merlin ID
R-GCX126-cbl-00986
Set TO Usercode to OM01247
Definitional Rules
📊 Business Logic Narrative
When the process 'Set TO Usercode to OM01247' is invoked, and assuming that the to usercode field has been cleared, when setting up the resend parameters, the desired outcome is that the system moves 'om01247' to emi-to-usercodes(01) as the default recipient.
💻 Technical Criteria
Given
The TO usercode field has been cleared
When
Setting up the resend parameters
Then
The system moves 'OM01247' to EMI-TO-USERCODES(01) as the default recipient
🏷️ CCN & Waybill Identification
398 logic blocks
R-GCX126-cbl-00011
10:Process Conveyance 350 Train Arrival and Train Found?
Decision Rules
📊 Business Logic Narrative
When the process '10:Process Conveyance 350 Train Arrival and Train Found?' is invoked, and assuming that x4 segment is being processed and entry type code is '992' and conveyance 350 flag is true, when x4 segment processing is performed, the desired outcome is that if x4 release document id positions 1 through 25 equal previous crn then continue, else move x4 release document id positions 1 through 25 to b4 key value and previous crn, perform train lookup by crn, if train not found (status code not spaces) then prepare unknown train error message with crn, set line count to 4, set message type to unknown, and perform email send preparation, else if train found then move log information, format date and time from machine values, set action code to 'zzz', move crn to train or us ccn field, set cargo type to ca train, set message to '350 ack - arrival ack at border', and spawn log entry.
💻 Technical Criteria
Given
X4 segment is being processed and entry type code is '992' and conveyance 350 flag is true
When
X4 segment processing is performed
Then
If X4 release document ID positions 1 through 25 equal previous CRN then continue, else move X4 release document ID positions 1 through 25 to B4 key value and previous CRN, perform train lookup by CRN, if train not found (status code not spaces) then prepare unknown train error message with CRN, set line count to 4, set message type to unknown, and perform email send preparation, else if train found then move log information, format date and time from machine values, set action code to 'ZZZ', move CRN to train or US CCN field, set cargo type to CA train, set message to '350 ACK - ARRIVAL ACK AT BORDER', and spawn log entry
R-GCX126-cbl-00012
11:Update Cargo Border Arrival Status
Process Rules
📊 Business Logic Narrative
When the process '11:Update Cargo Border Arrival Status' is invoked, and assuming that train has been validated and x4 cbsa release reference id positions 1 through 25 are moved to cargo key value, when cargo border update is performed, the desired outcome is that perform cargo lookup by ccn, if cargo is found then set message to '350 ack - arrival ack at border', move cargo ccn key to current ccn key, perform log cargo info message, set cargo border arrival acknowledgment flag to true, clear status code, set accept status to spaces, and replace cargo record.
💻 Technical Criteria
Given
Train has been validated and X4 CBSA release reference ID positions 1 through 25 are moved to cargo key value
When
Cargo border update is performed
Then
Perform cargo lookup by CCN, if cargo is found then set message to '350 ACK - ARRIVAL ACK AT BORDER', move cargo CCN key to current CCN key, perform log cargo info message, set cargo border arrival acknowledgment flag to true, clear status code, set accept status to spaces, and replace cargo record
R-GCX126-cbl-00013
12:Process Master Manifest Border Arrival
Process Rules
📊 Business Logic Narrative
When the process '12:Process Master Manifest Border Arrival' is invoked, and assuming that cargo has been updated with border arrival and cargo is master manifest type, when master manifest processing is performed, the desired outcome is that move cargo ccn key to b0 ccn key, clear follower manifest array, set follower not end of database flag, set index to 1, perform until follower end of database or index exceeds 100: set accept status to 'gegb', call database with get next function for cargo using b0 qualifier, if status code is spaces and master manifest ccn equals x4 cbsa release reference id positions 1 through 25 then if cargo is follower manifest then move cargo ccn key to follower manifest array at index position and add 1 to index, else set follower end of database flag, subtract 1 from index, if index is less than or equal to zero then exit, else perform varying index from 1 by 1 until follower manifest at index is spaces or low values or index exceeds limit: move follower manifest ccn to cargo key value, perform cargo lookup, if cargo found then perform cargo border update.
💻 Technical Criteria
Given
Cargo has been updated with border arrival and cargo is master manifest type
When
Master manifest processing is performed
Then
Move cargo CCN key to B0 CCN key, clear follower manifest array, set follower not end of database flag, set index to 1, perform until follower end of database or index exceeds 100: set accept status to 'GEGB', call database with get next function for cargo using B0 qualifier, if status code is spaces and master manifest CCN equals X4 CBSA release reference ID positions 1 through 25 then if cargo is follower manifest then move cargo CCN key to follower manifest array at index position and add 1 to index, else set follower end of database flag, subtract 1 from index, if index is less than or equal to zero then exit, else perform varying index from 1 by 1 until follower manifest at index is spaces or low values or index exceeds limit: move follower manifest CCN to cargo key value, perform cargo lookup, if cargo found then perform cargo border update
R-GCX126-cbl-00017
16:Lookup Cargo by CCN
Process Rules
📊 Business Logic Narrative
When the process '16:Lookup Cargo by CCN' is invoked, and assuming that m10 segment has been processed and contains ccn in positions 1 through 25, when cargo lookup is performed, the desired outcome is that move m10 ccn positions 1 through 25 to cargo key value, set accept status to 'ge', call database with get hold unique function for cargo using cargo qualifier, perform cargo switch setting, if cargo found then set accept status to 'ge' and call database with get hold unique function for cargo secondary using a2 qualifier, if status code is 'ge' then clear cargo secondary segment.
💻 Technical Criteria
Given
M10 segment has been processed and contains CCN in positions 1 through 25
When
Cargo lookup is performed
Then
Move M10 CCN positions 1 through 25 to cargo key value, set accept status to 'GE', call database with get hold unique function for cargo using cargo qualifier, perform cargo switch setting, if cargo found then set accept status to 'GE' and call database with get hold unique function for cargo secondary using A2 qualifier, if status code is 'GE' then clear cargo secondary segment
R-GCX126-cbl-00018
17:Handle Unknown Cargo Release
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '17:Handle Unknown Cargo Release', assuming that cargo lookup has failed (cargo not found) and v9 notice reason indicates released, when unknown cargo processing is performed, the desired outcome is that clear detail line 1, concatenate 'unknown edi 350 release from cbsa ' with m10 ccn positions 1 through 25 into detail line 1, move 'this ccn was not found.' to detail line 3, concatenate 'release number: ' with x4 cbsa release reference id positions 1 through 15, ' done by port ' with p4 port code positions 1 through 4 into detail line 4, set line count to 5, set message type to unknown, and perform email send preparation.
💻 Technical Criteria
EXCLUDING
Cargo lookup has failed (cargo not found) and V9 notice reason indicates released
When
Unknown cargo processing is performed
Then
Clear detail line 1, concatenate 'UNKNOWN EDI 350 RELEASE FROM CBSA ' with M10 CCN positions 1 through 25 into detail line 1, move 'THIS CCN WAS NOT FOUND.' to detail line 3, concatenate 'RELEASE NUMBER: ' with X4 CBSA release reference ID positions 1 through 15, ' DONE BY PORT ' with P4 port code positions 1 through 4 into detail line 4, set line count to 5, set message type to unknown, and perform email send preparation
R-GCX126-cbl-00019
18:Handle Unknown Cargo Deconsolidation
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '18:Handle Unknown Cargo Deconsolidation', assuming that cargo lookup has failed (cargo not found) and v9 notice reason indicates deconsolidation, when unknown cargo processing is performed, the desired outcome is that clear detail line 1, concatenate 'unknown edi 350 dcon notice ' with m10 ccn positions 1 through 25 into detail line 1, move 'this ccn was not found.' to detail line 3, concatenate 'house bill close number' with x4 cbsa release reference id positions 1 through 25, ' done by port ' with p4 port code positions 1 through 4 into detail line 4, set line count to 5, set message type to unknown, and perform email send preparation.
💻 Technical Criteria
EXCLUDING
Cargo lookup has failed (cargo not found) and V9 notice reason indicates deconsolidation
When
Unknown cargo processing is performed
Then
Clear detail line 1, concatenate 'UNKNOWN EDI 350 DCON NOTICE ' with M10 CCN positions 1 through 25 into detail line 1, move 'THIS CCN WAS NOT FOUND.' to detail line 3, concatenate 'HOUSE BILL CLOSE NUMBER' with X4 CBSA release reference ID positions 1 through 25, ' DONE BY PORT ' with P4 port code positions 1 through 4 into detail line 4, set line count to 5, set message type to unknown, and perform email send preparation
R-GCX126-cbl-00020
19:Handle Unknown Cargo Entry
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '19:Handle Unknown Cargo Entry', assuming that cargo lookup has failed (cargo not found) and v9 notice reason is not released or deconsolidation, when unknown cargo processing is performed, the desired outcome is that clear detail line 1, concatenate 'unknown edi 350 entry from cbsa ' with m10 ccn positions 1 through 25 into detail line 1, move 'this ccn was not found.' to detail line 3, concatenate 'notice doc type: ' with m10 notice document type code, ' with reason code ' with v9 notice reason code positions 1 through 4 into detail line 4, set line count to 5, set message type to unknown, and perform email send preparation.
💻 Technical Criteria
EXCLUDING
Cargo lookup has failed (cargo not found) and V9 notice reason is not released or deconsolidation
When
Unknown cargo processing is performed
Then
Clear detail line 1, concatenate 'UNKNOWN EDI 350 ENTRY FROM CBSA ' with M10 CCN positions 1 through 25 into detail line 1, move 'THIS CCN WAS NOT FOUND.' to detail line 3, concatenate 'NOTICE DOC TYPE: ' with M10 notice document type code, ' WITH REASON CODE ' with V9 notice reason code positions 1 through 4 into detail line 4, set line count to 5, set message type to unknown, and perform email send preparation
R-GCX126-cbl-00027
26:Process Cargo Release
Process Rules
📊 Business Logic Narrative
When the process '26:Process Cargo Release' is invoked, and assuming that cargo has been found and v9 notice reason indicates released, when cargo processing is performed, the desired outcome is that perform set release information, clear info message, concatenate 'edi 350: release : ' with x4 cbsa release reference id positions 1 through 15, ' at port ' with p4 port code positions 1 through 4 into info message, concatenate x4 cbsa release reference id positions 1 through 15, '/' with p4 port code positions 1 through 4 into cargo release reason, perform log cargo info message, perform process us manifest, move cargo release date to hold date, move cargo release time to hold time, perform cargo replace, if cargo is master manifest then save cargo segment, move cargo ccn key to b0 ccn key, set follower not end of database flag, perform process multi follower manifests, restore cargo segment, move cargo waybill key to save waybill index, and move cargo equipment car to current car id key.
💻 Technical Criteria
Given
Cargo has been found and V9 notice reason indicates released
When
Cargo processing is performed
Then
Perform set release information, clear info message, concatenate 'EDI 350: RELEASE : ' with X4 CBSA release reference ID positions 1 through 15, ' AT PORT ' with P4 port code positions 1 through 4 into info message, concatenate X4 CBSA release reference ID positions 1 through 15, '/' with P4 port code positions 1 through 4 into cargo release reason, perform log cargo info message, perform process US manifest, move cargo release date to hold date, move cargo release time to hold time, perform cargo replace, if cargo is master manifest then save cargo segment, move cargo CCN key to B0 CCN key, set follower not end of database flag, perform process multi follower manifests, restore cargo segment, move cargo waybill key to save waybill index, and move cargo equipment car to current car ID key
R-GCX126-cbl-00029
28:Process Cargo Hold
Process Rules
📊 Business Logic Narrative
When the process '28:Process Cargo Hold' is invoked, and assuming that cargo has been found and v9 notice reason indicates held, when cargo processing is performed, the desired outcome is that clear info message, move 'edi 350: goods held for examination' to info message, perform log cargo info message, set cargo status to hold, perform cargo replace, if cargo ccn key positions 1 through 4 equal '6105' then perform merlin prepare hold notification.
💻 Technical Criteria
Given
Cargo has been found and V9 notice reason indicates held
When
Cargo processing is performed
Then
Clear info message, move 'EDI 350: GOODS HELD FOR EXAMINATION' to info message, perform log cargo info message, set cargo status to hold, perform cargo replace, if cargo CCN key positions 1 through 4 equal '6105' then perform Merlin prepare hold notification
R-GCX126-cbl-00030
29:Process Deconsolidation Release
Process Rules
📊 Business Logic Narrative
When the process '29:Process Deconsolidation Release' is invoked, and assuming that cargo has been found and v9 notice reason indicates deconsolidation, when cargo processing is performed, the desired outcome is that perform set release information, clear info message, concatenate 'edi 350: release via decon at port ' with p4 port code positions 1 through 4 into info message, concatenate 'deconsolidation at ' with p4 port code positions 1 through 4 into cargo release reason, perform log cargo info message, perform process us manifest, move cargo release date to hold date, move cargo release time to hold time, perform cargo replace, if cargo is master manifest then save cargo segment, move cargo ccn key to b0 ccn key, set follower not end of database flag, perform process multi follower manifests, restore cargo segment, move cargo waybill key to save waybill index, and move cargo equipment car to current car id key.
💻 Technical Criteria
Given
Cargo has been found and V9 notice reason indicates deconsolidation
When
Cargo processing is performed
Then
Perform set release information, clear info message, concatenate 'EDI 350: RELEASE VIA DECON AT PORT ' with P4 port code positions 1 through 4 into info message, concatenate 'DECONSOLIDATION AT ' with P4 port code positions 1 through 4 into cargo release reason, perform log cargo info message, perform process US manifest, move cargo release date to hold date, move cargo release time to hold time, perform cargo replace, if cargo is master manifest then save cargo segment, move cargo CCN key to B0 CCN key, set follower not end of database flag, perform process multi follower manifests, restore cargo segment, move cargo waybill key to save waybill index, and move cargo equipment car to current car ID key
R-GCX126-cbl-00032
31:Process Associated US Manifest
Process Rules
📊 Business Logic Narrative
When the process '31:Process Associated US Manifest' is invoked, and assuming that canadian cargo has been released or authorized to deliver, when us manifest processing is performed, the desired outcome is that set us manifest not found flag, set not end of file flag, perform get unique us cargo by car and waybill, perform get next us cargo by car and waybill until us manifest found or end of file, if end of file then exit, else move log information, concatenate machine century with machine date into log date, move machine time to log time, move log use input message to action code, move us cargo ccn key to train or us ccn field, set cargo type to us cargo, concatenate 'cdn ccn rlsed by edi 350: ' with cargo ccn key into message, and perform spawn log entry.
💻 Technical Criteria
Given
Canadian cargo has been released or authorized to deliver
When
US manifest processing is performed
Then
Set US manifest not found flag, set not end of file flag, perform get unique US cargo by car and waybill, perform get next US cargo by car and waybill until US manifest found or end of file, if end of file then exit, else move log information, concatenate machine century with machine date into log date, move machine time to log time, move log use input message to action code, move US cargo CCN key to train or US CCN field, set cargo type to US cargo, concatenate 'CDN CCN RLSED BY EDI 350: ' with cargo CCN key into message, and perform spawn log entry
R-GCX126-cbl-00034
33:Process Follower Manifests
Process Rules
📊 Business Logic Narrative
When the process '33:Process Follower Manifests' is invoked, and assuming that master manifest has been released or deconsolidated, when multi follower processing is performed, the desired outcome is that set accept status to 'gegb', clear follower manifest array, set index to 1, perform until follower end of database or index exceeds 100: call database with get next function for cargo using b0 qualifier, if status code is spaces and saved ccn equals master manifest ccn then if cargo is master manifest then continue else move cargo ccn key to follower manifest array at index and add 1 to index, else set follower end of database flag, subtract 1 from index, if index is less than or equal to zero then exit, else perform varying index from 1 by 1 until follower manifest at index is spaces or low values or index exceeds limit: move follower manifest ccn to cargo key value, perform cargo lookup, if cargo found then perform set release information, clear info message, if v9 released then concatenate 'edi 350: release : ' with x4 cbsa release reference id positions 1 through 15, ' at port ' with p4 port code positions 1 through 4 into info message and concatenate x4 cbsa release reference id positions 1 through 15, '/' with p4 port code positions 1 through 4 into cargo release reason, else concatenate 'edi 350: release via decon at port ' with p4 port code positions 1 through 4 into info message and concatenate 'deconsolidation at ' with p4 port code positions 1 through 4 into cargo release reason, move cargo ccn key to current ccn key, perform log cargo info message, move cargo waybill key to save waybill index, move cargo equipment car to current car id key, perform process us manifest, clear status code, set accept status to spaces, and call database with replace function for cargo.
💻 Technical Criteria
Given
Master manifest has been released or deconsolidated
When
Multi follower processing is performed
Then
Set accept status to 'GEGB', clear follower manifest array, set index to 1, perform until follower end of database or index exceeds 100: call database with get next function for cargo using B0 qualifier, if status code is spaces and saved CCN equals master manifest CCN then if cargo is master manifest then continue else move cargo CCN key to follower manifest array at index and add 1 to index, else set follower end of database flag, subtract 1 from index, if index is less than or equal to zero then exit, else perform varying index from 1 by 1 until follower manifest at index is spaces or low values or index exceeds limit: move follower manifest CCN to cargo key value, perform cargo lookup, if cargo found then perform set release information, clear info message, if V9 released then concatenate 'EDI 350: RELEASE : ' with X4 CBSA release reference ID positions 1 through 15, ' AT PORT ' with P4 port code positions 1 through 4 into info message and concatenate X4 CBSA release reference ID positions 1 through 15, '/' with P4 port code positions 1 through 4 into cargo release reason, else concatenate 'EDI 350: RELEASE VIA DECON AT PORT ' with P4 port code positions 1 through 4 into info message and concatenate 'DECONSOLIDATION AT ' with P4 port code positions 1 through 4 into cargo release reason, move cargo CCN key to current CCN key, perform log cargo info message, move cargo waybill key to save waybill index, move cargo equipment car to current car ID key, perform process US manifest, clear status code, set accept status to spaces, and call database with replace function for cargo
R-GCX126-cbl-00035
34:Prepare Cargo Hold Email
Action Rules
📊 Business Logic Narrative
When the process '34:Prepare Cargo Hold Email' is invoked, and assuming that cargo has been placed on hold and ccn starts with 6105, when merlin hold preparation is performed, the desired outcome is that clear detail line 1, concatenate 'cargo on hold for inspection by cbsa - edi350' into detail line 1, clear detail line 2, concatenate 'equipment : ' with cargo equipment id for index into detail line 3, concatenate 'waybill : ' with cargo ccn carrier index, cargo origin station number index, cargo waybill number index into detail line 4, concatenate 'ccn : ' with cargo ccn key into detail line 5, concatenate 'destination : ' with cargo destination station name, ', ' with cargo destination station state code into detail line 6, concatenate 'manifest upon : ' with cargo manifest to station name into detail line 7, set line count to 7, set message type to hold, and perform email send preparation.
💻 Technical Criteria
Given
Cargo has been placed on hold and CCN starts with 6105
When
Merlin hold preparation is performed
Then
Clear detail line 1, concatenate 'Cargo on HOLD for inspection by CBSA - EDI350' into detail line 1, clear detail line 2, concatenate 'Equipment : ' with cargo equipment ID for index into detail line 3, concatenate 'Waybill : ' with cargo CCN carrier index, cargo origin station number index, cargo waybill number index into detail line 4, concatenate 'CCN : ' with cargo CCN key into detail line 5, concatenate 'DESTINATION : ' with cargo destination station name, ', ' with cargo destination station state code into detail line 6, concatenate 'MANIFEST UPON : ' with cargo manifest to station name into detail line 7, set line count to 7, set message type to hold, and perform email send preparation
R-GCX126-cbl-00036
39:Send Email Notification
Action Rules
📊 Business Logic Narrative
When the process '39:Send Email Notification' is invoked, and assuming that email notification has been prepared with message type and content, when email send preparation is performed, the desired outcome is that if message type is error then concatenate 'customs received err msg ' with cargo ccn key into subject, else if message type is info then concatenate 'broker/manifest mismatch ' with cargo ccn key into subject, else if message type is hold then concatenate 'cbsa cargo hold - ' with cargo ccn key into subject, else move detail line 1 to subject, save current recipient and filename, clear recipient, if admin segment found then move admin dc merlin 1 to recipient 1 and admin dc merlin 5 to recipient 2, else move 'om01247' to recipient 1 and clear recipient 2, if keywords are spaces or low values then if cargo found and cargo ccn key not spaces then move cargo ccn key to keywords, else move current ccn key to keywords, if message type is unknown then move 'unknown' to filename, clear recipient, move 'om01247' to recipient 1, and perform call email send, else if message type is error then move 'caerror' to filename, perform call email send, move 'in' to filename, clear recipient, move 'om01247' to recipient 1, and perform call email send, else if message type is info then move 'in' to filename, clear recipient, move 'om01247' to recipient 1, and perform call email send, else if message type is unrelease then move 'in' to filename, perform call email send, clear recipient, perform fetch manifest station segment, if manifest station merlin id not spaces then move 'in' to filename, move manifest station merlin id to recipient 1, and perform call email send, else if message type is release then clear recipient, perform fetch manifest station segment, if manifest station merlin id not spaces then move 'in' to filename, move manifest station merlin id to recipient 1, and perform call email send, else if message type is hold then move 'cahold' to filename, clear recipient, move 'om01247' to recipient 1, and perform call email send, then perform reset report fields.
💻 Technical Criteria
Given
Email notification has been prepared with message type and content
When
Email send preparation is performed
Then
If message type is error then concatenate 'CUSTOMS RECEIVED ERR MSG ' with cargo CCN key into subject, else if message type is info then concatenate 'BROKER/MANIFEST MISMATCH ' with cargo CCN key into subject, else if message type is hold then concatenate 'CBSA CARGO HOLD - ' with cargo CCN key into subject, else move detail line 1 to subject, save current recipient and filename, clear recipient, if admin segment found then move admin DC Merlin 1 to recipient 1 and admin DC Merlin 5 to recipient 2, else move 'OM01247' to recipient 1 and clear recipient 2, if keywords are spaces or low values then if cargo found and cargo CCN key not spaces then move cargo CCN key to keywords, else move current CCN key to keywords, if message type is unknown then move 'UNKNOWN' to filename, clear recipient, move 'OM01247' to recipient 1, and perform call email send, else if message type is error then move 'CAERROR' to filename, perform call email send, move 'IN' to filename, clear recipient, move 'OM01247' to recipient 1, and perform call email send, else if message type is info then move 'IN' to filename, clear recipient, move 'OM01247' to recipient 1, and perform call email send, else if message type is unrelease then move 'IN' to filename, perform call email send, clear recipient, perform fetch manifest station segment, if manifest station Merlin ID not spaces then move 'IN' to filename, move manifest station Merlin ID to recipient 1, and perform call email send, else if message type is release then clear recipient, perform fetch manifest station segment, if manifest station Merlin ID not spaces then move 'IN' to filename, move manifest station Merlin ID to recipient 1, and perform call email send, else if message type is hold then move 'CAHOLD' to filename, clear recipient, move 'OM01247' to recipient 1, and perform call email send, then perform reset report fields
R-GCX126-cbl-00071
M10 - Notice/Reference Extract CCN and Notice Info
Process Rules
📊 Business Logic Narrative
When the process 'M10 - Notice/Reference Extract CCN and Notice Info' is invoked, and assuming that an edi 350 message is being parsed and an m10 segment is encountered, when the current segment table id equals 'm10', the desired outcome is that set the m10 segment found flag to true, initialize the m10 segment structure, and move the entire m10 table entry data into the m10 segment structure for subsequent processing.
💻 Technical Criteria
Given
An EDI 350 message is being parsed and an M10 segment is encountered
When
The current segment table ID equals 'M10'
Then
Set the M10 segment found flag to TRUE, initialize the M10 segment structure, and move the entire M10 table entry data into the M10 segment structure for subsequent processing
R-GCX126-cbl-00526
Log Train Arrival Action Code: ZZZ Message: 350 ACK - ARRIVAL ACK AT BORDER
Process Rules
📊 Business Logic Narrative
When the process 'Log Train Arrival Action Code: ZZZ Message: 350 ACK - ARRIVAL ACK AT BORDER' is invoked, and assuming that a train has been successfully verified in the system using the crn, when the train record exists (cc-status-code equals spaces), the desired outcome is that create a log entry with current machine date in gcx105-date, current machine time in gcx105-time, action code 'zzz' in gcx105-action-code, the crn (first 25 characters of x4-04-rel-doc-id) in gcx105-train-or-us-ccn, set cargo type to canadian train (gcx105-ca-train), message '350 ack - arrival ack at border' in gcx105-message, and spawn the log entry process (z300-spawn-gct1051e).
💻 Technical Criteria
Given
A train has been successfully verified in the system using the CRN
When
The train record exists (CC-STATUS-CODE equals spaces)
Then
Create a log entry with current machine date in GCX105-DATE, current machine time in GCX105-TIME, action code 'ZZZ' in GCX105-ACTION-CODE, the CRN (first 25 characters of X4-04-REL-DOC-ID) in GCX105-TRAIN-OR-US-CCN, set cargo type to Canadian train (GCX105-CA-TRAIN), message '350 ACK - ARRIVAL ACK AT BORDER' in GCX105-MESSAGE, and spawn the log entry process (Z300-SPAWN-GCT1051E)
R-GCX126-cbl-00527
Update Cargo Border Arrival Status
Process Rules
📊 Business Logic Narrative
When the process 'Update Cargo Border Arrival Status' is invoked, and assuming that a valid train arrival has been logged and cargo exists for the release reference id, when the cargo is found using x4-01-cbsa-rel-ref-id (first 25 characters) as the ccn key, the desired outcome is that log the message '350 ack - arrival ack at border' to cargo information, set the cargo border arrival acknowledgment flag (gccc-border-arrival-ack) to true, and replace the cargo record in the database.
💻 Technical Criteria
Given
A valid train arrival has been logged and cargo exists for the release reference ID
When
The cargo is found using X4-01-CBSA-REL-REF-ID (first 25 characters) as the CCN key
Then
Log the message '350 ACK - ARRIVAL ACK AT BORDER' to cargo information, set the cargo border arrival acknowledgment flag (GCCC-BORDER-ARRIVAL-ACK) to true, and replace the cargo record in the database
R-GCX126-cbl-00529
Retrieve All Follower Manifests for Master up to 100
Process Rules
📊 Business Logic Narrative
When the process 'Retrieve All Follower Manifests for Master up to 100' is invoked, and assuming that a master manifest has been identified with ccn key stored in gccc-ccn-key, when the system performs sequential reads of cargo records using the master ccn as parent key (gccc-master-mfst-ccn), the desired outcome is that collect all follower manifest ccn keys (where gccc-follower-mfst is true and master ccn matches x4-01-cbsa-rel-ref-id first 25 characters) into ws-follower-mani array up to a maximum of 100 entries, stopping when no more followers are found or limit is reached.
💻 Technical Criteria
Given
A master manifest has been identified with CCN key stored in GCCC-CCN-KEY
When
The system performs sequential reads of cargo records using the master CCN as parent key (GCCC-MASTER-MFST-CCN)
Then
Collect all follower manifest CCN keys (where GCCC-FOLLOWER-MFST is true and master CCN matches X4-01-CBSA-REL-REF-ID first 25 characters) into WS-FOLLOWER-MANI array up to a maximum of 100 entries, stopping when no more followers are found or limit is reached
R-GCX126-cbl-00530
Update Border Arrival for Each Follower
Process Rules
📊 Business Logic Narrative
When the process 'Update Border Arrival for Each Follower' is invoked, and assuming that a list of follower manifest ccn keys has been retrieved and stored in ws-follower-mani array, when processing each follower ccn from index 1 to the count of followers found, the desired outcome is that for each follower ccn: retrieve the cargo record using the ccn as key, if cargo is found then log message '350 ack - arrival ack at border', set the border arrival acknowledgment flag (gccc-border-arrival-ack) to true, and replace the cargo record.
💻 Technical Criteria
Given
A list of follower manifest CCN keys has been retrieved and stored in WS-FOLLOWER-MANI array
When
Processing each follower CCN from index 1 to the count of followers found
Then
For each follower CCN: retrieve the cargo record using the CCN as key, if cargo is found then log message '350 ACK - ARRIVAL ACK AT BORDER', set the border arrival acknowledgment flag (GCCC-BORDER-ARRIVAL-ACK) to true, and replace the cargo record
R-GCX126-cbl-00732
Retrieve Cargo Record by CCN from X4 Segment
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Cargo Record by CCN from X4 Segment' is invoked, and assuming that an x4 segment contains a cbsa release reference id in position 1-25, when the system processes the x4 segment for border arrival acknowledgment, the desired outcome is that the system retrieves the cargo record using the cbsa release reference id as the ccn key.
💻 Technical Criteria
Given
An X4 segment contains a CBSA Release Reference ID in position 1-25
When
The system processes the X4 segment for border arrival acknowledgment
Then
The system retrieves the cargo record using the CBSA Release Reference ID as the CCN key
R-GCX126-cbl-00733
Cargo Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Cargo Found?' is invoked, and assuming that a cargo retrieval operation has been performed using the ccn from x4 segment, when the system checks the cargo record status, the desired outcome is that if cargo is found and not deleted, proceed with border arrival update; otherwise, skip the update process.
💻 Technical Criteria
Given
A cargo retrieval operation has been performed using the CCN from X4 segment
When
The system checks the cargo record status
Then
If cargo is found and not deleted, proceed with border arrival update; otherwise, skip the update process
R-GCX126-cbl-00735
Log Message: '350 ACK - ARRIVAL ACK AT BORDER'
Process Rules
📊 Business Logic Narrative
When the process 'Log Message: '350 ACK - ARRIVAL ACK AT BORDER'' is invoked, and assuming that the border arrival acknowledgment flag has been set on the cargo record, when the system logs the border arrival event, the desired outcome is that the system creates a log entry with message '350 ack - arrival ack at border' including the ccn and current date/time.
💻 Technical Criteria
Given
The border arrival acknowledgment flag has been set on the cargo record
When
The system logs the border arrival event
Then
The system creates a log entry with message '350 ACK - ARRIVAL ACK AT BORDER' including the CCN and current date/time
R-GCX126-cbl-00738
Retrieve All Follower Manifests for Master CCN
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve All Follower Manifests for Master CCN' is invoked, and assuming that the cargo record is identified as a master manifest, when the system initiates follower manifest retrieval, the desired outcome is that the system retrieves all follower manifests where the master manifest ccn matches the current cargo ccn, up to a maximum of 100 followers.
💻 Technical Criteria
Given
The cargo record is identified as a master manifest
When
The system initiates follower manifest retrieval
Then
The system retrieves all follower manifests where the master manifest CCN matches the current cargo CCN, up to a maximum of 100 followers
R-GCX126-cbl-00740
Get Next Follower Manifest CCN
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Get Next Follower Manifest CCN', assuming that there are more follower manifests to process and the maximum limit has not been reached, when the system advances to the next follower, the desired outcome is that the system retrieves the ccn of the next follower manifest from the follower manifest array.
💻 Technical Criteria
EXCLUDING
There are more follower manifests to process and the maximum limit has not been reached
When
The system advances to the next follower
Then
The system retrieves the CCN of the next follower manifest from the follower manifest array
R-GCX126-cbl-00741
Retrieve Follower Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Follower Cargo Record' is invoked, and assuming that a follower manifest ccn has been identified, when the system retrieves the follower cargo record, the desired outcome is that the system performs a cargo retrieval operation using the follower ccn as the key.
💻 Technical Criteria
Given
A follower manifest CCN has been identified
When
The system retrieves the follower cargo record
Then
The system performs a cargo retrieval operation using the follower CCN as the key
R-GCX126-cbl-00744
Log Arrival Message for Follower CCN
Process Rules
📊 Business Logic Narrative
When the process 'Log Arrival Message for Follower CCN' is invoked, and assuming that the border arrival acknowledgment flag has been set on the follower cargo record, when the system logs the border arrival event for the follower, the desired outcome is that the system creates a log entry with message '350 ack - arrival ack at border' including the follower ccn and current date/time.
💻 Technical Criteria
Given
The border arrival acknowledgment flag has been set on the follower cargo record
When
The system logs the border arrival event for the follower
Then
The system creates a log entry with message '350 ACK - ARRIVAL ACK AT BORDER' including the follower CCN and current date/time
R-GCX126-cbl-00091
Extract CBSA Reference/CCN
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract CBSA Reference/CCN' is invoked, and assuming that the m10 segment has been loaded with data from the message queue, when extracting cargo identification information, the desired outcome is that the ccn reference (m10-07-ccn) containing up to 25 characters is available from the m10 segment for cargo lookup and processing.
💻 Technical Criteria
Given
The M10 segment has been loaded with data from the message queue
When
Extracting cargo identification information
Then
The CCN reference (M10-07-CCN) containing up to 25 characters is available from the M10 segment for cargo lookup and processing
R-GCX126-cbl-00107
HELD - Goods Held for Examination
Decision Rules
📊 Business Logic Narrative
When the process 'HELD - Goods Held for Examination' is invoked, and assuming that an edi 350 message is being processed and a v9 segment has been extracted with cargo found in the system, when the v9 notice reason code indicates held status (v9-02-held is true), the desired outcome is that the system logs the message 'edi 350: goods held for examination', sets cargo status to hold, replaces the cargo record in the database, and if the first 4 characters of the cargo ccn equal '6105' then prepares a merlin hold notification containing equipment id, waybill number, ccn, destination station name and state, and manifest upon station name, and sends the notification to the merlin system.
💻 Technical Criteria
Given
An EDI 350 message is being processed and a V9 segment has been extracted with cargo found in the system
When
The V9 notice reason code indicates HELD status (V9-02-HELD is true)
Then
The system logs the message 'EDI 350: GOODS HELD FOR EXAMINATION', sets cargo status to HOLD, replaces the cargo record in the database, and if the first 4 characters of the cargo CCN equal '6105' then prepares a Merlin hold notification containing equipment ID, waybill number, CCN, destination station name and state, and manifest upon station name, and sends the notification to the Merlin system
R-GCX126-cbl-00131
Log Arrival Acknowledgment: Date: Current Machine Date, Time: Current Machine Time, Action Code: 'ZZZ', Train ID: From X4 Segment, Message: '350 ACK - ARRIVAL ACK AT BORDER'
Process Rules
📊 Business Logic Narrative
When the process 'Log Arrival Acknowledgment: Date: Current Machine Date, Time: Current Machine Time, Action Code: 'ZZZ', Train ID: From X4 Segment, Message: '350 ACK - ARRIVAL ACK AT BORDER'' is invoked, and assuming that a train has been successfully verified in the system database (cc-status-code equals spaces) and the train id is available from x4-04-rel-doc-id (first 25 characters), when the arrival acknowledgment needs to be logged, the desired outcome is that move log information to gcx105 structure and set gcx105-date to current machine century and date (cc-machine-century concatenated with cc-machine-date-x) and set gcx105-time to current machine time (cc-machine-time-x) and set gcx105-action-code to 'zzz' and set gcx105-train-or-us-ccn to the train id from x4-04-rel-doc-id (first 25 characters) and set gcx105-ca-train indicator to true and set gcx105-message to '350 ack - arrival ack at border'.
💻 Technical Criteria
Given
A train has been successfully verified in the system database (CC-STATUS-CODE equals SPACES) AND the train ID is available from X4-04-REL-DOC-ID (first 25 characters)
When
The arrival acknowledgment needs to be logged
Then
Move log information to GCX105 structure AND set GCX105-DATE to current machine century and date (CC-MACHINE-CENTURY concatenated with CC-MACHINE-DATE-X) AND set GCX105-TIME to current machine time (CC-MACHINE-TIME-X) AND set GCX105-ACTION-CODE to 'ZZZ' AND set GCX105-TRAIN-OR-US-CCN to the train ID from X4-04-REL-DOC-ID (first 25 characters) AND set GCX105-CA-TRAIN indicator to true AND set GCX105-MESSAGE to '350 ACK - ARRIVAL ACK AT BORDER'
R-GCX126-cbl-00133
Update Cargo Border Arrival Status
Process Rules
📊 Business Logic Narrative
When the process 'Update Cargo Border Arrival Status' is invoked, and assuming that a train arrival has been logged successfully and the cargo control number is available in x4-01-cbsa-rel-ref-id (first 25 characters), when the cargo border arrival status needs to be updated, the desired outcome is that set key-value of ccrt-ssaq to x4-01-cbsa-rel-ref-id (first 25 characters) and set key-value of a2rt-ssaq to x4-01-cbsa-rel-ref-id (first 25 characters) and perform a351-update-cargo-border process to retrieve cargo, set border arrival acknowledgment flag, and replace the cargo record.
💻 Technical Criteria
Given
A train arrival has been logged successfully AND the cargo control number is available in X4-01-CBSA-REL-REF-ID (first 25 characters)
When
The cargo border arrival status needs to be updated
Then
Set KEY-VALUE of CCRT-SSAQ to X4-01-CBSA-REL-REF-ID (first 25 characters) AND set KEY-VALUE of A2RT-SSAQ to X4-01-CBSA-REL-REF-ID (first 25 characters) AND perform A351-UPDATE-CARGO-BORDER process to retrieve cargo, set border arrival acknowledgment flag, and replace the cargo record
R-GCX126-cbl-00135
Update Border Arrival for All Follower Manifests Up to 100 Followers
Process Rules
📊 Business Logic Narrative
When the process 'Update Border Arrival for All Follower Manifests Up to 100 Followers' is invoked, and assuming that the current cargo is a master manifest (gccc-master-mfst is true) and the master manifest ccn is available in gccc-ccn-key, when follower manifests need to be updated with border arrival status, the desired outcome is that set gcb0rt-ccn-key to the master manifest ccn and initialize follower manifest array (ws-follower-mani-array) to spaces and set ws-follower-not-end-of-db indicator and set counter i to 1 and perform loop until ws-follower-end-of-db or i exceeds 100: retrieve next cargo record using gn function with ccrt-b0rt-ssaq, if status is blank and master manifest ccn matches x4-01-cbsa-rel-ref-id (first 25 characters) and cargo is a follower manifest, store follower ccn in ws-follower-mani(i) and increment i, otherwise set ws-follower-end-of-db and after loop, subtract 1 from i and if i is greater than 0, perform loop varying j from 1 to i: set key-value of ccrt-ssaq and a2rt-ssaq to ws-follower-mani(j) and perform a351-update-cargo-border to update each follower manifest.
💻 Technical Criteria
Given
The current cargo is a master manifest (GCCC-MASTER-MFST is true) AND the master manifest CCN is available in GCCC-CCN-KEY
When
Follower manifests need to be updated with border arrival status
Then
Set GCB0RT-CCN-KEY to the master manifest CCN AND initialize follower manifest array (WS-FOLLOWER-MANI-ARRAY) to spaces AND set WS-FOLLOWER-NOT-END-OF-DB indicator AND set counter I to 1 AND perform loop until WS-FOLLOWER-END-OF-DB or I exceeds 100: retrieve next cargo record using GN function with CCRT-B0RT-SSAQ, if status is blank AND master manifest CCN matches X4-01-CBSA-REL-REF-ID (first 25 characters) AND cargo is a follower manifest, store follower CCN in WS-FOLLOWER-MANI(I) and increment I, otherwise set WS-FOLLOWER-END-OF-DB AND after loop, subtract 1 from I AND if I is greater than 0, perform loop varying J from 1 to I: set KEY-VALUE of CCRT-SSAQ and A2RT-SSAQ to WS-FOLLOWER-MANI(J) AND perform A351-UPDATE-CARGO-BORDER to update each follower manifest
R-GCX126-cbl-00532
Save Master CCN Key, Initialize Follower Manifest Array, Set Index to 1
Process Rules
📊 Business Logic Narrative
When the process 'Save Master CCN Key, Initialize Follower Manifest Array, Set Index to 1' is invoked, and assuming that a master manifest cargo record has been identified for border arrival acknowledgment, when the system begins processing follower manifests, the desired outcome is that the master manifest ccn key is saved, the follower manifest array is cleared of any previous data, the follower manifest counter is set to 1, and the end-of-database flag is set to indicate more records may exist.
💻 Technical Criteria
Given
A master manifest cargo record has been identified for border arrival acknowledgment
When
The system begins processing follower manifests
Then
The master manifest CCN key is saved, the follower manifest array is cleared of any previous data, the follower manifest counter is set to 1, and the end-of-database flag is set to indicate more records may exist
R-GCX126-cbl-00533
Get Next Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Get Next Cargo Record' is invoked, and assuming that the system is searching for follower manifests associated with a master manifest ccn, when the system requests the next cargo record using the get next function with the master manifest ccn as the search key, the desired outcome is that the next cargo record is retrieved from the cargo table and made available for evaluation.
💻 Technical Criteria
Given
The system is searching for follower manifests associated with a master manifest CCN
When
The system requests the next cargo record using the Get Next function with the master manifest CCN as the search key
Then
The next cargo record is retrieved from the cargo table and made available for evaluation
R-GCX126-cbl-00534
Status Code = Blank AND Master CCN Matches?
Validation Rules
📊 Business Logic Narrative
When the process 'Status Code = Blank AND Master CCN Matches?' is invoked, and assuming that a cargo record has been retrieved from the database, when the system evaluates the cargo record, the desired outcome is that if the database status code is blank (indicating successful retrieval) and the cargo record's master manifest ccn equals the saved master ccn, the record is considered valid for further processing; otherwise, the record is skipped.
💻 Technical Criteria
Given
A cargo record has been retrieved from the database
When
The system evaluates the cargo record
Then
If the database status code is blank (indicating successful retrieval) AND the cargo record's master manifest CCN equals the saved master CCN, the record is considered valid for further processing; otherwise, the record is skipped
R-GCX126-cbl-00536
Store Follower CCN in Array, Increment Index
Process Rules
📊 Business Logic Narrative
When the process 'Store Follower CCN in Array, Increment Index' is invoked, and assuming that a cargo record has been identified as a follower manifest, when the system stores the follower information, the desired outcome is that the follower manifest's ccn key is stored in the follower manifest array at the current index position, and the index counter is incremented by 1.
💻 Technical Criteria
Given
A cargo record has been identified as a follower manifest
When
The system stores the follower information
Then
The follower manifest's CCN key is stored in the follower manifest array at the current index position, and the index counter is incremented by 1
R-GCX126-cbl-00537
End of Database OR Index > 100?
Policy Rules
📊 Business Logic Narrative
When the process 'End of Database OR Index > 100?' is invoked, and assuming that the system is collecting follower manifest ccns, when the system checks whether to continue retrieving more cargo records, the desired outcome is that if the end of database is reached or the index counter exceeds 100, the collection process stops; otherwise, the system continues to retrieve the next cargo record.
💻 Technical Criteria
Given
The system is collecting follower manifest CCNs
When
The system checks whether to continue retrieving more cargo records
Then
If the end of database is reached OR the index counter exceeds 100, the collection process stops; otherwise, the system continues to retrieve the next cargo record
R-GCX126-cbl-00538
Subtract 1 from Index
Computation Rules
📊 Business Logic Narrative
When the process 'Subtract 1 from Index' is invoked, and assuming that the system has completed collecting follower manifest ccns, when the collection loop terminates, the desired outcome is that the index counter is decremented by 1 to convert from a 1-based counter to the actual count of follower manifests stored in the array.
💻 Technical Criteria
Given
The system has completed collecting follower manifest CCNs
When
The collection loop terminates
Then
The index counter is decremented by 1 to convert from a 1-based counter to the actual count of follower manifests stored in the array
R-GCX126-cbl-00540
Set Loop Counter J to 1
Process Rules
📊 Business Logic Narrative
When the process 'Set Loop Counter J to 1' is invoked, and assuming that at least one follower manifest ccn has been collected in the array, when the system prepares to update follower manifests, the desired outcome is that the loop counter j is set to 1 to begin processing from the first follower manifest in the array.
💻 Technical Criteria
Given
At least one follower manifest CCN has been collected in the array
When
The system prepares to update follower manifests
Then
The loop counter J is set to 1 to begin processing from the first follower manifest in the array
R-GCX126-cbl-00541
Follower CCN Empty OR J > Index?
Decision Rules
📊 Business Logic Narrative
When the process 'Follower CCN Empty OR J > Index?' is invoked, and assuming that the system is iterating through the follower manifest array, when the system checks whether to process the next follower manifest, the desired outcome is that if the current follower ccn position is empty (spaces or low-values) or the loop counter j exceeds the total count of follower manifests (index), the update loop terminates; otherwise, processing continues with the current follower ccn.
💻 Technical Criteria
Given
The system is iterating through the follower manifest array
When
The system checks whether to process the next follower manifest
Then
If the current follower CCN position is empty (spaces or low-values) OR the loop counter J exceeds the total count of follower manifests (Index), the update loop terminates; otherwise, processing continues with the current follower CCN
R-GCX126-cbl-00542
Get Follower CCN from Array
Process Rules
📊 Business Logic Narrative
When the process 'Get Follower CCN from Array' is invoked, and assuming that the loop counter j points to a valid position in the follower manifest array, when the system prepares to update a follower manifest, the desired outcome is that the follower manifest ccn at position j is retrieved from the array and set as the search key for cargo record retrieval.
💻 Technical Criteria
Given
The loop counter J points to a valid position in the follower manifest array
When
The system prepares to update a follower manifest
Then
The follower manifest CCN at position J is retrieved from the array and set as the search key for cargo record retrieval
R-GCX126-cbl-00543
Retrieve Follower Cargo Record by CCN
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Follower Cargo Record by CCN' is invoked, and assuming that a follower manifest ccn has been retrieved from the array, when the system requests the cargo record using the get hold update function with the follower ccn as the key, the desired outcome is that the follower cargo record is retrieved from the cargo table and locked for update.
💻 Technical Criteria
Given
A follower manifest CCN has been retrieved from the array
When
The system requests the cargo record using the Get Hold Update function with the follower CCN as the key
Then
The follower cargo record is retrieved from the cargo table and locked for update
R-GCX126-cbl-00544
Cargo Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Cargo Found?' is invoked, and assuming that the system has attempted to retrieve a follower cargo record by ccn, when the system evaluates the retrieval result, the desired outcome is that if the cargo record is found (cargo-found flag is true), the system proceeds to update the border arrival acknowledgment; otherwise, the system skips to the next follower manifest.
💻 Technical Criteria
Given
The system has attempted to retrieve a follower cargo record by CCN
When
The system evaluates the retrieval result
Then
If the cargo record is found (cargo-found flag is true), the system proceeds to update the border arrival acknowledgment; otherwise, the system skips to the next follower manifest
R-GCX126-cbl-00545
Log Border Arrival Message: '350 ACK - ARRIVAL ACK AT BORDER'
Process Rules
📊 Business Logic Narrative
When the process 'Log Border Arrival Message: '350 ACK - ARRIVAL ACK AT BORDER'' is invoked, and assuming that a follower cargo record has been successfully retrieved, when the system prepares to update the border arrival status, the desired outcome is that an information message '350 ack - arrival ack at border' is logged to the cargo history with the current follower ccn as the reference.
💻 Technical Criteria
Given
A follower cargo record has been successfully retrieved
When
The system prepares to update the border arrival status
Then
An information message '350 ACK - ARRIVAL ACK AT BORDER' is logged to the cargo history with the current follower CCN as the reference
R-GCX126-cbl-00548
Increment Loop Counter J
Process Rules
📊 Business Logic Narrative
When the process 'Increment Loop Counter J' is invoked, and assuming that a follower manifest has been processed (either updated or skipped), when the system prepares to process the next follower, the desired outcome is that the loop counter j is incremented by 1 to point to the next follower manifest ccn in the array.
💻 Technical Criteria
Given
A follower manifest has been processed (either updated or skipped)
When
The system prepares to process the next follower
Then
The loop counter J is incremented by 1 to point to the next follower manifest CCN in the array
R-GCX126-cbl-00746
Set Accept Status to 'GEGB'
Process Rules
📊 Business Logic Narrative
When the process 'Set Accept Status to 'GEGB'' is invoked, and assuming that a request to retrieve the next us cargo record from the database, when the system prepares to execute a get next operation, the desired outcome is that the system sets accept status to 'gegb', segment type to gcsusrt, function to gn (get next), index type to car-wb (car id and waybill), and operator to '>' (greater than).
💻 Technical Criteria
Given
A request to retrieve the next US cargo record from the database
When
The system prepares to execute a Get Next operation
Then
The system sets Accept Status to 'GEGB', Segment Type to GCSUSRT, Function to GN (Get Next), Index Type to CAR-WB (Car ID and Waybill), and Operator to '>' (greater than)
R-GCX126-cbl-00747
Call GCCUSIO to Get Next Record
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCUSIO to Get Next Record' is invoked, and assuming that query parameters are set with accept status 'gegb', segment gcsusrt, function gn, index car-wb, and operator '>', when the system calls gccusio program, the desired outcome is that the system retrieves the next us cargo record from gcsusrt table based on car id and waybill index.
💻 Technical Criteria
Given
Query parameters are set with Accept Status 'GEGB', Segment GCSUSRT, Function GN, Index CAR-WB, and Operator '>'
When
The system calls GCCUSIO program
Then
The system retrieves the next US cargo record from GCSUSRT table based on Car ID and Waybill index
R-GCX126-cbl-00749
Car ID and Waybill Match?
Validation Rules
📊 Business Logic Narrative
When the process 'Car ID and Waybill Match?' is invoked, and assuming that a us cargo record has been successfully retrieved from the database with current car id key and saved waybill index, when the system compares the retrieved record's car id (first 12 characters) and waybill number against the current processing context, the desired outcome is that if both car id (first 12 characters of rt073-car-id-num-index) equals current car id key and rt073-wb-num-index equals saved waybill index, the record matches and processing continues; otherwise, set end of database flag to indicate no matching records found.
💻 Technical Criteria
Given
A US cargo record has been successfully retrieved from the database with current Car ID key and saved Waybill index
When
The system compares the retrieved record's Car ID (first 12 characters) and Waybill number against the current processing context
Then
If both Car ID (first 12 characters of RT073-CAR-ID-NUM-INDEX) equals current Car ID key AND RT073-WB-NUM-INDEX equals saved Waybill index, the record matches and processing continues; otherwise, set End of Database flag to indicate no matching records found
R-GCX126-cbl-00750
Cargo Deleted or TR Created?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Deleted or TR Created?' is invoked, and assuming that a matching us cargo record has been found based on car id and waybill, when the system checks the cargo record's deletion status and train creation indicator, the desired outcome is that if cargo is marked as deleted (rt10-cpcargo-deleted is true) or train has already been created for it (tr-created-for-it equals 'y'), skip this record and continue to next; otherwise, set us manifest found flag to indicate a valid record has been located.
💻 Technical Criteria
Given
A matching US cargo record has been found based on Car ID and Waybill
When
The system checks the cargo record's deletion status and train creation indicator
Then
If cargo is marked as deleted (RT10-CPCARGO-DELETED is true) OR train has already been created for it (TR-CREATED-FOR-IT equals 'Y'), skip this record and continue to next; otherwise, set US Manifest Found flag to indicate a valid record has been located
R-GCX126-cbl-00752
Set End of Database Flag
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set End of Database Flag', assuming that a us cargo record has been successfully retrieved from the database, when the retrieved record's car id (first 12 characters) does not equal current car id key or waybill number does not equal saved waybill index, the desired outcome is that the system sets the end of database flag to true to stop further record retrieval attempts as no more matching records exist.
💻 Technical Criteria
EXCLUDING
A US cargo record has been successfully retrieved from the database
When
The retrieved record's Car ID (first 12 characters) does not equal current Car ID key OR Waybill number does not equal saved Waybill index
Then
The system sets the End of Database flag to true to stop further record retrieval attempts as no more matching records exist
R-GCX126-cbl-00753
Set US Manifest Found Flag
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set US Manifest Found Flag', assuming that a us cargo record matches the current car id and waybill and is not deleted and does not have a train created for it, when the system completes all validation checks successfully, the desired outcome is that the system sets the us manifest found flag to true to indicate a valid record is available for processing.
💻 Technical Criteria
EXCLUDING
A US cargo record matches the current Car ID and Waybill AND is not deleted AND does not have a train created for it
When
The system completes all validation checks successfully
Then
The system sets the US Manifest Found flag to true to indicate a valid record is available for processing
R-GCX126-cbl-00136
Retrieve Cargo Record by CCN
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Cargo Record by CCN' is invoked, and assuming that a ccn (cargo control number) is provided in the ccrt-ssaq key value and a2rt-ssaq key value, when the system performs a get hold unique operation on the cargo database using the ccn key, the desired outcome is that the cargo record segment (gccc-cargo-report-segment) is retrieved if it exists, and the cargo status switches are set to indicate whether the cargo was found, deleted, or has other status conditions.
💻 Technical Criteria
Given
A CCN (Cargo Control Number) is provided in the CCRT-SSAQ key value and A2RT-SSAQ key value
When
The system performs a Get Hold Unique operation on the cargo database using the CCN key
Then
The cargo record segment (GCCC-CARGO-REPORT-SEGMENT) is retrieved if it exists, and the cargo status switches are set to indicate whether the cargo was found, deleted, or has other status conditions
R-GCX126-cbl-00137
Cargo Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Cargo Found?' is invoked, and assuming that a cargo retrieval operation has been performed using the ccn, when the system evaluates the cargo status switches after the database call, the desired outcome is that if ws-cargo-found is true, the system proceeds with border arrival updates; otherwise, the process terminates without updates.
💻 Technical Criteria
Given
A cargo retrieval operation has been performed using the CCN
When
The system evaluates the cargo status switches after the database call
Then
If WS-CARGO-FOUND is true, the system proceeds with border arrival updates; otherwise, the process terminates without updates
R-GCX126-cbl-00139
Log Message: '350 ACK - ARRIVAL ACK AT BORDER'
Process Rules
📊 Business Logic Narrative
When the process 'Log Message: '350 ACK - ARRIVAL ACK AT BORDER'' is invoked, and assuming that a cargo record has been identified for border arrival acknowledgment and the current ccn key is stored in ws-current-ccn-key, when the system prepares to log the border arrival event, the desired outcome is that the message '350 ack - arrival ack at border' is moved to ws-gcx105-info-msg, the log information is populated with current machine date, time, user id, and ccn, the action code is set to log-use-input-message, the cargo type is set to gcx105-ca-cargo, and the gct1051e transaction is spawned to create the log entry.
💻 Technical Criteria
Given
A cargo record has been identified for border arrival acknowledgment and the current CCN key is stored in WS-CURRENT-CCN-KEY
When
The system prepares to log the border arrival event
Then
The message '350 ACK - ARRIVAL ACK AT BORDER' is moved to WS-GCX105-INFO-MSG, the log information is populated with current machine date, time, user ID, and CCN, the action code is set to LOG-USE-INPUT-MESSAGE, the cargo type is set to GCX105-CA-CARGO, and the GCT1051E transaction is spawned to create the log entry
R-GCX126-cbl-00143
Set Search Key to Master CCN
Process Rules
📊 Business Logic Narrative
When the process 'Set Search Key to Master CCN' is invoked, and assuming that the follower manifest array has been initialized and the cargo is a master manifest, when the system prepares to search for follower manifests, the desired outcome is that set the database search key (gcb0rt-ccn-key) to the master manifest's ccn key (gccc-ccn-key).
💻 Technical Criteria
Given
The follower manifest array has been initialized and the cargo is a master manifest
When
The system prepares to search for follower manifests
Then
Set the database search key (GCB0RT-CCN-KEY) to the master manifest's CCN key (GCCC-CCN-KEY)
R-GCX126-cbl-00144
Get Next Cargo Record from Database
Action Rules
📊 Business Logic Narrative
When the process 'Get Next Cargo Record from Database' is invoked, and assuming that the search key has been set to the master ccn and the system is ready to retrieve cargo records, when the system executes a get next database call, the desired outcome is that retrieve the next cargo report segment from the database using pcb7 with qualified ssa for b0rt segment.
💻 Technical Criteria
Given
The search key has been set to the master CCN and the system is ready to retrieve cargo records
When
The system executes a Get Next database call
Then
Retrieve the next cargo report segment from the database using PCB7 with qualified SSA for B0RT segment
R-GCX126-cbl-00146
Master CCN Matches?
Validation Rules
📊 Business Logic Narrative
When the process 'Master CCN Matches?' is invoked, and assuming that a cargo record has been successfully retrieved from the database, when the system compares the retrieved cargo's master manifest ccn (gccc-master-mfst-ccn) with the original release reference id (x4-01-cbsa-rel-ref-id first 25 characters), the desired outcome is that if master ccns do not match, set end-of-database flag to true and stop retrieval; if master ccns match, proceed to check if the record is a follower manifest.
💻 Technical Criteria
Given
A cargo record has been successfully retrieved from the database
When
The system compares the retrieved cargo's master manifest CCN (GCCC-MASTER-MFST-CCN) with the original release reference ID (X4-01-CBSA-REL-REF-ID first 25 characters)
Then
If master CCNs do NOT match, set end-of-database flag to true and stop retrieval; If master CCNs match, proceed to check if the record is a follower manifest
R-GCX126-cbl-00147
Is Follower Manifest?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Follower Manifest?' is invoked, and assuming that a cargo record has been retrieved and its master ccn matches the search criteria, when the system checks if the cargo is a follower manifest (gccc-follower-mfst), the desired outcome is that if cargo is a follower manifest, store its ccn in the follower array; if cargo is the master manifest itself, skip storage and continue to next record.
💻 Technical Criteria
Given
A cargo record has been retrieved and its master CCN matches the search criteria
When
The system checks if the cargo is a follower manifest (GCCC-FOLLOWER-MFST)
Then
If cargo is a follower manifest, store its CCN in the follower array; If cargo is the master manifest itself, skip storage and continue to next record
R-GCX126-cbl-00148
Store Follower CCN in Array Position I, Increment I
Process Rules
📊 Business Logic Narrative
When the process 'Store Follower CCN in Array Position I, Increment I' is invoked, and assuming that a cargo record has been identified as a follower manifest, when the system stores the follower information, the desired outcome is that move the follower's ccn key (gccc-ccn-key) to the follower manifest array at position i (ws-follower-mani(i)) and add 1 to index i.
💻 Technical Criteria
Given
A cargo record has been identified as a follower manifest
When
The system stores the follower information
Then
Move the follower's CCN key (GCCC-CCN-KEY) to the follower manifest array at position I (WS-FOLLOWER-MANI(I)) and add 1 to index I
R-GCX126-cbl-00149
I > 100?
Validation Rules
📊 Business Logic Narrative
When the process 'I > 100?' is invoked, and assuming that a follower ccn has been stored in the array and the index has been incremented, when the system checks if index i is greater than 100, the desired outcome is that if i is greater than 100, set end-of-database flag to true and stop collecting followers; if i is 100 or less, continue retrieving next cargo record.
💻 Technical Criteria
Given
A follower CCN has been stored in the array and the index has been incremented
When
The system checks if index I is greater than 100
Then
If I is greater than 100, set end-of-database flag to true and stop collecting followers; If I is 100 or less, continue retrieving next cargo record
R-GCX126-cbl-00150
Set End of Database Flag
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set End of Database Flag', assuming that one of the following conditions is met: database status is not ok, master ccn does not match, or follower count exceeds 100, when the system needs to stop the retrieval loop, the desired outcome is that set the end-of-database flag (ws-follower-end-of-db) to true.
💻 Technical Criteria
EXCLUDING
One of the following conditions is met: database status is not OK, master CCN does not match, or follower count exceeds 100
When
The system needs to stop the retrieval loop
Then
Set the end-of-database flag (WS-FOLLOWER-END-OF-DB) to true
R-GCX126-cbl-00153
Loop Through Each Follower in Array J = 1 to Count
Process Rules
📊 Business Logic Narrative
When the process 'Loop Through Each Follower in Array J = 1 to Count' is invoked, and assuming that at least one follower manifest exists in the array, when the system begins processing followers, the desired outcome is that loop through the follower array starting at j=1, incrementing by 1 each iteration, until j exceeds the count or the follower ccn at position i is spaces or low-values or j exceeds i.
💻 Technical Criteria
Given
At least one follower manifest exists in the array
When
The system begins processing followers
Then
Loop through the follower array starting at J=1, incrementing by 1 each iteration, until J exceeds the count OR the follower CCN at position I is spaces or low-values OR J exceeds I
R-GCX126-cbl-00154
Set Cargo Key to Follower CCN J
Process Rules
📊 Business Logic Narrative
When the process 'Set Cargo Key to Follower CCN J' is invoked, and assuming that the system is processing follower at array position j, when the system prepares to retrieve the follower cargo record, the desired outcome is that move the follower ccn from array position j (ws-follower-mani(j)) to both ccrt-ssaq key value and a2rt-ssaq key value.
💻 Technical Criteria
Given
The system is processing follower at array position J
When
The system prepares to retrieve the follower cargo record
Then
Move the follower CCN from array position J (WS-FOLLOWER-MANI(J)) to both CCRT-SSAQ key value and A2RT-SSAQ key value
R-GCX126-cbl-00155
Retrieve Follower Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Follower Cargo Record' is invoked, and assuming that the follower ccn has been set as the database key, when the system retrieves the follower cargo record, the desired outcome is that execute get hold unique (ghu) call to retrieve the cargo report segment from the database using the follower's ccn key.
💻 Technical Criteria
Given
The follower CCN has been set as the database key
When
The system retrieves the follower cargo record
Then
Execute Get Hold Unique (GHU) call to retrieve the cargo report segment from the database using the follower's CCN key
R-GCX126-cbl-00157
Log Message: '350 ACK - ARRIVAL ACK AT BORDER'
Process Rules
📊 Business Logic Narrative
When the process 'Log Message: '350 ACK - ARRIVAL ACK AT BORDER'' is invoked, and assuming that the border arrival acknowledgment flag has been set for the follower, when the system logs the border arrival event, the desired outcome is that create a log entry with message '350 ack - arrival ack at border', current ccn key, current date and time, and action code 'zzz' for canadian cargo type.
💻 Technical Criteria
Given
The border arrival acknowledgment flag has been set for the follower
When
The system logs the border arrival event
Then
Create a log entry with message '350 ACK - ARRIVAL ACK AT BORDER', current CCN key, current date and time, and action code 'ZZZ' for Canadian cargo type
R-GCX126-cbl-00550
Set Master CCN Key from Current Cargo Record
Process Rules
📊 Business Logic Narrative
When the process 'Set Master CCN Key from Current Cargo Record' is invoked, and assuming that a cargo record has been identified as a master manifest with a valid ccn key, when the system prepares to search for follower manifests, the desired outcome is that the master manifest's ccn key is set as the search criterion for retrieving related follower manifests from the cargo database.
💻 Technical Criteria
Given
A cargo record has been identified as a master manifest with a valid CCN key
When
The system prepares to search for follower manifests
Then
The master manifest's CCN key is set as the search criterion for retrieving related follower manifests from the cargo database
R-GCX126-cbl-00551
Get Next Cargo Record Using Master CCN Key
Action Rules
📊 Business Logic Narrative
When the process 'Get Next Cargo Record Using Master CCN Key' is invoked, and assuming that a master ccn key has been established as the search criterion, when the system requests the next cargo record from the database, the desired outcome is that the database returns the next cargo record where the master manifest ccn matches the search key, and the database status code is set to indicate success or failure.
💻 Technical Criteria
Given
A master CCN key has been established as the search criterion
When
The system requests the next cargo record from the database
Then
The database returns the next cargo record where the master manifest CCN matches the search key, and the database status code is set to indicate success or failure
R-GCX126-cbl-00553
Master CCN Matches?
Validation Rules
📊 Business Logic Narrative
When the process 'Master CCN Matches?' is invoked, and assuming that a cargo record has been successfully retrieved from the database, when the system compares the retrieved record's master manifest ccn with the search key, the desired outcome is that if the master manifest ccn in the retrieved record equals the search key, processing continues to check if it is a follower; otherwise, the end-of-database flag is set to terminate the retrieval loop.
💻 Technical Criteria
Given
A cargo record has been successfully retrieved from the database
When
The system compares the retrieved record's master manifest CCN with the search key
Then
If the master manifest CCN in the retrieved record equals the search key, processing continues to check if it is a follower; otherwise, the end-of-database flag is set to terminate the retrieval loop
R-GCX126-cbl-00554
Is Follower Manifest?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Follower Manifest?' is invoked, and assuming that a cargo record has been retrieved and its master ccn has been verified to match the search key, when the system checks the manifest type indicator of the cargo record, the desired outcome is that if the cargo record is identified as a follower manifest, its ccn is stored in the follower array; if it is the master manifest itself, the system skips storage and checks the array size limit.
💻 Technical Criteria
Given
A cargo record has been retrieved and its master CCN has been verified to match the search key
When
The system checks the manifest type indicator of the cargo record
Then
If the cargo record is identified as a follower manifest, its CCN is stored in the follower array; if it is the master manifest itself, the system skips storage and checks the array size limit
R-GCX126-cbl-00555
Store Follower CCN in Array Position I
Process Rules
📊 Business Logic Narrative
When the process 'Store Follower CCN in Array Position I' is invoked, and assuming that a cargo record has been confirmed as a follower manifest with a valid ccn, when the system stores the follower information, the desired outcome is that the follower manifest's ccn is moved to the array position indicated by the current index value i.
💻 Technical Criteria
Given
A cargo record has been confirmed as a follower manifest with a valid CCN
When
The system stores the follower information
Then
The follower manifest's CCN is moved to the array position indicated by the current index value I
R-GCX126-cbl-00556
Increment Index I
Process Rules
📊 Business Logic Narrative
When the process 'Increment Index I' is invoked, and assuming that a follower manifest ccn has been successfully stored in the array, when the system prepares to process the next potential follower, the desired outcome is that the array index i is incremented by 1.
💻 Technical Criteria
Given
A follower manifest CCN has been successfully stored in the array
When
The system prepares to process the next potential follower
Then
The array index I is incremented by 1
R-GCX126-cbl-00557
Index I > 100?
Validation Rules
📊 Business Logic Narrative
When the process 'Index I > 100?' is invoked, and assuming that the array index i has been incremented after storing a follower ccn or skipping a master record, when the system checks the current value of index i, the desired outcome is that if index i is greater than 100, the end-of-database flag is set to terminate the retrieval loop; otherwise, the system continues to retrieve the next cargo record.
💻 Technical Criteria
Given
The array index I has been incremented after storing a follower CCN or skipping a master record
When
The system checks the current value of index I
Then
If index I is greater than 100, the end-of-database flag is set to terminate the retrieval loop; otherwise, the system continues to retrieve the next cargo record
R-GCX126-cbl-00558
Set End of Database Flag
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set End of Database Flag', assuming that one of the following conditions has occurred: database status is not ok, master ccn does not match, or the follower array limit has been exceeded, when the system sets the end-of-database flag, the desired outcome is that the end-of-database flag is set to true, which will cause the retrieval loop to terminate.
💻 Technical Criteria
EXCLUDING
One of the following conditions has occurred: database status is not OK, master CCN does not match, or the follower array limit has been exceeded
When
The system sets the end-of-database flag
Then
The end-of-database flag is set to true, which will cause the retrieval loop to terminate
R-GCX126-cbl-00755
Set Master CCN Key from Current Cargo
Process Rules
📊 Business Logic Narrative
When the process 'Set Master CCN Key from Current Cargo' is invoked, and assuming that a master manifest cargo record with a valid ccn key is currently loaded, when the system prepares to search for follower manifests, the desired outcome is that the master manifest's ccn key is stored as the search reference key for subsequent follower manifest retrieval.
💻 Technical Criteria
Given
A master manifest cargo record with a valid CCN key is currently loaded
When
The system prepares to search for follower manifests
Then
The master manifest's CCN key is stored as the search reference key for subsequent follower manifest retrieval
R-GCX126-cbl-00758
Set Index I to 1
Process Rules
📊 Business Logic Narrative
When the process 'Set Index I to 1' is invoked, and assuming that the follower manifest array has been initialized, when the system prepares to store follower manifest ccns, the desired outcome is that the array index counter is set to 1 to point to the first available storage position.
💻 Technical Criteria
Given
The follower manifest array has been initialized
When
The system prepares to store follower manifest CCNs
Then
The array index counter is set to 1 to point to the first available storage position
R-GCX126-cbl-00760
Call CIMS with GN Function to Get Next Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Call CIMS with GN Function to Get Next Cargo Record' is invoked, and assuming that the database access is initialized with 'gegb' status and the master ccn key is set and the search should continue, when the system requests the next cargo record, the desired outcome is that the database management system retrieves the next cargo record in the hierarchy using the gn (get next) function with the master ccn qualification.
💻 Technical Criteria
Given
The database access is initialized with 'GEGB' status AND the master CCN key is set AND the search should continue
When
The system requests the next cargo record
Then
The database management system retrieves the next cargo record in the hierarchy using the GN (Get Next) function with the master CCN qualification
R-GCX126-cbl-00762
Master CCN Matches Current CCN?
Validation Rules
📊 Business Logic Narrative
When the process 'Master CCN Matches Current CCN?' is invoked, and assuming that a cargo record has been successfully retrieved from the database and the master ccn key is known, when the system validates the cargo record's master manifest association, the desired outcome is that if the retrieved cargo's master manifest ccn matches the stored master ccn key, the record is validated for further processing, otherwise the end-of-database flag is set.
💻 Technical Criteria
Given
A cargo record has been successfully retrieved from the database AND the master CCN key is known
When
The system validates the cargo record's master manifest association
Then
If the retrieved cargo's master manifest CCN matches the stored master CCN key, the record is validated for further processing, otherwise the end-of-database flag is set
R-GCX126-cbl-00763
Is Follower Manifest?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Follower Manifest?' is invoked, and assuming that a cargo record has been retrieved and validated as belonging to the current master manifest, when the system checks the cargo record's manifest type, the desired outcome is that if the cargo is a follower manifest, its ccn is stored in the array, if it is a master manifest, it is skipped and the loop continues.
💻 Technical Criteria
Given
A cargo record has been retrieved AND validated as belonging to the current master manifest
When
The system checks the cargo record's manifest type
Then
If the cargo is a follower manifest, its CCN is stored in the array, if it is a master manifest, it is skipped and the loop continues
R-GCX126-cbl-00764
Store Follower CCN in Array at Index I
Process Rules
📊 Business Logic Narrative
When the process 'Store Follower CCN in Array at Index I' is invoked, and assuming that a cargo record has been identified as a follower manifest and the current array index is within capacity (1-100), when the system stores the follower manifest information, the desired outcome is that the follower manifest's ccn key is stored in the array at the position indicated by the current index value.
💻 Technical Criteria
Given
A cargo record has been identified as a follower manifest AND the current array index is within capacity (1-100)
When
The system stores the follower manifest information
Then
The follower manifest's CCN key is stored in the array at the position indicated by the current index value
R-GCX126-cbl-00765
Increment Index I by 1
Process Rules
📊 Business Logic Narrative
When the process 'Increment Index I by 1' is invoked, and assuming that a follower manifest ccn has been successfully stored in the array, when the system prepares for the next follower manifest, the desired outcome is that the array index counter is incremented by 1 to point to the next available storage position.
💻 Technical Criteria
Given
A follower manifest CCN has been successfully stored in the array
When
The system prepares for the next follower manifest
Then
The array index counter is incremented by 1 to point to the next available storage position
R-GCX126-cbl-00766
Set Follower End of DB Flag
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Follower End of DB Flag', assuming that either the database retrieval returned a non-blank status code or the retrieved cargo's master ccn does not match the current master ccn, when the system determines that no more valid follower manifests can be retrieved, the desired outcome is that the end-of-database flag is set to 'end of db' to terminate the search loop.
💻 Technical Criteria
EXCLUDING
Either the database retrieval returned a non-blank status code OR the retrieved cargo's master CCN does not match the current master CCN
When
The system determines that no more valid follower manifests can be retrieved
Then
The end-of-database flag is set to 'End of DB' to terminate the search loop
R-GCX126-cbl-00767
End: Return to Calling Process
Process Rules
📊 Business Logic Narrative
When the process 'End: Return to Calling Process' is invoked, and assuming that either the end-of-database has been reached or the array capacity limit of 100 has been reached or all follower manifests have been collected, when the follower manifest search loop terminates, the desired outcome is that control returns to the calling process with the follower manifest array containing all collected follower ccns (up to 100 entries).
💻 Technical Criteria
Given
Either the end-of-database has been reached OR the array capacity limit of 100 has been reached OR all follower manifests have been collected
When
The follower manifest search loop terminates
Then
Control returns to the calling process with the follower manifest array containing all collected follower CCNs (up to 100 entries)
R-GCX126-cbl-00561
Set Master CCN as Search Key
Process Rules
📊 Business Logic Narrative
When the process 'Set Master CCN as Search Key' is invoked, and assuming that a master manifest cargo record exists with a valid ccn, when the system needs to find all follower manifests associated with this master, the desired outcome is that the system sets the master manifest ccn as the search key for database retrieval.
💻 Technical Criteria
Given
A master manifest cargo record exists with a valid CCN
When
The system needs to find all follower manifests associated with this master
Then
The system sets the master manifest CCN as the search key for database retrieval
R-GCX126-cbl-00562
Initialize Follower Manifest Array
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Follower Manifest Array' is invoked, and assuming that the system is about to collect follower manifest ccns, when the collection process begins, the desired outcome is that the system clears the follower manifest array by setting all entries to spaces.
💻 Technical Criteria
Given
The system is about to collect follower manifest CCNs
When
The collection process begins
Then
The system clears the follower manifest array by setting all entries to spaces
R-GCX126-cbl-00564
Retrieve Next Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Next Cargo Record' is invoked, and assuming that a master manifest ccn is set as the search key, when the system executes a database retrieval operation, the desired outcome is that the system retrieves the next cargo record that matches or follows the master ccn in the database hierarchy.
💻 Technical Criteria
Given
A master manifest CCN is set as the search key
When
The system executes a database retrieval operation
Then
The system retrieves the next cargo record that matches or follows the master CCN in the database hierarchy
R-GCX126-cbl-00566
Master CCN Matches?
Decision Rules
📊 Business Logic Narrative
When the process 'Master CCN Matches?' is invoked, and assuming that a cargo record has been successfully retrieved from the database, when the system compares the master manifest ccn field in the retrieved record with the search key master ccn, the desired outcome is that if the master manifest ccn in the retrieved record matches the search key, the record is potentially a follower manifest and processing continues; otherwise, the system marks end of database and stops searching.
💻 Technical Criteria
Given
A cargo record has been successfully retrieved from the database
When
The system compares the master manifest CCN field in the retrieved record with the search key master CCN
Then
If the master manifest CCN in the retrieved record matches the search key, the record is potentially a follower manifest and processing continues; otherwise, the system marks end of database and stops searching
R-GCX126-cbl-00567
Is Follower Manifest?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Follower Manifest?' is invoked, and assuming that a cargo record has been retrieved and its master ccn matches the search key, when the system checks the manifest type indicator in the cargo record, the desired outcome is that if the cargo record is identified as a follower manifest (not a master manifest), it is added to the collection; if it is a master manifest, it is skipped and the system retrieves the next record.
💻 Technical Criteria
Given
A cargo record has been retrieved and its master CCN matches the search key
When
The system checks the manifest type indicator in the cargo record
Then
If the cargo record is identified as a follower manifest (not a master manifest), it is added to the collection; if it is a master manifest, it is skipped and the system retrieves the next record
R-GCX126-cbl-00568
Store Follower CCN in Array
Process Rules
📊 Business Logic Narrative
When the process 'Store Follower CCN in Array' is invoked, and assuming that a cargo record has been identified as a follower manifest, when the system needs to collect this follower for later processing, the desired outcome is that the system stores the follower manifest ccn in the array at the position indicated by the current counter value.
💻 Technical Criteria
Given
A cargo record has been identified as a follower manifest
When
The system needs to collect this follower for later processing
Then
The system stores the follower manifest CCN in the array at the position indicated by the current counter value
R-GCX126-cbl-00569
Increment Counter
Process Rules
📊 Business Logic Narrative
When the process 'Increment Counter' is invoked, and assuming that a follower manifest ccn has been stored in the array, when the system prepares to continue searching for more followers, the desired outcome is that the system adds 1 to the counter variable to move to the next array position.
💻 Technical Criteria
Given
A follower manifest CCN has been stored in the array
When
The system prepares to continue searching for more followers
Then
The system adds 1 to the counter variable to move to the next array position
R-GCX126-cbl-00570
Counter > 100?
Validation Rules
📊 Business Logic Narrative
When the process 'Counter > 100?' is invoked, and assuming that the counter has been incremented after storing a follower manifest ccn, when the system checks if the maximum limit has been reached, the desired outcome is that if the counter exceeds 100, the system stops searching for more followers and proceeds to calculate the total count; otherwise, it continues retrieving the next cargo record.
💻 Technical Criteria
Given
The counter has been incremented after storing a follower manifest CCN
When
The system checks if the maximum limit has been reached
Then
If the counter exceeds 100, the system stops searching for more followers and proceeds to calculate the total count; otherwise, it continues retrieving the next cargo record
R-GCX126-cbl-00571
End of Database?
Decision Rules
📊 Business Logic Narrative
When the process 'End of Database?' is invoked, and assuming that the system has attempted to retrieve a cargo record, when the database operation returns a non-blank status code or the master ccn no longer matches, the desired outcome is that the system sets the end-of-database flag and stops searching for more follower manifests.
💻 Technical Criteria
Given
The system has attempted to retrieve a cargo record
When
The database operation returns a non-blank status code or the master CCN no longer matches
Then
The system sets the end-of-database flag and stops searching for more follower manifests
R-GCX126-cbl-00574
Get Next Follower CCN from Array
Process Rules
📊 Business Logic Narrative
When the process 'Get Next Follower CCN from Array' is invoked, and assuming that at least one follower manifest ccn exists in the collection array, when the system begins or continues the update process, the desired outcome is that the system retrieves the next follower manifest ccn from the array based on the current iteration position.
💻 Technical Criteria
Given
At least one follower manifest CCN exists in the collection array
When
The system begins or continues the update process
Then
The system retrieves the next follower manifest CCN from the array based on the current iteration position
R-GCX126-cbl-00575
Retrieve Follower Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Follower Cargo Record' is invoked, and assuming that a follower manifest ccn has been retrieved from the collection array, when the system needs to update the follower manifest, the desired outcome is that the system retrieves the complete cargo record from the database using the follower ccn as the key.
💻 Technical Criteria
Given
A follower manifest CCN has been retrieved from the collection array
When
The system needs to update the follower manifest
Then
The system retrieves the complete cargo record from the database using the follower CCN as the key
R-GCX126-cbl-00576
Cargo Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Found?' is invoked, and assuming that the system has attempted to retrieve a follower cargo record by ccn, when the system checks if the cargo record was found, the desired outcome is that if the cargo record is found, the system proceeds with logging and updating; if not found, the system skips to the next follower in the collection.
💻 Technical Criteria
Given
The system has attempted to retrieve a follower cargo record by CCN
When
The system checks if the cargo record was found
Then
If the cargo record is found, the system proceeds with logging and updating; if not found, the system skips to the next follower in the collection
R-GCX126-cbl-00577
Log Border Arrival Message: '350 ACK - ARRIVAL ACK AT BORDER'
Process Rules
📊 Business Logic Narrative
When the process 'Log Border Arrival Message: '350 ACK - ARRIVAL ACK AT BORDER'' is invoked, and assuming that a follower manifest cargo record has been successfully retrieved, when the system prepares to update the cargo record with border arrival acknowledgment, the desired outcome is that the system creates a log entry with the message '350 ack - arrival ack at border' associated with the follower manifest ccn.
💻 Technical Criteria
Given
A follower manifest cargo record has been successfully retrieved
When
The system prepares to update the cargo record with border arrival acknowledgment
Then
The system creates a log entry with the message '350 ACK - ARRIVAL ACK AT BORDER' associated with the follower manifest CCN
R-GCX126-cbl-00580
More Followers to Process?
Decision Rules
📊 Business Logic Narrative
When the process 'More Followers to Process?' is invoked, and assuming that one follower manifest has been processed (either updated or skipped), when the system checks the iteration status, the desired outcome is that if there are more follower ccns in the array that have not been processed (not spaces or low-values), the system retrieves the next follower ccn; otherwise, the process completes.
💻 Technical Criteria
Given
One follower manifest has been processed (either updated or skipped)
When
The system checks the iteration status
Then
If there are more follower CCNs in the array that have not been processed (not spaces or low-values), the system retrieves the next follower CCN; otherwise, the process completes
R-GCX126-cbl-00768
Initialize Loop Counter I = 1
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Loop Counter I = 1' is invoked, and assuming that a master manifest ccn has been identified for processing, when the system begins to retrieve follower manifests, the desired outcome is that the loop counter i is set to 1 and the follower manifest array is initialized to spaces.
💻 Technical Criteria
Given
A master manifest CCN has been identified for processing
When
The system begins to retrieve follower manifests
Then
The loop counter I is set to 1 and the follower manifest array is initialized to spaces
R-GCX126-cbl-00770
Call CIMS with GN Function
Action Rules
📊 Business Logic Narrative
When the process 'Call CIMS with GN Function' is invoked, and assuming that the accept status is set to 'gegb' and the master ccn key is positioned, when the cims program is called with gn (get next) function using pcb7 and qualified ssa for master ccn, the desired outcome is that the next cargo report segment is retrieved into the cargo report segment area.
💻 Technical Criteria
Given
The accept status is set to 'GEGB' and the master CCN key is positioned
When
The CIMS program is called with GN (Get Next) function using PCB7 and qualified SSA for master CCN
Then
The next cargo report segment is retrieved into the cargo report segment area
R-GCX126-cbl-00772
Master CCN Matches Saved CCN?
Decision Rules
📊 Business Logic Narrative
When the process 'Master CCN Matches Saved CCN?' is invoked, and assuming that a cargo record has been successfully retrieved from the database, when the master manifest ccn field of the retrieved record is compared to the saved ccn, the desired outcome is that if the master manifest ccn equals the saved ccn, continue processing; otherwise set end of database flag to true.
💻 Technical Criteria
Given
A cargo record has been successfully retrieved from the database
When
The master manifest CCN field of the retrieved record is compared to the saved CCN
Then
If the master manifest CCN equals the saved CCN, continue processing; otherwise set end of database flag to true
R-GCX126-cbl-00773
Is Follower Manifest?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Follower Manifest?' is invoked, and assuming that a cargo record with matching master ccn has been retrieved, when the manifest type indicator is evaluated, the desired outcome is that if the record is a follower manifest (not a master), store its ccn; if it is a master manifest, skip and continue to next record.
💻 Technical Criteria
Given
A cargo record with matching master CCN has been retrieved
When
The manifest type indicator is evaluated
Then
If the record is a follower manifest (not a master), store its CCN; if it is a master manifest, skip and continue to next record
R-GCX126-cbl-00774
Store Follower CCN in Array Position I
Process Rules
📊 Business Logic Narrative
When the process 'Store Follower CCN in Array Position I' is invoked, and assuming that a follower manifest record has been identified, when the ccn needs to be stored for later processing, the desired outcome is that the cargo ccn key is moved to the follower manifest array at position i.
💻 Technical Criteria
Given
A follower manifest record has been identified
When
The CCN needs to be stored for later processing
Then
The cargo CCN key is moved to the follower manifest array at position I
R-GCX126-cbl-00775
Increment Counter I
Process Rules
📊 Business Logic Narrative
When the process 'Increment Counter I' is invoked, and assuming that a follower manifest ccn has been stored in the array, when the system prepares to retrieve the next follower manifest, the desired outcome is that the counter i is incremented by 1.
💻 Technical Criteria
Given
A follower manifest CCN has been stored in the array
When
The system prepares to retrieve the next follower manifest
Then
The counter I is incremented by 1
R-GCX126-cbl-00777
Set End of Database Flag
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set End of Database Flag', assuming that either the database status code is not blank or the master ccn does not match the saved ccn, when the error or mismatch condition is detected, the desired outcome is that the end of database flag is set to true to terminate the retrieval loop.
💻 Technical Criteria
EXCLUDING
Either the database status code is not blank OR the master CCN does not match the saved CCN
When
The error or mismatch condition is detected
Then
The end of database flag is set to true to terminate the retrieval loop
R-GCX126-cbl-00184
42: Log Cargo Information Message
Action Rules
📊 Business Logic Narrative
When the process '42: Log Cargo Information Message' is invoked, and assuming that equipment information from log-line has been moved to ws-gcx105-info-msg field, when the system invokes the z150-log-cargo-info-msg procedure, the desired outcome is that the equipment information is logged to cargo history with current date, time, ccn, cargo type indicator, and action code.
💻 Technical Criteria
Given
Equipment information from LOG-LINE has been moved to WS-GCX105-INFO-MSG field
When
The system invokes the Z150-LOG-CARGO-INFO-MSG procedure
Then
The equipment information is logged to cargo history with current date, time, CCN, cargo type indicator, and action code
R-GCX126-cbl-00187
Extract CCN from M10 Segment M10-07-CCN
Process Rules
📊 Business Logic Narrative
When the process 'Extract CCN from M10 Segment M10-07-CCN' is invoked, and assuming that an edi 350 message has been parsed and m10 segment data is available, when the cargo lookup process is initiated, the desired outcome is that the ccn value from m10-07-ccn field (positions 1-25) is extracted and prepared for database search.
💻 Technical Criteria
Given
An EDI 350 message has been parsed and M10 segment data is available
When
The cargo lookup process is initiated
Then
The CCN value from M10-07-CCN field (positions 1-25) is extracted and prepared for database search
R-GCX126-cbl-00188
Set Search Keys: - CCRT-SSAQ Key = CCN - A2RT-SSAQ Key = CCN
Process Rules
📊 Business Logic Narrative
When the process 'Set Search Keys: - CCRT-SSAQ Key = CCN - A2RT-SSAQ Key = CCN' is invoked, and assuming that the ccn has been extracted from m10-07-ccn field, when database search keys need to be established, the desired outcome is that the ccn value is assigned to both ccrt-ssaq key-value and a2rt-ssaq key-value for qualified segment search.
💻 Technical Criteria
Given
The CCN has been extracted from M10-07-CCN field
When
Database search keys need to be established
Then
The CCN value is assigned to both CCRT-SSAQ KEY-VALUE and A2RT-SSAQ KEY-VALUE for qualified segment search
R-GCX126-cbl-00189
Call Database GHU Function to Retrieve Cargo
Action Rules
📊 Business Logic Narrative
When the process 'Call Database GHU Function to Retrieve Cargo' is invoked, and assuming that the search keys have been set with the ccn value, when the cargo record retrieval is executed, the desired outcome is that the system calls cims with ghu function code against gccc-pcb using ccrt-ssaq qualified search to retrieve gccc-cargo-report-segment.
💻 Technical Criteria
Given
The search keys have been set with the CCN value
When
The cargo record retrieval is executed
Then
The system calls CIMS with GHU function code against GCCC-PCB using CCRT-SSAQ qualified search to retrieve GCCC-CARGO-REPORT-SEGMENT
R-GCX126-cbl-00202
Save Cargo Data: - CCN Key - Equipment Car ID - Waybill Index - Release Information
Process Rules
📊 Business Logic Narrative
When the process 'Save Cargo Data: - CCN Key - Equipment Car ID - Waybill Index - Release Information' is invoked, and assuming that the cargo record has been successfully retrieved and status checks completed, when cargo data needs to be preserved for processing, the desired outcome is that the system saves gccc-cargo-report-segment to ws-save-gcsccrt, gccc-ccn-key to ws-current-ccn-key and ws-save-ccn, gccc-equipment-car to ws-current-carid-key, gccc-release-information to ws-save-release-information, and gccc-waybill-key-for-index to save-waybill-index.
💻 Technical Criteria
Given
The cargo record has been successfully retrieved and status checks completed
When
Cargo data needs to be preserved for processing
Then
The system saves GCCC-CARGO-REPORT-SEGMENT to WS-SAVE-GCSCCRT, GCCC-CCN-KEY to WS-CURRENT-CCN-KEY and WS-SAVE-CCN, GCCC-EQUIPMENT-CAR to WS-CURRENT-CARID-KEY, GCCC-RELEASE-INFORMATION to WS-SAVE-RELEASE-INFORMATION, and GCCC-WAYBILL-KEY-FOR-INDEX to SAVE-WAYBILL-INDEX
R-GCX126-cbl-00203
Cargo Record Found?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Cargo Record Found?', assuming that the cargo record has been found and save-waybill-index is not blank, when waybill validation is performed, the desired outcome is that if gccc-waybill-key-for-index does not equal save-waybill-index, set ws-cargo-not-wb to true; otherwise, proceed with status checks.
💻 Technical Criteria
EXCLUDING
The cargo record has been found and SAVE-WAYBILL-INDEX is not blank
When
Waybill validation is performed
Then
If GCCC-WAYBILL-KEY-FOR-INDEX does not equal SAVE-WAYBILL-INDEX, set WS-CARGO-NOT-WB to TRUE; otherwise, proceed with status checks
R-GCX126-cbl-00584
Set Cargo Not Waybill Flag
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Cargo Not Waybill Flag', assuming that cargo has been found in the database with cargo-found flag set to true, when the cargo waybill key for index does not equal the saved waybill index and the saved waybill index is not equal to space, the desired outcome is that the cargo-not-waybill indicator flag is set to true.
💻 Technical Criteria
EXCLUDING
Cargo has been found in the database with cargo-found flag set to true
When
The cargo waybill key for index does not equal the saved waybill index AND the saved waybill index is not equal to space
Then
The cargo-not-waybill indicator flag is set to true
R-GCX126-cbl-00585
Set Cargo Deleted Flag
Validation Rules
📊 Business Logic Narrative
When the process 'Set Cargo Deleted Flag' is invoked, and assuming that cargo has been found in the database and waybill validation has passed (either matched or saved index is blank), when the cargo delete status field equals 'd', the desired outcome is that the cargo-deleted indicator flag is set to true.
💻 Technical Criteria
Given
Cargo has been found in the database AND waybill validation has passed (either matched or saved index is blank)
When
The cargo delete status field equals 'D'
Then
The cargo-deleted indicator flag is set to true
R-GCX126-cbl-00586
Set Cargo Returned Flag
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Cargo Returned Flag', assuming that cargo has been found in the database and waybill validation has passed and cargo delete status is not 'd', when the cargo status indicates a return status condition, the desired outcome is that the cargo-returned indicator flag is set to true.
💻 Technical Criteria
EXCLUDING
Cargo has been found in the database AND waybill validation has passed AND cargo delete status is not 'D'
When
The cargo status indicates a return status condition
Then
The cargo-returned indicator flag is set to true
R-GCX126-cbl-00587
Set Cargo Released Flag
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Cargo Released Flag', assuming that cargo has been found in the database and waybill validation has passed and cargo delete status is not 'd', when the cargo release status field equals 'r', the desired outcome is that the cargo-released indicator flag is set to true.
💻 Technical Criteria
EXCLUDING
Cargo has been found in the database AND waybill validation has passed AND cargo delete status is not 'D'
When
The cargo release status field equals 'R'
Then
The cargo-released indicator flag is set to true
R-GCX126-cbl-00588
Set Cargo On-A-Train Flag
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Cargo On-A-Train Flag', assuming that cargo has been found in the database and waybill validation has passed and cargo delete status is not 'd', when the cargo train id field is not equal to spaces, the desired outcome is that the cargo-on-a-train indicator flag is set to true.
💻 Technical Criteria
EXCLUDING
Cargo has been found in the database AND waybill validation has passed AND cargo delete status is not 'D'
When
The cargo train ID field is not equal to spaces
Then
The cargo-on-a-train indicator flag is set to true
R-GCX126-cbl-00204
Cargo Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Cargo Found?' is invoked, and assuming that an edi 350 message has been received with a ccn (cargo control number) in the m10 segment, when the system attempts to retrieve the cargo record using the ccn, the desired outcome is that the system determines if the cargo record exists or not found in the database.
💻 Technical Criteria
Given
An EDI 350 message has been received with a CCN (Cargo Control Number) in the M10 segment
When
The system attempts to retrieve the cargo record using the CCN
Then
The system determines if the cargo record exists or not found in the database
R-GCX126-cbl-00207
Set Report Line 1: 'UNKNOWN EDI 350 RELEASE FROM CBSA' + CCN
Action Rules
📊 Business Logic Narrative
When the process 'Set Report Line 1: 'UNKNOWN EDI 350 RELEASE FROM CBSA' + CCN' is invoked, and assuming that the error report structure is initialized, when the system constructs the error message, the desired outcome is that the system sets mrln-dtl-line(01) to 'unknown edi 350 release from cbsa ' concatenated with the ccn from m10-07-ccn (first 25 characters).
💻 Technical Criteria
Given
The error report structure is initialized
When
The system constructs the error message
Then
The system sets MRLN-DTL-LINE(01) to 'UNKNOWN EDI 350 RELEASE FROM CBSA ' concatenated with the CCN from M10-07-CCN (first 25 characters)
R-GCX126-cbl-00208
Set Report Line 3: 'THIS CCN WAS NOT FOUND.'
Action Rules
📊 Business Logic Narrative
When the process 'Set Report Line 3: 'THIS CCN WAS NOT FOUND.'' is invoked, and assuming that the first line of the error message has been set, when the system continues building the error message, the desired outcome is that the system sets mrln-dtl-line(03) to 'this ccn was not found.'.
💻 Technical Criteria
Given
The first line of the error message has been set
When
The system continues building the error message
Then
The system sets MRLN-DTL-LINE(03) to 'THIS CCN WAS NOT FOUND.'
R-GCX126-cbl-00214
Check Notice Reason is DECON?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check Notice Reason is DECON?', assuming that an edi 350 message has been received and parsed with v9 segment containing notice reason code indicating decon, and the cargo lookup using the ccn from m10 segment has returned cargo not found status, when the system evaluates the cargo not found condition and the v9-02-decon notice reason code is true, the desired outcome is that the system prepares an error report with subject line 'unknown edi 350 dcon notice' followed by the ccn from m10-07-ccn field (first 25 characters), sets detail line 3 to 'this ccn was not found.', sets detail line 4 with house bill close number from x4-01-cbsa-rel-ref-id (first 25 characters) and port code from p4-01-port-cde (first 4 characters) in format 'house bill close number [value] done by port [value]', sets total lines to 5, marks message type as unknown, routes the notification to user om01247 with filename unknown, and invokes the email notification process.
💻 Technical Criteria
EXCLUDING
An EDI 350 message has been received and parsed with V9 segment containing notice reason code indicating DECON, and the cargo lookup using the CCN from M10 segment has returned cargo not found status
When
The system evaluates the cargo not found condition and the V9-02-DECON notice reason code is true
Then
The system prepares an error report with subject line 'UNKNOWN EDI 350 DCON NOTICE' followed by the CCN from M10-07-CCN field (first 25 characters), sets detail line 3 to 'THIS CCN WAS NOT FOUND.', sets detail line 4 with house bill close number from X4-01-CBSA-REL-REF-ID (first 25 characters) and port code from P4-01-PORT-CDE (first 4 characters) in format 'HOUSE BILL CLOSE NUMBER [value] DONE BY PORT [value]', sets total lines to 5, marks message type as unknown, routes the notification to user OM01247 with filename UNKNOWN, and invokes the email notification process
R-GCX126-cbl-00215
Prepare Error Report: Subject, Include CCN, Message
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Prepare Error Report: Subject, Include CCN, Message', assuming that the cargo not found condition exists and v9-02-decon notice reason code is true, when the system begins preparing the error notification, the desired outcome is that the system clears mrln-dtl-line array element 1, constructs a string 'unknown edi 350 dcon notice ' concatenated with m10-07-ccn field positions 1 through 25 and stores it in mrln-dtl-line element 1, and sets mrln-dtl-line element 3 to the literal value 'this ccn was not found.'.
💻 Technical Criteria
EXCLUDING
The cargo not found condition exists and V9-02-DECON notice reason code is true
When
The system begins preparing the error notification
Then
The system clears MRLN-DTL-LINE array element 1, constructs a string 'UNKNOWN EDI 350 DCON NOTICE ' concatenated with M10-07-CCN field positions 1 through 25 and stores it in MRLN-DTL-LINE element 1, and sets MRLN-DTL-LINE element 3 to the literal value 'THIS CCN WAS NOT FOUND.'
R-GCX126-cbl-00217
Prepare Error Report: Subject, Include CCN, Message
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Error Report: Subject, Include CCN, Message' is invoked, and assuming that all detail lines for the deconsolidation error report have been populated, when the system finalizes the error report structure, the desired outcome is that the system sets mrln-line to value 5 indicating 5 detail lines are present and sets the 88-level condition 88-z110-mrln-type-is-unknown to true.
💻 Technical Criteria
Given
All detail lines for the deconsolidation error report have been populated
When
The system finalizes the error report structure
Then
The system sets MRLN-LINE to value 5 indicating 5 detail lines are present and sets the 88-level condition 88-Z110-MRLN-TYPE-IS-UNKNOWN to true
R-GCX126-cbl-00220
Handle Unknown Cargo Entry
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Handle Unknown Cargo Entry', assuming that an edi 350 message has been processed with m10 segment containing ccn (cargo control number), v9 segment containing notice document type code and notice reason code, and the cargo lookup returned 'cargo not found' status, when the v9 notice reason code is not 'released' and not 'decon', the desired outcome is that the system prepares an error email notification with subject 'unknown edi 350 entry from cbsa' followed by the ccn, message line 1 contains 'unknown edi 350 entry from cbsa' with the ccn, message line 3 contains 'this ccn was not found.', message line 4 contains 'notice doc type: ' followed by the notice document type code, ' with reason code ' followed by the first 4 characters of the notice reason code, sets the line count to 5, sets the recipient to 'om01247', sets the email type indicator to 'unknown', and sends the email notification.
💻 Technical Criteria
EXCLUDING
An EDI 350 message has been processed with M10 segment containing CCN (Cargo Control Number), V9 segment containing notice document type code and notice reason code, and the cargo lookup returned 'cargo not found' status
When
The V9 notice reason code is NOT 'RELEASED' AND NOT 'DECON'
Then
The system prepares an error email notification with subject 'UNKNOWN EDI 350 ENTRY FROM CBSA' followed by the CCN, message line 1 contains 'UNKNOWN EDI 350 ENTRY FROM CBSA' with the CCN, message line 3 contains 'THIS CCN WAS NOT FOUND.', message line 4 contains 'NOTICE DOC TYPE: ' followed by the notice document type code, ' WITH REASON CODE ' followed by the first 4 characters of the notice reason code, sets the line count to 5, sets the recipient to 'OM01247', sets the email type indicator to 'UNKNOWN', and sends the email notification
R-GCX126-cbl-00223
Set Subject: 'UNKNOWN EDI 350 ENTRY FROM CBSA'
Process Rules
📊 Business Logic Narrative
When the process 'Set Subject: 'UNKNOWN EDI 350 ENTRY FROM CBSA'' is invoked, and assuming that an unknown cargo entry notification needs to be sent with ccn from m10 segment, when the email subject is being prepared, the desired outcome is that the system sets the email subject to 'unknown edi 350 entry from cbsa ' concatenated with the 25-character ccn from m10-07-ccn field.
💻 Technical Criteria
Given
An unknown cargo entry notification needs to be sent with CCN from M10 segment
When
The email subject is being prepared
Then
The system sets the email subject to 'UNKNOWN EDI 350 ENTRY FROM CBSA ' concatenated with the 25-character CCN from M10-07-CCN field
R-GCX126-cbl-00224
Add CCN to Message Line 1
Process Rules
📊 Business Logic Narrative
When the process 'Add CCN to Message Line 1' is invoked, and assuming that an unknown cargo entry notification is being prepared with ccn from m10 segment, when the email message body is being constructed, the desired outcome is that the system sets message detail line 1 to 'unknown edi 350 entry from cbsa ' concatenated with the first 25 characters of m10-07-ccn field.
💻 Technical Criteria
Given
An unknown cargo entry notification is being prepared with CCN from M10 segment
When
The email message body is being constructed
Then
The system sets message detail line 1 to 'UNKNOWN EDI 350 ENTRY FROM CBSA ' concatenated with the first 25 characters of M10-07-CCN field
R-GCX126-cbl-00225
Add 'THIS CCN WAS NOT FOUND' to Message Line 3
Process Rules
📊 Business Logic Narrative
When the process 'Add 'THIS CCN WAS NOT FOUND' to Message Line 3' is invoked, and assuming that an unknown cargo entry notification is being prepared, when the email message body is being constructed, the desired outcome is that the system sets message detail line 3 to 'this ccn was not found.'.
💻 Technical Criteria
Given
An unknown cargo entry notification is being prepared
When
The email message body is being constructed
Then
The system sets message detail line 3 to 'THIS CCN WAS NOT FOUND.'
R-GCX126-cbl-00231
Process Document Not Matched - Log 'DOC NOT MATCHED' message when V9 notice reason is NOT-MATCHED
Process Rules
📊 Business Logic Narrative
When the process 'Process Document Not Matched - Log 'DOC NOT MATCHED' message when V9 notice reason is NOT-MATCHED' is invoked, and assuming that a cargo record exists in the system with a valid ccn (cargo control number) and an edi 350 message has been received and parsed with a v9 segment containing a notice reason code, when the v9 segment notice reason code indicates not-matched status, the desired outcome is that the system clears the log information message variable, sets the message text to 'edi 350: doc not matched', moves the message to the log info variable, and invokes the log cargo information message process to record the message with the current ccn, current machine date, current machine time, current user id, action code for input message, and cargo type indicator.
💻 Technical Criteria
Given
A cargo record exists in the system with a valid CCN (Cargo Control Number) and an EDI 350 message has been received and parsed with a V9 segment containing a notice reason code
When
The V9 segment notice reason code indicates NOT-MATCHED status
Then
The system clears the log information message variable, sets the message text to 'EDI 350: DOC NOT MATCHED', moves the message to the log info variable, and invokes the log cargo information message process to record the message with the current CCN, current machine date, current machine time, current user ID, action code for input message, and cargo type indicator
R-GCX126-cbl-00232
Process Cargo Complete - Log 'CARGO COMPLETE MESSAGE' when V9 notice reason is CARGO-COMPLETE
Process Rules
📊 Business Logic Narrative
When the process 'Process Cargo Complete - Log 'CARGO COMPLETE MESSAGE' when V9 notice reason is CARGO-COMPLETE' is invoked, and assuming that an edi 350 message has been received and parsed, and a cargo record exists in the system matching the ccn from the m10 segment, and the v9 segment notice reason code indicates cargo-complete status, when the system processes the v9 segment with cargo-complete notice reason code, the desired outcome is that the system prepares a log message 'edi 350: cargo complete message', sets the log information with current machine date and time, the cargo ccn key, action code for input message, and cargo type as ca-cargo, and spawns a gct1051e transaction to record the message in the cargo history log.
💻 Technical Criteria
Given
An EDI 350 message has been received and parsed, and a cargo record exists in the system matching the CCN from the M10 segment, and the V9 segment notice reason code indicates CARGO-COMPLETE status
When
The system processes the V9 segment with CARGO-COMPLETE notice reason code
Then
The system prepares a log message 'EDI 350: CARGO COMPLETE MESSAGE', sets the log information with current machine date and time, the cargo CCN key, action code for input message, and cargo type as CA-CARGO, and spawns a GCT1051E transaction to record the message in the cargo history log
R-GCX126-cbl-00241
Log Cargo Information Message
Action Rules
📊 Business Logic Narrative
When the process 'Log Cargo Information Message' is invoked, and assuming that the log message has been constructed with document package complete details, when recording the document package completion event, the desired outcome is that invoke the log cargo information message process (z150-log-cargo-info-msg) to write the message to the cargo audit log with current date, time, user id, ccn, and the constructed message text.
💻 Technical Criteria
Given
The log message has been constructed with document package complete details
When
Recording the document package completion event
Then
Invoke the log cargo information message process (Z150-LOG-CARGO-INFO-MSG) to write the message to the cargo audit log with current date, time, user ID, CCN, and the constructed message text
R-GCX126-cbl-00246
Process Cargo Reported - Log 'CARGO REPORTED' message when V9 notice reason is REPORTED
Process Rules
📊 Business Logic Narrative
When the process 'Process Cargo Reported - Log 'CARGO REPORTED' message when V9 notice reason is REPORTED' is invoked, and assuming that an edi 350 message has been received and parsed with v9 segment containing notice reason code, and cargo record exists in the database with a valid ccn (cargo control number), when the v9 segment notice reason code indicates reported status, the desired outcome is that the system clears the message work area (ws-gcx105-info-msg), builds the message string 'edi 350: cargo reported', and invokes the log cargo information message process (z150-log-cargo-info-msg) to record this status change in the cargo history with the current ccn, date, time, and user information.
💻 Technical Criteria
Given
An EDI 350 message has been received and parsed with V9 segment containing notice reason code, and cargo record exists in the database with a valid CCN (Cargo Control Number)
When
The V9 segment notice reason code indicates REPORTED status
Then
The system clears the message work area (WS-GCX105-INFO-MSG), builds the message string 'EDI 350: CARGO REPORTED', and invokes the log cargo information message process (Z150-LOG-CARGO-INFO-MSG) to record this status change in the cargo history with the current CCN, date, time, and user information
R-GCX126-cbl-00249
Process Cargo Reported - Log 'CARGO REPORTED' message when V9 notice reason is REPORTED
Action Rules
📊 Business Logic Narrative
When the process 'Process Cargo Reported - Log 'CARGO REPORTED' message when V9 notice reason is REPORTED' is invoked, and assuming that the cargo reported message 'edi 350: cargo reported' has been prepared in the message work area (ws-gcx105-info-msg), and the current cargo ccn is available in ws-current-ccn-key, when the system invokes the log cargo information message process (z150-log-cargo-info-msg), the desired outcome is that the logging service records the message to cargo history with the current machine date, machine time, user id (acf2-userid), action code (log-use-input-message), cargo ccn, cargo type indicator (gcx105-ca-cargo), and the prepared message text.
💻 Technical Criteria
Given
The cargo reported message 'EDI 350: CARGO REPORTED' has been prepared in the message work area (WS-GCX105-INFO-MSG), and the current cargo CCN is available in WS-CURRENT-CCN-KEY
When
The system invokes the log cargo information message process (Z150-LOG-CARGO-INFO-MSG)
Then
The logging service records the message to cargo history with the current machine date, machine time, user ID (ACF2-USERID), action code (LOG-USE-INPUT-MESSAGE), cargo CCN, cargo type indicator (GCX105-CA-CARGO), and the prepared message text
R-GCX126-cbl-00250
Process Cargo Arrived - Log 'CARGO ARRIVED AT PORT' message when V9 notice reason is ARRIVED
Process Rules
📊 Business Logic Narrative
When the process 'Process Cargo Arrived - Log 'CARGO ARRIVED AT PORT' message when V9 notice reason is ARRIVED' is invoked, and assuming that an edi 350 message has been received and parsed with v9 segment notice reason code indicating arrived status and p4 segment containing a valid port code, when the system processes the cargo arrival status, the desired outcome is that the system prepares a log message 'edi 350: cargo arrived at port' concatenated with the 4-character port code from p4 segment, sets the current machine date and time, sets the ccn key as the cargo identifier, sets the action code to indicate input message usage, marks the log as canadian cargo type, and writes the log message to the ims message queue via gct1051e transaction.
💻 Technical Criteria
Given
An EDI 350 message has been received and parsed with V9 segment notice reason code indicating ARRIVED status and P4 segment containing a valid port code
When
The system processes the cargo arrival status
Then
The system prepares a log message 'EDI 350: CARGO ARRIVED AT PORT' concatenated with the 4-character port code from P4 segment, sets the current machine date and time, sets the CCN key as the cargo identifier, sets the action code to indicate input message usage, marks the log as Canadian cargo type, and writes the log message to the IMS message queue via GCT1051E transaction
R-GCX126-cbl-00252
Set Log Information: - Current Date/Time - CCN Key - Action Code
Process Rules
📊 Business Logic Narrative
When the process 'Set Log Information: - Current Date/Time - CCN Key - Action Code' is invoked, and assuming that a cargo arrival log message has been prepared with port information and the current ccn key is available in ws-current-ccn-key, when the system sets the log information for the arrival event, the desired outcome is that the system clears the gcx105 input area to spaces, sets the security byte to high-value, sets the sending transaction to 'gct1261e', sets the acf2 user id from the common control area, concatenates the machine century with the machine date to form gcx105-date, moves the machine time to gcx105-time, moves the current ccn key to gcx105-train-or-us-ccn, sets the cargo type indicator to canadian cargo, sets the action code to log-use-input-message, and moves the prepared arrival message from ws-gcx105-info-msg to gcx105-message.
💻 Technical Criteria
Given
A cargo arrival log message has been prepared with port information and the current CCN key is available in WS-CURRENT-CCN-KEY
When
The system sets the log information for the arrival event
Then
The system clears the GCX105 input area to spaces, sets the security byte to high-value, sets the sending transaction to 'GCT1261E', sets the ACF2 user ID from the common control area, concatenates the machine century with the machine date to form GCX105-DATE, moves the machine time to GCX105-TIME, moves the current CCN key to GCX105-TRAIN-OR-US-CCN, sets the cargo type indicator to Canadian cargo, sets the action code to LOG-USE-INPUT-MESSAGE, and moves the prepared arrival message from WS-GCX105-INFO-MSG to GCX105-MESSAGE
R-GCX126-cbl-00253
42: Log Cargo Information Message to IMS Message Queue
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '42: Log Cargo Information Message to IMS Message Queue', assuming that the gcx105 log structure has been populated with arrival event information including date, time, ccn, and message text, and the message field is not spaces or low-values, when the system writes the log entry to the message queue, the desired outcome is that the system replaces all spaces in gcx105-date with zeroes, replaces all spaces in gcx105-time with '1', moves the gcx105-input to gct1051e-msg, sets the accept status to blank, calls cims with chng function for the alternate pcb and gct1051e segment, calls writmsgl with the alternate pcb, message code, message text, message length and module name, and calls cims with purg function for the alternate pcb to commit the message.
💻 Technical Criteria
EXCLUDING
The GCX105 log structure has been populated with arrival event information including date, time, CCN, and message text, and the message field is not spaces or low-values
When
The system writes the log entry to the message queue
Then
The system replaces all spaces in GCX105-DATE with zeroes, replaces all spaces in GCX105-TIME with '1', moves the GCX105-INPUT to GCT1051E-MSG, sets the accept status to blank, calls CIMS with CHNG function for the alternate PCB and GCT1051E segment, calls WRITMSGL with the alternate PCB, message code, message text, message length and module name, and calls CIMS with PURG function for the alternate PCB to commit the message
R-GCX126-cbl-00266
Log Release Message to Cargo
Action Rules
📊 Business Logic Narrative
When the process 'Log Release Message to Cargo' is invoked, and assuming that the release log message has been constructed and the cargo ccn is known, when the system logs the release information, the desired outcome is that a log entry is created with current system date, current system time, cargo ccn as the reference, cargo type indicator set to canadian cargo, action code set to use input message, and the message set to the constructed release log message.
💻 Technical Criteria
Given
The release log message has been constructed AND the cargo CCN is known
When
The system logs the release information
Then
A log entry is created with current system date, current system time, cargo CCN as the reference, cargo type indicator set to Canadian cargo, action code set to use input message, and the message set to the constructed release log message
R-GCX126-cbl-00267
Search for Associated US Manifest: Match by Car ID, Match by Waybill Number, Verify not deleted, Verify no TR created
Process Rules
📊 Business Logic Narrative
When the process 'Search for Associated US Manifest: Match by Car ID, Match by Waybill Number, Verify not deleted, Verify no TR created' is invoked, and assuming that a canadian cargo record has been released and the cargo has an equipment car id and waybill number, when the system searches for associated us manifest, the desired outcome is that the system retrieves us cargo records where the car id number index matches the first 12 characters of the current car id and the waybill number index matches the saved waybill index and the cargo is not deleted and no train has been created for it.
💻 Technical Criteria
Given
A Canadian cargo record has been released AND the cargo has an equipment car ID and waybill number
When
The system searches for associated US manifest
Then
The system retrieves US cargo records where the car ID number index matches the first 12 characters of the current car ID AND the waybill number index matches the saved waybill index AND the cargo is not deleted AND no train has been created for it
R-GCX126-cbl-00268
US Manifest Found?
Decision Rules
📊 Business Logic Narrative
When the process 'US Manifest Found?' is invoked, and assuming that the system has searched for us cargo records matching the car id and waybill number, when the system evaluates the search results, the desired outcome is that if a us cargo record is found where car id matches and waybill matches and cargo is not deleted and no train created, then us manifest found indicator is set to true, otherwise it is set to false.
💻 Technical Criteria
Given
The system has searched for US cargo records matching the car ID and waybill number
When
The system evaluates the search results
Then
If a US cargo record is found where car ID matches AND waybill matches AND cargo is not deleted AND no train created, then US manifest found indicator is set to true, otherwise it is set to false
R-GCX126-cbl-00269
Log to US Cargo: CDN CCN RLSED BY EDI 350: canadian-ccn
Action Rules
📊 Business Logic Narrative
When the process 'Log to US Cargo: CDN CCN RLSED BY EDI 350: canadian-ccn' is invoked, and assuming that a us manifest record has been found that matches the canadian cargo's car id and waybill number, when the system logs the release to us cargo, the desired outcome is that a log entry is created with current system date, current system time, us ccn as the reference, cargo type indicator set to us cargo, action code set to use input message, and the message formatted as 'cdn ccn rlsed by edi 350: ' concatenated with the canadian cargo ccn.
💻 Technical Criteria
Given
A US manifest record has been found that matches the Canadian cargo's car ID and waybill number
When
The system logs the release to US cargo
Then
A log entry is created with current system date, current system time, US CCN as the reference, cargo type indicator set to US cargo, action code set to use input message, and the message formatted as 'CDN CCN RLSED BY EDI 350: ' concatenated with the Canadian cargo CCN
R-GCX126-cbl-00273
Retrieve All Follower Manifests for Master CCN up to 100 records
Process Rules
📊 Business Logic Narrative
When the process 'Retrieve All Follower Manifests for Master CCN up to 100 records' is invoked, and assuming that a cargo is identified as a master manifest with a specific ccn, when the system retrieves follower manifests, the desired outcome is that the system retrieves all cargo records where the master manifest ccn matches the current cargo ccn and the cargo is a follower manifest (not a master) and stores up to 100 follower ccn keys in an array and stops retrieval when end of database is reached or 100 records are retrieved.
💻 Technical Criteria
Given
A cargo is identified as a master manifest with a specific CCN
When
The system retrieves follower manifests
Then
The system retrieves all cargo records where the master manifest CCN matches the current cargo CCN AND the cargo is a follower manifest (not a master) AND stores up to 100 follower CCN keys in an array AND stops retrieval when end of database is reached OR 100 records are retrieved
R-GCX126-cbl-00274
For Each Follower Manifest
Process Rules
📊 Business Logic Narrative
When the process 'For Each Follower Manifest' is invoked, and assuming that follower manifest ccns have been retrieved and stored in an array, when the system processes follower manifests, the desired outcome is that for each follower ccn in the array from position 1 to the count of retrieved followers, the system retrieves the cargo record using the follower ccn and processes it if the ccn is not spaces or low-values.
💻 Technical Criteria
Given
Follower manifest CCNs have been retrieved and stored in an array
When
The system processes follower manifests
Then
For each follower CCN in the array from position 1 to the count of retrieved followers, the system retrieves the cargo record using the follower CCN AND processes it if the CCN is not spaces or low-values
R-GCX126-cbl-00282
Log Release Message to Follower Cargo
Action Rules
📊 Business Logic Narrative
When the process 'Log Release Message to Follower Cargo' is invoked, and assuming that the release log message has been constructed for the follower and the follower cargo ccn is known, when the system logs the release information, the desired outcome is that a log entry is created with current system date, current system time, follower cargo ccn as the reference, cargo type indicator set to canadian cargo, action code set to use input message, and the message set to the constructed release log message.
💻 Technical Criteria
Given
The release log message has been constructed for the follower AND the follower cargo CCN is known
When
The system logs the release information
Then
A log entry is created with current system date, current system time, follower cargo CCN as the reference, cargo type indicator set to Canadian cargo, action code set to use input message, and the message set to the constructed release log message
R-GCX126-cbl-00284
Find Associated US Manifest for Follower
Process Rules
📊 Business Logic Narrative
When the process 'Find Associated US Manifest for Follower' is invoked, and assuming that a follower manifest cargo record has been released and the follower has an equipment car id and waybill number, when the system searches for associated us manifest, the desired outcome is that the system retrieves us cargo records where the car id number index matches the first 12 characters of the follower's car id and the waybill number index matches the follower's waybill index and the cargo is not deleted and no train has been created for it.
💻 Technical Criteria
Given
A follower manifest cargo record has been released AND the follower has an equipment car ID and waybill number
When
The system searches for associated US manifest
Then
The system retrieves US cargo records where the car ID number index matches the first 12 characters of the follower's car ID AND the waybill number index matches the follower's waybill index AND the cargo is not deleted AND no train has been created for it
R-GCX126-cbl-00285
US Manifest Found?
Decision Rules
📊 Business Logic Narrative
When the process 'US Manifest Found?' is invoked, and assuming that the system has searched for us cargo records matching the follower's car id and waybill number, when the system evaluates the search results, the desired outcome is that if a us cargo record is found where car id matches and waybill matches and cargo is not deleted and no train created, then us manifest found indicator is set to true, otherwise it is set to false.
💻 Technical Criteria
Given
The system has searched for US cargo records matching the follower's car ID and waybill number
When
The system evaluates the search results
Then
If a US cargo record is found where car ID matches AND waybill matches AND cargo is not deleted AND no train created, then US manifest found indicator is set to true, otherwise it is set to false
R-GCX126-cbl-00286
Log to US Cargo: CDN CCN RLSED BY EDI 350
Action Rules
📊 Business Logic Narrative
When the process 'Log to US Cargo: CDN CCN RLSED BY EDI 350' is invoked, and assuming that a us manifest record has been found that matches the follower cargo's car id and waybill number, when the system logs the release to us cargo, the desired outcome is that a log entry is created with current system date, current system time, us ccn as the reference, cargo type indicator set to us cargo, action code set to use input message, and the message formatted as 'cdn ccn rlsed by edi 350: ' concatenated with the follower canadian cargo ccn.
💻 Technical Criteria
Given
A US manifest record has been found that matches the follower cargo's car ID and waybill number
When
The system logs the release to US cargo
Then
A log entry is created with current system date, current system time, US CCN as the reference, cargo type indicator set to US cargo, action code set to use input message, and the message formatted as 'CDN CCN RLSED BY EDI 350: ' concatenated with the follower Canadian cargo CCN
R-GCX126-cbl-00288
More Followers?
Decision Rules
📊 Business Logic Narrative
When the process 'More Followers?' is invoked, and assuming that a follower manifest has been processed and there is an array of follower ccns, when the system checks for more followers, the desired outcome is that if the current position in the follower array is less than the total count of followers and the next follower ccn is not spaces or low-values, then continue processing the next follower, otherwise end follower processing.
💻 Technical Criteria
Given
A follower manifest has been processed AND there is an array of follower CCNs
When
The system checks for more followers
Then
If the current position in the follower array is less than the total count of followers AND the next follower CCN is not spaces or low-values, then continue processing the next follower, otherwise end follower processing
R-GCX126-cbl-00589
Initialize Search Parameters: Set Car ID from Current Cargo, Set Waybill Index from Current Cargo, Set US CCN to Low Values
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Search Parameters: Set Car ID from Current Cargo, Set Waybill Index from Current Cargo, Set US CCN to Low Values' is invoked, and assuming that a cargo record has been processed and current cargo equipment car id and waybill index are available, when the system initiates a search for associated us manifest records, the desired outcome is that the search parameters are initialized with car id from current cargo equipment car key, waybill index from saved waybill index, and us ccn key index set to low values.
💻 Technical Criteria
Given
A cargo record has been processed and current cargo equipment car ID and waybill index are available
When
The system initiates a search for associated US manifest records
Then
The search parameters are initialized with car ID from current cargo equipment car key, waybill index from saved waybill index, and US CCN key index set to low values
R-GCX126-cbl-00590
Set Search Criteria: Function: Get Unique GU, Index Type: Car-Waybill, Operator: Greater Than or Equal
Process Rules
📊 Business Logic Narrative
When the process 'Set Search Criteria: Function: Get Unique GU, Index Type: Car-Waybill, Operator: Greater Than or Equal' is invoked, and assuming that search parameters have been initialized with car id and waybill index, when the system prepares to execute the database search, the desired outcome is that the search function is set to get unique (gu), segment type is set to us cargo record (gcsusrt), index type is set to car-waybill, and operator is set to greater than or equal (>=).
💻 Technical Criteria
Given
Search parameters have been initialized with car ID and waybill index
When
The system prepares to execute the database search
Then
The search function is set to Get Unique (GU), segment type is set to US cargo record (GCSUSRT), index type is set to Car-Waybill, and operator is set to greater than or equal (>=)
R-GCX126-cbl-00591
Execute Database Search on US Cargo Table
Action Rules
📊 Business Logic Narrative
When the process 'Execute Database Search on US Cargo Table' is invoked, and assuming that search criteria are configured with function gu, segment gcsusrt, index car-waybill, and operator >=, when the system executes the database call, the desired outcome is that the gccusio program is invoked with the search parameters to retrieve us cargo records from gcsusrt table.
💻 Technical Criteria
Given
Search criteria are configured with function GU, segment GCSUSRT, index Car-Waybill, and operator >=
When
The system executes the database call
Then
The GCCUSIO program is invoked with the search parameters to retrieve US cargo records from GCSUSRT table
R-GCX126-cbl-00593
Car ID and Waybill Match?
Validation Rules
📊 Business Logic Narrative
When the process 'Car ID and Waybill Match?' is invoked, and assuming that a us cargo record has been successfully retrieved from the database, when the system validates the retrieved record, the desired outcome is that the first 12 characters of the us cargo car id number index are compared with current cargo equipment car key and the us cargo waybill number index is compared with saved waybill index, and if either comparison fails, the end-of-file flag is set to true.
💻 Technical Criteria
Given
A US cargo record has been successfully retrieved from the database
When
The system validates the retrieved record
Then
The first 12 characters of the US cargo car ID number index are compared with current cargo equipment car key AND the US cargo waybill number index is compared with saved waybill index, and if either comparison fails, the end-of-file flag is set to true
R-GCX126-cbl-00594
Cargo Deleted OR TR Created?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Deleted OR TR Created?' is invoked, and assuming that a us cargo record has been retrieved and validated for car id and waybill match, when the system checks the cargo processing eligibility, the desired outcome is that if the us cargo is marked as deleted or the train-created-for-it indicator equals 'y', the record is skipped and search continues, otherwise the us manifest found flag is set to true.
💻 Technical Criteria
Given
A US cargo record has been retrieved and validated for car ID and waybill match
When
The system checks the cargo processing eligibility
Then
If the US cargo is marked as deleted OR the train-created-for-it indicator equals 'Y', the record is skipped and search continues, otherwise the US manifest found flag is set to true
R-GCX126-cbl-00595
Set US Manifest Found Flag
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set US Manifest Found Flag', assuming that a us cargo record matches car id and waybill and is not deleted and does not have train created, when the system completes validation checks, the desired outcome is that the us manifest found flag is set to true to indicate a valid associated us manifest has been located.
💻 Technical Criteria
EXCLUDING
A US cargo record matches car ID and waybill AND is not deleted AND does not have train created
When
The system completes validation checks
Then
The US manifest found flag is set to true to indicate a valid associated US manifest has been located
R-GCX126-cbl-00596
Continue to Next Record
Process Rules
📊 Business Logic Narrative
When the process 'Continue to Next Record' is invoked, and assuming that a us cargo record has been found but is marked as deleted or has train created indicator set to 'y', when the system needs to continue searching for valid records, the desired outcome is that the search function is set to get next (gn), segment type remains gcsusrt, index type remains car-waybill, operator is set to greater than (>), and the database call is executed to retrieve the next record in sequence.
💻 Technical Criteria
Given
A US cargo record has been found but is marked as deleted OR has train created indicator set to 'Y'
When
The system needs to continue searching for valid records
Then
The search function is set to Get Next (GN), segment type remains GCSUSRT, index type remains Car-Waybill, operator is set to greater than (>), and the database call is executed to retrieve the next record in sequence
R-GCX126-cbl-00597
Car ID and Waybill Match? - After Continue
Validation Rules
📊 Business Logic Narrative
When the process 'Car ID and Waybill Match? - After Continue' is invoked, and assuming that a next us cargo record has been retrieved using get next function, when the system validates the continued search result, the desired outcome is that the first 12 characters of the us cargo car id number index are compared with current cargo equipment car key and the us cargo waybill number index is compared with saved waybill index, and if either comparison fails, the end-of-file flag is set to true, otherwise the cargo deletion and train creation checks are performed again.
💻 Technical Criteria
Given
A next US cargo record has been retrieved using Get Next function
When
The system validates the continued search result
Then
The first 12 characters of the US cargo car ID number index are compared with current cargo equipment car key AND the US cargo waybill number index is compared with saved waybill index, and if either comparison fails, the end-of-file flag is set to true, otherwise the cargo deletion and train creation checks are performed again
R-GCX126-cbl-00780
Set Search Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Set Search Parameters' is invoked, and assuming that a canadian cargo record is being processed with an equipment car id and waybill index, when the system prepares to search for associated us cargo records, the desired outcome is that the search parameters are initialized with the current cargo's equipment car id in the car id number index field and the saved waybill index in the waybill number index field.
💻 Technical Criteria
Given
A Canadian cargo record is being processed with an equipment car ID and waybill index
When
The system prepares to search for associated US cargo records
Then
The search parameters are initialized with the current cargo's equipment car ID in the car ID number index field and the saved waybill index in the waybill number index field
R-GCX126-cbl-00781
Set US CCN Key to Low Values
Process Rules
📊 Business Logic Narrative
When the process 'Set US CCN Key to Low Values' is invoked, and assuming that the car id and waybill search parameters are set, when the system needs to search for all us cargo records matching the equipment and waybill, the desired outcome is that the us ccn key index field is set to low values to start the search from the beginning of the range.
💻 Technical Criteria
Given
The car ID and waybill search parameters are set
When
The system needs to search for all US cargo records matching the equipment and waybill
Then
The US CCN key index field is set to low values to start the search from the beginning of the range
R-GCX126-cbl-00782
Set Function to GU - Get Unique
Action Rules
📊 Business Logic Narrative
When the process 'Set Function to GU - Get Unique' is invoked, and assuming that search parameters for car id, waybill, and us ccn are initialized, when the system executes the initial database search, the desired outcome is that the function code is set to gu (get unique) to retrieve the first matching record.
💻 Technical Criteria
Given
Search parameters for car ID, waybill, and US CCN are initialized
When
The system executes the initial database search
Then
The function code is set to GU (Get Unique) to retrieve the first matching record
R-GCX126-cbl-00783
Set Index Type to CAR-WB
Process Rules
📊 Business Logic Narrative
When the process 'Set Index Type to CAR-WB' is invoked, and assuming that the database function is set to get unique, when the system needs to specify which index to use for the search, the desired outcome is that the index type is set to car-wb (car-waybill composite index).
💻 Technical Criteria
Given
The database function is set to Get Unique
When
The system needs to specify which index to use for the search
Then
The index type is set to CAR-WB (Car-Waybill composite index)
R-GCX126-cbl-00785
Call GCCUSIO to Search US Cargo
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCUSIO to Search US Cargo' is invoked, and assuming that all search parameters are configured with segment type gcsusrt, function gu, index car-wb, operator '>=', car id, waybill index, and us ccn key, when the system executes the database search, the desired outcome is that the gccusio module is called with the control communication area, search parameters, and us cargo segment structure to retrieve matching records.
💻 Technical Criteria
Given
All search parameters are configured with segment type GCSUSRT, function GU, index CAR-WB, operator '>=', car ID, waybill index, and US CCN key
When
The system executes the database search
Then
The GCCUSIO module is called with the control communication area, search parameters, and US cargo segment structure to retrieve matching records
R-GCX126-cbl-00788
Car ID and Waybill Match?
Validation Rules
📊 Business Logic Narrative
When the process 'Car ID and Waybill Match?' is invoked, and assuming that a us cargo record was successfully retrieved from the database, when the system validates the retrieved record, the desired outcome is that the system checks if the first 12 characters of the car id number index equals the current cargo's equipment car id and the waybill number index equals the saved waybill index; if both match, the record is valid; otherwise, it indicates end of matching records.
💻 Technical Criteria
Given
A US cargo record was successfully retrieved from the database
When
The system validates the retrieved record
Then
The system checks if the first 12 characters of the car ID number index equals the current cargo's equipment car ID AND the waybill number index equals the saved waybill index; if both match, the record is valid; otherwise, it indicates end of matching records
R-GCX126-cbl-00789
Car ID and Waybill Match? - No Match
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Car ID and Waybill Match? - No Match', assuming that a us cargo record was retrieved but the car id or waybill number does not match the search criteria, when the system detects the mismatch, the desired outcome is that the end-of-database flag (ws-eof) is set to true to terminate the search process.
💻 Technical Criteria
EXCLUDING
A US cargo record was retrieved but the car ID or waybill number does not match the search criteria
When
The system detects the mismatch
Then
The end-of-database flag (WS-EOF) is set to TRUE to terminate the search process
R-GCX126-cbl-00790
Cargo Deleted or TR Created?
Validation Rules
📊 Business Logic Narrative
When the process 'Cargo Deleted or TR Created?' is invoked, and assuming that a us cargo record matches the equipment car id and waybill number, when the system evaluates the record's processing eligibility, the desired outcome is that if the cargo deletion status indicator shows deleted or the train-created-for-it flag equals 'y', the record should be skipped; otherwise, it is eligible for processing.
💻 Technical Criteria
Given
A US cargo record matches the equipment car ID and waybill number
When
The system evaluates the record's processing eligibility
Then
If the cargo deletion status indicator shows deleted OR the train-created-for-it flag equals 'Y', the record should be skipped; otherwise, it is eligible for processing
R-GCX126-cbl-00792
Set US Manifest Found Flag
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set US Manifest Found Flag', assuming that a us cargo record matches the equipment car id and waybill number and is not deleted and does not have train-created flag set to 'y', when the system confirms the record is valid for processing, the desired outcome is that the us manifest found flag (ws-us-mfst-found) is set to true to indicate a valid matching record has been located.
💻 Technical Criteria
EXCLUDING
A US cargo record matches the equipment car ID and waybill number AND is not deleted AND does not have train-created flag set to 'Y'
When
The system confirms the record is valid for processing
Then
The US manifest found flag (WS-US-MFST-FOUND) is set to TRUE to indicate a valid matching record has been located
R-GCX126-cbl-00938
Set Search Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Set Search Parameters' is invoked, and assuming that a current cargo record with equipment car id and waybill index, when preparing to search for associated us cargo records, the desired outcome is that set search parameters with car id from current cargo key, waybill index from saved waybill, us ccn key to low-values, database accept status to 'gegb', segment type to gcsusrt, function to get unique (gu), index type to car-wb (car-waybill), and operator to greater than or equal ('>=').
💻 Technical Criteria
Given
A current cargo record with equipment car ID and waybill index
When
Preparing to search for associated US cargo records
Then
Set search parameters with car ID from current cargo key, waybill index from saved waybill, US CCN key to LOW-VALUES, database accept status to 'GEGB', segment type to GCSUSRT, function to Get Unique (GU), index type to CAR-WB (Car-Waybill), and operator to greater than or equal ('>=')
R-GCX126-cbl-00940
Set Waybill Index from Current Cargo
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Waybill Index from Current Cargo' is invoked, and assuming that saved waybill index is available in save-waybill-index, when initializing search parameters for us cargo lookup, the desired outcome is that move save-waybill-index to gcusrt-rt073-wb-num-index to use as the waybill search criterion.
💻 Technical Criteria
Given
Saved waybill index is available in SAVE-WAYBILL-INDEX
When
Initializing search parameters for US cargo lookup
Then
Move SAVE-WAYBILL-INDEX to GCUSRT-RT073-WB-NUM-INDEX to use as the waybill search criterion
R-GCX126-cbl-00941
Set US CCN to LOW-VALUES
Process Rules
📊 Business Logic Narrative
When the process 'Set US CCN to LOW-VALUES' is invoked, and assuming that us cargo search is being initialized, when setting up the us ccn key parameter, the desired outcome is that move low-values to gcusrt-rt073-us-ccn-key-index to start search from the beginning of matching records.
💻 Technical Criteria
Given
US cargo search is being initialized
When
Setting up the US CCN key parameter
Then
Move LOW-VALUES to GCUSRT-RT073-US-CCN-KEY-INDEX to start search from the beginning of matching records
R-GCX126-cbl-00945
Set Index Type to CAR-WB
Process Rules
📊 Business Logic Narrative
When the process 'Set Index Type to CAR-WB' is invoked, and assuming that database index selection is required for search optimization, when specifying which index to use for us cargo lookup, the desired outcome is that set gcwusio-index-car-wb to true to indicate car-waybill index should be used for the search.
💻 Technical Criteria
Given
Database index selection is required for search optimization
When
Specifying which index to use for US cargo lookup
Then
Set GCWUSIO-INDEX-CAR-WB to TRUE to indicate Car-Waybill index should be used for the search
R-GCX126-cbl-00989
Set Car ID from Current Key, Set Waybill Index from Saved Value, Set US CCN Key to Low Values
Process Rules
📊 Business Logic Narrative
When the process 'Set Car ID from Current Key, Set Waybill Index from Saved Value, Set US CCN Key to Low Values' is invoked, and assuming that a canadian cargo record is being processed with a current equipment car id key and a saved waybill index, when the system prepares to search for associated us cargo records, the desired outcome is that the search parameters are initialized with the equipment car id from the current key, the waybill number from the saved index, and the us ccn key is set to its lowest possible value to enable range searching.
💻 Technical Criteria
Given
A Canadian cargo record is being processed with a current equipment car ID key and a saved waybill index
When
The system prepares to search for associated US cargo records
Then
The search parameters are initialized with the equipment car ID from the current key, the waybill number from the saved index, and the US CCN key is set to its lowest possible value to enable range searching
R-GCX126-cbl-00990
Set Function to GU - Get Unique, Set Index Type to CAR-WB, Set Operator to '>=' - Greater/Equal
Process Rules
📊 Business Logic Narrative
When the process 'Set Function to GU - Get Unique, Set Index Type to CAR-WB, Set Operator to '>=' - Greater/Equal' is invoked, and assuming that the system needs to find the first us cargo record matching equipment car id and waybill number, when performing the initial database search operation, the desired outcome is that the database function is set to get unique (gu), the index type is set to equipment-waybill (car-wb), and the search operator is set to greater-than-or-equal-to (>=) to find the first matching or next available record.
💻 Technical Criteria
Given
The system needs to find the first US cargo record matching equipment car ID and waybill number
When
Performing the initial database search operation
Then
The database function is set to Get Unique (GU), the index type is set to equipment-waybill (CAR-WB), and the search operator is set to greater-than-or-equal-to (>=) to find the first matching or next available record
R-GCX126-cbl-00991
Set Function to GN - Get Next, Set Index Type to CAR-WB, Set Operator to '>' - Greater Than
Process Rules
📊 Business Logic Narrative
When the process 'Set Function to GN - Get Next, Set Index Type to CAR-WB, Set Operator to '>' - Greater Than' is invoked, and assuming that the system has already retrieved an initial us cargo record and needs to find subsequent records, when performing a follow-up database search operation, the desired outcome is that the database function is set to get next (gn), the index type is set to equipment-waybill (car-wb), and the search operator is set to greater-than (>) to find the next sequential record.
💻 Technical Criteria
Given
The system has already retrieved an initial US cargo record and needs to find subsequent records
When
Performing a follow-up database search operation
Then
The database function is set to Get Next (GN), the index type is set to equipment-waybill (CAR-WB), and the search operator is set to greater-than (>) to find the next sequential record
R-GCX126-cbl-00994
Verify Car ID Matches Current Key, Verify Waybill Matches Saved Index, Keys Match?
Validation Rules
📊 Business Logic Narrative
When the process 'Verify Car ID Matches Current Key, Verify Waybill Matches Saved Index, Keys Match?' is invoked, and assuming that a us cargo record has been successfully retrieved from the database, when the system validates the retrieved record against search criteria, the desired outcome is that the equipment car id from the retrieved record (first 12 characters) is compared to the current equipment car id key and the waybill number from the retrieved record is compared to the saved waybill index, and both must match exactly for the record to be considered valid.
💻 Technical Criteria
Given
A US cargo record has been successfully retrieved from the database
When
The system validates the retrieved record against search criteria
Then
The equipment car ID from the retrieved record (first 12 characters) is compared to the current equipment car ID key AND the waybill number from the retrieved record is compared to the saved waybill index, and both must match exactly for the record to be considered valid
R-GCX126-cbl-00995
Keys Match?, Set End of Database Flag
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Keys Match?, Set End of Database Flag', assuming that a us cargo record has been retrieved but either the equipment car id or waybill number does not match the search criteria, when the key validation check fails, the desired outcome is that the end-of-database flag is set to true to terminate the search loop, as records are indexed and sorted, indicating no further matching records will be found.
💻 Technical Criteria
EXCLUDING
A US cargo record has been retrieved but either the equipment car ID or waybill number does not match the search criteria
When
The key validation check fails
Then
The end-of-database flag is set to TRUE to terminate the search loop, as records are indexed and sorted, indicating no further matching records will be found
R-GCX126-cbl-00996
Cargo Deleted?, Continue to Next Record
Validation Rules
📊 Business Logic Narrative
When the process 'Cargo Deleted?, Continue to Next Record' is invoked, and assuming that a us cargo record has been retrieved that matches equipment and waybill criteria, when the cargo record has a deletion status indicator set to deleted, the desired outcome is that the record is skipped without setting the us manifest found flag, and processing continues to allow searching for the next record.
💻 Technical Criteria
Given
A US cargo record has been retrieved that matches equipment and waybill criteria
When
The cargo record has a deletion status indicator set to deleted
Then
The record is skipped without setting the US manifest found flag, and processing continues to allow searching for the next record
R-GCX126-cbl-00997
TR Created?, Continue to Next Record
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'TR Created?, Continue to Next Record', assuming that a us cargo record has been retrieved that matches equipment and waybill criteria and is not deleted, when the cargo record has the train-created indicator set to 'y' (yes), the desired outcome is that the record is skipped without setting the us manifest found flag, and processing continues to allow searching for the next record.
💻 Technical Criteria
EXCLUDING
A US cargo record has been retrieved that matches equipment and waybill criteria and is not deleted
When
The cargo record has the train-created indicator set to 'Y' (Yes)
Then
The record is skipped without setting the US manifest found flag, and processing continues to allow searching for the next record
R-GCX126-cbl-00998
Set US Manifest Found Flag
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set US Manifest Found Flag', assuming that a us cargo record has been retrieved that matches equipment car id and waybill number, is not marked as deleted, and does not have a train record already created, when all validation checks pass successfully, the desired outcome is that the us manifest found flag is set to true to indicate a valid associated us cargo record has been located and is ready for processing.
💻 Technical Criteria
EXCLUDING
A US cargo record has been retrieved that matches equipment car ID and waybill number, is not marked as deleted, and does not have a train record already created
When
All validation checks pass successfully
Then
The US manifest found flag is set to TRUE to indicate a valid associated US cargo record has been located and is ready for processing
R-GCX126-cbl-00599
Save Master Cargo Information
Process Rules
📊 Business Logic Narrative
When the process 'Save Master Cargo Information' is invoked, and assuming that the cargo is confirmed as a master manifest, when the system prepares to process follower manifests, the desired outcome is that save the complete master cargo report segment to working storage; save the master ccn key; save the master waybill key for index; save the master equipment car identifier.
💻 Technical Criteria
Given
The cargo is confirmed as a master manifest
When
The system prepares to process follower manifests
Then
Save the complete master cargo report segment to working storage; Save the master CCN key; Save the master waybill key for index; Save the master equipment car identifier
R-GCX126-cbl-00601
Get Next Follower Manifest Using Master CCN
Action Rules
📊 Business Logic Narrative
When the process 'Get Next Follower Manifest Using Master CCN' is invoked, and assuming that the follower collection process is active and the counter is within the 100-follower limit, when the system requests the next follower manifest record, the desired outcome is that execute database get next operation using master ccn key; set database accept status to 'gegb'; use cargo report segment pcb7; use qualified ssa with master ccn key (ccrt-b0rt-ssaq).
💻 Technical Criteria
Given
The follower collection process is active and the counter is within the 100-follower limit
When
The system requests the next follower manifest record
Then
Execute database Get Next operation using master CCN key; Set database accept status to 'GEGB'; Use cargo report segment PCB7; Use qualified SSA with master CCN key (CCRT-B0RT-SSAQ)
R-GCX126-cbl-00603
Follower's Master CCN Matches Current Master?
Validation Rules
📊 Business Logic Narrative
When the process 'Follower's Master CCN Matches Current Master?' is invoked, and assuming that a cargo record has been successfully retrieved from the database, when the system validates the master-follower relationship, the desired outcome is that if the retrieved cargo's master manifest ccn equals the saved master ccn key, the relationship is valid and processing continues; if the master manifest ccn does not match, set the end-of-database flag to true and stop retrieving followers.
💻 Technical Criteria
Given
A cargo record has been successfully retrieved from the database
When
The system validates the master-follower relationship
Then
If the retrieved cargo's master manifest CCN equals the saved master CCN key, the relationship is valid and processing continues; If the master manifest CCN does not match, set the end-of-database flag to true and stop retrieving followers
R-GCX126-cbl-00604
Is This a Follower Manifest?
Decision Rules
📊 Business Logic Narrative
When the process 'Is This a Follower Manifest?' is invoked, and assuming that a cargo record has been retrieved and validated as belonging to the current master, when the system checks the manifest type indicator, the desired outcome is that if the cargo is identified as a follower manifest, store its ccn in the follower array; if the cargo is identified as a master manifest, skip storage and continue to check for more followers.
💻 Technical Criteria
Given
A cargo record has been retrieved and validated as belonging to the current master
When
The system checks the manifest type indicator
Then
If the cargo is identified as a follower manifest, store its CCN in the follower array; If the cargo is identified as a master manifest, skip storage and continue to check for more followers
R-GCX126-cbl-00605
Store Follower CCN in Array, Increment Counter
Process Rules
📊 Business Logic Narrative
When the process 'Store Follower CCN in Array, Increment Counter' is invoked, and assuming that a cargo record has been confirmed as a follower manifest of the current master, when the system stores the follower information, the desired outcome is that move the follower's ccn key to the follower manifest array at position indicated by counter; add 1 to the counter.
💻 Technical Criteria
Given
A cargo record has been confirmed as a follower manifest of the current master
When
The system stores the follower information
Then
Move the follower's CCN key to the follower manifest array at position indicated by counter; Add 1 to the counter
R-GCX126-cbl-00606
Set End of Database Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set End of Database Flag' is invoked, and assuming that the system has encountered a database error, a non-matching master ccn, or reached the end of available records, when the system needs to stop retrieving additional followers, the desired outcome is that set the end-of-database flag to true (ws-follower-end-of-db).
💻 Technical Criteria
Given
The system has encountered a database error, a non-matching master CCN, or reached the end of available records
When
The system needs to stop retrieving additional followers
Then
Set the end-of-database flag to true (WS-FOLLOWER-END-OF-DB)
R-GCX126-cbl-00610
Retrieve Follower Cargo by CCN
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Follower Cargo by CCN' is invoked, and assuming that a follower ccn has been retrieved from the processing array at position j, when the system retrieves the follower cargo record, the desired outcome is that move the follower ccn to the cargo report segment key value (ccrt-ssaq); move the follower ccn to the alternate segment key value (a2rt-ssaq); execute get hold unique database operation (z3000-ghu-cargo); evaluate cargo found status based on database return.
💻 Technical Criteria
Given
A follower CCN has been retrieved from the processing array at position J
When
The system retrieves the follower cargo record
Then
Move the follower CCN to the cargo report segment key value (CCRT-SSAQ); Move the follower CCN to the alternate segment key value (A2RT-SSAQ); Execute Get Hold Unique database operation (Z3000-GHU-CARGO); Evaluate cargo found status based on database return
R-GCX126-cbl-00614
Log Message: 'EDI 350: RELEASE : [Ref] AT PORT [Port]', Set Release Reason: '[Ref]/[Port]'
Process Rules
📊 Business Logic Narrative
When the process 'Log Message: 'EDI 350: RELEASE : [Ref] AT PORT [Port]', Set Release Reason: '[Ref]/[Port]'' is invoked, and assuming that the follower manifest is being released through standard release process, when the system logs the release information, the desired outcome is that clear the information message field to spaces; build message string: 'edi 350: release : ' concatenated with cbsa release reference id (first 15 characters) concatenated with ' at port ' concatenated with port code (first 4 characters); move the built message to information message field; build release reason string: cbsa release reference id (first 15 characters) concatenated with '/' concatenated with port code (first 4 characters); move the built reason to cargo release reason field; set current ccn key to information message ccn key; execute log cargo information message procedure (z150-log-cargo-info-msg).
💻 Technical Criteria
Given
The follower manifest is being released through standard release process
When
The system logs the release information
Then
Clear the information message field to spaces; Build message string: 'EDI 350: RELEASE : ' concatenated with CBSA release reference ID (first 15 characters) concatenated with ' AT PORT ' concatenated with port code (first 4 characters); Move the built message to information message field; Build release reason string: CBSA release reference ID (first 15 characters) concatenated with '/' concatenated with port code (first 4 characters); Move the built reason to cargo release reason field; Set current CCN key to information message CCN key; Execute log cargo information message procedure (Z150-LOG-CARGO-INFO-MSG)
R-GCX126-cbl-00615
Log Message: 'EDI 350: RELEASE VIA DECON AT PORT [Port]', Set Release Reason: 'DECONSOLIDATION AT [Port]'
Process Rules
📊 Business Logic Narrative
When the process 'Log Message: 'EDI 350: RELEASE VIA DECON AT PORT [Port]', Set Release Reason: 'DECONSOLIDATION AT [Port]'' is invoked, and assuming that the follower manifest is being released through deconsolidation process, when the system logs the deconsolidation information, the desired outcome is that clear the information message field to spaces; build message string: 'edi 350: release via decon at port ' concatenated with port code (first 4 characters); move the built message to information message field; build release reason string: 'deconsolidation at ' concatenated with port code (first 4 characters); move the built reason to cargo release reason field; set current ccn key to information message ccn key; execute log cargo information message procedure (z150-log-cargo-info-msg).
💻 Technical Criteria
Given
The follower manifest is being released through deconsolidation process
When
The system logs the deconsolidation information
Then
Clear the information message field to spaces; Build message string: 'EDI 350: RELEASE VIA DECON AT PORT ' concatenated with port code (first 4 characters); Move the built message to information message field; Build release reason string: 'DECONSOLIDATION AT ' concatenated with port code (first 4 characters); Move the built reason to cargo release reason field; Set current CCN key to information message CCN key; Execute log cargo information message procedure (Z150-LOG-CARGO-INFO-MSG)
R-GCX126-cbl-00616
Process Associated US Manifest: Find US Cargo by Car ID and Waybill, Log Release to US CCN
Process Rules
📊 Business Logic Narrative
When the process 'Process Associated US Manifest: Find US Cargo by Car ID and Waybill, Log Release to US CCN' is invoked, and assuming that a follower manifest has been released or deconsolidated, when the system processes associated us manifest, the desired outcome is that set us manifest not found flag to true; set not end-of-file flag to true; move current equipment car id key to us cargo car id index; move saved waybill index to us cargo waybill index; execute get unique us cargo by car and waybill (z3300-gu-us-cargo-by-carwb); execute get next us cargo by car and waybill repeatedly (z3350-gn-us-cargo-by-carwb) until us manifest found or end-of-file; if end-of-file reached, exit us manifest processing; if us manifest found: move log information, build date string from machine century and date, move machine time to log time, set action code to use input message, move us ccn key to train or us ccn field, set us cargo indicator to true, build message string 'cdn ccn rlsed by edi 350: ' concatenated with canadian ccn key, execute spawn log entry procedure (z300-spawn-gct1051e).
💻 Technical Criteria
Given
A follower manifest has been released or deconsolidated
When
The system processes associated US manifest
Then
Set US manifest not found flag to true; Set not end-of-file flag to true; Move current equipment car ID key to US cargo car ID index; Move saved waybill index to US cargo waybill index; Execute Get Unique US cargo by car and waybill (Z3300-GU-US-CARGO-BY-CARWB); Execute Get Next US cargo by car and waybill repeatedly (Z3350-GN-US-CARGO-BY-CARWB) until US manifest found or end-of-file; If end-of-file reached, exit US manifest processing; If US manifest found: move log information, build date string from machine century and date, move machine time to log time, set action code to use input message, move US CCN key to train or US CCN field, set US cargo indicator to true, build message string 'CDN CCN RLSED BY EDI 350: ' concatenated with Canadian CCN key, execute spawn log entry procedure (Z300-SPAWN-GCT1051E)
R-GCX126-cbl-00619
Restore Master Cargo Information
Process Rules
📊 Business Logic Narrative
When the process 'Restore Master Cargo Information' is invoked, and assuming that all follower manifests have been processed and updated, when the system completes follower processing, the desired outcome is that move saved master cargo report segment to current cargo report segment; move saved master waybill key to current waybill index; move saved master equipment car to current car id key.
💻 Technical Criteria
Given
All follower manifests have been processed and updated
When
The system completes follower processing
Then
Move saved master cargo report segment to current cargo report segment; Move saved master waybill key to current waybill index; Move saved master equipment car to current car ID key
R-GCX126-cbl-00795
Call IMS GN Function Using Master CCN Key
Action Rules
📊 Business Logic Narrative
When the process 'Call IMS GN Function Using Master CCN Key' is invoked, and assuming that the master manifest ccn key is available in gcb0rt-ccn-key and the database access mode is set to 'gegb', when the ims get next function is called with pcb7 using the ccrt-b0rt-ssaq qualified search, the desired outcome is that the next cargo report segment is retrieved into gccc-cargo-report-segment.
💻 Technical Criteria
Given
The master manifest CCN key is available in GCB0RT-CCN-KEY AND the database access mode is set to 'GEGB'
When
The IMS Get Next function is called with PCB7 using the CCRT-B0RT-SSAQ qualified search
Then
The next cargo report segment is retrieved into GCCC-CARGO-REPORT-SEGMENT
R-GCX126-cbl-00797
Master CCN Matches?
Decision Rules
📊 Business Logic Narrative
When the process 'Master CCN Matches?' is invoked, and assuming that a cargo record has been successfully retrieved from the database and the saved master ccn is available in ws-save-ccn, when the master manifest ccn of the retrieved cargo (gccc-master-mfst-ccn) is compared to the saved master ccn, the desired outcome is that if the master manifest ccn matches the saved ccn, the cargo belongs to this master and processing continues to check if it is a follower or if the master manifest ccn does not match, the cargo belongs to a different master and the end-of-database flag is set and loop processing terminates.
💻 Technical Criteria
Given
A cargo record has been successfully retrieved from the database AND the saved master CCN is available in WS-SAVE-CCN
When
The master manifest CCN of the retrieved cargo (GCCC-MASTER-MFST-CCN) is compared to the saved master CCN
Then
If the master manifest CCN matches the saved CCN, the cargo belongs to this master AND processing continues to check if it is a follower OR If the master manifest CCN does not match, the cargo belongs to a different master AND the end-of-database flag is set AND loop processing terminates
R-GCX126-cbl-00798
Is Follower Manifest?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Follower Manifest?' is invoked, and assuming that a cargo record has been retrieved that belongs to the correct master manifest, when the cargo manifest type indicator (gccc-follower-mfst) is evaluated, the desired outcome is that if the cargo is identified as a follower manifest, its ccn is stored in the follower array and the loop counter is incremented or if the cargo is the master manifest itself, it is skipped and the loop continues to the next record.
💻 Technical Criteria
Given
A cargo record has been retrieved that belongs to the correct master manifest
When
The cargo manifest type indicator (GCCC-FOLLOWER-MFST) is evaluated
Then
If the cargo is identified as a follower manifest, its CCN is stored in the follower array AND the loop counter is incremented OR If the cargo is the master manifest itself, it is skipped AND the loop continues to the next record
R-GCX126-cbl-00799
Store Follower CCN in Array Position I
Process Rules
📊 Business Logic Narrative
When the process 'Store Follower CCN in Array Position I' is invoked, and assuming that a cargo record has been confirmed as a follower manifest of the current master, when the follower manifest is being recorded, the desired outcome is that the follower manifest ccn (gccc-ccn-key) is stored in the follower manifest array at position i (ws-follower-mani(i)).
💻 Technical Criteria
Given
A cargo record has been confirmed as a follower manifest of the current master
When
The follower manifest is being recorded
Then
The follower manifest CCN (GCCC-CCN-KEY) is stored in the follower manifest array at position I (WS-FOLLOWER-MANI(I))
R-GCX126-cbl-00800
Increment Counter I
Process Rules
📊 Business Logic Narrative
When the process 'Increment Counter I' is invoked, and assuming that a follower manifest ccn has been stored in the array at position i, when the counter is incremented, the desired outcome is that the loop counter i is increased by 1 to point to the next available array position.
💻 Technical Criteria
Given
A follower manifest CCN has been stored in the array at position I
When
The counter is incremented
Then
The loop counter I is increased by 1 to point to the next available array position
R-GCX126-cbl-00816
Set Search Keys: Car ID and Waybill Index
Process Rules
📊 Business Logic Narrative
When the process 'Set Search Keys: Car ID and Waybill Index' is invoked, and assuming that a canadian cargo record with equipment car id and waybill index exists, when the system prepares to search for us cargo, the desired outcome is that the us cargo search key is set to the current equipment car id and the us cargo waybill search key is set to the saved waybill index.
💻 Technical Criteria
Given
A Canadian cargo record with equipment car ID and waybill index exists
When
The system prepares to search for US cargo
Then
The US cargo search key is set to the current equipment car ID AND the US cargo waybill search key is set to the saved waybill index
R-GCX126-cbl-00817
Retrieve US Cargo Record by Car ID and Waybill
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve US Cargo Record by Car ID and Waybill' is invoked, and assuming that us cargo search keys are set with car id and waybill index, when the system executes the initial us cargo retrieval using gu function with car-wb index and >= operator, the desired outcome is that the system retrieves the first us cargo record matching or exceeding the search criteria.
💻 Technical Criteria
Given
US cargo search keys are set with car ID and waybill index
When
The system executes the initial US cargo retrieval using GU function with CAR-WB index and >= operator
Then
The system retrieves the first US cargo record matching or exceeding the search criteria
R-GCX126-cbl-00819
Car ID and Waybill Match?
Validation Rules
📊 Business Logic Narrative
When the process 'Car ID and Waybill Match?' is invoked, and assuming that a us cargo record has been successfully retrieved, when the system compares the us cargo car id (first 12 characters) with current car id key and compares the us cargo waybill index with saved waybill index, the desired outcome is that if car id first 12 characters match current car id key and waybill index matches saved waybill index, proceed to check deletion status else set end-of-file flag to true.
💻 Technical Criteria
Given
A US cargo record has been successfully retrieved
When
The system compares the US cargo car ID (first 12 characters) with current car ID key AND compares the US cargo waybill index with saved waybill index
Then
If car ID first 12 characters match current car ID key AND waybill index matches saved waybill index, proceed to check deletion status ELSE set end-of-file flag to true
R-GCX126-cbl-00820
Cargo Deleted or TR Created?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Deleted or TR Created?' is invoked, and assuming that a matching us cargo record by car id and waybill has been found, when the system checks the cargo deletion status indicator and train created indicator, the desired outcome is that if cargo is marked as deleted or train created indicator equals 'y', continue to get next record else set us manifest found flag to true.
💻 Technical Criteria
Given
A matching US cargo record by car ID and waybill has been found
When
The system checks the cargo deletion status indicator AND train created indicator
Then
If cargo is marked as deleted OR train created indicator equals 'Y', continue to get next record ELSE set US manifest found flag to true
R-GCX126-cbl-00821
Set US Manifest Found Flag
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set US Manifest Found Flag', assuming that a us cargo record exists that matches car id and waybill and is not deleted and does not have a train created, when the system completes validation checks, the desired outcome is that the us manifest found flag is set to true.
💻 Technical Criteria
EXCLUDING
A US cargo record exists that matches car ID and waybill AND is not deleted AND does not have a train created
When
The system completes validation checks
Then
The US manifest found flag is set to true
R-GCX126-cbl-00824
Car ID and Waybill Match?
Validation Rules
📊 Business Logic Narrative
When the process 'Car ID and Waybill Match?' is invoked, and assuming that a next us cargo record has been successfully retrieved, when the system compares the us cargo car id (first 12 characters) with current car id key and compares the us cargo waybill index with saved waybill index, the desired outcome is that if car id first 12 characters match current car id key and waybill index matches saved waybill index, proceed to check deletion status else set end-of-file flag to true.
💻 Technical Criteria
Given
A next US cargo record has been successfully retrieved
When
The system compares the US cargo car ID (first 12 characters) with current car ID key AND compares the US cargo waybill index with saved waybill index
Then
If car ID first 12 characters match current car ID key AND waybill index matches saved waybill index, proceed to check deletion status ELSE set end-of-file flag to true
R-GCX126-cbl-00825
Cargo Deleted or TR Created?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Deleted or TR Created?' is invoked, and assuming that a next matching us cargo record by car id and waybill has been found, when the system checks the cargo deletion status indicator and train created indicator, the desired outcome is that if cargo is marked as deleted or train created indicator equals 'y', continue to get next record else set us manifest found flag to true.
💻 Technical Criteria
Given
A next matching US cargo record by car ID and waybill has been found
When
The system checks the cargo deletion status indicator AND train created indicator
Then
If cargo is marked as deleted OR train created indicator equals 'Y', continue to get next record ELSE set US manifest found flag to true
R-GCX126-cbl-00826
Set US Manifest Found Flag
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set US Manifest Found Flag', assuming that a next us cargo record exists that matches car id and waybill and is not deleted and does not have a train created, when the system completes validation checks, the desired outcome is that the us manifest found flag is set to true.
💻 Technical Criteria
EXCLUDING
A next US cargo record exists that matches car ID and waybill AND is not deleted AND does not have a train created
When
The system completes validation checks
Then
The US manifest found flag is set to true
R-GCX126-cbl-00828
Prepare Log Entry: Current Date/Time, US CCN, Action Code: LOG-USE-INPUT-MESSAGE, Message: CDN CCN RLSED BY EDI 350
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Log Entry: Current Date/Time, US CCN, Action Code: LOG-USE-INPUT-MESSAGE, Message: CDN CCN RLSED BY EDI 350' is invoked, and assuming that a valid us manifest record has been found, when the system prepares the log entry, the desired outcome is that the log date is set to current machine century concatenated with current machine date and the log time is set to current machine time and the action code is set to log-use-input-message and the us ccn key is set as the train or us ccn identifier and the cargo type indicator is set to us cargo and the message is set to 'cdn ccn rlsed by edi 350: ' concatenated with the canadian ccn key.
💻 Technical Criteria
Given
A valid US manifest record has been found
When
The system prepares the log entry
Then
The log date is set to current machine century concatenated with current machine date AND the log time is set to current machine time AND the action code is set to LOG-USE-INPUT-MESSAGE AND the US CCN key is set as the train or US CCN identifier AND the cargo type indicator is set to US cargo AND the message is set to 'CDN CCN RLSED BY EDI 350: ' concatenated with the Canadian CCN key
R-GCX126-cbl-00829
Spawn GCT1051E Transaction to Log Release Message
Action Rules
📊 Business Logic Narrative
When the process 'Spawn GCT1051E Transaction to Log Release Message' is invoked, and assuming that the log entry has been prepared with date, time, us ccn, action code, and release message, when the system invokes the gct1051e logging process, the desired outcome is that a log transaction is created recording the canadian cargo release notification for the associated us cargo.
💻 Technical Criteria
Given
The log entry has been prepared with date, time, US CCN, action code, and release message
When
The system invokes the GCT1051E logging process
Then
A log transaction is created recording the Canadian cargo release notification for the associated US cargo
R-GCX126-cbl-00947
Prepare Log Entry: - Current Date/Time - US CCN - Action Code: LOG-USE-INPUT-MESSAGE - Message: CDN CCN RLSED BY EDI 350
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Prepare Log Entry: - Current Date/Time - US CCN - Action Code: LOG-USE-INPUT-MESSAGE - Message: CDN CCN RLSED BY EDI 350', assuming that ['a canadian cargo has been released via edi 350 message', 'a corresponding us cargo manifest exists with matching equipment car id and waybill number', 'the us cargo is not deleted and no train has been created for it', 'the system has current machine date and time available'], when ['the system processes the us manifest associated with the released canadian cargo'], the desired outcome is that ['extract current machine century and date in ccyymmdd format', 'extract current machine time in hhmmss format', 'set the action code to log-use-input-message', 'set the target identifier to the us cargo control number', 'set the cargo type indicator to us-cargo', "build the log message by concatenating 'cdn ccn rlsed by edi 350: ' with the canadian cargo control number", 'populate the gcx105 log structure with date, time, action code, us ccn, cargo type, and message', 'invoke the gct1051e transaction to create the log entry'].
💻 Technical Criteria
EXCLUDING
['A Canadian cargo has been released via EDI 350 message', 'A corresponding US cargo manifest exists with matching equipment car ID and waybill number', 'The US cargo is not deleted and no train has been created for it', 'The system has current machine date and time available']
When
['The system processes the US manifest associated with the released Canadian cargo']
Then
['Extract current machine century and date in CCYYMMDD format', 'Extract current machine time in HHMMSS format', 'Set the action code to LOG-USE-INPUT-MESSAGE', 'Set the target identifier to the US cargo control number', 'Set the cargo type indicator to US-CARGO', "Build the log message by concatenating 'CDN CCN RLSED BY EDI 350: ' with the Canadian cargo control number", 'Populate the GCX105 log structure with date, time, action code, US CCN, cargo type, and message', 'Invoke the GCT1051E transaction to create the log entry']
R-GCX126-cbl-00951
Set US CCN as Target
Definitional Rules
📊 Business Logic Narrative
When the process 'Set US CCN as Target' is invoked, and assuming that ['a us cargo manifest has been retrieved (gcusrt-us-ccn-key)', 'the us cargo control number is available'], when ['preparing the log entry for us cargo release'], the desired outcome is that ['move gcusrt-us-ccn-key to gcx105-train-or-us-ccn field'].
💻 Technical Criteria
Given
['A US cargo manifest has been retrieved (GCUSRT-US-CCN-KEY)', 'The US cargo control number is available']
When
['Preparing the log entry for US cargo release']
Then
['Move GCUSRT-US-CCN-KEY to GCX105-TRAIN-OR-US-CCN field']
R-GCX126-cbl-00953
Build Message Text and Concatenate: 'CDN CCN RLSED BY EDI 350: ' + Canadian CCN
Computation Rules
📊 Business Logic Narrative
When the process 'Build Message Text and Concatenate: 'CDN CCN RLSED BY EDI 350: ' + Canadian CCN' is invoked, and assuming that ['the canadian cargo control number (gccc-ccn-key) is available', 'a us cargo release is being logged'], when ['building the log message text'], the desired outcome is that ["concatenate the literal text 'cdn ccn rlsed by edi 350: ' with gccc-ccn-key", 'store the concatenated message in gcx105-message field'].
💻 Technical Criteria
Given
['The Canadian cargo control number (GCCC-CCN-KEY) is available', 'A US cargo release is being logged']
When
['Building the log message text']
Then
["Concatenate the literal text 'CDN CCN RLSED BY EDI 350: ' with GCCC-CCN-KEY", 'Store the concatenated message in GCX105-MESSAGE field']
R-GCX126-cbl-00954
Call GCT1051E Transaction to Log Entry
Action Rules
📊 Business Logic Narrative
When the process 'Call GCT1051E Transaction to Log Entry' is invoked, and assuming that ['gcx105 log structure is fully populated with date, time, action code, us ccn, cargo type, and message', 'all required log information has been prepared'], when ['ready to create the log entry'], the desired outcome is that ['call z300-spawn-gct1051e procedure to create the log entry'].
💻 Technical Criteria
Given
['GCX105 log structure is fully populated with date, time, action code, US CCN, cargo type, and message', 'All required log information has been prepared']
When
['Ready to create the log entry']
Then
['Call Z300-SPAWN-GCT1051E procedure to create the log entry']
R-GCX126-cbl-00289
Log Message: 'EDI 350: AUTHORIZED TO PROCEED'
Process Rules
📊 Business Logic Narrative
When the process 'Log Message: 'EDI 350: AUTHORIZED TO PROCEED'' is invoked, and assuming that an edi 350 message with v9 segment notice reason code indicating 'auth to deliver' status, when the authorization to deliver processing begins, the desired outcome is that the system logs the message 'edi 350: authorized to proceed' to the cargo information log with current date, time, and cargo ccn.
💻 Technical Criteria
Given
An EDI 350 message with V9 segment notice reason code indicating 'AUTH TO DELIVER' status
When
The authorization to deliver processing begins
Then
The system logs the message 'EDI 350: AUTHORIZED TO PROCEED' to the cargo information log with current date, time, and cargo CCN
R-GCX126-cbl-00294
Process Associated US Manifest: - Find US Cargo by Car ID and Waybill - Log Release Message to US CCN - Reference Canadian CCN
Process Rules
📊 Business Logic Narrative
When the process 'Process Associated US Manifest: - Find US Cargo by Car ID and Waybill - Log Release Message to US CCN - Reference Canadian CCN' is invoked, and assuming that a cargo record with authorization to deliver status and associated equipment car id and waybill number, when the authorization processing is complete, the desired outcome is that the system searches for us cargo records matching the car id and waybill number, and if found and not deleted and no train created, logs a message 'cdn ccn rlsed by edi 350' with the canadian ccn to the us cargo log entry.
💻 Technical Criteria
Given
A cargo record with authorization to deliver status and associated equipment car ID and waybill number
When
The authorization processing is complete
Then
The system searches for US cargo records matching the car ID and waybill number, and if found and not deleted and no train created, logs a message 'CDN CCN RLSED BY EDI 350' with the Canadian CCN to the US cargo log entry
R-GCX126-cbl-00298
CCN Prefix = '6105'?
Decision Rules
📊 Business Logic Narrative
When the process 'CCN Prefix = '6105'?' is invoked, and assuming that a cargo has been placed on hold by customs, when the system checks the first 4 characters of the ccn (cargo control number), the desired outcome is that if the ccn starts with '6105', the system proceeds to prepare a hold notification email; otherwise, the hold processing is complete.
💻 Technical Criteria
Given
A cargo has been placed on hold by customs
When
The system checks the first 4 characters of the CCN (Cargo Control Number)
Then
If the CCN starts with '6105', the system proceeds to prepare a hold notification email; otherwise, the hold processing is complete
R-GCX126-cbl-00299
Prepare Hold Email: - Subject: 'CBSA CARGO HOLD' - Equipment ID - Waybill Number - CCN - Destination Station - Manifest Station
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Hold Email: - Subject: 'CBSA CARGO HOLD' - Equipment ID - Waybill Number - CCN - Destination Station - Manifest Station' is invoked, and assuming that a cargo with ccn starting with '6105' has been placed on hold, when the hold notification preparation is executed, the desired outcome is that the system creates an email with subject 'cbsa cargo hold - [ccn]' and body containing: line 1 - 'cargo on hold for inspection by cbsa - edi350', line 3 - 'equipment: [equipment id]', line 4 - 'waybill: [carrier][origin station][waybill number]', line 5 - 'ccn: [ccn]', line 6 - 'destination: [destination station name], [state code]', line 7 - 'manifest upon: [manifest station name]'.
💻 Technical Criteria
Given
A cargo with CCN starting with '6105' has been placed on hold
When
The hold notification preparation is executed
Then
The system creates an email with subject 'CBSA CARGO HOLD - [CCN]' and body containing: line 1 - 'Cargo on HOLD for inspection by CBSA - EDI350', line 3 - 'Equipment: [Equipment ID]', line 4 - 'Waybill: [Carrier][Origin Station][Waybill Number]', line 5 - 'CCN: [CCN]', line 6 - 'DESTINATION: [Destination Station Name], [State Code]', line 7 - 'MANIFEST UPON: [Manifest Station Name]'
R-GCX126-cbl-00306
31: Process Associated US Manifest - Find US manifest by car ID and waybill - Log release message to US CCN - Reference Canadian CCN
Action Rules
📊 Business Logic Narrative
When the process '31: Process Associated US Manifest - Find US manifest by car ID and waybill - Log release message to US CCN - Reference Canadian CCN' is invoked, and assuming that a canadian cargo has been released via deconsolidation with valid equipment car id and waybill number stored in ws-current-carid-key and save-waybill-index, when the system processes the associated us manifest, the desired outcome is that perform z3300-gu-us-cargo-by-carwb to retrieve us cargo by car id and waybill, then perform z3350-gn-us-cargo-by-carwb until ws-us-mfst-found is true or ws-eof is true; if us manifest found and not eof, perform z200-move-log-information, construct gcx105-date from cc-machine-century and cc-machine-date-x, set gcx105-time to cc-machine-time-x, set gcx105-action-code to log-use-input-message, set gcx105-train-or-us-ccn to gcusrt-us-ccn-key, set gcx105-us-cargo to true, construct gcx105-message as 'cdn ccn rlsed by edi 350: ' concatenated with gccc-ccn-key, and perform z300-spawn-gct1051e.
💻 Technical Criteria
Given
A Canadian cargo has been released via deconsolidation with valid equipment car ID and waybill number stored in WS-CURRENT-CARID-KEY and SAVE-WAYBILL-INDEX
When
The system processes the associated US manifest
Then
Perform Z3300-GU-US-CARGO-BY-CARWB to retrieve US cargo by car ID and waybill, then perform Z3350-GN-US-CARGO-BY-CARWB until WS-US-MFST-FOUND is true or WS-EOF is true; if US manifest found and not EOF, perform Z200-MOVE-LOG-INFORMATION, construct GCX105-DATE from CC-MACHINE-CENTURY and CC-MACHINE-DATE-X, set GCX105-TIME to CC-MACHINE-TIME-X, set GCX105-ACTION-CODE to LOG-USE-INPUT-MESSAGE, set GCX105-TRAIN-OR-US-CCN to GCUSRT-US-CCN-KEY, set GCX105-US-CARGO to true, construct GCX105-MESSAGE as 'CDN CCN RLSED BY EDI 350: ' concatenated with GCCC-CCN-KEY, and perform Z300-SPAWN-GCT1051E
R-GCX126-cbl-00310
33: Process Follower Manifests - Retrieve all follower manifests - Set release information for each - Log release message - Update release reason - Process US manifest - Update cargo record
Process Rules
📊 Business Logic Narrative
When the process '33: Process Follower Manifests - Retrieve all follower manifests - Set release information for each - Log release message - Update release reason - Process US manifest - Update cargo record' is invoked, and assuming that current cargo is a master manifest that has been released via deconsolidation with gccc-ccn-key stored in gcb0rt-ccn-key, when the system processes follower manifests, the desired outcome is that save gccc-cargo-report-segment to ws-save-gcsccrt, set cc-accept-status to 'gegb', initialize ws-follower-mani-array to spaces, set ws-follower-not-end-of-db to true, set i to 1; perform until ws-follower-end-of-db or i > 100: call cims with gn, gccc-pcb7, gccc-cargo-report-segment, and ccrt-b0rt-ssaq; if cc-status-code is space and gccc-master-mfst-ccn equals ws-save-ccn: if gccc-follower-mfst is true, move gccc-ccn-key to ws-follower-mani(i) and add 1 to i; else set ws-follower-end-of-db to true; subtract 1 from i; if i > 0, perform varying j from 1 by 1 until ws-follower-mani(i) is spaces or low-values or j > i: move ws-follower-mani(j) to key-value of ccrt-ssaq and a2rt-ssaq, perform z3000-ghu-cargo; if ws-cargo-found: perform d110-set-release-information, construct ws-gcx105-info-msg as 'edi 350: release via decon at port ' concatenated with p4-01-port-cde (first 4 characters), construct gccc-release-reason as 'deconsolidation at ' concatenated with p4-01-port-cde (first 4 characters), move gccc-ccn-key to ws-current-ccn-key, perform z150-log-cargo-info-msg, move gccc-waybill-key-for-index to save-waybill-index, move gccc-equipment-car to ws-current-carid-key, perform d120-process-us-mfst, clear cc-status-code, set cc-accept-status to spaces, and call cims with repl, gccc-pcb, and gccc-cargo-report-segment.
💻 Technical Criteria
Given
Current cargo is a master manifest that has been released via deconsolidation with GCCC-CCN-KEY stored in GCB0RT-CCN-KEY
When
The system processes follower manifests
Then
Save GCCC-CARGO-REPORT-SEGMENT to WS-SAVE-GCSCCRT, set CC-ACCEPT-STATUS to 'GEGB', initialize WS-FOLLOWER-MANI-ARRAY to spaces, set WS-FOLLOWER-NOT-END-OF-DB to true, set I to 1; perform until WS-FOLLOWER-END-OF-DB or I > 100: call CIMS with GN, GCCC-PCB7, GCCC-CARGO-REPORT-SEGMENT, and CCRT-B0RT-SSAQ; if CC-STATUS-CODE is space and GCCC-MASTER-MFST-CCN equals WS-SAVE-CCN: if GCCC-FOLLOWER-MFST is true, move GCCC-CCN-KEY to WS-FOLLOWER-MANI(I) and add 1 to I; else set WS-FOLLOWER-END-OF-DB to true; subtract 1 from I; if I > 0, perform varying J from 1 by 1 until WS-FOLLOWER-MANI(I) is spaces or low-values or J > I: move WS-FOLLOWER-MANI(J) to KEY-VALUE of CCRT-SSAQ and A2RT-SSAQ, perform Z3000-GHU-CARGO; if WS-CARGO-FOUND: perform D110-SET-RELEASE-INFORMATION, construct WS-GCX105-INFO-MSG as 'EDI 350: RELEASE VIA DECON AT PORT ' concatenated with P4-01-PORT-CDE (first 4 characters), construct GCCC-RELEASE-REASON as 'DECONSOLIDATION AT ' concatenated with P4-01-PORT-CDE (first 4 characters), move GCCC-CCN-KEY to WS-CURRENT-CCN-KEY, perform Z150-LOG-CARGO-INFO-MSG, move GCCC-WAYBILL-KEY-FOR-INDEX to SAVE-WAYBILL-INDEX, move GCCC-EQUIPMENT-CAR to WS-CURRENT-CARID-KEY, perform D120-PROCESS-US-MFST, clear CC-STATUS-CODE, set CC-ACCEPT-STATUS to spaces, and call CIMS with REPL, GCCC-PCB, and GCCC-CARGO-REPORT-SEGMENT
R-GCX126-cbl-00311
33: Process Follower Manifests - Retrieve all follower manifests
Action Rules
📊 Business Logic Narrative
When the process '33: Process Follower Manifests - Retrieve all follower manifests' is invoked, and assuming that a master manifest ccn is stored in gcb0rt-ccn-key and ws-save-ccn, when the system retrieves follower manifests, the desired outcome is that set cc-accept-status to 'gegb', initialize ws-follower-mani-array to spaces, set i to 1, set ws-follower-not-end-of-db to true; perform until ws-follower-end-of-db is true or i > 100: call cims with gn function, gccc-pcb7, gccc-cargo-report-segment, and ccrt-b0rt-ssaq; if cc-status-code is space and gccc-master-mfst-ccn equals ws-save-ccn: if gccc-follower-mfst is true, move gccc-ccn-key to ws-follower-mani(i) and add 1 to i; else if cc-status-code is not space or gccc-master-mfst-ccn does not equal ws-save-ccn, set ws-follower-end-of-db to true; subtract 1 from i after loop completes.
💻 Technical Criteria
Given
A master manifest CCN is stored in GCB0RT-CCN-KEY and WS-SAVE-CCN
When
The system retrieves follower manifests
Then
Set CC-ACCEPT-STATUS to 'GEGB', initialize WS-FOLLOWER-MANI-ARRAY to spaces, set I to 1, set WS-FOLLOWER-NOT-END-OF-DB to true; perform until WS-FOLLOWER-END-OF-DB is true or I > 100: call CIMS with GN function, GCCC-PCB7, GCCC-CARGO-REPORT-SEGMENT, and CCRT-B0RT-SSAQ; if CC-STATUS-CODE is space and GCCC-MASTER-MFST-CCN equals WS-SAVE-CCN: if GCCC-FOLLOWER-MFST is true, move GCCC-CCN-KEY to WS-FOLLOWER-MANI(I) and add 1 to I; else if CC-STATUS-CODE is not space or GCCC-MASTER-MFST-CCN does not equal WS-SAVE-CCN, set WS-FOLLOWER-END-OF-DB to true; subtract 1 from I after loop completes
R-GCX126-cbl-00312
33: Process Follower Manifests - Set release information for each
Action Rules
📊 Business Logic Narrative
When the process '33: Process Follower Manifests - Set release information for each' is invoked, and assuming that follower manifest ccn is stored in ws-follower-mani(j) and cargo record has been retrieved, when the system sets release information for the follower, the desired outcome is that if ws-cargo-found is true, perform d110-set-release-information which clears gccc-destin-stn-num-index and gccc-destin-stn-num-for-index to spaces, sets gccc-release-date to cc-machine-date-x, sets gccc-release-time to cc-machine-time-x, sets gccc-release-by to cc-acf2-userid, sets gccc-current-status to 'released', sets gccc-release-status to 'r', sets gccc-release-type to 'a', clears gccc-release-reason to spaces, clears gccc-err-or-rel-status-index to spaces, and clears gccc-error-status to spaces.
💻 Technical Criteria
Given
Follower manifest CCN is stored in WS-FOLLOWER-MANI(J) and cargo record has been retrieved
When
The system sets release information for the follower
Then
If WS-CARGO-FOUND is true, perform D110-SET-RELEASE-INFORMATION which clears GCCC-DESTIN-STN-NUM-INDEX and GCCC-DESTIN-STN-NUM-FOR-INDEX to spaces, sets GCCC-RELEASE-DATE to CC-MACHINE-DATE-X, sets GCCC-RELEASE-TIME to CC-MACHINE-TIME-X, sets GCCC-RELEASE-BY to CC-ACF2-USERID, sets GCCC-CURRENT-STATUS to 'RELEASED', sets GCCC-RELEASE-STATUS to 'R', sets GCCC-RELEASE-TYPE to 'A', clears GCCC-RELEASE-REASON to spaces, clears GCCC-ERR-OR-REL-STATUS-INDEX to spaces, and clears GCCC-ERROR-STATUS to spaces
R-GCX126-cbl-00313
33: Process Follower Manifests - Log release message
Process Rules
📊 Business Logic Narrative
When the process '33: Process Follower Manifests - Log release message' is invoked, and assuming that follower manifest has been found and release information has been set, when the system logs the release message for the follower, the desired outcome is that clear ws-gcx105-info-msg to spaces, construct message 'edi 350: release via decon at port ' concatenated with p4-01-port-cde (first 4 characters) and store in ws-gcx105-info-msg, move gccc-ccn-key to ws-current-ccn-key, and perform z150-log-cargo-info-msg.
💻 Technical Criteria
Given
Follower manifest has been found and release information has been set
When
The system logs the release message for the follower
Then
Clear WS-GCX105-INFO-MSG to spaces, construct message 'EDI 350: RELEASE VIA DECON AT PORT ' concatenated with P4-01-PORT-CDE (first 4 characters) and store in WS-GCX105-INFO-MSG, move GCCC-CCN-KEY to WS-CURRENT-CCN-KEY, and perform Z150-LOG-CARGO-INFO-MSG
R-GCX126-cbl-00315
33: Process Follower Manifests - Process US manifest
Action Rules
📊 Business Logic Narrative
When the process '33: Process Follower Manifests - Process US manifest' is invoked, and assuming that follower manifest has been found with valid gccc-waybill-key-for-index and gccc-equipment-car, when the system processes the us manifest for the follower, the desired outcome is that move gccc-waybill-key-for-index to save-waybill-index, move gccc-equipment-car to ws-current-carid-key, and perform d120-process-us-mfst which sets ws-us-mfst-not-found to true, sets ws-not-eof to true, performs z3300-gu-us-cargo-by-carwb, performs z3350-gn-us-cargo-by-carwb until ws-us-mfst-found or ws-eof; if not eof: performs z200-move-log-information, constructs gcx105-date from cc-machine-century and cc-machine-date-x, sets gcx105-time to cc-machine-time-x, sets gcx105-action-code to log-use-input-message, sets gcx105-train-or-us-ccn to gcusrt-us-ccn-key, sets gcx105-us-cargo to true, constructs gcx105-message as 'cdn ccn rlsed by edi 350: ' concatenated with gccc-ccn-key, and performs z300-spawn-gct1051e.
💻 Technical Criteria
Given
Follower manifest has been found with valid GCCC-WAYBILL-KEY-FOR-INDEX and GCCC-EQUIPMENT-CAR
When
The system processes the US manifest for the follower
Then
Move GCCC-WAYBILL-KEY-FOR-INDEX to SAVE-WAYBILL-INDEX, move GCCC-EQUIPMENT-CAR to WS-CURRENT-CARID-KEY, and perform D120-PROCESS-US-MFST which sets WS-US-MFST-NOT-FOUND to true, sets WS-NOT-EOF to true, performs Z3300-GU-US-CARGO-BY-CARWB, performs Z3350-GN-US-CARGO-BY-CARWB until WS-US-MFST-FOUND or WS-EOF; if not EOF: performs Z200-MOVE-LOG-INFORMATION, constructs GCX105-DATE from CC-MACHINE-CENTURY and CC-MACHINE-DATE-X, sets GCX105-TIME to CC-MACHINE-TIME-X, sets GCX105-ACTION-CODE to LOG-USE-INPUT-MESSAGE, sets GCX105-TRAIN-OR-US-CCN to GCUSRT-US-CCN-KEY, sets GCX105-US-CARGO to true, constructs GCX105-MESSAGE as 'CDN CCN RLSED BY EDI 350: ' concatenated with GCCC-CCN-KEY, and performs Z300-SPAWN-GCT1051E
R-GCX126-cbl-00620
Save Master Cargo Information
Process Rules
📊 Business Logic Narrative
When the process 'Save Master Cargo Information' is invoked, and assuming that a master manifest cargo record has been identified for deconsolidation processing, when the system begins processing follower manifests, the desired outcome is that the master cargo segment, master ccn key, and master waybill index are saved to temporary storage for later restoration.
💻 Technical Criteria
Given
A master manifest cargo record has been identified for deconsolidation processing
When
The system begins processing follower manifests
Then
The master cargo segment, master CCN key, and master waybill index are saved to temporary storage for later restoration
R-GCX126-cbl-00621
Get Next Cargo Record
Process Rules
📊 Business Logic Narrative
When the process 'Get Next Cargo Record' is invoked, and assuming that a master manifest ccn exists and follower manifest array is initialized with index starting at 1, when the system retrieves the next cargo record using the master ccn as the parent reference, the desired outcome is that the system continues retrieving cargo records until either end of database is reached or the index exceeds 100 follower manifests.
💻 Technical Criteria
Given
A master manifest CCN exists and follower manifest array is initialized with index starting at 1
When
The system retrieves the next cargo record using the master CCN as the parent reference
Then
The system continues retrieving cargo records until either end of database is reached OR the index exceeds 100 follower manifests
R-GCX126-cbl-00622
Status Code = Blank AND Master CCN Matches?
Validation Rules
📊 Business Logic Narrative
When the process 'Status Code = Blank AND Master CCN Matches?' is invoked, and assuming that a cargo record has been retrieved from the database, when the system validates the cargo record, the desired outcome is that the cargo record is considered valid if the database status code is blank (successful retrieval) and the cargo's master manifest ccn matches the current master ccn being processed.
💻 Technical Criteria
Given
A cargo record has been retrieved from the database
When
The system validates the cargo record
Then
The cargo record is considered valid if the database status code is blank (successful retrieval) AND the cargo's master manifest CCN matches the current master CCN being processed
R-GCX126-cbl-00623
Is Follower Manifest?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Follower Manifest?' is invoked, and assuming that a cargo record has been validated as belonging to the master manifest ccn, when the system checks the manifest type indicator, the desired outcome is that the cargo is identified as a follower manifest if it is not flagged as a master manifest.
💻 Technical Criteria
Given
A cargo record has been validated as belonging to the master manifest CCN
When
The system checks the manifest type indicator
Then
The cargo is identified as a follower manifest if it is NOT flagged as a master manifest
R-GCX126-cbl-00624
Store Follower CCN in Array
Process Rules
📊 Business Logic Narrative
When the process 'Store Follower CCN in Array' is invoked, and assuming that a cargo record has been identified as a valid follower manifest, when the system stores the follower ccn, the desired outcome is that the follower manifest ccn key is stored in the follower array at the current index position and the index is incremented by 1.
💻 Technical Criteria
Given
A cargo record has been identified as a valid follower manifest
When
The system stores the follower CCN
Then
The follower manifest CCN key is stored in the follower array at the current index position AND the index is incremented by 1
R-GCX126-cbl-00626
Initialize Loop Counter J to 1
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Loop Counter J to 1' is invoked, and assuming that at least one follower manifest ccn has been stored in the follower array, when the system prepares to process each follower manifest, the desired outcome is that the loop counter j is set to 1 to begin processing from the first follower manifest in the array.
💻 Technical Criteria
Given
At least one follower manifest CCN has been stored in the follower array
When
The system prepares to process each follower manifest
Then
The loop counter J is set to 1 to begin processing from the first follower manifest in the array
R-GCX126-cbl-00627
Follower CCN Empty OR J > Index?
Decision Rules
📊 Business Logic Narrative
When the process 'Follower CCN Empty OR J > Index?' is invoked, and assuming that the system is iterating through the follower manifest array, when the system checks the loop continuation condition, the desired outcome is that the loop continues if the follower ccn at position j is not empty (not spaces or low-values) and the counter j has not exceeded the total number of followers (index).
💻 Technical Criteria
Given
The system is iterating through the follower manifest array
When
The system checks the loop continuation condition
Then
The loop continues if the follower CCN at position J is not empty (not spaces or low-values) AND the counter J has not exceeded the total number of followers (index)
R-GCX126-cbl-00628
Retrieve Follower Cargo by CCN
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Follower Cargo by CCN' is invoked, and assuming that a follower manifest ccn exists at the current array position j, when the system retrieves the cargo record, the desired outcome is that the follower ccn is used as the key value to retrieve the cargo report segment from the database.
💻 Technical Criteria
Given
A follower manifest CCN exists at the current array position J
When
The system retrieves the cargo record
Then
The follower CCN is used as the key value to retrieve the cargo report segment from the database
R-GCX126-cbl-00629
Cargo Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Cargo Found?' is invoked, and assuming that the system has attempted to retrieve a follower cargo record by ccn, when the system checks the retrieval result, the desired outcome is that the cargo is considered found if the cargo found indicator is set to true, otherwise skip to the next follower manifest.
💻 Technical Criteria
Given
The system has attempted to retrieve a follower cargo record by CCN
When
The system checks the retrieval result
Then
The cargo is considered found if the cargo found indicator is set to true, otherwise skip to the next follower manifest
R-GCX126-cbl-00633
Log Release Message to Follower CCN
Process Rules
📊 Business Logic Narrative
When the process 'Log Release Message to Follower CCN' is invoked, and assuming that the release reason has been set for the follower cargo record, when the system logs the release message, the desired outcome is that the current follower ccn key is set as the current ccn key and the release message is logged to the cargo information message log with current date, time, user id, and action code.
💻 Technical Criteria
Given
The release reason has been set for the follower cargo record
When
The system logs the release message
Then
The current follower CCN key is set as the current CCN key AND the release message is logged to the cargo information message log with current date, time, user ID, and action code
R-GCX126-cbl-00634
Save Follower Waybill Index
Process Rules
📊 Business Logic Narrative
When the process 'Save Follower Waybill Index' is invoked, and assuming that the release message has been logged for the follower cargo, when the system prepares to process the us manifest, the desired outcome is that the follower's waybill key for index is saved to the waybill index variable and the follower's equipment car id is saved to the current car id key variable.
💻 Technical Criteria
Given
The release message has been logged for the follower cargo
When
The system prepares to process the US manifest
Then
The follower's waybill key for index is saved to the waybill index variable AND the follower's equipment car ID is saved to the current car ID key variable
R-GCX126-cbl-00635
Process Associated US Manifest for Follower
Action Rules
📊 Business Logic Narrative
When the process 'Process Associated US Manifest for Follower' is invoked, and assuming that the follower cargo waybill index and equipment car id have been saved, when the system processes the us manifest, the desired outcome is that the system searches for us cargo records matching the equipment car id and waybill number, and if found (not deleted and no train created), logs a message indicating the canadian ccn was released by edi 350 with the us ccn reference.
💻 Technical Criteria
Given
The follower cargo waybill index and equipment car ID have been saved
When
The system processes the US manifest
Then
The system searches for US cargo records matching the equipment car ID and waybill number, and if found (not deleted and no train created), logs a message indicating the Canadian CCN was released by EDI 350 with the US CCN reference
R-GCX126-cbl-00637
Increment Loop Counter J
Process Rules
📊 Business Logic Narrative
When the process 'Increment Loop Counter J' is invoked, and assuming that the current follower manifest has been fully processed and updated, when the system advances to the next follower, the desired outcome is that the loop counter j is incremented by 1 to point to the next follower ccn in the array.
💻 Technical Criteria
Given
The current follower manifest has been fully processed and updated
When
The system advances to the next follower
Then
The loop counter J is incremented by 1 to point to the next follower CCN in the array
R-GCX126-cbl-00638
Restore Master Cargo Information
Process Rules
📊 Business Logic Narrative
When the process 'Restore Master Cargo Information' is invoked, and assuming that all follower manifests in the array have been processed or an empty follower ccn position was encountered, when the system completes follower processing, the desired outcome is that the saved master cargo segment is restored to the cargo report segment, the saved master waybill index is restored to the waybill index variable, and the saved master equipment car id is restored to the current car id key variable.
💻 Technical Criteria
Given
All follower manifests in the array have been processed OR an empty follower CCN position was encountered
When
The system completes follower processing
Then
The saved master cargo segment is restored to the cargo report segment, the saved master waybill index is restored to the waybill index variable, and the saved master equipment car ID is restored to the current car ID key variable
R-GCX126-cbl-00830
Call GCCUSIO to Get Next US Cargo
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCUSIO to Get Next US Cargo' is invoked, and assuming that a current equipment car id and waybill number are available for search, when the system requests the next us cargo record using the car id and waybill index with greater than operator, the desired outcome is that the system retrieves the next sequential us cargo record from the database.
💻 Technical Criteria
Given
A current equipment car ID and waybill number are available for search
When
The system requests the next US cargo record using the car ID and waybill index with greater than operator
Then
The system retrieves the next sequential US cargo record from the database
R-GCX126-cbl-00833
Car ID and Waybill Match Current?
Validation Rules
📊 Business Logic Narrative
When the process 'Car ID and Waybill Match Current?' is invoked, and assuming that a us cargo record has been successfully retrieved and current equipment car id (first 12 characters) and waybill number are known, when the system compares the retrieved record's car id (first 12 characters) and waybill number against current values, the desired outcome is that if both car id and waybill match, the record is valid for processing; otherwise, it indicates end of matching records.
💻 Technical Criteria
Given
A US cargo record has been successfully retrieved and current equipment car ID (first 12 characters) and waybill number are known
When
The system compares the retrieved record's car ID (first 12 characters) and waybill number against current values
Then
If both car ID and waybill match, the record is valid for processing; otherwise, it indicates end of matching records
R-GCX126-cbl-00834
Set End of Database Flag
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set End of Database Flag', assuming that a us cargo record has been retrieved but its equipment car id or waybill number does not match current search criteria, when the system detects the mismatch in equipment or waybill, the desired outcome is that the end of database flag is set to true indicating no more matching records exist.
💻 Technical Criteria
EXCLUDING
A US cargo record has been retrieved but its equipment car ID or waybill number does not match current search criteria
When
The system detects the mismatch in equipment or waybill
Then
The end of database flag is set to true indicating no more matching records exist
R-GCX126-cbl-00835
Cargo Deleted or TR Created?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Deleted or TR Created?' is invoked, and assuming that a us cargo record has been retrieved that matches equipment and waybill criteria, when the system checks if the cargo is marked as deleted or has train created indicator set to 'y', the desired outcome is that if cargo is deleted or train created indicator is 'y', the record is skipped; otherwise, it is marked as found for processing.
💻 Technical Criteria
Given
A US cargo record has been retrieved that matches equipment and waybill criteria
When
The system checks if the cargo is marked as deleted or has train created indicator set to 'Y'
Then
If cargo is deleted or train created indicator is 'Y', the record is skipped; otherwise, it is marked as found for processing
R-GCX126-cbl-00836
Set US Manifest Found Flag
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set US Manifest Found Flag', assuming that a us cargo record has been retrieved that matches equipment and waybill, is not deleted, and does not have train created, when the system completes all validation checks successfully, the desired outcome is that the us manifest found flag is set to true indicating a valid record is available for processing.
💻 Technical Criteria
EXCLUDING
A US cargo record has been retrieved that matches equipment and waybill, is not deleted, and does not have train created
When
The system completes all validation checks successfully
Then
The US manifest found flag is set to true indicating a valid record is available for processing
R-GCX126-cbl-00847
Set Car ID and Waybill from Follower Manifest
Process Rules
📊 Business Logic Narrative
When the process 'Set Car ID and Waybill from Follower Manifest' is invoked, and assuming that a follower manifest cargo record is being processed for release, when the system prepares to search for associated us cargo records, the desired outcome is that the equipment car identifier is extracted from the current cargo record's equipment car field and the waybill number is extracted from the saved waybill index field for use in the us cargo search.
💻 Technical Criteria
Given
A follower manifest cargo record is being processed for release
When
The system prepares to search for associated US cargo records
Then
The equipment car identifier is extracted from the current cargo record's equipment car field and the waybill number is extracted from the saved waybill index field for use in the US cargo search
R-GCX126-cbl-00848
Retrieve US Cargo by Car ID and Waybill
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve US Cargo by Car ID and Waybill' is invoked, and assuming that an equipment car identifier and waybill number have been extracted from the canadian cargo record, when the system searches for the associated us cargo manifest, the desired outcome is that the system retrieves the us cargo record where the car identifier index matches the equipment car identifier and the waybill number index matches the waybill number, using a greater-than-or-equal-to search operator, and sets an end-of-database indicator if no record is found or if the retrieved record does not match the search criteria.
💻 Technical Criteria
Given
An equipment car identifier and waybill number have been extracted from the Canadian cargo record
When
The system searches for the associated US cargo manifest
Then
The system retrieves the US cargo record where the car identifier index matches the equipment car identifier and the waybill number index matches the waybill number, using a greater-than-or-equal-to search operator, and sets an end-of-database indicator if no record is found or if the retrieved record does not match the search criteria
R-GCX126-cbl-00849
US Cargo Found?
Decision Rules
📊 Business Logic Narrative
When the process 'US Cargo Found?' is invoked, and assuming that a us cargo retrieval operation has been performed using equipment car identifier and waybill number, when the system evaluates the search results, the desired outcome is that if the end-of-database indicator is set, the system concludes no us cargo was found and terminates processing; otherwise, the system proceeds to validate the retrieved cargo record.
💻 Technical Criteria
Given
A US cargo retrieval operation has been performed using equipment car identifier and waybill number
When
The system evaluates the search results
Then
If the end-of-database indicator is set, the system concludes no US cargo was found and terminates processing; otherwise, the system proceeds to validate the retrieved cargo record
R-GCX126-cbl-00850
Cargo Deleted or TR Created?
Validation Rules
📊 Business Logic Narrative
When the process 'Cargo Deleted or TR Created?' is invoked, and assuming that a us cargo record has been successfully retrieved matching the equipment car identifier and waybill number, when the system validates the cargo record status, the desired outcome is that if the cargo record has a deleted status indicator or if the train-created-for-it field equals 'y', the system skips processing this cargo and terminates; otherwise, the system proceeds to log the release information.
💻 Technical Criteria
Given
A US cargo record has been successfully retrieved matching the equipment car identifier and waybill number
When
The system validates the cargo record status
Then
If the cargo record has a deleted status indicator or if the train-created-for-it field equals 'Y', the system skips processing this cargo and terminates; otherwise, the system proceeds to log the release information
R-GCX126-cbl-00852
Build Message: 'CDN CCN RLSED BY EDI 350: ' + Canadian CCN
Computation Rules
📊 Business Logic Narrative
When the process 'Build Message: 'CDN CCN RLSED BY EDI 350: ' + Canadian CCN' is invoked, and assuming that the log information structure has been initialized and the canadian cargo control number is available from the current cargo record, when the system builds the log message content, the desired outcome is that the log message is constructed by concatenating the text 'cdn ccn rlsed by edi 350: ' with the canadian cargo control number key from the current cargo record.
💻 Technical Criteria
Given
The log information structure has been initialized and the Canadian cargo control number is available from the current cargo record
When
The system builds the log message content
Then
The log message is constructed by concatenating the text 'CDN CCN RLSED BY EDI 350: ' with the Canadian cargo control number key from the current cargo record
R-GCX126-cbl-00853
Set Log Details: Date/Time from System, Action Code: LOG-USE-INPUT-MESSAGE, US CCN as Reference, Type: US Cargo
Process Rules
📊 Business Logic Narrative
When the process 'Set Log Details: Date/Time from System, Action Code: LOG-USE-INPUT-MESSAGE, US CCN as Reference, Type: US Cargo' is invoked, and assuming that the log message has been constructed and the us cargo record contains the us cargo control number, when the system completes the log entry details, the desired outcome is that the log date is set to the current machine century concatenated with the current machine date, the log time is set to the current machine time, the action code is set to log-use-input-message, the train or us cargo control number field is set to the us cargo control number key from the retrieved record, and the cargo type indicator is set to us cargo.
💻 Technical Criteria
Given
The log message has been constructed and the US cargo record contains the US cargo control number
When
The system completes the log entry details
Then
The log date is set to the current machine century concatenated with the current machine date, the log time is set to the current machine time, the action code is set to LOG-USE-INPUT-MESSAGE, the train or US cargo control number field is set to the US cargo control number key from the retrieved record, and the cargo type indicator is set to US cargo
R-GCX126-cbl-00328
Set Search Keys: Car ID and Waybill Index
Process Rules
📊 Business Logic Narrative
When the process 'Set Search Keys: Car ID and Waybill Index' is invoked, and assuming that a canadian cargo record with equipment car id and waybill index exists, when the system prepares to search for us manifest, the desired outcome is that us cargo search key car id is set to current canadian cargo equipment car id and us cargo search key waybill index is set to saved canadian cargo waybill index.
💻 Technical Criteria
Given
A Canadian cargo record with equipment car ID and waybill index exists
When
The system prepares to search for US manifest
Then
US cargo search key car ID is set to current Canadian cargo equipment car ID AND US cargo search key waybill index is set to saved Canadian cargo waybill index
R-GCX126-cbl-00329
Retrieve First US Cargo Record by Car ID and Waybill
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve First US Cargo Record by Car ID and Waybill' is invoked, and assuming that us cargo search keys are set with car id and waybill index, when the system executes first us cargo retrieval using car-waybill index with '>=' operator, the desired outcome is that database returns first us cargo record matching or exceeding the search criteria.
💻 Technical Criteria
Given
US cargo search keys are set with car ID and waybill index
When
The system executes first US cargo retrieval using car-waybill index with '>=' operator
Then
Database returns first US cargo record matching or exceeding the search criteria
R-GCX126-cbl-00331
Car ID and Waybill Match?
Validation Rules
📊 Business Logic Narrative
When the process 'Car ID and Waybill Match?' is invoked, and assuming that a us cargo record has been successfully retrieved from database, when the system compares us cargo car id (first 12 characters) with current car id key and compares us cargo waybill index with saved waybill index, the desired outcome is that if both car id and waybill match, proceed to deletion check else set end of file flag to true.
💻 Technical Criteria
Given
A US cargo record has been successfully retrieved from database
When
The system compares US cargo car ID (first 12 characters) with current car ID key AND compares US cargo waybill index with saved waybill index
Then
If both car ID and waybill match, proceed to deletion check ELSE set end of file flag to true
R-GCX126-cbl-00332
Cargo Deleted or TR Created?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Deleted or TR Created?' is invoked, and assuming that a us cargo record with matching car id and waybill has been retrieved, when the system checks us cargo deletion status indicator or train created indicator, the desired outcome is that if cargo is deleted or train created indicator equals 'y', skip this record and continue search else set us manifest found flag to true.
💻 Technical Criteria
Given
A US cargo record with matching car ID and waybill has been retrieved
When
The system checks US cargo deletion status indicator OR train created indicator
Then
If cargo is deleted OR train created indicator equals 'Y', skip this record and continue search ELSE set US manifest found flag to true
R-GCX126-cbl-00333
Set US Manifest Found Flag
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set US Manifest Found Flag', assuming that a us cargo record matches car id and waybill and is not deleted and does not have train created, when the system validates the us cargo record, the desired outcome is that us manifest found flag is set to true.
💻 Technical Criteria
EXCLUDING
A US cargo record matches car ID and waybill AND is not deleted AND does not have train created
When
The system validates the US cargo record
Then
US manifest found flag is set to true
R-GCX126-cbl-00335
Retrieve Next US Cargo Record by Car ID and Waybill
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Retrieve Next US Cargo Record by Car ID and Waybill', assuming that first us cargo record did not meet criteria or was not found, when the system executes next us cargo retrieval using car-waybill index with '>' operator, the desired outcome is that database returns next us cargo record in sequence.
💻 Technical Criteria
EXCLUDING
First US cargo record did not meet criteria or was not found
When
The system executes next US cargo retrieval using car-waybill index with '>' operator
Then
Database returns next US cargo record in sequence
R-GCX126-cbl-00337
Car ID and Waybill Match?
Validation Rules
📊 Business Logic Narrative
When the process 'Car ID and Waybill Match?' is invoked, and assuming that a next us cargo record has been successfully retrieved from database, when the system compares us cargo car id (first 12 characters) with current car id key and compares us cargo waybill index with saved waybill index, the desired outcome is that if both car id and waybill match, proceed to deletion check else set end of file flag to true.
💻 Technical Criteria
Given
A next US cargo record has been successfully retrieved from database
When
The system compares US cargo car ID (first 12 characters) with current car ID key AND compares US cargo waybill index with saved waybill index
Then
If both car ID and waybill match, proceed to deletion check ELSE set end of file flag to true
R-GCX126-cbl-00338
Cargo Deleted or TR Created?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Deleted or TR Created?' is invoked, and assuming that a next us cargo record with matching car id and waybill has been retrieved, when the system checks us cargo deletion status indicator or train created indicator, the desired outcome is that if cargo is deleted or train created indicator equals 'y', check for end of file to continue search else set us manifest found flag to true.
💻 Technical Criteria
Given
A next US cargo record with matching car ID and waybill has been retrieved
When
The system checks US cargo deletion status indicator OR train created indicator
Then
If cargo is deleted OR train created indicator equals 'Y', check for end of file to continue search ELSE set US manifest found flag to true
R-GCX126-cbl-00339
Set US Manifest Found Flag
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set US Manifest Found Flag', assuming that a next us cargo record matches car id and waybill and is not deleted and does not have train created, when the system validates the next us cargo record, the desired outcome is that us manifest found flag is set to true.
💻 Technical Criteria
EXCLUDING
A next US cargo record matches car ID and waybill AND is not deleted AND does not have train created
When
The system validates the next US cargo record
Then
US manifest found flag is set to true
R-GCX126-cbl-00341
Prepare Log Information: - Current Date/Time - US CCN - Action Code: LOG-USE-INPUT-MESSAGE - Message Type: US Cargo
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Log Information: - Current Date/Time - US CCN - Action Code: LOG-USE-INPUT-MESSAGE - Message Type: US Cargo' is invoked, and assuming that a valid us manifest record has been found, when the system prepares to log the release message, the desired outcome is that log date is set to current machine century and date and log time is set to current machine time and log ccn is set to us cargo ccn and action code is set to log-use-input-message and cargo type indicator is set to us cargo.
💻 Technical Criteria
Given
A valid US manifest record has been found
When
The system prepares to log the release message
Then
Log date is set to current machine century and date AND log time is set to current machine time AND log CCN is set to US cargo CCN AND action code is set to LOG-USE-INPUT-MESSAGE AND cargo type indicator is set to US Cargo
R-GCX126-cbl-00342
Build Release Message: 'CDN CCN RLSED BY EDI 350: ' + Canadian CCN
Computation Rules
📊 Business Logic Narrative
When the process 'Build Release Message: 'CDN CCN RLSED BY EDI 350: ' + Canadian CCN' is invoked, and assuming that log information has been prepared with us cargo details, when the system builds the release message, the desired outcome is that message text is set to 'cdn ccn rlsed by edi 350: ' concatenated with canadian cargo ccn key.
💻 Technical Criteria
Given
Log information has been prepared with US cargo details
When
The system builds the release message
Then
Message text is set to 'CDN CCN RLSED BY EDI 350: ' concatenated with Canadian cargo CCN key
R-GCX126-cbl-00343
Spawn GCT1051E Transaction to Log Message
Action Rules
📊 Business Logic Narrative
When the process 'Spawn GCT1051E Transaction to Log Message' is invoked, and assuming that release message has been built with all required log information, when the system invokes gct1051e logging transaction, the desired outcome is that log entry is created with date, time, us ccn, action code, cargo type, and release message.
💻 Technical Criteria
Given
Release message has been built with all required log information
When
The system invokes GCT1051E logging transaction
Then
Log entry is created with date, time, US CCN, action code, cargo type, and release message
R-GCX126-cbl-00639
Set Car ID from Current Cargo Equipment
Process Rules
📊 Business Logic Narrative
When the process 'Set Car ID from Current Cargo Equipment' is invoked, and assuming that a canadian cargo record is being processed with a valid equipment car id key and waybill index, when the system prepares to search for associated us cargo records, the desired outcome is that the system sets the us cargo search car id to the current cargo's equipment car id key, sets the us cargo search waybill index to the current cargo's waybill index, and initializes the us ccn key index to low values to start from the beginning of the index.
💻 Technical Criteria
Given
A Canadian cargo record is being processed with a valid equipment car ID key and waybill index
When
The system prepares to search for associated US cargo records
Then
The system sets the US cargo search car ID to the current cargo's equipment car ID key, sets the US cargo search waybill index to the current cargo's waybill index, and initializes the US CCN key index to low values to start from the beginning of the index
R-GCX126-cbl-00640
Call Database to Get First US Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Call Database to Get First US Cargo Record' is invoked, and assuming that the search parameters are initialized with car id, waybill index, and us ccn key set to low values, and the search operator is set to '>=', when the system calls the database i/o module to retrieve us cargo using the car id and waybill index, the desired outcome is that the system executes a gu (get unique) function against the us cargo segment with the specified search criteria and returns the first matching or next higher record.
💻 Technical Criteria
Given
The search parameters are initialized with car ID, waybill index, and US CCN key set to low values, and the search operator is set to '>='
When
The system calls the database I/O module to retrieve US cargo using the car ID and waybill index
Then
The system executes a GU (Get Unique) function against the US cargo segment with the specified search criteria and returns the first matching or next higher record
R-GCX126-cbl-00642
Car ID and Waybill Match?
Validation Rules
📊 Business Logic Narrative
When the process 'Car ID and Waybill Match?' is invoked, and assuming that a us cargo record has been successfully retrieved from the database, when the system compares the retrieved us cargo's car id index (first 12 characters) with the current cargo equipment car id key and compares the us cargo's waybill index with the current cargo's waybill index, the desired outcome is that if both the car id (first 12 characters) and waybill index match exactly, the record is valid for processing; if either does not match, the end-of-database flag is set.
💻 Technical Criteria
Given
A US cargo record has been successfully retrieved from the database
When
The system compares the retrieved US cargo's car ID index (first 12 characters) with the current cargo equipment car ID key and compares the US cargo's waybill index with the current cargo's waybill index
Then
If both the car ID (first 12 characters) and waybill index match exactly, the record is valid for processing; if either does not match, the end-of-database flag is set
R-GCX126-cbl-00643
Cargo Deleted or TR Created?
Validation Rules
📊 Business Logic Narrative
When the process 'Cargo Deleted or TR Created?' is invoked, and assuming that a us cargo record has been retrieved and validated for car id and waybill match, when the system checks the us cargo's deletion status indicator and the train-created indicator, the desired outcome is that if the cargo deletion status is 'd' (deleted) or the train-created-for-it indicator is 'y', the record is skipped and end-of-database flag is set; if both conditions are false, the us manifest found flag is set.
💻 Technical Criteria
Given
A US cargo record has been retrieved and validated for car ID and waybill match
When
The system checks the US cargo's deletion status indicator and the train-created indicator
Then
If the cargo deletion status is 'D' (deleted) or the train-created-for-it indicator is 'Y', the record is skipped and end-of-database flag is set; if both conditions are false, the US manifest found flag is set
R-GCX126-cbl-00644
Mark US Manifest Found
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Mark US Manifest Found', assuming that a us cargo record exists that matches the car id and waybill, is not deleted, and does not have a train already created, when all validation checks pass successfully, the desired outcome is that the system sets the us manifest found indicator to true, allowing the us cargo to be processed for release updates.
💻 Technical Criteria
EXCLUDING
A US cargo record exists that matches the car ID and waybill, is not deleted, and does not have a train already created
When
All validation checks pass successfully
Then
The system sets the US manifest found indicator to true, allowing the US cargo to be processed for release updates
R-GCX126-cbl-00645
Mark End of Database
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Mark End of Database', assuming that the database retrieval operation has completed, when any of the following conditions occur: database status is not blank, car id or waybill does not match, cargo is deleted, or train is already created, the desired outcome is that the system sets the end-of-database flag to true, indicating no valid us cargo record is available for processing.
💻 Technical Criteria
EXCLUDING
The database retrieval operation has completed
When
Any of the following conditions occur: database status is not blank, car ID or waybill does not match, cargo is deleted, or train is already created
Then
The system sets the end-of-database flag to true, indicating no valid US cargo record is available for processing
R-GCX126-cbl-00858
Set Waybill Index from Saved Waybill
Process Rules
📊 Business Logic Narrative
When the process 'Set Waybill Index from Saved Waybill' is invoked, and assuming that a waybill index has been saved from the current cargo processing, when the system prepares to search for associated us cargo records, the desired outcome is that the us cargo search waybill number index is populated with the saved waybill index value.
💻 Technical Criteria
Given
A waybill index has been saved from the current cargo processing
When
The system prepares to search for associated US cargo records
Then
The US cargo search waybill number index is populated with the saved waybill index value
R-GCX126-cbl-00859
Set US CCN Key to Low Values
Process Rules
📊 Business Logic Narrative
When the process 'Set US CCN Key to Low Values' is invoked, and assuming that the system is preparing to search for us cargo records by car identifier and waybill, when the search parameters are being initialized, the desired outcome is that the us ccn key index is set to low values to start the search from the lowest possible ccn.
💻 Technical Criteria
Given
The system is preparing to search for US cargo records by car identifier and waybill
When
The search parameters are being initialized
Then
The US CCN key index is set to low values to start the search from the lowest possible CCN
R-GCX126-cbl-00862
Set Index Type to Car-Waybill
Process Rules
📊 Business Logic Narrative
When the process 'Set Index Type to Car-Waybill' is invoked, and assuming that the system needs to search us cargo records by equipment and waybill, when the database index type is being specified, the desired outcome is that the index type is set to car-waybill to use the composite index for the search.
💻 Technical Criteria
Given
The system needs to search US cargo records by equipment and waybill
When
The database index type is being specified
Then
The index type is set to Car-Waybill to use the composite index for the search
R-GCX126-cbl-00863
Set Operator to '>='
Process Rules
📊 Business Logic Narrative
When the process 'Set Operator to '>='' is invoked, and assuming that the system is configuring a database search with specific car and waybill criteria, when the search operator is being defined, the desired outcome is that the operator is set to '>=' to include the starting point and all subsequent records in the index.
💻 Technical Criteria
Given
The system is configuring a database search with specific car and waybill criteria
When
The search operator is being defined
Then
The operator is set to '>=' to include the starting point and all subsequent records in the index
R-GCX126-cbl-00864
Call GCCUSIO to Retrieve US Cargo
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCUSIO to Retrieve US Cargo' is invoked, and assuming that all search parameters are configured with car identifier, waybill index, function code gu, index type car-waybill, and operator '>=', when the system executes the database retrieval operation, the desired outcome is that the gccusio module is called with the configured parameters to retrieve the us cargo record into the gcsusrt segment.
💻 Technical Criteria
Given
All search parameters are configured with car identifier, waybill index, function code GU, index type Car-Waybill, and operator '>='
When
The system executes the database retrieval operation
Then
The GCCUSIO module is called with the configured parameters to retrieve the US cargo record into the GCSUSRT segment
R-GCX126-cbl-00866
Car ID and Waybill Match?
Validation Rules
📊 Business Logic Narrative
When the process 'Car ID and Waybill Match?' is invoked, and assuming that a us cargo record has been successfully retrieved from the database, when the system validates the retrieved record's car identifier (first 12 characters) against the current cargo's car identifier key and the waybill number index against the saved waybill index, the desired outcome is that if both the car identifier and waybill match, continue validation; otherwise set the end-of-database flag to true.
💻 Technical Criteria
Given
A US cargo record has been successfully retrieved from the database
When
The system validates the retrieved record's car identifier (first 12 characters) against the current cargo's car identifier key AND the waybill number index against the saved waybill index
Then
If both the car identifier and waybill match, continue validation; otherwise set the end-of-database flag to true
R-GCX126-cbl-00867
Cargo Deleted or TR Created?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Deleted or TR Created?' is invoked, and assuming that a us cargo record has been retrieved and validated for car identifier and waybill match, when the system checks if the cargo is marked as deleted or if a train has already been created for it (tr-created-for-it = 'y'), the desired outcome is that if either condition is true, skip setting the us manifest found flag and proceed to completion; otherwise continue to set the found flag.
💻 Technical Criteria
Given
A US cargo record has been retrieved and validated for car identifier and waybill match
When
The system checks if the cargo is marked as deleted OR if a train has already been created for it (TR-CREATED-FOR-IT = 'Y')
Then
If either condition is true, skip setting the US manifest found flag and proceed to completion; otherwise continue to set the found flag
R-GCX126-cbl-00868
Set US Manifest Found Flag
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set US Manifest Found Flag', assuming that a us cargo record has been retrieved that matches the car identifier and waybill, is not deleted, and does not have a train already created, when all validation checks pass successfully, the desired outcome is that the us manifest found flag is set to true to indicate a valid record is available for processing.
💻 Technical Criteria
EXCLUDING
A US cargo record has been retrieved that matches the car identifier and waybill, is not deleted, and does not have a train already created
When
All validation checks pass successfully
Then
The US manifest found flag is set to true to indicate a valid record is available for processing
R-GCX126-cbl-00646
Set Search Parameters: - Car ID from Current Cargo - Waybill Index from Current Cargo - Operator: Greater Than
Process Rules
📊 Business Logic Narrative
When the process 'Set Search Parameters: - Car ID from Current Cargo - Waybill Index from Current Cargo - Operator: Greater Than' is invoked, and assuming that a current cargo record exists with a car identification key and waybill index, when the system prepares to retrieve the next us cargo record by car and waybill, the desired outcome is that the search parameters are set with car id from current cargo's car identification key, waybill index from saved waybill index, function code set to get next, segment type set to us cargo, index type set to car-waybill, and operator set to greater than ('>') for sequential retrieval.
💻 Technical Criteria
Given
A current cargo record exists with a car identification key and waybill index
When
The system prepares to retrieve the next US cargo record by car and waybill
Then
The search parameters are set with car ID from current cargo's car identification key, waybill index from saved waybill index, function code set to Get Next, segment type set to US cargo, index type set to car-waybill, and operator set to greater than ('>') for sequential retrieval
R-GCX126-cbl-00647
Call Database to Get Next US Cargo Record by Car/Waybill Index
Action Rules
📊 Business Logic Narrative
When the process 'Call Database to Get Next US Cargo Record by Car/Waybill Index' is invoked, and assuming that search parameters are configured with car id, waybill index, get next function, us cargo segment type, car-waybill index type, and greater-than operator, when the database retrieval operation is invoked, the desired outcome is that the system calls the cargo input/output module to retrieve the next us cargo record based on the car-waybill index.
💻 Technical Criteria
Given
Search parameters are configured with car ID, waybill index, Get Next function, US cargo segment type, car-waybill index type, and greater-than operator
When
The database retrieval operation is invoked
Then
The system calls the cargo input/output module to retrieve the next US cargo record based on the car-waybill index
R-GCX126-cbl-00649
Car ID and Waybill Match Current Cargo?
Validation Rules
📊 Business Logic Narrative
When the process 'Car ID and Waybill Match Current Cargo?' is invoked, and assuming that a us cargo record has been successfully retrieved from the database with car identification index and waybill number index, when the system validates the retrieved record against the current cargo, the desired outcome is that if the first 12 characters of the retrieved car identification index match the current cargo's car identification key and the waybill number index matches the saved waybill index, the validation passes; otherwise, the end-of-database flag is set to true.
💻 Technical Criteria
Given
A US cargo record has been successfully retrieved from the database with car identification index and waybill number index
When
The system validates the retrieved record against the current cargo
Then
If the first 12 characters of the retrieved car identification index match the current cargo's car identification key AND the waybill number index matches the saved waybill index, the validation passes; otherwise, the end-of-database flag is set to true
R-GCX126-cbl-00650
Cargo Deleted?
Validation Rules
📊 Business Logic Narrative
When the process 'Cargo Deleted?' is invoked, and assuming that a us cargo record has been retrieved and validated for car id and waybill match, when the system checks the cargo's deletion status, the desired outcome is that if the cargo record has a deletion status indicator showing it is deleted, the record is skipped and processing continues to the next iteration; otherwise, proceed to check transfer receipt status.
💻 Technical Criteria
Given
A US cargo record has been retrieved and validated for car ID and waybill match
When
The system checks the cargo's deletion status
Then
If the cargo record has a deletion status indicator showing it is deleted, the record is skipped and processing continues to the next iteration; otherwise, proceed to check transfer receipt status
R-GCX126-cbl-00652
Set US Manifest Found Flag
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set US Manifest Found Flag', assuming that a us cargo record has been retrieved that matches car id and waybill, is not deleted, and has no transfer receipt created, when all validation checks pass successfully, the desired outcome is that the us manifest found flag is set to true to indicate a valid matching record has been located.
💻 Technical Criteria
EXCLUDING
A US cargo record has been retrieved that matches car ID and waybill, is not deleted, and has no transfer receipt created
When
All validation checks pass successfully
Then
The US manifest found flag is set to true to indicate a valid matching record has been located
R-GCX126-cbl-00653
Car ID and Waybill Match Current Cargo? - No - Different Cargo
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Car ID and Waybill Match Current Cargo? - No - Different Cargo', assuming that a us cargo record has been retrieved from the database, when the first 12 characters of the car identification index do not match the current cargo's car identification key or the waybill number index does not match the saved waybill index, the desired outcome is that the end-of-database flag is set to true to terminate the search loop.
💻 Technical Criteria
EXCLUDING
A US cargo record has been retrieved from the database
When
The first 12 characters of the car identification index do not match the current cargo's car identification key OR the waybill number index does not match the saved waybill index
Then
The end-of-database flag is set to true to terminate the search loop
R-GCX126-cbl-00869
Set Accept Status to 'GEGB'
Process Rules
📊 Business Logic Narrative
When the process 'Set Accept Status to 'GEGB'' is invoked, and assuming that a request to retrieve the next us cargo record by car and waybill index, when the system prepares to call the database access routine, the desired outcome is that the accept status is set to 'gegb', segment type is set to gcsusrt, function code is set to get next (gn), index type is set to car/waybill, and operator is set to '>' for sequential retrieval.
💻 Technical Criteria
Given
A request to retrieve the next US cargo record by car and waybill index
When
The system prepares to call the database access routine
Then
The accept status is set to 'GEGB', segment type is set to GCSUSRT, function code is set to Get Next (GN), index type is set to Car/Waybill, and operator is set to '>' for sequential retrieval
R-GCX126-cbl-00870
Call GCCUSIO to Read Next Record
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCUSIO to Read Next Record' is invoked, and assuming that database call parameters are configured with accept status 'gegb', segment gcsusrt, function gn, car/waybill index, and operator '>', when the gccusio routine is called with the parameter block and us cargo segment, the desired outcome is that the system retrieves the next us cargo record from the gcsusrt table based on the car/waybill index position.
💻 Technical Criteria
Given
Database call parameters are configured with accept status 'GEGB', segment GCSUSRT, function GN, car/waybill index, and operator '>'
When
The GCCUSIO routine is called with the parameter block and US cargo segment
Then
The system retrieves the next US cargo record from the GCSUSRT table based on the car/waybill index position
R-GCX126-cbl-00872
Car ID and Waybill Match?
Decision Rules
📊 Business Logic Narrative
When the process 'Car ID and Waybill Match?' is invoked, and assuming that a us cargo record has been successfully retrieved from the database with car id index and waybill number index, when the system compares the first 12 characters of the retrieved car id index with the current equipment car id key and compares the retrieved waybill number index with the saved waybill index, the desired outcome is that if both car id (first 12 characters) and waybill number match, continue validation; otherwise set end-of-database flag to true.
💻 Technical Criteria
Given
A US cargo record has been successfully retrieved from the database with car ID index and waybill number index
When
The system compares the first 12 characters of the retrieved car ID index with the current equipment car ID key AND compares the retrieved waybill number index with the saved waybill index
Then
If both car ID (first 12 characters) and waybill number match, continue validation; otherwise set end-of-database flag to true
R-GCX126-cbl-00873
Cargo Deleted or TR Created?
Validation Rules
📊 Business Logic Narrative
When the process 'Cargo Deleted or TR Created?' is invoked, and assuming that a us cargo record matches the car id and waybill number criteria, when the system checks if the cargo delete status indicator is set to deleted or the train-created-for-it indicator is 'y', the desired outcome is that if either condition is true, skip this record and continue to next; otherwise set us manifest found flag to true.
💻 Technical Criteria
Given
A US cargo record matches the car ID and waybill number criteria
When
The system checks if the cargo delete status indicator is set to deleted OR the train-created-for-it indicator is 'Y'
Then
If either condition is true, skip this record and continue to next; otherwise set US manifest found flag to true
R-GCX126-cbl-00874
Set US Manifest Found Flag
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set US Manifest Found Flag', assuming that a us cargo record matches car id and waybill number and is not deleted and does not have a train created for it, when all validation checks pass successfully, the desired outcome is that the us manifest found flag is set to true indicating a valid matching record has been located.
💻 Technical Criteria
EXCLUDING
A US cargo record matches car ID and waybill number AND is not deleted AND does not have a train created for it
When
All validation checks pass successfully
Then
The US manifest found flag is set to true indicating a valid matching record has been located
R-GCX126-cbl-00875
Set End-of-Database Flag
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set End-of-Database Flag', assuming that a us cargo record has been retrieved from the database, when the car id (first 12 characters) does not match the current equipment car id key or the waybill number index does not match the saved waybill index, the desired outcome is that the end-of-database flag is set to true to terminate the search loop.
💻 Technical Criteria
EXCLUDING
A US cargo record has been retrieved from the database
When
The car ID (first 12 characters) does not match the current equipment car ID key OR the waybill number index does not match the saved waybill index
Then
The end-of-database flag is set to true to terminate the search loop
R-GCX126-cbl-00346
Log Message: 'EDI 350: ACCEPTED - CSA'
Process Rules
📊 Business Logic Narrative
When the process 'Log Message: 'EDI 350: ACCEPTED - CSA'' is invoked, and assuming that the cargo is a csa manifest (gccc-csa-ind-on is true) and an authorization to deliver message is being processed, when the system logs the csa acceptance, the desired outcome is that the system creates a log message 'edi 350: accepted - csa' and includes the current machine date in format ccyymmdd and includes the current machine time in format hhmmss and includes the current ccn key (ws-current-ccn-key) and sets the cargo type indicator to ca-cargo and sets the action code to 'log-use-input-message' and spawns a gct1051e log entry.
💻 Technical Criteria
Given
The cargo is a CSA manifest (GCCC-CSA-IND-ON is true) AND an authorization to deliver message is being processed
When
The system logs the CSA acceptance
Then
The system creates a log message 'EDI 350: ACCEPTED - CSA' AND includes the current machine date in format CCYYMMDD AND includes the current machine time in format HHMMSS AND includes the current CCN key (WS-CURRENT-CCN-KEY) AND sets the cargo type indicator to CA-CARGO AND sets the action code to 'LOG-USE-INPUT-MESSAGE' AND spawns a GCT1051E log entry
R-GCX126-cbl-00347
Log Message: 'EDI 350: NOT ACCEPTED - NON-CSA'
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Log Message: 'EDI 350: NOT ACCEPTED - NON-CSA'', assuming that the cargo is not a csa manifest (gccc-csa-ind-on is false) and an authorization to deliver message is being processed, when the system logs the non-csa rejection, the desired outcome is that the system creates a log message 'edi 350: not accepted - non-csa' and includes the current machine date in format ccyymmdd and includes the current machine time in format hhmmss and includes the current ccn key (ws-current-ccn-key) and sets the cargo type indicator to ca-cargo and sets the action code to 'log-use-input-message' and spawns a gct1051e log entry.
💻 Technical Criteria
EXCLUDING
The cargo is not a CSA manifest (GCCC-CSA-IND-ON is false) AND an authorization to deliver message is being processed
When
The system logs the non-CSA rejection
Then
The system creates a log message 'EDI 350: NOT ACCEPTED - NON-CSA' AND includes the current machine date in format CCYYMMDD AND includes the current machine time in format HHMMSS AND includes the current CCN key (WS-CURRENT-CCN-KEY) AND sets the cargo type indicator to CA-CARGO AND sets the action code to 'LOG-USE-INPUT-MESSAGE' AND spawns a GCT1051E log entry
R-GCX126-cbl-00351
End Process
Process Rules
📊 Business Logic Narrative
When the process 'End Process' is invoked, and assuming that an authorization to deliver message has been processed (either accepted for csa or rejected for non-csa), when the system completes the authorization processing, the desired outcome is that the system performs us manifest processing (d120-process-us-mfst) to update any associated us cargo records with the canadian ccn release information.
💻 Technical Criteria
Given
An authorization to deliver message has been processed (either accepted for CSA or rejected for non-CSA)
When
The system completes the authorization processing
Then
The system performs US manifest processing (D120-PROCESS-US-MFST) to update any associated US cargo records with the Canadian CCN release information
R-GCX126-cbl-00353
Set Master CCN as Search Key
Process Rules
📊 Business Logic Narrative
When the process 'Set Master CCN as Search Key' is invoked, and assuming that a master manifest ccn exists in the cargo report segment, when preparing to search for follower manifests, the desired outcome is that the master manifest ccn is set as the search key in the database query structure.
💻 Technical Criteria
Given
A master manifest CCN exists in the cargo report segment
When
Preparing to search for follower manifests
Then
The master manifest CCN is set as the search key in the database query structure
R-GCX126-cbl-00354
Get Next Cargo Record from Database
Action Rules
📊 Business Logic Narrative
When the process 'Get Next Cargo Record from Database' is invoked, and assuming that the database search key is set to the master manifest ccn, when retrieving follower manifests, the desired outcome is that the system calls the database with get next function using the cargo pcb and qualified ssa for the master ccn key.
💻 Technical Criteria
Given
The database search key is set to the master manifest CCN
When
Retrieving follower manifests
Then
The system calls the database with Get Next function using the cargo PCB and qualified SSA for the master CCN key
R-GCX126-cbl-00356
Same Master CCN?
Validation Rules
📊 Business Logic Narrative
When the process 'Same Master CCN?' is invoked, and assuming that a cargo record has been successfully retrieved from the database, when checking if the record is associated with the current master manifest, the desired outcome is that if the master manifest ccn in the retrieved record equals the saved master ccn, continue processing; otherwise, set the end-of-database flag to true.
💻 Technical Criteria
Given
A cargo record has been successfully retrieved from the database
When
Checking if the record is associated with the current master manifest
Then
If the master manifest CCN in the retrieved record equals the saved master CCN, continue processing; otherwise, set the end-of-database flag to true
R-GCX126-cbl-00357
Is Follower Manifest?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Follower Manifest?' is invoked, and assuming that a cargo record with matching master ccn has been retrieved, when evaluating the manifest type, the desired outcome is that if the cargo is a follower manifest (not a master manifest), store its ccn in the follower array; if it is a master manifest, skip to retrieve the next record.
💻 Technical Criteria
Given
A cargo record with matching master CCN has been retrieved
When
Evaluating the manifest type
Then
If the cargo is a follower manifest (not a master manifest), store its CCN in the follower array; if it is a master manifest, skip to retrieve the next record
R-GCX126-cbl-00358
Store Follower CCN in Array Position I
Process Rules
📊 Business Logic Narrative
When the process 'Store Follower CCN in Array Position I' is invoked, and assuming that a follower manifest has been identified, when storing the follower information, the desired outcome is that the follower manifest ccn is moved to the follower array at position i.
💻 Technical Criteria
Given
A follower manifest has been identified
When
Storing the follower information
Then
The follower manifest CCN is moved to the follower array at position I
R-GCX126-cbl-00359
Increment Index I
Process Rules
📊 Business Logic Narrative
When the process 'Increment Index I' is invoked, and assuming that a follower manifest ccn has been stored in the array, when preparing to process the next follower, the desired outcome is that the index i is incremented by 1.
💻 Technical Criteria
Given
A follower manifest CCN has been stored in the array
When
Preparing to process the next follower
Then
The index I is incremented by 1
R-GCX126-cbl-00361
Set End of Database Flag
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set End of Database Flag', assuming that either the database status is not ok, the master ccn does not match, or the follower limit of 100 is exceeded, when terminating the follower retrieval loop, the desired outcome is that the end-of-database flag is set to true.
💻 Technical Criteria
EXCLUDING
Either the database status is not OK, the master CCN does not match, or the follower limit of 100 is exceeded
When
Terminating the follower retrieval loop
Then
The end-of-database flag is set to true
R-GCX126-cbl-00365
Get Follower CCN from Array Position J
Process Rules
📊 Business Logic Narrative
When the process 'Get Follower CCN from Array Position J' is invoked, and assuming that the loop index j points to a valid array position, when processing a specific follower manifest, the desired outcome is that the follower ccn at array position j is retrieved and set as the search key.
💻 Technical Criteria
Given
The loop index J points to a valid array position
When
Processing a specific follower manifest
Then
The follower CCN at array position J is retrieved and set as the search key
R-GCX126-cbl-00366
Lookup Follower Cargo by CCN
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Follower Cargo by CCN' is invoked, and assuming that a follower ccn has been retrieved from the array, when accessing the follower cargo details, the desired outcome is that the system performs a get hold unique call to retrieve the follower cargo record using the ccn as the key.
💻 Technical Criteria
Given
A follower CCN has been retrieved from the array
When
Accessing the follower cargo details
Then
The system performs a Get Hold Unique call to retrieve the follower cargo record using the CCN as the key
R-GCX126-cbl-00367
Follower Cargo Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Follower Cargo Found?' is invoked, and assuming that a database lookup has been performed for the follower ccn, when checking the retrieval result, the desired outcome is that if the cargo is found (status indicates found), proceed with release processing; otherwise, skip to the next follower.
💻 Technical Criteria
Given
A database lookup has been performed for the follower CCN
When
Checking the retrieval result
Then
If the cargo is found (status indicates found), proceed with release processing; otherwise, skip to the next follower
R-GCX126-cbl-00374
Process Associated US Manifest
Action Rules
📊 Business Logic Narrative
When the process 'Process Associated US Manifest' is invoked, and assuming that the release reason has been set for the follower, when processing related us cargo, the desired outcome is that the us manifest processing routine is performed to search for and update us cargo records using the equipment car id and waybill number.
💻 Technical Criteria
Given
The release reason has been set for the follower
When
Processing related US cargo
Then
The US manifest processing routine is performed to search for and update US cargo records using the equipment car ID and waybill number
R-GCX126-cbl-00654
Initialize Follower Manifest Array
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Follower Manifest Array' is invoked, and assuming that a master manifest ccn needs to be processed for follower manifests, when the follower manifest retrieval process begins, the desired outcome is that the follower manifest array is cleared to spaces, the counter i is set to 1, and the database end flag is set to indicate not end of database.
💻 Technical Criteria
Given
A master manifest CCN needs to be processed for follower manifests
When
The follower manifest retrieval process begins
Then
The follower manifest array is cleared to spaces, the counter I is set to 1, and the database end flag is set to indicate not end of database
R-GCX126-cbl-00656
Get Next Cargo Record Using Master CCN
Action Rules
📊 Business Logic Narrative
When the process 'Get Next Cargo Record Using Master CCN' is invoked, and assuming that the master manifest ccn is stored in gcb0rt-ccn-key, when the system needs to find the next cargo record in the hierarchy, the desired outcome is that a database call is made using function code gn (get next) with the cargo report segment and the master ccn qualifier to retrieve the next record.
💻 Technical Criteria
Given
The master manifest CCN is stored in GCB0RT-CCN-KEY
When
The system needs to find the next cargo record in the hierarchy
Then
A database call is made using function code GN (Get Next) with the cargo report segment and the master CCN qualifier to retrieve the next record
R-GCX126-cbl-00658
Master Manifest CCN Matches Current CCN?
Decision Rules
📊 Business Logic Narrative
When the process 'Master Manifest CCN Matches Current CCN?' is invoked, and assuming that a cargo record has been successfully retrieved from the database, when the master manifest ccn field (gccc-master-mfst-ccn) in the cargo record is compared with the current master ccn (ws-save-ccn), the desired outcome is that if they match, the cargo is part of the master manifest hierarchy and processing continues; otherwise, the end of database flag is set to true indicating no more related records.
💻 Technical Criteria
Given
A cargo record has been successfully retrieved from the database
When
The master manifest CCN field (GCCC-MASTER-MFST-CCN) in the cargo record is compared with the current master CCN (WS-SAVE-CCN)
Then
If they match, the cargo is part of the master manifest hierarchy and processing continues; otherwise, the end of database flag is set to true indicating no more related records
R-GCX126-cbl-00660
Store Follower CCN in Array Position I
Process Rules
📊 Business Logic Narrative
When the process 'Store Follower CCN in Array Position I' is invoked, and assuming that a cargo record has been identified as a follower manifest belonging to the master manifest, when the follower manifest ccn needs to be stored, the desired outcome is that the ccn key (gccc-ccn-key) is moved to the follower manifest array at position i (ws-follower-mani(i)).
💻 Technical Criteria
Given
A cargo record has been identified as a follower manifest belonging to the master manifest
When
The follower manifest CCN needs to be stored
Then
The CCN key (GCCC-CCN-KEY) is moved to the follower manifest array at position I (WS-FOLLOWER-MANI(I))
R-GCX126-cbl-00661
Increment Counter I
Process Rules
📊 Business Logic Narrative
When the process 'Increment Counter I' is invoked, and assuming that a follower manifest ccn has been stored in the array, when the counter needs to be updated for the next iteration, the desired outcome is that the counter i is incremented by 1.
💻 Technical Criteria
Given
A follower manifest CCN has been stored in the array
When
The counter needs to be updated for the next iteration
Then
The counter I is incremented by 1
R-GCX126-cbl-00665
Return: Follower Manifests Array Populated
Process Rules
📊 Business Logic Narrative
When the process 'Return: Follower Manifests Array Populated' is invoked, and assuming that the follower manifest count is greater than zero and the array contains valid follower ccns, when the system needs to apply release information to follower manifests, the desired outcome is that control proceeds to iterate through the follower manifest array and apply the same release information to each follower that was applied to the master manifest.
💻 Technical Criteria
Given
The follower manifest count is greater than zero and the array contains valid follower CCNs
When
The system needs to apply release information to follower manifests
Then
Control proceeds to iterate through the follower manifest array and apply the same release information to each follower that was applied to the master manifest
R-GCX126-cbl-00877
Call IMS Database with GN Function
Action Rules
📊 Business Logic Narrative
When the process 'Call IMS Database with GN Function' is invoked, and assuming that the database status code is set to 'gegb' and the master ccn key is positioned in the qualified ssa, when the system executes the database call with gn function for pcb7 and cargo report segment using qualified ssa for b0rt, the desired outcome is that the next cargo record is retrieved into the cargo report segment and the database status code is updated to reflect the result.
💻 Technical Criteria
Given
The database status code is set to 'GEGB' and the master CCN key is positioned in the qualified SSA
When
The system executes the database call with GN function for PCB7 and cargo report segment using qualified SSA for B0RT
Then
The next cargo record is retrieved into the cargo report segment and the database status code is updated to reflect the result
R-GCX126-cbl-00879
Check Master Manifest CCN Match
Validation Rules
📊 Business Logic Narrative
When the process 'Check Master Manifest CCN Match' is invoked, and assuming that a cargo record has been successfully retrieved from the database, when the system compares the master manifest ccn from the cargo record against the saved input ccn, the desired outcome is that the system determines if the retrieved record belongs to the same master manifest hierarchy for further processing.
💻 Technical Criteria
Given
A cargo record has been successfully retrieved from the database
When
The system compares the master manifest CCN from the cargo record against the saved input CCN
Then
The system determines if the retrieved record belongs to the same master manifest hierarchy for further processing
R-GCX126-cbl-00880
Master CCN Matches Input CCN?
Decision Rules
📊 Business Logic Narrative
When the process 'Master CCN Matches Input CCN?' is invoked, and assuming that the master manifest ccn from the cargo record and the saved input ccn are available for comparison, when the system evaluates if the master manifest ccn equals the saved input ccn, the desired outcome is that if they match, continue checking the manifest type; if they do not match, set the end of database flag to stop processing.
💻 Technical Criteria
Given
The master manifest CCN from the cargo record and the saved input CCN are available for comparison
When
The system evaluates if the master manifest CCN equals the saved input CCN
Then
If they match, continue checking the manifest type; if they do not match, set the end of database flag to stop processing
R-GCX126-cbl-00881
Is Master Manifest?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Master Manifest?' is invoked, and assuming that a cargo record has been retrieved that belongs to the same master manifest ccn, when the system checks if the cargo record is identified as a master manifest, the desired outcome is that if it is a master manifest, skip this record and continue to the next; if not, check if it is a follower manifest.
💻 Technical Criteria
Given
A cargo record has been retrieved that belongs to the same master manifest CCN
When
The system checks if the cargo record is identified as a master manifest
Then
If it is a master manifest, skip this record and continue to the next; if not, check if it is a follower manifest
R-GCX126-cbl-00882
Is Follower Manifest?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is Follower Manifest?', assuming that a cargo record has been retrieved that is not a master manifest but belongs to the same master manifest ccn, when the system checks if the cargo record is identified as a follower manifest, the desired outcome is that if it is a follower manifest, store its ccn in the follower array and increment the index; if not, skip this record and continue to the next.
💻 Technical Criteria
EXCLUDING
A cargo record has been retrieved that is not a master manifest but belongs to the same master manifest CCN
When
The system checks if the cargo record is identified as a follower manifest
Then
If it is a follower manifest, store its CCN in the follower array and increment the index; if not, skip this record and continue to the next
R-GCX126-cbl-00883
Store Follower CCN in Array
Process Rules
📊 Business Logic Narrative
When the process 'Store Follower CCN in Array' is invoked, and assuming that a cargo record has been identified as a follower manifest belonging to the current master manifest, when the system stores the ccn key from the cargo record, the desired outcome is that the follower manifest ccn is placed in the follower manifest array at the current index position.
💻 Technical Criteria
Given
A cargo record has been identified as a follower manifest belonging to the current master manifest
When
The system stores the CCN key from the cargo record
Then
The follower manifest CCN is placed in the follower manifest array at the current index position
R-GCX126-cbl-00884
Increment Array Index
Process Rules
📊 Business Logic Narrative
When the process 'Increment Array Index' is invoked, and assuming that a follower manifest ccn has been stored in the follower manifest array, when the system increments the array index counter, the desired outcome is that the array index is increased by 1 to point to the next available position in the follower manifest array.
💻 Technical Criteria
Given
A follower manifest CCN has been stored in the follower manifest array
When
The system increments the array index counter
Then
The array index is increased by 1 to point to the next available position in the follower manifest array
R-GCX126-cbl-00885
Set End of Database Flag
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set End of Database Flag', assuming that either the database status code indicates no more records, or the master manifest ccn does not match the input ccn, when the system determines that database traversal should stop, the desired outcome is that the end of database flag is set to true to terminate the retrieval loop.
💻 Technical Criteria
EXCLUDING
Either the database status code indicates no more records, or the master manifest CCN does not match the input CCN
When
The system determines that database traversal should stop
Then
The end of database flag is set to TRUE to terminate the retrieval loop
R-GCX126-cbl-00887
End: Return to Caller
Process Rules
📊 Business Logic Narrative
When the process 'End: Return to Caller' is invoked, and assuming that either the end of database flag has been set or a record has been processed, when the procedure completes its execution, the desired outcome is that control returns to the calling procedure with the follower manifest array populated with all valid follower ccns found, or with the end of database flag set if no more records exist.
💻 Technical Criteria
Given
Either the end of database flag has been set or a record has been processed
When
The procedure completes its execution
Then
Control returns to the calling procedure with the follower manifest array populated with all valid follower CCNs found, or with the end of database flag set if no more records exist
R-GCX126-cbl-00666
Initialize Follower Array Index J = 1
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Follower Array Index J = 1' is invoked, and assuming that a follower manifest array exists with potential follower ccns, when the system begins processing follower manifests for a master manifest release, the desired outcome is that the array index j is initialized to 1 to start processing from the first follower manifest.
💻 Technical Criteria
Given
A follower manifest array exists with potential follower CCNs
When
The system begins processing follower manifests for a master manifest release
Then
The array index J is initialized to 1 to start processing from the first follower manifest
R-GCX126-cbl-00668
Get Follower CCN from Array
Process Rules
📊 Business Logic Narrative
When the process 'Get Follower CCN from Array' is invoked, and assuming that a follower manifest array with index j pointing to a valid entry, when the system needs to process a specific follower manifest, the desired outcome is that the follower ccn at array position j is moved to the cargo lookup key fields (ccrt-ssaq and a2rt-ssaq).
💻 Technical Criteria
Given
A follower manifest array with index J pointing to a valid entry
When
The system needs to process a specific follower manifest
Then
The follower CCN at array position J is moved to the cargo lookup key fields (CCRT-SSAQ and A2RT-SSAQ)
R-GCX126-cbl-00669
16: Lookup Cargo by Follower CCN
Action Rules
📊 Business Logic Narrative
When the process '16: Lookup Cargo by Follower CCN' is invoked, and assuming that a follower manifest ccn has been retrieved from the array, when the system performs a cargo lookup using the follower ccn, the desired outcome is that the cargo record is retrieved from gcsccrt table using ghu operation and cargo status switches are set to indicate if cargo was found, deleted, or has other status conditions.
💻 Technical Criteria
Given
A follower manifest CCN has been retrieved from the array
When
The system performs a cargo lookup using the follower CCN
Then
The cargo record is retrieved from GCSCCRT table using GHU operation AND cargo status switches are set to indicate if cargo was found, deleted, or has other status conditions
R-GCX126-cbl-00670
Cargo Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Cargo Found?' is invoked, and assuming that a cargo lookup has been performed for the follower manifest ccn, when the system evaluates the cargo lookup result, the desired outcome is that processing continues if cargo is found (ws-cargo-found is true) and cargo is not deleted and cargo is not returned and waybill matches (if applicable), otherwise skip to next follower.
💻 Technical Criteria
Given
A cargo lookup has been performed for the follower manifest CCN
When
The system evaluates the cargo lookup result
Then
Processing continues if cargo is found (WS-CARGO-FOUND is true) AND cargo is not deleted AND cargo is not returned AND waybill matches (if applicable), otherwise skip to next follower
R-GCX126-cbl-00676
42: Log Cargo Information Message
Action Rules
📊 Business Logic Narrative
When the process '42: Log Cargo Information Message' is invoked, and assuming that a release message has been built in ws-gcx105-info-msg and the follower cargo ccn is in ws-current-ccn-key, when the system logs the release information, the desired outcome is that a gct1051e log entry is created with current machine date in gcx105-date, current machine time in gcx105-time, follower ccn in gcx105-train-or-us-ccn, cargo type set to ca-cargo, action code set to log-use-input-message, and the release message in gcx105-message.
💻 Technical Criteria
Given
A release message has been built in WS-GCX105-INFO-MSG AND the follower cargo CCN is in WS-CURRENT-CCN-KEY
When
The system logs the release information
Then
A GCT1051E log entry is created with current machine date in GCX105-DATE, current machine time in GCX105-TIME, follower CCN in GCX105-TRAIN-OR-US-CCN, cargo type set to CA-CARGO, action code set to LOG-USE-INPUT-MESSAGE, and the release message in GCX105-MESSAGE
R-GCX126-cbl-00677
31: Process Associated US Manifest
Action Rules
📊 Business Logic Narrative
When the process '31: Process Associated US Manifest' is invoked, and assuming that a follower manifest has been released and the cargo record contains equipment car id and waybill number, when the system searches for associated us cargo manifest, the desired outcome is that the system retrieves us cargo from gcsusrt table using equipment car id and waybill number and if a matching us cargo is found that is not deleted and has no train created, a log entry is created with message 'cdn ccn rlsed by edi 350: ' concatenated with the canadian follower ccn.
💻 Technical Criteria
Given
A follower manifest has been released AND the cargo record contains equipment car ID and waybill number
When
The system searches for associated US cargo manifest
Then
The system retrieves US cargo from GCSUSRT table using equipment car ID and waybill number AND if a matching US cargo is found that is not deleted and has no train created, a log entry is created with message 'CDN CCN RLSED BY EDI 350: ' concatenated with the Canadian follower CCN
R-GCX126-cbl-00681
End Process Follower Manifests
Process Rules
📊 Business Logic Narrative
When the process 'End Process Follower Manifests' is invoked, and assuming that all follower manifests in the array have been processed or the maximum limit of 100 has been reached or no more valid follower ccns exist in the array, when the system completes the follower manifest processing loop, the desired outcome is that control returns to the calling procedure and the follower manifest processing section exits.
💻 Technical Criteria
Given
All follower manifests in the array have been processed OR the maximum limit of 100 has been reached OR no more valid follower CCNs exist in the array
When
The system completes the follower manifest processing loop
Then
Control returns to the calling procedure and the follower manifest processing section exits
R-GCX126-cbl-00888
Lookup Cargo by Follower CCN
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Cargo by Follower CCN' is invoked, and assuming that a follower manifest ccn is available for cargo lookup, when the system attempts to retrieve the cargo record using the follower ccn as the search key, the desired outcome is that the system retrieves the cargo report segment and secondary segment if the cargo exists, or indicates cargo not found if the ccn does not match any existing cargo record.
💻 Technical Criteria
Given
A follower manifest CCN is available for cargo lookup
When
The system attempts to retrieve the cargo record using the follower CCN as the search key
Then
The system retrieves the cargo report segment and secondary segment if the cargo exists, or indicates cargo not found if the CCN does not match any existing cargo record
R-GCX126-cbl-00889
Move Follower CCN to Search Key
Process Rules
📊 Business Logic Narrative
When the process 'Move Follower CCN to Search Key' is invoked, and assuming that a follower manifest ccn exists in the follower manifest array, when the system prepares to search for the cargo record, the desired outcome is that the follower ccn is moved to both the primary cargo search key (ccrt-ssaq) and secondary cargo search key (a2rt-ssaq).
💻 Technical Criteria
Given
A follower manifest CCN exists in the follower manifest array
When
The system prepares to search for the cargo record
Then
The follower CCN is moved to both the primary cargo search key (CCRT-SSAQ) and secondary cargo search key (A2RT-SSAQ)
R-GCX126-cbl-00890
Call CIMS with GHU Function
Action Rules
📊 Business Logic Narrative
When the process 'Call CIMS with GHU Function' is invoked, and assuming that the cargo search key contains a valid follower ccn, when the system invokes the database access function with ghu operation, the desired outcome is that the system attempts to retrieve the cargo report segment (gccc-cargo-report-segment) from the cargo database (gccc-pcb) using the qualified search argument.
💻 Technical Criteria
Given
The cargo search key contains a valid follower CCN
When
The system invokes the database access function with GHU operation
Then
The system attempts to retrieve the cargo report segment (GCCC-CARGO-REPORT-SEGMENT) from the cargo database (GCCC-PCB) using the qualified search argument
R-GCX126-cbl-00897
Lookup Cargo by Follower CCN
Validation Rules
📊 Business Logic Narrative
When the process 'Lookup Cargo by Follower CCN' is invoked, and assuming that a cargo record has been successfully retrieved from the database, when the system evaluates the cargo deletion status field, the desired outcome is that if the deletion status equals 'd', the cargo deleted indicator (ws-cargo-deleted) is set to true; otherwise, the cargo is considered active.
💻 Technical Criteria
Given
A cargo record has been successfully retrieved from the database
When
The system evaluates the cargo deletion status field
Then
If the deletion status equals 'D', the cargo deleted indicator (WS-CARGO-DELETED) is set to true; otherwise, the cargo is considered active
R-GCX126-cbl-00898
Lookup Cargo by Follower CCN
Validation Rules
📊 Business Logic Narrative
When the process 'Lookup Cargo by Follower CCN' is invoked, and assuming that a cargo record has been retrieved and a waybill index filter is provided (not blank), when the system compares the cargo's waybill key with the saved waybill index, the desired outcome is that if the waybill keys do not match, the cargo not waybill indicator (ws-cargo-not-wb) is set to true; otherwise, the waybill matches and processing continues.
💻 Technical Criteria
Given
A cargo record has been retrieved and a waybill index filter is provided (not blank)
When
The system compares the cargo's waybill key with the saved waybill index
Then
If the waybill keys do not match, the cargo not waybill indicator (WS-CARGO-NOT-WB) is set to true; otherwise, the waybill matches and processing continues
R-GCX126-cbl-00899
Lookup Cargo by Follower CCN
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Lookup Cargo by Follower CCN', assuming that a cargo record has been successfully retrieved and is not deleted, when the system evaluates the cargo return status indicator, the desired outcome is that if the cargo status indicates return (gccc-status-return is true), the cargo returned indicator (ws-cargo-returned) is set to true.
💻 Technical Criteria
EXCLUDING
A cargo record has been successfully retrieved and is not deleted
When
The system evaluates the cargo return status indicator
Then
If the cargo status indicates return (GCCC-STATUS-RETURN is true), the cargo returned indicator (WS-CARGO-RETURNED) is set to true
R-GCX126-cbl-00900
Lookup Cargo by Follower CCN
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Lookup Cargo by Follower CCN', assuming that a cargo record has been successfully retrieved and is not deleted, when the system checks the cargo release status field, the desired outcome is that if the release status equals 'r', the cargo released indicator (ws-cargo-released) is set to true.
💻 Technical Criteria
EXCLUDING
A cargo record has been successfully retrieved and is not deleted
When
The system checks the cargo release status field
Then
If the release status equals 'R', the cargo released indicator (WS-CARGO-RELEASED) is set to true
R-GCX126-cbl-00901
Lookup Cargo by Follower CCN
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Lookup Cargo by Follower CCN', assuming that a cargo record has been successfully retrieved and is not deleted, when the system examines the cargo train identification field, the desired outcome is that if the cp train id is not spaces (blank), the cargo on train indicator (ws-cargo-on-a-train) is set to true.
💻 Technical Criteria
EXCLUDING
A cargo record has been successfully retrieved and is not deleted
When
The system examines the cargo train identification field
Then
If the CP train ID is not spaces (blank), the cargo on train indicator (WS-CARGO-ON-A-TRAIN) is set to true
R-GCX126-cbl-00903
Retrieve US Cargo by Car ID and Waybill
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve US Cargo by Car ID and Waybill' is invoked, and assuming that the current equipment car id key and saved waybill index are available from the canadian cargo record, when the system initiates us cargo search, the desired outcome is that the system retrieves the first us cargo record from gcsusrt table where car id number index matches the current equipment car id key and waybill number index matches the saved waybill index using gu (get unique) function with '>=' operator on the car-waybill index.
💻 Technical Criteria
Given
The current equipment car ID key and saved waybill index are available from the Canadian cargo record
When
The system initiates US cargo search
Then
The system retrieves the first US cargo record from GCSUSRT table where car ID number index matches the current equipment car ID key and waybill number index matches the saved waybill index using GU (Get Unique) function with '>=' operator on the car-waybill index
R-GCX126-cbl-00905
Car ID and Waybill Match?
Validation Rules
📊 Business Logic Narrative
When the process 'Car ID and Waybill Match?' is invoked, and assuming that a us cargo record has been successfully retrieved from the database, when the system validates the retrieved record, the desired outcome is that if the us cargo car id number index (first 12 characters) equals the current equipment car id key and the us cargo waybill number index equals the saved waybill index, continue processing; otherwise set end-of-database flag to true and exit.
💻 Technical Criteria
Given
A US cargo record has been successfully retrieved from the database
When
The system validates the retrieved record
Then
If the US cargo car ID number index (first 12 characters) equals the current equipment car ID key AND the US cargo waybill number index equals the saved waybill index, continue processing; otherwise set end-of-database flag to TRUE and exit
R-GCX126-cbl-00906
Cargo Deleted or TR Created?
Validation Rules
📊 Business Logic Narrative
When the process 'Cargo Deleted or TR Created?' is invoked, and assuming that a us cargo record has been retrieved and validated for car id and waybill match, when the system checks the cargo record status, the desired outcome is that if the cargo delete status indicator shows deleted or the train-created-for-it field equals 'y', skip this record and retrieve the next us cargo record; otherwise mark the us manifest as found.
💻 Technical Criteria
Given
A US cargo record has been retrieved and validated for car ID and waybill match
When
The system checks the cargo record status
Then
If the cargo delete status indicator shows DELETED OR the train-created-for-it field equals 'Y', skip this record and retrieve the next US cargo record; otherwise mark the US manifest as found
R-GCX126-cbl-00907
Get Next US Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Get Next US Cargo Record' is invoked, and assuming that the current us cargo record is deleted or has train created, when the system needs to find the next valid us cargo record, the desired outcome is that the system retrieves the next us cargo record from gcsusrt table using gn (get next) function with '>' operator on the car-waybill index and re-validates car id and waybill match.
💻 Technical Criteria
Given
The current US cargo record is deleted or has train created
When
The system needs to find the next valid US cargo record
Then
The system retrieves the next US cargo record from GCSUSRT table using GN (Get Next) function with '>' operator on the car-waybill index and re-validates car ID and waybill match
R-GCX126-cbl-00908
Set US Manifest Found Flag
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set US Manifest Found Flag', assuming that a us cargo record has been retrieved that matches car id and waybill and is not deleted and does not have train created, when the system validates all conditions are met, the desired outcome is that the us manifest found flag is set to true to proceed with logging.
💻 Technical Criteria
EXCLUDING
A US cargo record has been retrieved that matches car ID and waybill AND is not deleted AND does not have train created
When
The system validates all conditions are met
Then
The US manifest found flag is set to TRUE to proceed with logging
R-GCX126-cbl-00913
Set US CCN as Target
Definitional Rules
📊 Business Logic Narrative
When the process 'Set US CCN as Target' is invoked, and assuming that the action code has been set, when the system identifies the target cargo, the desired outcome is that the train-or-us-ccn field in the log entry is set to the us cargo ccn key from the retrieved gcsusrt record.
💻 Technical Criteria
Given
The action code has been set
When
The system identifies the target cargo
Then
The train-or-US-CCN field in the log entry is set to the US cargo CCN key from the retrieved GCSUSRT record
R-GCX126-cbl-00914
Set Cargo Type to US Cargo
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Cargo Type to US Cargo' is invoked, and assuming that the us ccn has been set as the target identifier, when the system designates the cargo type, the desired outcome is that the cargo type indicator is set to us-cargo (as opposed to canadian cargo or train).
💻 Technical Criteria
Given
The US CCN has been set as the target identifier
When
The system designates the cargo type
Then
The cargo type indicator is set to US-CARGO (as opposed to Canadian cargo or train)
R-GCX126-cbl-00915
Build Message: 'CDN CCN RLSED BY EDI 350' + Canadian CCN
Computation Rules
📊 Business Logic Narrative
When the process 'Build Message: 'CDN CCN RLSED BY EDI 350' + Canadian CCN' is invoked, and assuming that the cargo type has been designated as us cargo, when the system builds the log message text, the desired outcome is that the message field is populated by concatenating the literal text 'cdn ccn rlsed by edi 350: ' with the canadian cargo ccn key from the saved cargo report segment.
💻 Technical Criteria
Given
The cargo type has been designated as US cargo
When
The system builds the log message text
Then
The message field is populated by concatenating the literal text 'CDN CCN RLSED BY EDI 350: ' with the Canadian cargo CCN key from the saved cargo report segment
R-GCX126-cbl-00916
Spawn GCT1051E Transaction to Log Message
Action Rules
📊 Business Logic Narrative
When the process 'Spawn GCT1051E Transaction to Log Message' is invoked, and assuming that the complete log entry has been built with date, time, action code, us ccn, cargo type, and message text, when the system submits the log entry, the desired outcome is that the gct1051e transaction is spawned by calling the z300-spawn-gct1051e routine which validates the message is not blank, replaces spaces with appropriate values in date and time fields, moves the input to the message structure, changes the alternate pcb, calls writmsgl to write the message, and purges the alternate pcb.
💻 Technical Criteria
Given
The complete log entry has been built with date, time, action code, US CCN, cargo type, and message text
When
The system submits the log entry
Then
The GCT1051E transaction is spawned by calling the Z300-SPAWN-GCT1051E routine which validates the message is not blank, replaces spaces with appropriate values in date and time fields, moves the input to the message structure, changes the alternate PCB, calls WRITMSGL to write the message, and purges the alternate PCB
R-GCX126-cbl-00378
CCN starts with '6105'?
Decision Rules
📊 Business Logic Narrative
When the process 'CCN starts with '6105'?' is invoked, and assuming that a cargo record with a ccn (cargo control number), when the system evaluates whether to prepare a hold notification, the desired outcome is that if the ccn starts with '6105', proceed to prepare the hold notification email; otherwise, skip the notification preparation.
💻 Technical Criteria
Given
A cargo record with a CCN (Cargo Control Number)
When
The system evaluates whether to prepare a hold notification
Then
If the CCN starts with '6105', proceed to prepare the hold notification email; otherwise, skip the notification preparation
R-GCX126-cbl-00379
Set Line 1: 'Cargo on HOLD for inspection by CBSA - EDI350'
Process Rules
📊 Business Logic Narrative
When the process 'Set Line 1: 'Cargo on HOLD for inspection by CBSA - EDI350'' is invoked, and assuming that a cargo hold notification is being prepared for ccn starting with '6105', when the system constructs the notification message, the desired outcome is that set the first detail line to 'cargo on hold for inspection by cbsa - edi350'.
💻 Technical Criteria
Given
A cargo hold notification is being prepared for CCN starting with '6105'
When
The system constructs the notification message
Then
Set the first detail line to 'Cargo on HOLD for inspection by CBSA - EDI350'
R-GCX126-cbl-00382
Set Line 4: Waybill Number (Carrier + Origin Station + Waybill)
Process Rules
📊 Business Logic Narrative
When the process 'Set Line 4: Waybill Number (Carrier + Origin Station + Waybill)' is invoked, and assuming that a cargo hold notification is being prepared with waybill information available, when the system constructs the notification details, the desired outcome is that set the fourth detail line to 'waybill : ' followed by the concatenated carrier code, origin station number, and waybill number from the cargo record.
💻 Technical Criteria
Given
A cargo hold notification is being prepared with waybill information available
When
The system constructs the notification details
Then
Set the fourth detail line to 'Waybill : ' followed by the concatenated carrier code, origin station number, and waybill number from the cargo record
R-GCX126-cbl-00383
Set Line 5: CCN Number
Process Rules
📊 Business Logic Narrative
When the process 'Set Line 5: CCN Number' is invoked, and assuming that a cargo hold notification is being prepared with ccn information available, when the system constructs the notification details, the desired outcome is that set the fifth detail line to 'ccn : ' followed by the ccn key from the cargo record.
💻 Technical Criteria
Given
A cargo hold notification is being prepared with CCN information available
When
The system constructs the notification details
Then
Set the fifth detail line to 'CCN : ' followed by the CCN key from the cargo record
R-GCX126-cbl-00389
Set Email Subject, Append CCN to Subject
Process Rules
📊 Business Logic Narrative
When the process 'Set Email Subject, Append CCN to Subject' is invoked, and assuming that a customs error message needs to be sent for a cargo, when the error email preparation process is initiated, the desired outcome is that the email subject is set to 'customs received err msg' concatenated with the cargo ccn key.
💻 Technical Criteria
Given
A customs error message needs to be sent for a cargo
When
The error email preparation process is initiated
Then
The email subject is set to 'CUSTOMS RECEIVED ERR MSG' concatenated with the cargo CCN key
R-GCX126-cbl-00393
Set Email Keywords, Keywords Empty?, Cargo Found?, Use Cargo CCN as Keywords
Decision Rules
📊 Business Logic Narrative
When the process 'Set Email Keywords, Keywords Empty?, Cargo Found?, Use Cargo CCN as Keywords' is invoked, and assuming that email keywords field is empty or contains low-values and cargo was found in the database with a non-empty ccn key, when email keywords need to be assigned, the desired outcome is that the email keywords field is set to the cargo ccn key from the cargo report segment.
💻 Technical Criteria
Given
Email keywords field is empty or contains low-values and cargo was found in the database with a non-empty CCN key
When
Email keywords need to be assigned
Then
The email keywords field is set to the cargo CCN key from the cargo report segment
R-GCX126-cbl-00394
Set Email Keywords, Keywords Empty?, Cargo Found?, Use Current CCN as Keywords
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Email Keywords, Keywords Empty?, Cargo Found?, Use Current CCN as Keywords', assuming that email keywords field is empty or contains low-values and cargo was not found in the database, when email keywords need to be assigned, the desired outcome is that the email keywords field is set to the current ccn key from working storage.
💻 Technical Criteria
EXCLUDING
Email keywords field is empty or contains low-values and cargo was not found in the database
When
Email keywords need to be assigned
Then
The email keywords field is set to the current CCN key from working storage
R-GCX126-cbl-00397
Set Email Subject to 'BROKER/MANIFEST MISMATCH' with CCN
Action Rules
📊 Business Logic Narrative
When the process 'Set Email Subject to 'BROKER/MANIFEST MISMATCH' with CCN' is invoked, and assuming that an info email type notification needs to be prepared, when the system is setting up the email subject for a broker/manifest mismatch scenario, the desired outcome is that the email subject is set to 'broker/manifest mismatch ' concatenated with the cargo ccn key.
💻 Technical Criteria
Given
An info email type notification needs to be prepared
When
The system is setting up the email subject for a broker/manifest mismatch scenario
Then
The email subject is set to 'BROKER/MANIFEST MISMATCH ' concatenated with the cargo CCN key
R-GCX126-cbl-00400
Use Cargo CCN as Keywords
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Cargo CCN as Keywords', assuming that email keywords field is empty or contains low-values and cargo record was found in the database and cargo ccn key is not empty, when the system needs to set email keywords, the desired outcome is that the email keywords field is populated with the cargo ccn key from the cargo record.
💻 Technical Criteria
EXCLUDING
Email keywords field is empty or contains low-values AND cargo record was found in the database AND cargo CCN key is not empty
When
The system needs to set email keywords
Then
The email keywords field is populated with the cargo CCN key from the cargo record
R-GCX126-cbl-00401
Use Current CCN Key as Keywords
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Current CCN Key as Keywords', assuming that email keywords field is empty or contains low-values and (cargo record was not found or cargo ccn key is empty), when the system needs to set email keywords, the desired outcome is that the email keywords field is populated with the current ccn key from working storage.
💻 Technical Criteria
EXCLUDING
Email keywords field is empty or contains low-values AND (cargo record was not found OR cargo CCN key is empty)
When
The system needs to set email keywords
Then
The email keywords field is populated with the current CCN key from working storage
R-GCX126-cbl-00402
Call EMCSEND2 to Send Email
Action Rules
📊 Business Logic Narrative
When the process 'Call EMCSEND2 to Send Email' is invoked, and assuming that email subject is set to 'broker/manifest mismatch' with ccn and email recipient is set to 'om01247' and destination filename is set to 'in' and email keywords are populated, when the system calls the email sending service emcsend2, the desired outcome is that the email is sent with from-usercode 'om01247', destination filename 'in', recipient usercode 'om01247', the prepared subject line, keywords, and the 350 report message content.
💻 Technical Criteria
Given
Email subject is set to 'BROKER/MANIFEST MISMATCH' with CCN AND email recipient is set to 'OM01247' AND destination filename is set to 'IN' AND email keywords are populated
When
The system calls the email sending service EMCSEND2
Then
The email is sent with from-usercode 'OM01247', destination filename 'IN', recipient usercode 'OM01247', the prepared subject line, keywords, and the 350 report message content
R-GCX126-cbl-00403
Reset Email Report Fields
Process Rules
📊 Business Logic Narrative
When the process 'Reset Email Report Fields' is invoked, and assuming that an email notification has been successfully sent via emcsend2, when the system performs post-send cleanup, the desired outcome is that the 350 report area is cleared, line counter is reset to zero, email subject is cleared, destination filename is reset to 'in', email keywords are cleared, machine sequence number is incremented by 1, copy usercode is cleared, to usercode is cleared, and recipient usercodes are reset to configured values from admin table or default 'om01247'.
💻 Technical Criteria
Given
An email notification has been successfully sent via EMCSEND2
When
The system performs post-send cleanup
Then
The 350 report area is cleared, line counter is reset to zero, email subject is cleared, destination filename is reset to 'IN', email keywords are cleared, machine sequence number is incremented by 1, copy usercode is cleared, TO usercode is cleared, and recipient usercodes are reset to configured values from admin table or default 'OM01247'
R-GCX126-cbl-00404
Prepare Release Error Email
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Prepare Release Error Email', assuming that an edi 350 release message is received with notice reason code indicating released status and the ccn from m10 segment does not exist in the cargo database, when the system attempts to process the release notification, the desired outcome is that prepare email notification with subject 'unknown edi 350 release from cbsa' and message line 1 contains 'unknown edi 350 release from cbsa' followed by the ccn and message line 3 contains 'this ccn was not found.' and message line 4 contains 'release number: ' followed by the cbsa release reference id and ' done by port ' followed by the port code and set message line count to 5 and set destination filename to 'unknown' and set recipient to 'om01247' and route the notification.
💻 Technical Criteria
EXCLUDING
An EDI 350 release message is received with notice reason code indicating RELEASED status AND the CCN from M10 segment does not exist in the cargo database
When
The system attempts to process the release notification
Then
Prepare email notification with subject 'UNKNOWN EDI 350 RELEASE FROM CBSA' AND message line 1 contains 'UNKNOWN EDI 350 RELEASE FROM CBSA' followed by the CCN AND message line 3 contains 'THIS CCN WAS NOT FOUND.' AND message line 4 contains 'RELEASE NUMBER: ' followed by the CBSA release reference ID and ' DONE BY PORT ' followed by the port code AND set message line count to 5 AND set destination filename to 'UNKNOWN' AND set recipient to 'OM01247' AND route the notification
R-GCX126-cbl-00405
Prepare Deconsolidation Error Email
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Prepare Deconsolidation Error Email', assuming that an edi 350 message is received with notice reason code indicating decon status and the ccn from m10 segment does not exist in the cargo database, when the system attempts to process the deconsolidation notification, the desired outcome is that prepare email notification with subject 'unknown edi 350 dcon notice' and message line 1 contains 'unknown edi 350 dcon notice' followed by the ccn and message line 3 contains 'this ccn was not found.' and message line 4 contains 'house bill close number' followed by the cbsa release reference id and ' done by port ' followed by the port code and set message line count to 5 and set destination filename to 'unknown' and set recipient to 'om01247' and route the notification.
💻 Technical Criteria
EXCLUDING
An EDI 350 message is received with notice reason code indicating DECON status AND the CCN from M10 segment does not exist in the cargo database
When
The system attempts to process the deconsolidation notification
Then
Prepare email notification with subject 'UNKNOWN EDI 350 DCON NOTICE' AND message line 1 contains 'UNKNOWN EDI 350 DCON NOTICE' followed by the CCN AND message line 3 contains 'THIS CCN WAS NOT FOUND.' AND message line 4 contains 'HOUSE BILL CLOSE NUMBER' followed by the CBSA release reference ID and ' DONE BY PORT ' followed by the port code AND set message line count to 5 AND set destination filename to 'UNKNOWN' AND set recipient to 'OM01247' AND route the notification
R-GCX126-cbl-00406
Prepare General Entry Error Email
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Prepare General Entry Error Email', assuming that an edi 350 message is received with a notice reason code that is not released or decon and the ccn from m10 segment does not exist in the cargo database, when the system attempts to process the notification, the desired outcome is that prepare email notification with subject from message line 1 and message line 1 contains 'unknown edi 350 entry from cbsa' followed by the ccn and message line 3 contains 'this ccn was not found.' and message line 4 contains 'notice doc type: ' followed by the notice document type code and ' with reason code ' followed by the notice reason code and set message line count to 5 and set destination filename to 'unknown' and set recipient to 'om01247' and route the notification.
💻 Technical Criteria
EXCLUDING
An EDI 350 message is received with a notice reason code that is not RELEASED or DECON AND the CCN from M10 segment does not exist in the cargo database
When
The system attempts to process the notification
Then
Prepare email notification with subject from message line 1 AND message line 1 contains 'UNKNOWN EDI 350 ENTRY FROM CBSA' followed by the CCN AND message line 3 contains 'THIS CCN WAS NOT FOUND.' AND message line 4 contains 'NOTICE DOC TYPE: ' followed by the notice document type code and ' WITH REASON CODE ' followed by the notice reason code AND set message line count to 5 AND set destination filename to 'UNKNOWN' AND set recipient to 'OM01247' AND route the notification
R-GCX126-cbl-00407
Check Notice Reason Code
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check Notice Reason Code', assuming that an edi 350 message has been received and the ccn does not exist in the cargo database, when the system evaluates the v9 segment notice reason code, the desired outcome is that if notice reason code indicates released then prepare release error notification or if notice reason code indicates decon then prepare deconsolidation error notification or if notice reason code is any other value then prepare general entry error notification.
💻 Technical Criteria
EXCLUDING
An EDI 350 message has been received AND the CCN does not exist in the cargo database
When
The system evaluates the V9 segment notice reason code
Then
If notice reason code indicates RELEASED then prepare release error notification OR if notice reason code indicates DECON then prepare deconsolidation error notification OR if notice reason code is any other value then prepare general entry error notification
R-GCX126-cbl-00411
CCN starts with '6105'?
Decision Rules
📊 Business Logic Narrative
When the process 'CCN starts with '6105'?' is invoked, and assuming that a cargo record exists with a ccn (cargo control number), equipment id, waybill information (carrier, origin station, waybill number), destination station details (name and state code), and manifest station name, when the cargo status is set to held and the ccn starts with '6105', the desired outcome is that the system prepares a hold notification email with subject 'cbsa cargo hold - [ccn]', body containing cargo on hold message, equipment details, waybill information, ccn, destination station, and manifest upon station, and routes it to recipient om01247 with destination filename cahold.
💻 Technical Criteria
Given
A cargo record exists with a CCN (Cargo Control Number), equipment ID, waybill information (carrier, origin station, waybill number), destination station details (name and state code), and manifest station name
When
The cargo status is set to HELD and the CCN starts with '6105'
Then
The system prepares a hold notification email with subject 'CBSA CARGO HOLD - [CCN]', body containing cargo on hold message, equipment details, waybill information, CCN, destination station, and manifest upon station, and routes it to recipient OM01247 with destination filename CAHOLD
R-GCX126-cbl-00412
CCN starts with '6105'?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'CCN starts with '6105'?', assuming that a cargo record exists with a ccn that does not start with '6105', when the cargo status is set to held, the desired outcome is that the system skips the hold notification email preparation and continues processing without sending a hold notification.
💻 Technical Criteria
EXCLUDING
A cargo record exists with a CCN that does not start with '6105'
When
The cargo status is set to HELD
Then
The system skips the hold notification email preparation and continues processing without sending a hold notification
R-GCX126-cbl-00413
Build Email Subject: 'CBSA CARGO HOLD - ' + CCN
Computation Rules
📊 Business Logic Narrative
When the process 'Build Email Subject: 'CBSA CARGO HOLD - ' + CCN' is invoked, and assuming that a cargo record with a valid ccn that starts with '6105', when the hold notification email is being prepared, the desired outcome is that the system creates the email subject by combining 'cbsa cargo hold - ' with the ccn value.
💻 Technical Criteria
Given
A cargo record with a valid CCN that starts with '6105'
When
The hold notification email is being prepared
Then
The system creates the email subject by combining 'CBSA CARGO HOLD - ' with the CCN value
R-GCX126-cbl-00417
Add Line 4: 'Waybill: ' + Carrier + Origin Station + Waybill Number
Process Rules
📊 Business Logic Narrative
When the process 'Add Line 4: 'Waybill: ' + Carrier + Origin Station + Waybill Number' is invoked, and assuming that a cargo record with waybill information including carrier code, origin station number, and waybill number, when the email body content is being constructed, the desired outcome is that the system adds a line containing 'waybill : ' followed by the concatenated carrier code, origin station number, and waybill number as the fourth line in the email body.
💻 Technical Criteria
Given
A cargo record with waybill information including carrier code, origin station number, and waybill number
When
The email body content is being constructed
Then
The system adds a line containing 'Waybill : ' followed by the concatenated carrier code, origin station number, and waybill number as the fourth line in the email body
R-GCX126-cbl-00418
Add Line 5: 'CCN: ' + CCN Key
Process Rules
📊 Business Logic Narrative
When the process 'Add Line 5: 'CCN: ' + CCN Key' is invoked, and assuming that a cargo record with a ccn key, when the email body content is being constructed, the desired outcome is that the system adds a line containing 'ccn : ' followed by the ccn key value as the fifth line in the email body.
💻 Technical Criteria
Given
A cargo record with a CCN key
When
The email body content is being constructed
Then
The system adds a line containing 'CCN : ' followed by the CCN key value as the fifth line in the email body
R-GCX126-cbl-00434
Call EMCSEND2 to Send Email
Process Rules
📊 Business Logic Narrative
When the process 'Call EMCSEND2 to Send Email' is invoked, and assuming that an email send operation has completed through emcsend2, when the email processing finishes regardless of success or reroute, the desired outcome is that the system adds 1 to the formatted machine sequence number.
💻 Technical Criteria
Given
An email send operation has completed through EMCSEND2
When
The email processing finishes regardless of success or reroute
Then
The system adds 1 to the formatted machine sequence number
R-GCX126-cbl-00691
End Email Send Process
Process Rules
📊 Business Logic Narrative
When the process 'End Email Send Process' is invoked, and assuming that an email notification has been processed through emcsend2 service, when the email send process completes (either successfully or after successful reroute), the desired outcome is that the system increments the machine format sequence number by 1 for tracking purposes.
💻 Technical Criteria
Given
An email notification has been processed through EMCSEND2 service
When
The email send process completes (either successfully or after successful reroute)
Then
The system increments the machine format sequence number by 1 for tracking purposes
R-GCX126-cbl-00924
Increment Machine Sequence Number
Process Rules
📊 Business Logic Narrative
When the process 'Increment Machine Sequence Number' is invoked, and assuming that email send operation has completed (successfully or with handled errors), when processing reaches the end of email send routine, the desired outcome is that add 1 to ws-fmt-machine-seq counter.
💻 Technical Criteria
Given
Email send operation has completed (successfully or with handled errors)
When
Processing reaches the end of email send routine
Then
Add 1 to WS-FMT-MACHINE-SEQ counter
R-GCX126-cbl-00978
Increment Machine Sequence Number
Process Rules
📊 Business Logic Narrative
When the process 'Increment Machine Sequence Number' is invoked, and assuming that the email sending process has completed (either successfully purged or successfully rerouted), when the email operation finishes, the desired outcome is that the system adds 1 to ws-fmt-machine-seq.
💻 Technical Criteria
Given
The email sending process has completed (either successfully purged or successfully rerouted)
When
The email operation finishes
Then
The system adds 1 to WS-FMT-MACHINE-SEQ
R-GCX126-cbl-00925
Resend Failed Email to OM01247
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Resend Failed Email to OM01247', assuming that an email notification has failed to send because the intended recipient usercode was not found in the system, when the system attempts to resend the notification, the desired outcome is that the system clears the to usercode field, sets the to usercode to 'om01247', sets the destination filename to 'in', calls the email sending service (emcsend2) with the original subject, keywords, and message content, and increments the machine sequence number by 1.
💻 Technical Criteria
EXCLUDING
An email notification has failed to send because the intended recipient usercode was not found in the system
When
The system attempts to resend the notification
Then
The system clears the TO usercode field, sets the TO usercode to 'OM01247', sets the destination filename to 'IN', calls the email sending service (EMCSEND2) with the original subject, keywords, and message content, and increments the machine sequence number by 1
R-GCX126-cbl-00930
Increment Machine Sequence Number
Computation Rules
📊 Business Logic Narrative
When the process 'Increment Machine Sequence Number' is invoked, and assuming that the email notification has been successfully resent to om01247 and the message queue has been purged, when the resend operation completes, the desired outcome is that the system adds 1 to the formatted machine sequence number.
💻 Technical Criteria
Given
The email notification has been successfully resent to OM01247 and the message queue has been purged
When
The resend operation completes
Then
The system adds 1 to the formatted machine sequence number
R-GCX126-cbl-00981
Increment Machine Sequence Number
Process Rules
📊 Business Logic Narrative
When the process 'Increment Machine Sequence Number' is invoked, and assuming that an email resend operation has completed (successfully or with error), when the resend process finishes, the desired outcome is that the system adds 1 to ws-fmt-machine-seq to increment the sequence number.
💻 Technical Criteria
Given
An email resend operation has completed (successfully or with error)
When
The resend process finishes
Then
The system adds 1 to WS-FMT-MACHINE-SEQ to increment the sequence number
R-GCX126-cbl-01041
Increment Machine Sequence Number
Process Rules
📊 Business Logic Narrative
When the process 'Increment Machine Sequence Number' is invoked, and assuming that the email send operation has completed with any result status, when the system finishes processing the email notification, the desired outcome is that the system adds 1 to ws-fmt-machine-seq to increment the machine sequence number.
💻 Technical Criteria
Given
The email send operation has completed with any result status
When
The system finishes processing the email notification
Then
The system adds 1 to WS-FMT-MACHINE-SEQ to increment the machine sequence number
R-GCX126-cbl-01042
No Errors - Purge Message Queue
Process Rules
📊 Business Logic Narrative
When the process 'No Errors - Purge Message Queue' is invoked, and assuming that an email notification has been sent via emcsend2, when the return status flag indicates emi-no-errors, the desired outcome is that the system purges the message from the alternate pcb message queue and increments the machine sequence number.
💻 Technical Criteria
Given
An email notification has been sent via EMCSEND2
When
The return status flag indicates EMI-NO-ERRORS
Then
The system purges the message from the alternate PCB message queue and increments the machine sequence number
R-GCX126-cbl-01051
Increment Machine Sequence Number
Process Rules
📊 Business Logic Narrative
When the process 'Increment Machine Sequence Number' is invoked, and assuming that an email notification has been successfully processed through emcsend2, when the notification processing completes without errors, the desired outcome is that the system adds 1 to ws-fmt-machine-seq to increment the machine sequence number.
💻 Technical Criteria
Given
An email notification has been successfully processed through EMCSEND2
When
The notification processing completes without errors
Then
The system adds 1 to WS-FMT-MACHINE-SEQ to increment the machine sequence number
R-GCX126-cbl-00445
Email Successfully Rerouted
Process Rules
📊 Business Logic Narrative
When the process 'Email Successfully Rerouted' is invoked, and assuming that an email has been successfully sent via emcsend2 with emi-no-errors status, when the z116-resend-merlin procedure completes, the desired outcome is that add 1 to ws-fmt-machine-seq to increment the sequence number.
💻 Technical Criteria
Given
An email has been successfully sent via EMCSEND2 with EMI-NO-ERRORS status
When
The Z116-RESEND-MERLIN procedure completes
Then
Add 1 to WS-FMT-MACHINE-SEQ to increment the sequence number
R-GCX126-cbl-00458
Set CCN/Train ID
Definitional Rules
📊 Business Logic Narrative
When the process 'Set CCN/Train ID' is invoked, and assuming that date and time have been formatted for the log entry, when the cargo or train identifier is being set, the desired outcome is that the current ccn key should be moved to the train or us ccn field in the log structure.
💻 Technical Criteria
Given
Date and time have been formatted for the log entry
When
The cargo or train identifier is being set
Then
The current CCN key should be moved to the train or US CCN field in the log structure
R-GCX126-cbl-00459
Set Cargo Type - CA Cargo or US Cargo
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Cargo Type - CA Cargo or US Cargo' is invoked, and assuming that the ccn or train identifier has been set in the log structure, when the cargo type is being determined, the desired outcome is that the cargo type indicator should be set to ca-cargo to indicate this is a canadian cargo record.
💻 Technical Criteria
Given
The CCN or train identifier has been set in the log structure
When
The cargo type is being determined
Then
The cargo type indicator should be set to CA-CARGO to indicate this is a Canadian cargo record
R-GCX126-cbl-00472
Set Car ID from Current Cargo, Set Waybill Index from Saved Value, Set US CCN to Low Values
Process Rules
📊 Business Logic Narrative
When the process 'Set Car ID from Current Cargo, Set Waybill Index from Saved Value, Set US CCN to Low Values' is invoked, and assuming that a current cargo record with equipment car identification and a saved waybill index value, when preparing to search for associated us cargo records, the desired outcome is that the car id index is set to the current cargo's equipment car key, the waybill index is set to the saved waybill index value, and the us ccn key index is initialized to low values for the search operation.
💻 Technical Criteria
Given
A current cargo record with equipment car identification and a saved waybill index value
When
Preparing to search for associated US cargo records
Then
The car ID index is set to the current cargo's equipment car key, the waybill index is set to the saved waybill index value, and the US CCN key index is initialized to low values for the search operation
R-GCX126-cbl-00473
Initialize Search with >= Operator, Retrieve First US Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Initialize Search with >= Operator, Retrieve First US Cargo Record' is invoked, and assuming that search parameters are set with car id index, waybill index, and us ccn key initialized to low values, when initiating the us cargo search using the car-waybill index with greater-than-or-equal-to operator, the desired outcome is that the system retrieves the first us cargo record from gcsusrt table matching or exceeding the search criteria.
💻 Technical Criteria
Given
Search parameters are set with car ID index, waybill index, and US CCN key initialized to low values
When
Initiating the US cargo search using the car-waybill index with greater-than-or-equal-to operator
Then
The system retrieves the first US cargo record from GCSUSRT table matching or exceeding the search criteria
R-GCX126-cbl-00474
Record Found? - Not Found, Set End of File Flag
Decision Rules
📊 Business Logic Narrative
When the process 'Record Found? - Not Found, Set End of File Flag' is invoked, and assuming that an initial retrieval attempt for us cargo by car and waybill has been executed, when the database returns a status indicating no record was found, the desired outcome is that the end-of-file flag is set to true indicating no matching us cargo exists.
💻 Technical Criteria
Given
An initial retrieval attempt for US cargo by car and waybill has been executed
When
The database returns a status indicating no record was found
Then
The end-of-file flag is set to true indicating no matching US cargo exists
R-GCX126-cbl-00476
Waybill Matches Saved Index?
Validation Rules
📊 Business Logic Narrative
When the process 'Waybill Matches Saved Index?' is invoked, and assuming that a us cargo record has been retrieved and the car id has been validated as matching, when comparing the retrieved us cargo's waybill number index with the saved waybill index value, the desired outcome is that if the waybill numbers match, proceed to check cargo status; if they do not match, set the end-of-file flag to terminate the search.
💻 Technical Criteria
Given
A US cargo record has been retrieved and the car ID has been validated as matching
When
Comparing the retrieved US cargo's waybill number index with the saved waybill index value
Then
If the waybill numbers match, proceed to check cargo status; if they do not match, set the end-of-file flag to terminate the search
R-GCX126-cbl-00477
Cargo Deleted or TR Created?
Validation Rules
📊 Business Logic Narrative
When the process 'Cargo Deleted or TR Created?' is invoked, and assuming that a us cargo record has been retrieved with matching car id and waybill number, when evaluating the cargo's deletion status indicator and the train-created-for-it flag, the desired outcome is that if the cargo is marked as deleted or the train-created-for-it flag equals 'y', skip this record and continue searching; if both conditions are false, mark the us manifest as found.
💻 Technical Criteria
Given
A US cargo record has been retrieved with matching car ID and waybill number
When
Evaluating the cargo's deletion status indicator and the train-created-for-it flag
Then
If the cargo is marked as deleted OR the train-created-for-it flag equals 'Y', skip this record and continue searching; if both conditions are false, mark the US manifest as found
R-GCX126-cbl-00478
Mark US Manifest Found
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Mark US Manifest Found', assuming that a us cargo record has been retrieved with matching car id and waybill, and the cargo is not deleted and has no train record created, when all validation checks pass successfully, the desired outcome is that the us manifest found flag is set to true and the search process completes successfully.
💻 Technical Criteria
EXCLUDING
A US cargo record has been retrieved with matching car ID and waybill, and the cargo is not deleted and has no train record created
When
All validation checks pass successfully
Then
The US manifest found flag is set to true and the search process completes successfully
R-GCX126-cbl-00479
Get Next US Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Get Next US Cargo Record' is invoked, and assuming that the current us cargo record was skipped due to deletion or train creation status, and the search should continue, when executing a get-next operation using the car-waybill index with greater-than operator, the desired outcome is that the system retrieves the next us cargo record in sequence from the gcsusrt table.
💻 Technical Criteria
Given
The current US cargo record was skipped due to deletion or train creation status, and the search should continue
When
Executing a get-next operation using the car-waybill index with greater-than operator
Then
The system retrieves the next US cargo record in sequence from the GCSUSRT table
R-GCX126-cbl-00480
Record Found? - Not Found (from Get Next), Set End of File Flag
Decision Rules
📊 Business Logic Narrative
When the process 'Record Found? - Not Found (from Get Next), Set End of File Flag' is invoked, and assuming that a get-next retrieval attempt for us cargo by car and waybill has been executed, when the database returns a status indicating no more records exist, the desired outcome is that the end-of-file flag is set to true indicating the search is complete with no valid us cargo found.
💻 Technical Criteria
Given
A get-next retrieval attempt for US cargo by car and waybill has been executed
When
The database returns a status indicating no more records exist
Then
The end-of-file flag is set to true indicating the search is complete with no valid US cargo found
R-GCX126-cbl-00482
Waybill Matches Saved Index? (from Get Next)
Validation Rules
📊 Business Logic Narrative
When the process 'Waybill Matches Saved Index? (from Get Next)' is invoked, and assuming that a subsequent us cargo record has been retrieved and the car id has been validated as matching, when comparing the retrieved us cargo's waybill number index with the saved waybill index value, the desired outcome is that if the waybill numbers match, proceed to check cargo status; if they do not match, set the end-of-file flag to terminate the search.
💻 Technical Criteria
Given
A subsequent US cargo record has been retrieved and the car ID has been validated as matching
When
Comparing the retrieved US cargo's waybill number index with the saved waybill index value
Then
If the waybill numbers match, proceed to check cargo status; if they do not match, set the end-of-file flag to terminate the search
R-GCX126-cbl-00483
Cargo Deleted or TR Created? (from Get Next)
Validation Rules
📊 Business Logic Narrative
When the process 'Cargo Deleted or TR Created? (from Get Next)' is invoked, and assuming that a subsequent us cargo record has been retrieved with matching car id and waybill number, when evaluating the cargo's deletion status indicator and the train-created-for-it flag, the desired outcome is that if the cargo is marked as deleted or the train-created-for-it flag equals 'y', continue the search loop; if both conditions are false, mark the us manifest as found.
💻 Technical Criteria
Given
A subsequent US cargo record has been retrieved with matching car ID and waybill number
When
Evaluating the cargo's deletion status indicator and the train-created-for-it flag
Then
If the cargo is marked as deleted OR the train-created-for-it flag equals 'Y', continue the search loop; if both conditions are false, mark the US manifest as found
R-GCX126-cbl-00484
Mark US Manifest Found (from Get Next)
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Mark US Manifest Found (from Get Next)', assuming that a subsequent us cargo record has been retrieved with matching car id and waybill, and the cargo is not deleted and has no train record created, when all validation checks pass successfully on the subsequent record, the desired outcome is that the us manifest found flag is set to true and the search process completes successfully.
💻 Technical Criteria
EXCLUDING
A subsequent US cargo record has been retrieved with matching car ID and waybill, and the cargo is not deleted and has no train record created
When
All validation checks pass successfully on the subsequent record
Then
The US manifest found flag is set to true and the search process completes successfully
R-GCX126-cbl-00692
Car ID Matches Current Car ID?
Validation Rules
📊 Business Logic Narrative
When the process 'Car ID Matches Current Car ID?' is invoked, and assuming that a us cargo record has been retrieved with a car id number index, when the system compares the first 12 characters of the us cargo car id number index with the current car id key, the desired outcome is that if the car ids do not match, set end of database flag and stop validation; if they match, continue to waybill validation.
💻 Technical Criteria
Given
A US cargo record has been retrieved with a car ID number index
When
The system compares the first 12 characters of the US cargo car ID number index with the current car ID key
Then
If the car IDs do not match, set end of database flag and stop validation; if they match, continue to waybill validation
R-GCX126-cbl-00693
Waybill Index Matches Saved Waybill?
Validation Rules
📊 Business Logic Narrative
When the process 'Waybill Index Matches Saved Waybill?' is invoked, and assuming that the us cargo record's car id matches the current car id, when the system compares the us cargo waybill number index with the saved waybill index, the desired outcome is that if the waybill numbers do not match, set end of database flag and stop validation; if they match, continue to cargo status validation.
💻 Technical Criteria
Given
The US cargo record's car ID matches the current car ID
When
The system compares the US cargo waybill number index with the saved waybill index
Then
If the waybill numbers do not match, set end of database flag and stop validation; if they match, continue to cargo status validation
R-GCX126-cbl-00694
Cargo Deleted?
Validation Rules
📊 Business Logic Narrative
When the process 'Cargo Deleted?' is invoked, and assuming that the us cargo record matches both car id and waybill number criteria, when the system checks if the us cargo record has a deleted status indicator, the desired outcome is that if the cargo is deleted, continue searching for next record without setting us manifest found flag; if not deleted, proceed to train creation check.
💻 Technical Criteria
Given
The US cargo record matches both car ID and waybill number criteria
When
The system checks if the US cargo record has a deleted status indicator
Then
If the cargo is deleted, continue searching for next record without setting US manifest found flag; if not deleted, proceed to train creation check
R-GCX126-cbl-00695
TR Created for Cargo?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'TR Created for Cargo?', assuming that the us cargo record is not deleted and matches car id and waybill criteria, when the system checks if the train created indicator equals 'y', the desired outcome is that if train record exists (indicator = 'y'), continue searching for next record without setting us manifest found flag; if no train record exists, set us manifest found flag.
💻 Technical Criteria
EXCLUDING
The US cargo record is not deleted and matches car ID and waybill criteria
When
The system checks if the train created indicator equals 'Y'
Then
If train record exists (indicator = 'Y'), continue searching for next record without setting US manifest found flag; if no train record exists, set US manifest found flag
R-GCX126-cbl-00696
Set US Manifest Found
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set US Manifest Found', assuming that the us cargo record matches car id and waybill, is not deleted, and has no existing train record, when all validation criteria are satisfied, the desired outcome is that set the us manifest found indicator to true to enable further processing of this us cargo record.
💻 Technical Criteria
EXCLUDING
The US cargo record matches car ID and waybill, is not deleted, and has no existing train record
When
All validation criteria are satisfied
Then
Set the US manifest found indicator to true to enable further processing of this US cargo record
R-GCX126-cbl-00697
Set End of Database
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set End of Database', assuming that a us cargo record has been retrieved during search, when either the car id does not match the current car id or the waybill number does not match the saved waybill index, the desired outcome is that set the end of database flag to true to terminate the search process.
💻 Technical Criteria
EXCLUDING
A US cargo record has been retrieved during search
When
Either the car ID does not match the current car ID or the waybill number does not match the saved waybill index
Then
Set the end of database flag to true to terminate the search process
R-GCX126-cbl-00698
Continue Search
Process Rules
📊 Business Logic Narrative
When the process 'Continue Search' is invoked, and assuming that the us cargo record matches car id and waybill criteria, when the cargo is either marked as deleted or has a train record already created (indicator = 'y'), the desired outcome is that continue to the next iteration of the search without setting the us manifest found flag.
💻 Technical Criteria
Given
The US cargo record matches car ID and waybill criteria
When
The cargo is either marked as deleted or has a train record already created (indicator = 'Y')
Then
Continue to the next iteration of the search without setting the US manifest found flag
R-GCX126-cbl-00699
Set Search Parameters: Car ID from current cargo, Waybill index from current cargo, Set status to GEGB
Process Rules
📊 Business Logic Narrative
When the process 'Set Search Parameters: Car ID from current cargo, Waybill index from current cargo, Set status to GEGB' is invoked, and assuming that a current cargo record with equipment car id and waybill index, when initiating a search for matching us cargo records, the desired outcome is that the search parameters are set with car id from current cargo equipment key, waybill index from saved waybill index, and search function set to get next with car-waybill index.
💻 Technical Criteria
Given
A current cargo record with equipment car ID and waybill index
When
Initiating a search for matching US cargo records
Then
The search parameters are set with car ID from current cargo equipment key, waybill index from saved waybill index, and search function set to Get Next with Car-Waybill index
R-GCX126-cbl-00700
Call Get Next US Cargo by Car and Waybill Index
Action Rules
📊 Business Logic Narrative
When the process 'Call Get Next US Cargo by Car and Waybill Index' is invoked, and assuming that search parameters are configured with car id, waybill index, segment type gcsusrt, function get next, and index type car-waybill, when the us cargo retrieval function is invoked, the desired outcome is that the system calls gccusio to retrieve the next us cargo record matching the car and waybill criteria.
💻 Technical Criteria
Given
Search parameters are configured with car ID, waybill index, segment type GCSUSRT, function Get Next, and index type Car-Waybill
When
The US cargo retrieval function is invoked
Then
The system calls GCCUSIO to retrieve the next US cargo record matching the car and waybill criteria
R-GCX126-cbl-00703
Car ID and Waybill Match Current Cargo?
Validation Rules
📊 Business Logic Narrative
When the process 'Car ID and Waybill Match Current Cargo?' is invoked, and assuming that a us cargo record has been successfully retrieved from the database, when comparing the retrieved record's car id (first 12 characters) and waybill index against the current cargo's car id key and saved waybill index, the desired outcome is that if both car id and waybill index match, proceed to check cargo status; otherwise, set end of database flag to indicate no match found.
💻 Technical Criteria
Given
A US cargo record has been successfully retrieved from the database
When
Comparing the retrieved record's car ID (first 12 characters) and waybill index against the current cargo's car ID key and saved waybill index
Then
If both car ID and waybill index match, proceed to check cargo status; otherwise, set end of database flag to indicate no match found
R-GCX126-cbl-00704
Cargo Deleted OR TR Created?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Deleted OR TR Created?' is invoked, and assuming that a us cargo record that matches the car id and waybill criteria, when checking the cargo's deletion status indicator or train creation flag, the desired outcome is that if cargo is marked as deleted or train created flag equals 'y', skip this record and continue search; otherwise, mark as valid us manifest found.
💻 Technical Criteria
Given
A US cargo record that matches the car ID and waybill criteria
When
Checking the cargo's deletion status indicator or train creation flag
Then
If cargo is marked as deleted OR train created flag equals 'Y', skip this record and continue search; otherwise, mark as valid US manifest found
R-GCX126-cbl-00705
Set US Manifest Found Flag
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set US Manifest Found Flag', assuming that a us cargo record that matches car id and waybill, is not deleted, and has no train created, when all validation checks pass successfully, the desired outcome is that set the us manifest found flag to true to indicate a valid match has been located.
💻 Technical Criteria
EXCLUDING
A US cargo record that matches car ID and waybill, is not deleted, and has no train created
When
All validation checks pass successfully
Then
Set the US manifest found flag to true to indicate a valid match has been located
R-GCX126-cbl-00706
Set End of Database Flag No Match Found
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set End of Database Flag No Match Found', assuming that a us cargo record has been retrieved but its car id or waybill index does not match the current cargo, when the comparison of car id and waybill fails, the desired outcome is that set the end of file flag to true to stop the search as no matching record exists.
💻 Technical Criteria
EXCLUDING
A US cargo record has been retrieved but its car ID or waybill index does not match the current cargo
When
The comparison of car ID and waybill fails
Then
Set the end of file flag to true to stop the search as no matching record exists
R-GCX126-cbl-00707
Continue Search Skip This Record
Process Rules
📊 Business Logic Narrative
When the process 'Continue Search Skip This Record' is invoked, and assuming that a us cargo record that matches car id and waybill but is either deleted or has a train created, when the cargo status check determines the record should be skipped, the desired outcome is that continue to the next iteration of the search without setting the found flag, allowing the loop to retrieve the next record.
💻 Technical Criteria
Given
A US cargo record that matches car ID and waybill but is either deleted or has a train created
When
The cargo status check determines the record should be skipped
Then
Continue to the next iteration of the search without setting the found flag, allowing the loop to retrieve the next record
R-GCX126-cbl-00931
Set Database Status Code to 'GEGB', Set Segment Type to GCSUSRT, Set Function to Get Next - GN, Set Index Type to Car-Waybill, Set Operator to Greater Than
Process Rules
📊 Business Logic Narrative
When the process 'Set Database Status Code to 'GEGB', Set Segment Type to GCSUSRT, Set Function to Get Next - GN, Set Index Type to Car-Waybill, Set Operator to Greater Than' is invoked, and assuming that a request to retrieve the next us cargo record by car and waybill index, when the system prepares the database call parameters, the desired outcome is that the database status code is set to 'gegb', the segment type is set to gcsusrt, the function is set to get next (gn), the index type is set to car-waybill, and the operator is set to greater than ('>') for sequential retrieval.
💻 Technical Criteria
Given
A request to retrieve the next US cargo record by car and waybill index
When
The system prepares the database call parameters
Then
The database status code is set to 'GEGB', the segment type is set to GCSUSRT, the function is set to Get Next (GN), the index type is set to Car-Waybill, and the operator is set to greater than ('>') for sequential retrieval
R-GCX126-cbl-00932
Call GCCUSIO to Retrieve Next US Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCUSIO to Retrieve Next US Cargo Record' is invoked, and assuming that database call parameters are configured with status code 'gegb', segment type gcsusrt, function get next, index type car-waybill, and operator greater than, when the gccusio program is called with the configured parameters and us cargo segment, the desired outcome is that the system retrieves the next us cargo record from the database and returns the database status code.
💻 Technical Criteria
Given
Database call parameters are configured with status code 'GEGB', segment type GCSUSRT, function Get Next, index type Car-Waybill, and operator greater than
When
The GCCUSIO program is called with the configured parameters and US cargo segment
Then
The system retrieves the next US cargo record from the database and returns the database status code
R-GCX126-cbl-00934
Car ID and Waybill Match Current Values? - Yes - Match Found
Validation Rules
📊 Business Logic Narrative
When the process 'Car ID and Waybill Match Current Values? - Yes - Match Found' is invoked, and assuming that a us cargo record has been successfully retrieved from the database with a valid status, when the system compares the retrieved cargo's car id (first 12 characters) with the current equipment car id key and the waybill number index with the saved waybill index, the desired outcome is that if both the car id and waybill number match the current values, the system proceeds to validate the cargo deletion and train creation status; otherwise, the end-of-database flag is set to true.
💻 Technical Criteria
Given
A US cargo record has been successfully retrieved from the database with a valid status
When
The system compares the retrieved cargo's car ID (first 12 characters) with the current equipment car ID key and the waybill number index with the saved waybill index
Then
If both the car ID and waybill number match the current values, the system proceeds to validate the cargo deletion and train creation status; otherwise, the end-of-database flag is set to true
R-GCX126-cbl-00935
Cargo Deleted or TR Created? - Yes - Skip Record
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Deleted or TR Created? - Yes - Skip Record' is invoked, and assuming that a us cargo record has been retrieved that matches the current car id and waybill number, when the cargo record has a deletion status indicator set or the train-created-for-it flag is set to 'y', the desired outcome is that the system continues to the next record without setting the us manifest found flag.
💻 Technical Criteria
Given
A US cargo record has been retrieved that matches the current car ID and waybill number
When
The cargo record has a deletion status indicator set or the train-created-for-it flag is set to 'Y'
Then
The system continues to the next record without setting the US manifest found flag
R-GCX126-cbl-00936
Cargo Deleted or TR Created? - No - Valid Cargo
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Cargo Deleted or TR Created? - No - Valid Cargo', assuming that a us cargo record has been retrieved that matches the current car id and waybill number, when the cargo record does not have a deletion status indicator set and the train-created-for-it flag is not set to 'y', the desired outcome is that the us manifest found flag is set to true, indicating a valid us cargo record has been located.
💻 Technical Criteria
EXCLUDING
A US cargo record has been retrieved that matches the current car ID and waybill number
When
The cargo record does not have a deletion status indicator set and the train-created-for-it flag is not set to 'Y'
Then
The US manifest found flag is set to true, indicating a valid US cargo record has been located
R-GCX126-cbl-00937
Car ID and Waybill Match Current Values? - No - Different Car/Waybill
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Car ID and Waybill Match Current Values? - No - Different Car/Waybill', assuming that a us cargo record has been successfully retrieved from the database with a valid status, when either the retrieved cargo's car id (first 12 characters) does not match the current equipment car id key or the waybill number index does not match the saved waybill index, the desired outcome is that the end-of-database flag is set to true, terminating the search for matching us cargo records.
💻 Technical Criteria
EXCLUDING
A US cargo record has been successfully retrieved from the database with a valid status
When
Either the retrieved cargo's car ID (first 12 characters) does not match the current equipment car ID key or the waybill number index does not match the saved waybill index
Then
The end-of-database flag is set to true, terminating the search for matching US cargo records
R-GCX126-cbl-00489
Set Flag: Cargo Not Waybill Match
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Flag: Cargo Not Waybill Match', assuming that cargo record has been found in the database and a saved waybill index exists (not blank), when the cargo waybill key for index does not equal the saved waybill index, the desired outcome is that the cargo not waybill match flag (ws-cargo-not-wb) is set to true.
💻 Technical Criteria
EXCLUDING
Cargo record has been found in the database AND a saved waybill index exists (not blank)
When
The cargo waybill key for index does not equal the saved waybill index
Then
The cargo not waybill match flag (WS-CARGO-NOT-WB) is set to TRUE
R-GCX126-cbl-00490
Set Flag: Cargo Deleted
Validation Rules
📊 Business Logic Narrative
When the process 'Set Flag: Cargo Deleted' is invoked, and assuming that cargo record has been found in the database and waybill validation has passed (or no waybill index was provided), when the cargo delete status field equals 'd', the desired outcome is that the cargo deleted flag (ws-cargo-deleted) is set to true.
💻 Technical Criteria
Given
Cargo record has been found in the database AND waybill validation has passed (or no waybill index was provided)
When
The cargo delete status field equals 'D'
Then
The cargo deleted flag (WS-CARGO-DELETED) is set to TRUE
R-GCX126-cbl-00491
Set Flag: Cargo Returned
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Flag: Cargo Returned', assuming that cargo record has been found in the database and is not deleted and waybill validation has passed, when the cargo status return indicator (gccc-status-return) is true, the desired outcome is that the cargo returned flag (ws-cargo-returned) is set to true.
💻 Technical Criteria
EXCLUDING
Cargo record has been found in the database AND is not deleted AND waybill validation has passed
When
The cargo status return indicator (GCCC-STATUS-RETURN) is TRUE
Then
The cargo returned flag (WS-CARGO-RETURNED) is set to TRUE
R-GCX126-cbl-00492
Set Flag: Cargo Released
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Flag: Cargo Released', assuming that cargo record has been found in the database and is not deleted and waybill validation has passed, when the cargo release status field equals 'r', the desired outcome is that the cargo released flag (ws-cargo-released) is set to true.
💻 Technical Criteria
EXCLUDING
Cargo record has been found in the database AND is not deleted AND waybill validation has passed
When
The cargo release status field equals 'R'
Then
The cargo released flag (WS-CARGO-RELEASED) is set to TRUE
R-GCX126-cbl-00493
Set Flag: Cargo On A Train
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Flag: Cargo On A Train', assuming that cargo record has been found in the database and is not deleted and waybill validation has passed, when the cargo train id field (gccc-cp-train-id) is not equal to spaces, the desired outcome is that the cargo on a train flag (ws-cargo-on-a-train) is set to true.
💻 Technical Criteria
EXCLUDING
Cargo record has been found in the database AND is not deleted AND waybill validation has passed
When
The cargo train ID field (GCCC-CP-TRAIN-ID) is not equal to SPACES
Then
The cargo on a train flag (WS-CARGO-ON-A-TRAIN) is set to TRUE
R-GCX126-cbl-00498
Train Exists in System
Process Rules
📊 Business Logic Narrative
When the process 'Train Exists in System' is invoked, and assuming that the train record retrieval returned a blank status code indicating the train exists in the database, when the system confirms train existence, the desired outcome is that the system prepares log information with current machine date (cc-machine-century and cc-machine-date-x concatenated into gcx105-date) and current machine time (cc-machine-time-x into gcx105-time) and action code 'zzz' (into gcx105-action-code) and the consist release number from x4 positions 1-25 (into gcx105-train-or-us-ccn) and sets the cargo type indicator to canadian train (gcx105-ca-train) and sets the message text to '350 ack - arrival ack at border' (into gcx105-message) and spawns the gct1051e log entry process.
💻 Technical Criteria
Given
The train record retrieval returned a blank status code indicating the train exists in the database
When
The system confirms train existence
Then
The system prepares log information with current machine date (CC-MACHINE-CENTURY and CC-MACHINE-DATE-X concatenated into GCX105-DATE) AND current machine time (CC-MACHINE-TIME-X into GCX105-TIME) AND action code 'ZZZ' (into GCX105-ACTION-CODE) AND the Consist Release Number from X4 positions 1-25 (into GCX105-TRAIN-OR-US-CCN) AND sets the cargo type indicator to Canadian train (GCX105-CA-TRAIN) AND sets the message text to '350 ACK - ARRIVAL ACK AT BORDER' (into GCX105-MESSAGE) AND spawns the GCT1051E log entry process
💰 Bond & Financial Auth
50 logic blocks
R-GCX126-cbl-00002
2:Read EDI 350 Message from Queue
Process Rules
📊 Business Logic Narrative
When the process '2:Read EDI 350 Message from Queue' is invoked, and assuming that mq connection is established and queue is open, when mqget operation is performed, the desired outcome is that read message into mqs-message buffer, calculate maximum mqs entries as (data length minus header length) divided by entry length rounded, if calculated entries exceed maximum constant then set to maximum constant value.
💻 Technical Criteria
Given
MQ connection is established and queue is open
When
MQGET operation is performed
Then
Read message into MQS-MESSAGE buffer, calculate maximum MQS entries as (data length minus header length) divided by entry length rounded, if calculated entries exceed maximum constant then set to maximum constant value
R-GCX126-cbl-00009
8:Process K1 Remarks Segment
Process Rules
📊 Business Logic Narrative
When the process '8:Process K1 Remarks Segment' is invoked, and assuming that message line contains k1 segment identifier, when k1 segment is processed, the desired outcome is that set k1 segment found flag to true, initialize k1 segment structure, move table entry to k1 segment structure, add 1 to k1 remark index, if k1 remark index exceeds maximum (50) then set index to maximum value, else move k1 segment to k1 remark array at current index position.
💻 Technical Criteria
Given
Message line contains K1 segment identifier
When
K1 segment is processed
Then
Set K1 segment found flag to true, initialize K1 segment structure, move table entry to K1 segment structure, add 1 to K1 remark index, if K1 remark index exceeds maximum (50) then set index to maximum value, else move K1 segment to K1 remark array at current index position
R-GCX126-cbl-00041
Initialize Working Storage Fields
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Working Storage Fields' is invoked, and assuming that the program needs to access database tables, when database access parameters are initialized, the desired outcome is that cc-accept-status in cccom is set to 'ge', gcctbio-func-code is set to gu, gcstbrt-key-value is set to spaces, gcstbdp-key-value is set to spaces, gcctbio-return-flag is set to spaces, gcstbrt-ad-segment is set to spaces, second-pcb-flag is set to spaces, and unqual-ssa-flag is set to spaces.
💻 Technical Criteria
Given
The program needs to access database tables
When
Database access parameters are initialized
Then
CC-ACCEPT-STATUS in CCCOM is set to 'GE', GCCTBIO-FUNC-CODE is set to GU, GCSTBRT-KEY-VALUE is set to SPACES, GCSTBDP-KEY-VALUE is set to SPACES, GCCTBIO-RETURN-FLAG is set to SPACES, GCSTBRT-AD-SEGMENT is set to SPACES, SECOND-PCB-FLAG is set to SPACES, and UNQUAL-SSA-FLAG is set to SPACES
R-GCX126-cbl-00042
Initialize Working Storage Fields
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Working Storage Fields' is invoked, and assuming that the program is preparing to process a new edi 350 message, when message segment structures are initialized, the desired outcome is that m10-segment, p4-segment, v9-segment, k1-segment, x4-segment, and n7-segment are all initialized to their default values.
💻 Technical Criteria
Given
The program is preparing to process a new EDI 350 message
When
Message segment structures are initialized
Then
M10-SEGMENT, P4-SEGMENT, V9-SEGMENT, K1-SEGMENT, X4-SEGMENT, and N7-SEGMENT are all initialized to their default values
R-GCX126-cbl-00047
Save Formatted Date/Time for Processing
Process Rules
📊 Business Logic Narrative
When the process 'Save Formatted Date/Time for Processing' is invoked, and assuming that machine date and time have been formatted, when formatted values are being saved, the desired outcome is that ws-fmt-machine-date is moved to ws-save-fmt-machine-date and ws-x4-fmt-machine-date, and ws-fmt-machine-time is moved to ws-save-fmt-machine-time and ws-x4-fmt-machine-time.
💻 Technical Criteria
Given
Machine date and time have been formatted
When
Formatted values are being saved
Then
WS-FMT-MACHINE-DATE is moved to WS-SAVE-FMT-MACHINE-DATE and WS-X4-FMT-MACHINE-DATE, and WS-FMT-MACHINE-TIME is moved to WS-SAVE-FMT-MACHINE-TIME and WS-X4-FMT-MACHINE-TIME
R-GCX126-cbl-00500
Initialize Table Access Fields
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Table Access Fields' is invoked, and assuming that the system needs to retrieve admin configuration data, when the initialization process begins, the desired outcome is that all table access parameters are cleared (gcstbrt-key-value, gcstbdp-key-value, gcctbio-return-flag, gcstbrt-ad-segment) and control flags (second-pcb-flag, unqual-ssa-flag) are set to spaces.
💻 Technical Criteria
Given
The system needs to retrieve admin configuration data
When
The initialization process begins
Then
All table access parameters are cleared (GCSTBRT-KEY-VALUE, GCSTBDP-KEY-VALUE, GCCTBIO-RETURN-FLAG, GCSTBRT-AD-SEGMENT) and control flags (SECOND-PCB-FLAG, UNQUAL-SSA-FLAG) are set to spaces
R-GCX126-cbl-00501
Set Table ID to 'ADMINID'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Table ID to 'ADMINID'' is invoked, and assuming that the system is preparing to access the gcstbrt table, when the table identifier needs to be specified, the desired outcome is that the table id is set to 'ad-table-id' value in gcstbrt-key-table-id.
💻 Technical Criteria
Given
The system is preparing to access the GCSTBRT table
When
The table identifier needs to be specified
Then
The table ID is set to 'AD-TABLE-ID' value in GCSTBRT-KEY-TABLE-ID
R-GCX126-cbl-00504
Call GCCTBIO to Read GCSTBRT Table
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCTBIO to Read GCSTBRT Table' is invoked, and assuming that the function code is 'gu', table id is set to admin table identifier, sequence id is 'adminid', and all access parameters are initialized, when the gcctbio program is called with parameters cccom, second-pcb-flag, unqual-ssa-flag, gcctbio-func-code, gcstbrt-lit, gcstbrt-key-value, gcstbdp-key-value, ws-table-segment, and gcctbio-return-flag, the desired outcome is that the admin configuration record is retrieved and stored in ws-table-segment with operation status returned in gcctbio-return-flag.
💻 Technical Criteria
Given
The function code is 'GU', table ID is set to admin table identifier, sequence ID is 'ADMINID', and all access parameters are initialized
When
The GCCTBIO program is called with parameters CCCOM, SECOND-PCB-FLAG, UNQUAL-SSA-FLAG, GCCTBIO-FUNC-CODE, GCSTBRT-LIT, GCSTBRT-KEY-VALUE, GCSTBDP-KEY-VALUE, WS-TABLE-SEGMENT, and GCCTBIO-RETURN-FLAG
Then
The admin configuration record is retrieved and stored in WS-TABLE-SEGMENT with operation status returned in GCCTBIO-RETURN-FLAG
R-GCX126-cbl-00709
Set Function Code to GU - Get Unique
Process Rules
📊 Business Logic Narrative
When the process 'Set Function Code to GU - Get Unique' is invoked, and assuming that the system is preparing to retrieve administrative configuration data, when the initialization process begins, the desired outcome is that the system sets the function code to 'gu' (get unique), clears all key values (gcstbrt-key-value, gcstbdp-key-value), clears the return flag (gcctbio-return-flag), clears the segment data (gcstbrt-ad-segment), and clears all control flags (second-pcb-flag, unqual-ssa-flag).
💻 Technical Criteria
Given
The system is preparing to retrieve administrative configuration data
When
The initialization process begins
Then
The system sets the function code to 'GU' (Get Unique), clears all key values (GCSTBRT-KEY-VALUE, GCSTBDP-KEY-VALUE), clears the return flag (GCCTBIO-RETURN-FLAG), clears the segment data (GCSTBRT-AD-SEGMENT), and clears all control flags (SECOND-PCB-FLAG, UNQUAL-SSA-FLAG)
R-GCX126-cbl-00710
Set Table ID to AD-TABLE-ID
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Table ID to AD-TABLE-ID' is invoked, and assuming that the system has initialized the table access parameters, when the table identifier needs to be specified, the desired outcome is that the system sets gcstbrt-key-table-id to the value of ad-table-id constant.
💻 Technical Criteria
Given
The system has initialized the table access parameters
When
The table identifier needs to be specified
Then
The system sets GCSTBRT-KEY-TABLE-ID to the value of AD-TABLE-ID constant
R-GCX126-cbl-00712
Call GCCTBIO Program
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCTBIO Program' is invoked, and assuming that all table access parameters have been initialized with function code 'gu', table id 'ad-table-id', and sequence id 'adminid', when the system calls gcctbio program with parameters cccom, second-pcb-flag, unqual-ssa-flag, gcctbio-func-code, gcstbrt-lit, gcstbrt-key-value, gcstbdp-key-value, ws-table-segment, and gcctbio-return-flag, the desired outcome is that the gcctbio program executes the database operation and returns the result in gcctbio-return-flag with the retrieved data in ws-table-segment if successful.
💻 Technical Criteria
Given
All table access parameters have been initialized with function code 'GU', table ID 'AD-TABLE-ID', and sequence ID 'ADMINID'
When
The system calls GCCTBIO program with parameters CCCOM, SECOND-PCB-FLAG, UNQUAL-SSA-FLAG, GCCTBIO-FUNC-CODE, GCSTBRT-LIT, GCSTBRT-KEY-VALUE, GCSTBDP-KEY-VALUE, WS-TABLE-SEGMENT, and GCCTBIO-RETURN-FLAG
Then
The GCCTBIO program executes the database operation and returns the result in GCCTBIO-RETURN-FLAG with the retrieved data in WS-TABLE-SEGMENT if successful
R-GCX126-cbl-00713
Return Flag = '0'?
Validation Rules
📊 Business Logic Narrative
When the process 'Return Flag = '0'?' is invoked, and assuming that the gcctbio program has completed execution, when the system checks the gcctbio-return-flag value, the desired outcome is that if gcctbio-return-flag equals '0', the retrieval was successful and processing continues to extract configuration data; otherwise, the system proceeds without administrative configuration.
💻 Technical Criteria
Given
The GCCTBIO program has completed execution
When
The system checks the GCCTBIO-RETURN-FLAG value
Then
If GCCTBIO-RETURN-FLAG equals '0', the retrieval was successful and processing continues to extract configuration data; otherwise, the system proceeds without administrative configuration
R-GCX126-cbl-00715
Extract Merlin User Code from Admin Config
Process Rules
📊 Business Logic Narrative
When the process 'Extract Merlin User Code from Admin Config' is invoked, and assuming that the administrative segment data has been successfully loaded into gcstbrt-ad-segment, when the system extracts the merlin routing information, the desired outcome is that the system moves the value from gcstbrt-ad-dc-p-merlin-1 to ws-emi-to-usercode for use in message routing.
💻 Technical Criteria
Given
The administrative segment data has been successfully loaded into GCSTBRT-AD-SEGMENT
When
The system extracts the Merlin routing information
Then
The system moves the value from GCSTBRT-AD-DC-P-MERLIN-1 to WS-EMI-TO-USERCODE for use in message routing
R-GCX126-cbl-00512
Build Error Message: Reason Code, Error Text, Transaction Set: '355', Error Type: 'CONN FAILED'
Computation Rules
📊 Business Logic Narrative
When the process 'Build Error Message: Reason Code, Error Text, Transaction Set: '355', Error Type: 'CONN FAILED'' is invoked, and assuming that the mq connection has failed and the reason code and error text have been retrieved, when the system prepares to report the connection failure, the desired outcome is that the system builds an error message containing: the mq reason code concatenated with the error message text, transaction set value '355', and error type 'conn failed'.
💻 Technical Criteria
Given
The MQ connection has failed and the reason code and error text have been retrieved
When
The system prepares to report the connection failure
Then
The system builds an error message containing: the MQ reason code concatenated with the error message text, transaction set value '355', and error type 'CONN FAILED'
R-GCX126-cbl-00064
Calculate Number of EDI Segments
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Number of EDI Segments' is invoked, and assuming that valid message is retrieved with data length in w03-datalen, header length in ws-mqs-len-header, and entry length in ws-mqs-len-of-1-entry, when the system computes ws-max-mqs-entries as ((w03-datalen minus ws-mqs-len-header) divided by ws-mqs-len-of-1-entry) rounded, the desired outcome is that if calculated ws-max-mqs-entries exceeds cst-max-mqs-entries, set ws-max-mqs-entries to cst-max-mqs-entries; otherwise, use calculated value for segment count.
💻 Technical Criteria
Given
Valid message is retrieved with data length in W03-DATALEN, header length in WS-MQS-LEN-HEADER, and entry length in WS-MQS-LEN-OF-1-ENTRY
When
The system computes WS-MAX-MQS-ENTRIES as ((W03-DATALEN minus WS-MQS-LEN-HEADER) divided by WS-MQS-LEN-OF-1-ENTRY) rounded
Then
If calculated WS-MAX-MQS-ENTRIES exceeds CST-MAX-MQS-ENTRIES, set WS-MAX-MQS-ENTRIES to CST-MAX-MQS-ENTRIES; Otherwise, use calculated value for segment count
R-GCX126-cbl-00515
Calculate: Segments = Data Length - Header Length / Entry Length
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate: Segments = Data Length - Header Length / Entry Length' is invoked, and assuming that ['an edi 350 message has been retrieved from the mq queue', 'the message data length (w03-datalen) is available from the mq get operation', 'the message header length (ws-mqs-len-header) equals the length of mqs-message-header structure', 'the single entry length (ws-mqs-len-of-1-entry) equals the length of one mqs-table-entry'], when ['the system calculates the number of segments'], the desired outcome is that ['subtract the header length from the total message data length to get net data length', 'divide the net data length by the single entry length', 'round the result to get the number of complete segments', 'store the calculated value in ws-max-mqs-entries'].
💻 Technical Criteria
Given
['An EDI 350 message has been retrieved from the MQ queue', 'The message data length (W03-DATALEN) is available from the MQ GET operation', 'The message header length (WS-MQS-LEN-HEADER) equals the length of MQS-MESSAGE-HEADER structure', 'The single entry length (WS-MQS-LEN-OF-1-ENTRY) equals the length of one MQS-TABLE-ENTRY']
When
['The system calculates the number of segments']
Then
['Subtract the header length from the total message data length to get net data length', 'Divide the net data length by the single entry length', 'Round the result to get the number of complete segments', 'Store the calculated value in WS-MAX-MQS-ENTRIES']
R-GCX126-cbl-00516
Calculated Segments > Maximum Allowed?
Validation Rules
📊 Business Logic Narrative
When the process 'Calculated Segments > Maximum Allowed?' is invoked, and assuming that ['the number of segments has been calculated and stored in ws-max-mqs-entries', 'a maximum allowed segment count is defined as cst-max-mqs-entries'], when ['the calculated number of segments (ws-max-mqs-entries) exceeds the maximum allowed (cst-max-mqs-entries)'], the desired outcome is that ['set ws-max-mqs-entries to the maximum allowed value cst-max-mqs-entries', 'discard any segments beyond the maximum limit'].
💻 Technical Criteria
Given
['The number of segments has been calculated and stored in WS-MAX-MQS-ENTRIES', 'A maximum allowed segment count is defined as CST-MAX-MQS-ENTRIES']
When
['The calculated number of segments (WS-MAX-MQS-ENTRIES) exceeds the maximum allowed (CST-MAX-MQS-ENTRIES)']
Then
['Set WS-MAX-MQS-ENTRIES to the maximum allowed value CST-MAX-MQS-ENTRIES', 'Discard any segments beyond the maximum limit']
R-GCX126-cbl-00517
Get Header Length
Definitional Rules
📊 Business Logic Narrative
When the process 'Get Header Length' is invoked, and assuming that ['the edi message structure includes a fixed-length header (mqs-message-header)', 'the system needs to calculate net data length for segment counting'], when ['the system initializes message processing parameters'], the desired outcome is that ['set ws-mqs-len-header to the length of mqs-message-header structure', 'this value will be used to subtract header length from total message length'].
💻 Technical Criteria
Given
['The EDI message structure includes a fixed-length header (MQS-MESSAGE-HEADER)', 'The system needs to calculate net data length for segment counting']
When
['The system initializes message processing parameters']
Then
['Set WS-MQS-LEN-HEADER to the length of MQS-MESSAGE-HEADER structure', 'This value will be used to subtract header length from total message length']
R-GCX126-cbl-00518
Get Single Entry Length
Definitional Rules
📊 Business Logic Narrative
When the process 'Get Single Entry Length' is invoked, and assuming that ['each edi segment in the message has a fixed structure (mqs-table-entry)', 'the system needs to calculate how many segments fit in the net data length'], when ['the system initializes message processing parameters'], the desired outcome is that ['set ws-mqs-len-of-1-entry to the length of one mqs-table-entry structure', 'this value will be used as the divisor to calculate segment count'].
💻 Technical Criteria
Given
['Each EDI segment in the message has a fixed structure (MQS-TABLE-ENTRY)', 'The system needs to calculate how many segments fit in the net data length']
When
['The system initializes message processing parameters']
Then
['Set WS-MQS-LEN-OF-1-ENTRY to the length of one MQS-TABLE-ENTRY structure', 'This value will be used as the divisor to calculate segment count']
R-GCX126-cbl-00718
Segments > Maximum Allowed?
Validation Rules
📊 Business Logic Narrative
When the process 'Segments > Maximum Allowed?' is invoked, and assuming that the calculated number of message segments (ws-max-mqs-entries) has been determined and a maximum allowed segment count (cst-max-mqs-entries) is defined, when the calculated number of segments exceeds the maximum allowed segment count, the desired outcome is that the number of segments to process (ws-max-mqs-entries) is set to the maximum allowed value (cst-max-mqs-entries).
💻 Technical Criteria
Given
The calculated number of message segments (WS-MAX-MQS-ENTRIES) has been determined and a maximum allowed segment count (CST-MAX-MQS-ENTRIES) is defined
When
The calculated number of segments exceeds the maximum allowed segment count
Then
The number of segments to process (WS-MAX-MQS-ENTRIES) is set to the maximum allowed value (CST-MAX-MQS-ENTRIES)
R-GCX126-cbl-00522
Extract Train ID from X4-04-REL-DOC-ID
Process Rules
📊 Business Logic Narrative
When the process 'Extract Train ID from X4-04-REL-DOC-ID' is invoked, and assuming that a new train release number is identified in the x4 segment, when the x4-04-rel-doc-id (first 25 characters) is different from the previous crn, the desired outcome is that move x4-04-rel-doc-id (first 25 characters) to b4-key-value for train lookup and to ws-prev-crn for duplicate tracking.
💻 Technical Criteria
Given
A new train release number is identified in the X4 segment
When
The X4-04-REL-DOC-ID (first 25 characters) is different from the previous CRN
Then
Move X4-04-REL-DOC-ID (first 25 characters) to B4-KEY-VALUE for train lookup and to WS-PREV-CRN for duplicate tracking
R-GCX126-cbl-00523
Verify Train Exists in System
Action Rules
📊 Business Logic Narrative
When the process 'Verify Train Exists in System' is invoked, and assuming that a train release number (crn) has been extracted from the x4 segment, when the system performs a database lookup using the crn as the key value in the train root segment (b4rt), the desired outcome is that return the train record if found, otherwise return a not found status code in cc-status-code.
💻 Technical Criteria
Given
A train release number (CRN) has been extracted from the X4 segment
When
The system performs a database lookup using the CRN as the key value in the train root segment (B4RT)
Then
Return the train record if found, otherwise return a not found status code in CC-STATUS-CODE
R-GCX126-cbl-00722
Set Train ID as Search Key
Process Rules
📊 Business Logic Narrative
When the process 'Set Train ID as Search Key' is invoked, and assuming that a train id has been extracted from the x4 segment related document id (positions 1-25), when the system prepares to search for the train record in the database, the desired outcome is that the train id is moved to the b4-key-value field for database query.
💻 Technical Criteria
Given
A train ID has been extracted from the X4 segment related document ID (positions 1-25)
When
The system prepares to search for the train record in the database
Then
The train ID is moved to the B4-KEY-VALUE field for database query
R-GCX126-cbl-00723
Call Database to Retrieve Train Record
Action Rules
📊 Business Logic Narrative
When the process 'Call Database to Retrieve Train Record' is invoked, and assuming that the b4-key-value contains a valid train id from the x4 segment, when the system executes the z5000-gu-b4-train procedure, the desired outcome is that a database get unique operation is performed on the train root segment using the provided train id.
💻 Technical Criteria
Given
The B4-KEY-VALUE contains a valid train ID from the X4 segment
When
The system executes the Z5000-GU-B4-TRAIN procedure
Then
A database GET UNIQUE operation is performed on the train root segment using the provided train ID
R-GCX126-cbl-00114
Index Exceeds Maximum of 9?
Validation Rules
📊 Business Logic Narrative
When the process 'Index Exceeds Maximum of 9?' is invoked, and assuming that the k1 remark index counter has been incremented after receiving a k1 segment, when the k1 remark index counter exceeds the maximum allowed value of 9, the desired outcome is that the system resets the k1 remark index counter to the maximum value of 9, preventing any additional remarks beyond the ninth position from being stored, and the current k1 segment overwrites the remark at position 9.
💻 Technical Criteria
Given
The K1 remark index counter has been incremented after receiving a K1 segment
When
The K1 remark index counter exceeds the maximum allowed value of 9
Then
The system resets the K1 remark index counter to the maximum value of 9, preventing any additional remarks beyond the ninth position from being stored, and the current K1 segment overwrites the remark at position 9
R-GCX126-cbl-00115
Store K1 Segment in Remark Array at Current Index
Process Rules
📊 Business Logic Narrative
When the process 'Store K1 Segment in Remark Array at Current Index' is invoked, and assuming that the k1 remark index counter is within the valid range of 1 to 9 after incrementing, when the k1 segment needs to be stored in the remark array, the desired outcome is that the system stores the complete k1 segment structure in the remark array at the position indicated by the current k1 remark index counter value.
💻 Technical Criteria
Given
The K1 remark index counter is within the valid range of 1 to 9 after incrementing
When
The K1 segment needs to be stored in the remark array
Then
The system stores the complete K1 segment structure in the remark array at the position indicated by the current K1 remark index counter value
R-GCX126-cbl-00126
Is Train ID Same as Previous?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Train ID Same as Previous?' is invoked, and assuming that a conveyance 350 message with entry type '992' is being processed and a train id exists in x4-04-rel-doc-id (first 25 characters), when the first 25 characters of x4-04-rel-doc-id equal the value stored in ws-prev-crn, the desired outcome is that skip processing and continue to the next segment without any updates.
💻 Technical Criteria
Given
A conveyance 350 message with entry type '992' is being processed AND a train ID exists in X4-04-REL-DOC-ID (first 25 characters)
When
The first 25 characters of X4-04-REL-DOC-ID equal the value stored in WS-PREV-CRN
Then
Skip processing and continue to the next segment without any updates
R-GCX126-cbl-00127
Extract Train ID from X4-04-REL-DOC-ID First 25 Characters
Process Rules
📊 Business Logic Narrative
When the process 'Extract Train ID from X4-04-REL-DOC-ID First 25 Characters' is invoked, and assuming that a conveyance 350 message with entry type '992' is being processed and the train id is different from the previous one, when the first 25 characters of x4-04-rel-doc-id are extracted, the desired outcome is that store the extracted train id in b4-key-value for database lookup and store in ws-prev-crn for duplicate checking.
💻 Technical Criteria
Given
A conveyance 350 message with entry type '992' is being processed AND the train ID is different from the previous one
When
The first 25 characters of X4-04-REL-DOC-ID are extracted
Then
Store the extracted train ID in B4-KEY-VALUE for database lookup AND store in WS-PREV-CRN for duplicate checking
R-GCX126-cbl-00128
Verify Train Exists in System Database
Action Rules
📊 Business Logic Narrative
When the process 'Verify Train Exists in System Database' is invoked, and assuming that a train id has been extracted from x4-04-rel-doc-id (first 25 characters) and stored in b4-key-value, when the system performs a database lookup using the train id, the desired outcome is that return the train record if found or return a not-found status code in cc-status-code.
💻 Technical Criteria
Given
A train ID has been extracted from X4-04-REL-DOC-ID (first 25 characters) AND stored in B4-KEY-VALUE
When
The system performs a database lookup using the train ID
Then
Return the train record if found OR return a not-found status code in CC-STATUS-CODE
R-GCX126-cbl-00159
More Followers?
Decision Rules
📊 Business Logic Narrative
When the process 'More Followers?' is invoked, and assuming that a follower manifest has been updated in the database, when the system checks if more followers exist, the desired outcome is that if loop counter j has not exceeded the total count and the next array position does not contain spaces or low-values, continue to next follower; otherwise, exit the follower processing loop.
💻 Technical Criteria
Given
A follower manifest has been updated in the database
When
The system checks if more followers exist
Then
If loop counter J has not exceeded the total count AND the next array position does not contain spaces or low-values, continue to next follower; Otherwise, exit the follower processing loop
R-GCX126-cbl-00559
Subtract 1 from Index I - Final Count of Followers
Computation Rules
📊 Business Logic Narrative
When the process 'Subtract 1 from Index I - Final Count of Followers' is invoked, and assuming that the retrieval loop has terminated with the end-of-database flag set, when the system calculates the final count of follower manifests, the desired outcome is that the value 1 is subtracted from index i to obtain the actual count of follower manifests stored in the array.
💻 Technical Criteria
Given
The retrieval loop has terminated with the end-of-database flag set
When
The system calculates the final count of follower manifests
Then
The value 1 is subtracted from index I to obtain the actual count of follower manifests stored in the array
R-GCX126-cbl-00161
Lookup Train in System Using Train ID
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Train in System Using Train ID' is invoked, and assuming that a conveyance 350 message with x4 segment entry type code equal to '992' and the x4 related document id (first 25 characters) is different from the previously processed train id, when the system needs to validate the train entry, the desired outcome is that the system stores the x4 related document id (first 25 characters) as the current train id in memory and performs a database lookup using this train id as the key value to retrieve the train root segment.
💻 Technical Criteria
Given
A conveyance 350 message with X4 segment entry type code equal to '992' and the X4 related document ID (first 25 characters) is different from the previously processed train ID
When
The system needs to validate the train entry
Then
The system stores the X4 related document ID (first 25 characters) as the current train ID in memory and performs a database lookup using this train ID as the key value to retrieve the train root segment
R-GCX126-cbl-00609
Loop Through Each Follower in Array
Process Rules
📊 Business Logic Narrative
When the process 'Loop Through Each Follower in Array' is invoked, and assuming that at least one follower manifest has been collected in the array, when the system begins processing the collected followers, the desired outcome is that start loop with index j at position 1; continue loop incrementing j by 1 each iteration; stop loop when follower manifest array entry at position i is spaces or low-values or when j exceeds i (the total count of followers).
💻 Technical Criteria
Given
At least one follower manifest has been collected in the array
When
The system begins processing the collected followers
Then
Start loop with index J at position 1; Continue loop incrementing J by 1 each iteration; Stop loop when follower manifest array entry at position I is spaces or low-values OR when J exceeds I (the total count of followers)
R-GCX126-cbl-01001
Set GCX105-SECURITY-BYTE to HIGH-VALUE
Authorization Rules
📊 Business Logic Narrative
When the process 'Set GCX105-SECURITY-BYTE to HIGH-VALUE' is invoked, and assuming that the log structure is being initialized, when security settings are being configured, the desired outcome is that the gcx105-security-byte is set to high-value.
💻 Technical Criteria
Given
The log structure is being initialized
When
Security settings are being configured
Then
The GCX105-SECURITY-BYTE is set to HIGH-VALUE
R-GCX126-cbl-01003
Set GCX105-ACF2-ID from CCCOM User ID
Process Rules
📊 Business Logic Narrative
When the process 'Set GCX105-ACF2-ID from CCCOM User ID' is invoked, and assuming that the log structure is being initialized and the common control area contains the current user id, when user identification is being captured, the desired outcome is that the gcx105-acf2-id is set to the value from cc-acf2-userid in the common control area.
💻 Technical Criteria
Given
The log structure is being initialized AND the common control area contains the current user ID
When
User identification is being captured
Then
The GCX105-ACF2-ID is set to the value from CC-ACF2-USERID in the common control area
R-GCX126-cbl-00956
Set Security Byte to HIGH-VALUE
Authorization Rules
📊 Business Logic Narrative
When the process 'Set Security Byte to HIGH-VALUE' is invoked, and assuming that the log message structure has been initialized, when security attributes need to be set for the log entry, the desired outcome is that the security byte in gcx105 structure is set to high-value to indicate system-level security.
💻 Technical Criteria
Given
The log message structure has been initialized
When
Security attributes need to be set for the log entry
Then
The security byte in GCX105 structure is set to HIGH-VALUE to indicate system-level security
R-GCX126-cbl-00962
Format Message for GCT1051E
Validation Rules
📊 Business Logic Narrative
When the process 'Format Message for GCT1051E' is invoked, and assuming that a log message is being prepared for the gct1051e transaction, when the message content in gcx105-message is spaces or low-values, the desired outcome is that the log message preparation process is terminated without further processing.
💻 Technical Criteria
Given
A log message is being prepared for the GCT1051E transaction
When
The message content in GCX105-MESSAGE is spaces or low-values
Then
The log message preparation process is terminated without further processing
R-GCX126-cbl-00667
Follower Manifest Available?
Decision Rules
📊 Business Logic Narrative
When the process 'Follower Manifest Available?' is invoked, and assuming that the follower manifest array with index j and a maximum limit of 100 follower manifests, when the system checks if more follower manifests need to be processed, the desired outcome is that processing continues if the follower manifest at index j is not spaces or low-values and j is less than or equal to the total number of followers and j does not exceed 100.
💻 Technical Criteria
Given
The follower manifest array with index J and a maximum limit of 100 follower manifests
When
The system checks if more follower manifests need to be processed
Then
Processing continues if the follower manifest at index J is not spaces or low-values AND J is less than or equal to the total number of followers AND J does not exceed 100
R-GCX126-cbl-00680
More Followers or Max 100 Reached?
Decision Rules
📊 Business Logic Narrative
When the process 'More Followers or Max 100 Reached?' is invoked, and assuming that the array index j has been incremented and there is a follower manifest array with potential entries, when the system evaluates whether to continue the processing loop, the desired outcome is that the loop continues if the follower manifest at index j is not spaces or low-values and j is less than or equal to the total number of followers and j does not exceed 100, otherwise the loop terminates.
💻 Technical Criteria
Given
The array index J has been incremented AND there is a follower manifest array with potential entries
When
The system evaluates whether to continue the processing loop
Then
The loop continues if the follower manifest at index J is not spaces or low-values AND J is less than or equal to the total number of followers AND J does not exceed 100, otherwise the loop terminates
R-GCX126-cbl-00909
Prepare Log Information
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Log Information' is invoked, and assuming that a valid us manifest has been found, when the system prepares to create a log entry, the desired outcome is that the log input structure is cleared to spaces, the security byte is set to high-value, the sending transaction is set to 'gct1261e', and the acf2 user id is set from the common control area.
💻 Technical Criteria
Given
A valid US manifest has been found
When
The system prepares to create a log entry
Then
The log input structure is cleared to SPACES, the security byte is set to HIGH-VALUE, the sending transaction is set to 'GCT1261E', and the ACF2 user ID is set from the common control area
R-GCX126-cbl-00912
Set Action Code to Input Message
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Action Code to Input Message' is invoked, and assuming that the log date and time have been set, when the system assigns the action code, the desired outcome is that the action code is set to the value of log-use-input-message constant.
💻 Technical Criteria
Given
The log date and time have been set
When
The system assigns the action code
Then
The action code is set to the value of LOG-USE-INPUT-MESSAGE constant
R-GCX126-cbl-00966
Set Security Byte to HIGH-VALUE
Policy Rules
📊 Business Logic Narrative
When the process 'Set Security Byte to HIGH-VALUE' is invoked, and assuming that a log entry structure is being prepared, when security parameters are being set, the desired outcome is that the system shall set the gcx105-security-byte to high-value to indicate this is a secure, system-generated log entry.
💻 Technical Criteria
Given
A log entry structure is being prepared
When
Security parameters are being set
Then
The system shall set the GCX105-SECURITY-BYTE to HIGH-VALUE to indicate this is a secure, system-generated log entry
R-GCX126-cbl-00968
Set ACF2 User ID from CCCOM
Authorization Rules
📊 Business Logic Narrative
When the process 'Set ACF2 User ID from CCCOM' is invoked, and assuming that a log entry is being prepared and the current user session is active, when user identification needs to be recorded, the desired outcome is that the system shall populate the gcx105-acf2-id field with the cc-acf2-userid value from the cccom control block to record who initiated the logged action.
💻 Technical Criteria
Given
A log entry is being prepared and the current user session is active
When
User identification needs to be recorded
Then
The system shall populate the GCX105-ACF2-ID field with the CC-ACF2-USERID value from the CCCOM control block to record who initiated the logged action
R-GCX126-cbl-00392
Admin Config Available?, Set Default Recipient OM01247
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Admin Config Available?, Set Default Recipient OM01247', assuming that the admin segment was not successfully retrieved or the admin segment found indicator is false, when email recipients need to be configured for error notification, the desired outcome is that the first email recipient usercode is set to the default value 'om01247' and the second email recipient usercode is set to spaces.
💻 Technical Criteria
EXCLUDING
The admin segment was not successfully retrieved or the admin segment found indicator is false
When
Email recipients need to be configured for error notification
Then
The first email recipient usercode is set to the default value 'OM01247' and the second email recipient usercode is set to spaces
R-GCX126-cbl-00450
Initialize Function Code to GU, Clear Key Values and Flags
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Function Code to GU, Clear Key Values and Flags' is invoked, and assuming that a need to retrieve merlin contact information from the customs table, when the merlin contact fetch process is initiated, the desired outcome is that the function code should be set to 'gu' (get unique), all key values (gcstbrt-key-value, gcstbdp-key-value) should be cleared to spaces, the return flag (gcctbio-return-flag) should be cleared to spaces, the mc segment (gcstbrt-mc-segment) should be cleared to spaces, and both second-pcb-flag and unqual-ssa-flag should be cleared to spaces.
💻 Technical Criteria
Given
A need to retrieve Merlin contact information from the customs table
When
The Merlin contact fetch process is initiated
Then
The function code should be set to 'GU' (Get Unique), all key values (GCSTBRT-KEY-VALUE, GCSTBDP-KEY-VALUE) should be cleared to spaces, the return flag (GCCTBIO-RETURN-FLAG) should be cleared to spaces, the MC segment (GCSTBRT-MC-SEGMENT) should be cleared to spaces, and both SECOND-PCB-FLAG and UNQUAL-SSA-FLAG should be cleared to spaces
R-GCX126-cbl-00453
Call GCCTBIO to Retrieve MC Segment
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCTBIO to Retrieve MC Segment' is invoked, and assuming that the function code is 'gu', table id is 'mc', and sequence id is set to manifest-to station name, when the table i/o service is invoked, the desired outcome is that the gcctbio program should be called with parameters: cccom, second-pcb-flag, unqual-ssa-flag, gcctbio-func-code, gcstbrt-lit, gcstbrt-key-value, gcstbdp-key-value, ws-table-segment, and gcctbio-return-flag to retrieve the mc segment.
💻 Technical Criteria
Given
The function code is 'GU', table ID is 'MC', and sequence ID is set to manifest-to station name
When
The table I/O service is invoked
Then
The GCCTBIO program should be called with parameters: CCCOM, SECOND-PCB-FLAG, UNQUAL-SSA-FLAG, GCCTBIO-FUNC-CODE, GCSTBRT-LIT, GCSTBRT-KEY-VALUE, GCSTBDP-KEY-VALUE, WS-TABLE-SEGMENT, and GCCTBIO-RETURN-FLAG to retrieve the MC segment
R-GCX126-cbl-00464
Move Log Input to GCT1051E Message
Process Rules
📊 Business Logic Narrative
When the process 'Move Log Input to GCT1051E Message' is invoked, and assuming that date and time values have been normalized, when the log data is being transferred to the message structure, the desired outcome is that the complete log input structure should be moved to the gct1051e message field.
💻 Technical Criteria
Given
Date and time values have been normalized
When
The log data is being transferred to the message structure
Then
The complete log input structure should be moved to the GCT1051E message field
R-GCX126-cbl-00495
Set Train ID as Search Key
Process Rules
📊 Business Logic Narrative
When the process 'Set Train ID as Search Key' is invoked, and assuming that the x4 segment has been parsed from the edi 350 message and the related document id field contains the consist release number in positions 1-25, when the system prepares to query the train database, the desired outcome is that the system sets the train database search key (b4-key-value) to the value from x4 related document id positions 1-25 and stores this value as the previous crn (ws-prev-crn) for duplicate checking.
💻 Technical Criteria
Given
The X4 segment has been parsed from the EDI 350 message AND the related document ID field contains the Consist Release Number in positions 1-25
When
The system prepares to query the train database
Then
The system sets the train database search key (B4-KEY-VALUE) to the value from X4 related document ID positions 1-25 AND stores this value as the previous CRN (WS-PREV-CRN) for duplicate checking
R-GCX126-cbl-00496
Retrieve Train Record from Database
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Train Record from Database' is invoked, and assuming that the train search key (b4-key-value) has been set to the consist release number from the x4 segment, when the system executes the database retrieval operation, the desired outcome is that the system performs a gu (get unique) function call to retrieve the train root segment (gcb4r-train-root-segment) from the train database (gcb4-pcb) using the qualified search key (b4rt-ssaq) and the database returns a status code indicating whether the record was found or not found.
💻 Technical Criteria
Given
The train search key (B4-KEY-VALUE) has been set to the Consist Release Number from the X4 segment
When
The system executes the database retrieval operation
Then
The system performs a GU (Get Unique) function call to retrieve the train root segment (GCB4R-TRAIN-ROOT-SEGMENT) from the train database (GCB4-PCB) using the qualified search key (B4RT-SSAQ) AND the database returns a status code indicating whether the record was found or not found
R-GCX126-cbl-00497
Train Record Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Train Record Found?' is invoked, and assuming that the database retrieval operation has been executed for the train record, when the system evaluates the database status code, the desired outcome is that if the status code is blank (spaces) then the train record was successfully found and exists in the system else if the status code is not blank (contains any value) then the train record was not found and does not exist in the system.
💻 Technical Criteria
Given
The database retrieval operation has been executed for the train record
When
The system evaluates the database status code
Then
IF the status code is blank (spaces) THEN the train record was successfully found and exists in the system ELSE IF the status code is not blank (contains any value) THEN the train record was not found and does not exist in the system
📍 Routing, Border & Port
103 logic blocks
R-GCX126-cbl-00007
6:Process P4 Port Segment
Process Rules
📊 Business Logic Narrative
When the process '6:Process P4 Port Segment' is invoked, and assuming that message line contains p4 segment identifier, when p4 segment is processed, the desired outcome is that set p4 segment found flag to true, initialize p4 segment structure, and move table entry to p4 segment structure.
💻 Technical Criteria
Given
Message line contains P4 segment identifier
When
P4 segment is processed
Then
Set P4 segment found flag to true, initialize P4 segment structure, and move table entry to P4 segment structure
R-GCX126-cbl-00038
Initialize Working Storage Fields
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Working Storage Fields' is invoked, and assuming that the program is starting initialization, when working storage initialization is performed, the desired outcome is that log-indx is set to 1, ws-k1-remark-ndx is set to zeroes, log-array is set to spaces, ws-prev-crn is set to spaces, ws-mqs-len-header is set to length of mqs-message-header, ws-mqs-len-of-1-entry is set to length of mqs-table-entry(1), mrln-line is set to 1, ws-ctr-new is set to 1, and mrln-350-report is set to spaces.
💻 Technical Criteria
Given
The program is starting initialization
When
Working storage initialization is performed
Then
LOG-INDX is set to 1, WS-K1-REMARK-NDX is set to ZEROES, LOG-ARRAY is set to SPACES, WS-PREV-CRN is set to SPACES, WS-MQS-LEN-HEADER is set to LENGTH OF MQS-MESSAGE-HEADER, WS-MQS-LEN-OF-1-ENTRY is set to LENGTH OF MQS-TABLE-ENTRY(1), MRLN-LINE is set to 1, WS-CTR-NEW is set to 1, and MRLN-350-REPORT is set to SPACES
R-GCX126-cbl-00040
Set Merlin Report User Code
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Merlin Report User Code' is invoked, and assuming that the program is initializing merlin notification settings, when the merlin sender code is being set, the desired outcome is that emi-from-usercode is set to 'om01247'.
💻 Technical Criteria
Given
The program is initializing Merlin notification settings
When
The Merlin sender code is being set
Then
EMI-FROM-USERCODE is set to 'OM01247'
R-GCX126-cbl-00708
Call GCCTBIO to Read GCSTBRT Table
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCTBIO to Read GCSTBRT Table' is invoked, and assuming that the system needs to route edi 350 notifications to merlin users, when the system calls gcctbio to retrieve the administrative configuration with table id 'ad-table-id' and sequence id 'adminid', the desired outcome is that if the configuration record is found (return flag equals '0'), the system extracts the merlin user code from gcstbrt-ad-dc-p-merlin-1 field and sets the admin segment found indicator to true; otherwise, the system continues without the administrative configuration.
💻 Technical Criteria
Given
The system needs to route EDI 350 notifications to Merlin users
When
The system calls GCCTBIO to retrieve the administrative configuration with Table ID 'AD-TABLE-ID' and Sequence ID 'ADMINID'
Then
If the configuration record is found (return flag equals '0'), the system extracts the Merlin user code from GCSTBRT-AD-DC-P-MERLIN-1 field and sets the admin segment found indicator to true; otherwise, the system continues without the administrative configuration
R-GCX126-cbl-00508
Call MQCONNC API with Queue Manager Name
Action Rules
📊 Business Logic Narrative
When the process 'Call MQCONNC API with Queue Manager Name' is invoked, and assuming that the system needs to process edi 350 customs messages from the message queue, when the system initiates connection to the mq queue manager, the desired outcome is that the system calls the mqconnc api with the queue manager name and receives a connection handle and completion status.
💻 Technical Criteria
Given
The system needs to process EDI 350 customs messages from the message queue
When
The system initiates connection to the MQ Queue Manager
Then
The system calls the MQCONNC API with the Queue Manager name and receives a connection handle and completion status
R-GCX126-cbl-00066
Prepare Error Message
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Error Message' is invoked, and assuming that mq operation failed with reason code in w03-reason, when the system needs to report the mq failure, the desired outcome is that move w03-reason to w03-reason-code, call gccmqerr to get error description into output-message-text, move error text to mq-error-text, set mq-trans-set to '350' or '355', set pgm-error-text to 'open failed', 'close failed', 'disc failed', or 'conn failed' as appropriate, and move complete error message to cc-error-message.
💻 Technical Criteria
Given
MQ operation failed with reason code in W03-REASON
When
The system needs to report the MQ failure
Then
Move W03-REASON to W03-REASON-CODE, call GCCMQERR to get error description into OUTPUT-MESSAGE-TEXT, move error text to MQ-ERROR-TEXT, set MQ-TRANS-SET to '350' or '355', set PGM-ERROR-TEXT to 'OPEN FAILED', 'CLOSE FAILED', 'DISC FAILED', or 'CONN FAILED' as appropriate, and move complete error message to CC-ERROR-MESSAGE
R-GCX126-cbl-00072
P4 - Port/Location Extract Port Code and Sub-Location
Process Rules
📊 Business Logic Narrative
When the process 'P4 - Port/Location Extract Port Code and Sub-Location' is invoked, and assuming that an edi 350 message is being parsed and a p4 segment is encountered, when the current segment table id equals 'p4 ', the desired outcome is that set the p4 segment found flag to true, initialize the p4 segment structure, and move the entire p4 table entry data into the p4 segment structure for subsequent processing.
💻 Technical Criteria
Given
An EDI 350 message is being parsed and a P4 segment is encountered
When
The current segment table ID equals 'P4 '
Then
Set the P4 segment found flag to TRUE, initialize the P4 segment structure, and move the entire P4 table entry data into the P4 segment structure for subsequent processing
R-GCX126-cbl-00524
Prepare Error Report: UNKNOWN TRAIN ENTRY IN EDI 350
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Prepare Error Report: UNKNOWN TRAIN ENTRY IN EDI 350', assuming that a train lookup has been performed using the crn from x4-04-rel-doc-id, when the train is not found (cc-status-code is not spaces), the desired outcome is that prepare error message 'unknown train entry in edi 350' concatenated with the crn in detail line 1, add message 'this crn was not found.' in detail line 3, set message line count to 4, and set message type to unknown.
💻 Technical Criteria
EXCLUDING
A train lookup has been performed using the CRN from X4-04-REL-DOC-ID
When
The train is not found (CC-STATUS-CODE is not spaces)
Then
Prepare error message 'UNKNOWN TRAIN ENTRY IN EDI 350' concatenated with the CRN in detail line 1, add message 'THIS CRN WAS NOT FOUND.' in detail line 3, set message line count to 4, and set message type to unknown
R-GCX126-cbl-00725
Set Train Found Status
Process Rules
📊 Business Logic Narrative
When the process 'Set Train Found Status' is invoked, and assuming that a train record has been successfully retrieved from the database with a blank status code, when the system processes the found train record, the desired outcome is that the system logs an arrival acknowledgment message with action code 'zzz', the train id, and the message '350 ack - arrival ack at border' by spawning the gct1051e process.
💻 Technical Criteria
Given
A train record has been successfully retrieved from the database with a blank status code
When
The system processes the found train record
Then
The system logs an arrival acknowledgment message with action code 'ZZZ', the train ID, and the message '350 ACK - ARRIVAL ACK AT BORDER' by spawning the GCT1051E process
R-GCX126-cbl-00727
Prepare Error Report
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Prepare Error Report', assuming that a train record was not found in the database, when the system begins error notification preparation, the desired outcome is that the first detail line of the merlin report is cleared to spaces to prepare for the error message.
💻 Technical Criteria
EXCLUDING
A train record was not found in the database
When
The system begins error notification preparation
Then
The first detail line of the Merlin report is cleared to spaces to prepare for the error message
R-GCX126-cbl-00728
Add Train ID to Error Message
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Add Train ID to Error Message', assuming that an error report is being prepared for a train not found in the system, when the system constructs the error message, the desired outcome is that the message 'unknown train entry in edi 350 ' concatenated with the train id (positions 1-25 of x4-04-rel-doc-id) is placed in the first detail line of the merlin report.
💻 Technical Criteria
EXCLUDING
An error report is being prepared for a train not found in the system
When
The system constructs the error message
Then
The message 'UNKNOWN TRAIN ENTRY IN EDI 350 ' concatenated with the train ID (positions 1-25 of X4-04-REL-DOC-ID) is placed in the first detail line of the Merlin report
R-GCX126-cbl-00729
Add 'Train Not Found' Message
Process Rules
📊 Business Logic Narrative
When the process 'Add 'Train Not Found' Message' is invoked, and assuming that the primary error message with the train id has been constructed, when the system adds supplementary error information, the desired outcome is that the message 'this crn was not found.' is placed in the third detail line of the merlin report and the line counter is set to 4.
💻 Technical Criteria
Given
The primary error message with the train ID has been constructed
When
The system adds supplementary error information
Then
The message 'THIS CRN WAS NOT FOUND.' is placed in the third detail line of the Merlin report and the line counter is set to 4
R-GCX126-cbl-00730
Route Error to Merlin System
Action Rules
📊 Business Logic Narrative
When the process 'Route Error to Merlin System' is invoked, and assuming that an error report has been prepared with the unknown train details, when the system routes the error notification, the desired outcome is that the error type is set to 'unknown', and the z110-prep-emcsend procedure is executed to send the notification to the merlin system.
💻 Technical Criteria
Given
An error report has been prepared with the unknown train details
When
The system routes the error notification
Then
The error type is set to 'UNKNOWN', and the Z110-PREP-EMCSEND procedure is executed to send the notification to the Merlin system
R-GCX126-cbl-00090
Extract Notice Document Type Code
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract Notice Document Type Code' is invoked, and assuming that the m10 segment has been loaded with data from the message queue, when extracting customs notice information, the desired outcome is that the notice document type code (m10-05-notice-doc-typ-cde) is available from the m10 segment for business processing.
💻 Technical Criteria
Given
The M10 segment has been loaded with data from the message queue
When
Extracting customs notice information
Then
The notice document type code (M10-05-NOTICE-DOC-TYP-CDE) is available from the M10 segment for business processing
R-GCX126-cbl-00092
Set P4 Segment Found Flag to TRUE
Process Rules
📊 Business Logic Narrative
When the process 'Set P4 Segment Found Flag to TRUE' is invoked, and assuming that an edi 350 message is being processed and a p4 segment type is identified in the message queue table entry, when the p4 segment processing routine is invoked, the desired outcome is that the system sets the p4 segment found indicator to true to track that port information has been received.
💻 Technical Criteria
Given
An EDI 350 message is being processed and a P4 segment type is identified in the message queue table entry
When
The P4 segment processing routine is invoked
Then
The system sets the P4 segment found indicator to TRUE to track that port information has been received
R-GCX126-cbl-00094
Move MQ Table Entry to P4 Segment
Definitional Rules
📊 Business Logic Narrative
When the process 'Move MQ Table Entry to P4 Segment' is invoked, and assuming that the p4 segment structure has been initialized and the message queue table contains the p4 segment data at the current line position, when the system processes the p4 segment entry, the desired outcome is that the system moves the complete message queue table entry data to the p4 segment structure, making port code (p4-01-port-cde) and sub-location code (p4-02-sub-loc-cde) available for use.
💻 Technical Criteria
Given
The P4 segment structure has been initialized and the message queue table contains the P4 segment data at the current line position
When
The system processes the P4 segment entry
Then
The system moves the complete message queue table entry data to the P4 segment structure, making port code (P4-01-PORT-CDE) and sub-location code (P4-02-SUB-LOC-CDE) available for use
R-GCX126-cbl-00129
Prepare Error Report: 'UNKNOWN TRAIN ENTRY IN EDI 350' Include Train ID 'THIS CRN WAS NOT FOUND'
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Prepare Error Report: 'UNKNOWN TRAIN ENTRY IN EDI 350' Include Train ID 'THIS CRN WAS NOT FOUND'', assuming that a train id from x4-04-rel-doc-id (first 25 characters) has been looked up in the database and the train was not found (cc-status-code is not spaces), when the train verification fails, the desired outcome is that prepare error report with message 'unknown train entry in edi 350' concatenated with the train id in mrln-dtl-line(01) and add message 'this crn was not found.' in mrln-dtl-line(03) and set mrln-line to 4 and set message type indicator to unknown (88-z110-mrln-type-is-unknown).
💻 Technical Criteria
EXCLUDING
A train ID from X4-04-REL-DOC-ID (first 25 characters) has been looked up in the database AND the train was not found (CC-STATUS-CODE is not SPACES)
When
The train verification fails
Then
Prepare error report with message 'UNKNOWN TRAIN ENTRY IN EDI 350' concatenated with the train ID in MRLN-DTL-LINE(01) AND add message 'THIS CRN WAS NOT FOUND.' in MRLN-DTL-LINE(03) AND set MRLN-LINE to 4 AND set message type indicator to unknown (88-Z110-MRLN-TYPE-IS-UNKNOWN)
R-GCX126-cbl-00130
Send Error Report to Merlin
Action Rules
📊 Business Logic Narrative
When the process 'Send Error Report to Merlin' is invoked, and assuming that an error report has been prepared for an unknown train entry with message type set to unknown, when the error notification is ready to be sent, the desired outcome is that invoke the merlin notification preparation process (z110-prep-emcsend) to send the error report.
💻 Technical Criteria
Given
An error report has been prepared for an unknown train entry with message type set to unknown
When
The error notification is ready to be sent
Then
Invoke the Merlin notification preparation process (Z110-PREP-EMCSEND) to send the error report
R-GCX126-cbl-00160
Train ID Same as Previous CRN?
Decision Rules
📊 Business Logic Narrative
When the process 'Train ID Same as Previous CRN?' is invoked, and assuming that a conveyance 350 message is being processed with x4 segment entry type code equal to '992' and the x4 related document id (first 25 characters) is available, when the x4 related document id (first 25 characters) matches the previously processed train id stored in memory, the desired outcome is that the system skips all processing for this train id and continues to the next segment without performing train lookup, validation, or border arrival acknowledgment.
💻 Technical Criteria
Given
A conveyance 350 message is being processed with X4 segment entry type code equal to '992' and the X4 related document ID (first 25 characters) is available
When
The X4 related document ID (first 25 characters) matches the previously processed train ID stored in memory
Then
The system skips all processing for this train ID and continues to the next segment without performing train lookup, validation, or border arrival acknowledgment
R-GCX126-cbl-00163
Set Message: 'UNKNOWN TRAIN ENTRY IN EDI 350'
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Message: 'UNKNOWN TRAIN ENTRY IN EDI 350'', assuming that a train id lookup has failed and the train does not exist in the system, when the error report preparation begins, the desired outcome is that the system clears the first detail line of the report and sets the message to 'unknown train entry in edi 350 ' concatenated with the train id (first 25 characters of x4 related document id).
💻 Technical Criteria
EXCLUDING
A train ID lookup has failed and the train does not exist in the system
When
The error report preparation begins
Then
The system clears the first detail line of the report and sets the message to 'UNKNOWN TRAIN ENTRY IN EDI 350 ' concatenated with the train ID (first 25 characters of X4 related document ID)
R-GCX126-cbl-00164
Add Train ID to Report
Process Rules
📊 Business Logic Narrative
When the process 'Add Train ID to Report' is invoked, and assuming that the error report header message is being prepared for an unknown train, when the train id needs to be added to the report, the desired outcome is that the system appends the x4 related document id (first 25 characters) to the error message 'unknown train entry in edi 350 ' in the first detail line of the report.
💻 Technical Criteria
Given
The error report header message is being prepared for an unknown train
When
The train ID needs to be added to the report
Then
The system appends the X4 related document ID (first 25 characters) to the error message 'UNKNOWN TRAIN ENTRY IN EDI 350 ' in the first detail line of the report
R-GCX126-cbl-00165
Add Message: 'THIS CRN WAS NOT FOUND'
Process Rules
📊 Business Logic Narrative
When the process 'Add Message: 'THIS CRN WAS NOT FOUND'' is invoked, and assuming that the error report is being prepared for an unknown train id, when additional explanation is needed in the report, the desired outcome is that the system sets the third detail line of the report to the message 'this crn was not found.'.
💻 Technical Criteria
Given
The error report is being prepared for an unknown train ID
When
Additional explanation is needed in the report
Then
The system sets the third detail line of the report to the message 'THIS CRN WAS NOT FOUND.'
R-GCX126-cbl-00166
Set Report Type: UNKNOWN
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Report Type: UNKNOWN', assuming that an error report has been prepared for a train id that was not found in the system, when the report type needs to be set for routing purposes, the desired outcome is that the system sets the report line count to 4 and marks the report type indicator as 'unknown' type.
💻 Technical Criteria
EXCLUDING
An error report has been prepared for a train ID that was not found in the system
When
The report type needs to be set for routing purposes
Then
The system sets the report line count to 4 and marks the report type indicator as 'UNKNOWN' type
R-GCX126-cbl-00167
Send Error Report to Merlin
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Send Error Report to Merlin', assuming that an error report has been fully prepared with message 'unknown train entry in edi 350' followed by the train id, message 'this crn was not found.', report line count set to 4, and report type marked as 'unknown', when the error report is ready to be sent, the desired outcome is that the system invokes the merlin notification preparation process to send the error report to the configured recipients.
💻 Technical Criteria
EXCLUDING
An error report has been fully prepared with message 'UNKNOWN TRAIN ENTRY IN EDI 350' followed by the train ID, message 'THIS CRN WAS NOT FOUND.', report line count set to 4, and report type marked as 'UNKNOWN'
When
The error report is ready to be sent
Then
The system invokes the Merlin notification preparation process to send the error report to the configured recipients
R-GCX126-cbl-00168
Continue Processing
Process Rules
📊 Business Logic Narrative
When the process 'Continue Processing' is invoked, and assuming that either the train id matches the previously processed train id or the train id was successfully found in the system database, when train validation is complete, the desired outcome is that the system proceeds to log the train arrival information, create a log entry with action code 'zzz', message '350 ack - arrival ack at border', and spawns the logging transaction for the train.
💻 Technical Criteria
Given
Either the train ID matches the previously processed train ID OR the train ID was successfully found in the system database
When
Train validation is complete
Then
The system proceeds to log the train arrival information, create a log entry with action code 'ZZZ', message '350 ACK - ARRIVAL ACK AT BORDER', and spawns the logging transaction for the train
R-GCX126-cbl-00209
Set Report Line 4: 'RELEASE NUMBER:' + Release Reference + 'DONE BY PORT' + Port Code
Action Rules
📊 Business Logic Narrative
When the process 'Set Report Line 4: 'RELEASE NUMBER:' + Release Reference + 'DONE BY PORT' + Port Code' is invoked, and assuming that the explanatory text has been added to line 3, when the system adds release details to the error message, the desired outcome is that the system sets mrln-dtl-line(04) by concatenating 'release number: ', x4-01-cbsa-rel-ref-id (first 15 characters), ' done by port ', and p4-01-port-cde (first 4 characters).
💻 Technical Criteria
Given
The explanatory text has been added to line 3
When
The system adds release details to the error message
Then
The system sets MRLN-DTL-LINE(04) by concatenating 'RELEASE NUMBER: ', X4-01-CBSA-REL-REF-ID (first 15 characters), ' DONE BY PORT ', and P4-01-PORT-CDE (first 4 characters)
R-GCX126-cbl-00210
Set Report Line Count = 5
Action Rules
📊 Business Logic Narrative
When the process 'Set Report Line Count = 5' is invoked, and assuming that all error message lines have been populated, when the system finalizes the error report structure, the desired outcome is that the system sets mrln-line to 5 indicating the total number of report lines.
💻 Technical Criteria
Given
All error message lines have been populated
When
The system finalizes the error report structure
Then
The system sets MRLN-LINE to 5 indicating the total number of report lines
R-GCX126-cbl-00211
Set Report Type = UNKNOWN
Action Rules
📊 Business Logic Narrative
When the process 'Set Report Type = UNKNOWN' is invoked, and assuming that the report line count has been set, when the system classifies the error report type, the desired outcome is that the system sets the report type indicator to 88-z110-mrln-type-is-unknown (true).
💻 Technical Criteria
Given
The report line count has been set
When
The system classifies the error report type
Then
The system sets the report type indicator to 88-Z110-MRLN-TYPE-IS-UNKNOWN (TRUE)
R-GCX126-cbl-00212
Route Email to OM01247
Action Rules
📊 Business Logic Narrative
When the process 'Route Email to OM01247' is invoked, and assuming that the error report type has been set to unknown, when the system prepares to send the email notification, the desired outcome is that the system sets emi-destination-filename to 'unknown', clears emi-to-usercode to spaces, and sets emi-to-usercodes(01) to 'om01247'.
💻 Technical Criteria
Given
The error report type has been set to UNKNOWN
When
The system prepares to send the email notification
Then
The system sets EMI-DESTINATION-FILENAME to 'UNKNOWN', clears EMI-TO-USERCODE to spaces, and sets EMI-TO-USERCODES(01) to 'OM01247'
R-GCX126-cbl-00213
Send Email Notification
Action Rules
📊 Business Logic Narrative
When the process 'Send Email Notification' is invoked, and assuming that the email routing has been configured to om01247 with destination unknown, when the system executes the notification process, the desired outcome is that the system performs z115-call-emcsend to send the email notification with the error report details.
💻 Technical Criteria
Given
The email routing has been configured to OM01247 with destination UNKNOWN
When
The system executes the notification process
Then
The system performs Z115-CALL-EMCSEND to send the email notification with the error report details
R-GCX126-cbl-00216
Add House Bill Close Information: House Bill Close Number, Port Code
Process Rules
📊 Business Logic Narrative
When the process 'Add House Bill Close Information: House Bill Close Number, Port Code' is invoked, and assuming that the error report header has been prepared with subject and primary message, when the system adds detailed information to the error report, the desired outcome is that the system constructs a string starting with 'house bill close number' followed by x4-01-cbsa-rel-ref-id field positions 1 through 25, then ' done by port ' followed by p4-01-port-cde field positions 1 through 4, and stores this complete string in mrln-dtl-line array element 4.
💻 Technical Criteria
Given
The error report header has been prepared with subject and primary message
When
The system adds detailed information to the error report
Then
The system constructs a string starting with 'HOUSE BILL CLOSE NUMBER' followed by X4-01-CBSA-REL-REF-ID field positions 1 through 25, then ' DONE BY PORT ' followed by P4-01-PORT-CDE field positions 1 through 4, and stores this complete string in MRLN-DTL-LINE array element 4
R-GCX126-cbl-00218
Set Email Routing: Route to OM01247, Filename UNKNOWN
Action Rules
📊 Business Logic Narrative
When the process 'Set Email Routing: Route to OM01247, Filename UNKNOWN' is invoked, and assuming that the error report has been fully prepared with all detail lines and message type set to unknown, when the system determines the routing for the error notification, the desired outcome is that the system sets emi-destination-filename to 'unknown', clears emi-to-usercode to spaces, and sets emi-to-usercodes array element 1 to 'om01247'.
💻 Technical Criteria
Given
The error report has been fully prepared with all detail lines and message type set to unknown
When
The system determines the routing for the error notification
Then
The system sets EMI-DESTINATION-FILENAME to 'UNKNOWN', clears EMI-TO-USERCODE to spaces, and sets EMI-TO-USERCODES array element 1 to 'OM01247'
R-GCX126-cbl-00219
Send Error Email Notification via EMCSEND2
Action Rules
📊 Business Logic Narrative
When the process 'Send Error Email Notification via EMCSEND2' is invoked, and assuming that the error report is complete with subject line, detail lines, message type set to unknown, and routing configured to user om01247 with filename unknown, when the system is ready to send the notification, the desired outcome is that the system invokes the z115-call-emcsend procedure which calls the emcsend2 program passing the from usercode, destination filename, to usercode, copy usercode, subject, keywords, report content, return status flag, segment numbers, and item type parameters.
💻 Technical Criteria
Given
The error report is complete with subject line, detail lines, message type set to unknown, and routing configured to user OM01247 with filename UNKNOWN
When
The system is ready to send the notification
Then
The system invokes the Z115-CALL-EMCSEND procedure which calls the EMCSEND2 program passing the from usercode, destination filename, to usercode, copy usercode, subject, keywords, report content, return status flag, segment numbers, and item type parameters
R-GCX126-cbl-00277
RELEASE: release-ref AT PORT port-code
Computation Rules
📊 Business Logic Narrative
When the process 'RELEASE: release-ref AT PORT port-code' is invoked, and assuming that a follower manifest is being processed and v9 segment indicates released status, when the system builds the release message, the desired outcome is that the log message is formatted as 'edi 350: release : ' concatenated with the first 15 characters of x4 cbsa release reference id concatenated with ' at port ' concatenated with the first 4 characters of p4 port code.
💻 Technical Criteria
Given
A follower manifest is being processed AND V9 segment indicates RELEASED status
When
The system builds the release message
Then
The log message is formatted as 'EDI 350: RELEASE : ' concatenated with the first 15 characters of X4 CBSA release reference ID concatenated with ' AT PORT ' concatenated with the first 4 characters of P4 port code
R-GCX126-cbl-00278
RELEASE VIA DECON AT PORT port-code
Computation Rules
📊 Business Logic Narrative
When the process 'RELEASE VIA DECON AT PORT port-code' is invoked, and assuming that a follower manifest is being processed and v9 segment indicates decon status, when the system builds the release message, the desired outcome is that the log message is formatted as 'edi 350: release via decon at port ' concatenated with the first 4 characters of p4 port code.
💻 Technical Criteria
Given
A follower manifest is being processed AND V9 segment indicates DECON status
When
The system builds the release message
Then
The log message is formatted as 'EDI 350: RELEASE VIA DECON AT PORT ' concatenated with the first 4 characters of P4 port code
R-GCX126-cbl-00280
release-ref / port-code
Computation Rules
📊 Business Logic Narrative
When the process 'release-ref / port-code' is invoked, and assuming that a follower manifest is being processed and v9 segment indicates released status, when the system builds the release reason, the desired outcome is that the release reason is formatted as the first 15 characters of x4 cbsa release reference id concatenated with '/' concatenated with the first 4 characters of p4 port code.
💻 Technical Criteria
Given
A follower manifest is being processed AND V9 segment indicates RELEASED status
When
The system builds the release reason
Then
The release reason is formatted as the first 15 characters of X4 CBSA release reference ID concatenated with '/' concatenated with the first 4 characters of P4 port code
R-GCX126-cbl-00281
DECONSOLIDATION AT port-code
Computation Rules
📊 Business Logic Narrative
When the process 'DECONSOLIDATION AT port-code' is invoked, and assuming that a follower manifest is being processed and v9 segment indicates decon status, when the system builds the release reason, the desired outcome is that the release reason is formatted as 'deconsolidation at ' concatenated with the first 4 characters of p4 port code.
💻 Technical Criteria
Given
A follower manifest is being processed AND V9 segment indicates DECON status
When
The system builds the release reason
Then
The release reason is formatted as 'DECONSOLIDATION AT ' concatenated with the first 4 characters of P4 port code
R-GCX126-cbl-01008
Call CIMS with CHNG Function
Action Rules
📊 Business Logic Narrative
When the process 'Call CIMS with CHNG Function' is invoked, and assuming that the gct1051e message structure has been populated with log data, when the system is ready to write the log entry, the desired outcome is that the system calls cims with chng function using the alternate pcb and gct1051e message to change the message destination.
💻 Technical Criteria
Given
The GCT1051E message structure has been populated with log data
When
The system is ready to write the log entry
Then
The system calls CIMS with CHNG function using the alternate PCB and GCT1051E message to change the message destination
R-GCX126-cbl-01009
Call WRITMSGL to Write Message Log
Action Rules
📊 Business Logic Narrative
When the process 'Call WRITMSGL to Write Message Log' is invoked, and assuming that the message destination has been changed to the alternate pcb and the gct1051e message is populated, when the system is ready to persist the log entry, the desired outcome is that the system calls writmsgl with the alternate pcb, gct1051e message code, message content, message length, and module name to write the log entry.
💻 Technical Criteria
Given
The message destination has been changed to the alternate PCB AND the GCT1051E message is populated
When
The system is ready to persist the log entry
Then
The system calls WRITMSGL with the alternate PCB, GCT1051E message code, message content, message length, and module name to write the log entry
R-GCX126-cbl-00300
Set Email Route: - Filename: CAHOLD - To: OM01247
Process Rules
📊 Business Logic Narrative
When the process 'Set Email Route: - Filename: CAHOLD - To: OM01247' is invoked, and assuming that the hold notification email content has been prepared, when the email routing is configured, the desired outcome is that the system sets the destination filename to 'cahold', sets the primary recipient to 'om01247', and sets the message type indicator to hold.
💻 Technical Criteria
Given
The hold notification email content has been prepared
When
The email routing is configured
Then
The system sets the destination filename to 'CAHOLD', sets the primary recipient to 'OM01247', and sets the message type indicator to HOLD
R-GCX126-cbl-00301
Send Email Notification via EMCSEND2
Action Rules
📊 Business Logic Narrative
When the process 'Send Email Notification via EMCSEND2' is invoked, and assuming that the hold notification email has been prepared with routing parameters set to cahold destination and om01247 recipient, when the email send operation is invoked, the desired outcome is that the system calls emcsend2 program to transmit the hold notification email with the prepared content and routing information.
💻 Technical Criteria
Given
The hold notification email has been prepared with routing parameters set to CAHOLD destination and OM01247 recipient
When
The email send operation is invoked
Then
The system calls EMCSEND2 program to transmit the hold notification email with the prepared content and routing information
R-GCX126-cbl-00305
Update Release Reason: 'DECONSOLIDATION AT' + Port Code
Action Rules
📊 Business Logic Narrative
When the process 'Update Release Reason: 'DECONSOLIDATION AT' + Port Code' is invoked, and assuming that p4 segment contains the port code where deconsolidation occurred, when the system updates the release reason for deconsolidation, the desired outcome is that construct string 'deconsolidation at ' concatenated with p4-01-port-cde (first 4 characters) and store in gccc-release-reason field.
💻 Technical Criteria
Given
P4 segment contains the port code where deconsolidation occurred
When
The system updates the release reason for deconsolidation
Then
Construct string 'DECONSOLIDATION AT ' concatenated with P4-01-PORT-CDE (first 4 characters) and store in GCCC-RELEASE-REASON field
R-GCX126-cbl-00314
33: Process Follower Manifests - Update release reason
Action Rules
📊 Business Logic Narrative
When the process '33: Process Follower Manifests - Update release reason' is invoked, and assuming that follower manifest has been found and p4 segment contains port code, when the system updates the release reason for the follower, the desired outcome is that construct string 'deconsolidation at ' concatenated with p4-01-port-cde (first 4 characters) and store in gccc-release-reason field.
💻 Technical Criteria
Given
Follower manifest has been found and P4 segment contains port code
When
The system updates the release reason for the follower
Then
Construct string 'DECONSOLIDATION AT ' concatenated with P4-01-PORT-CDE (first 4 characters) and store in GCCC-RELEASE-REASON field
R-GCX126-cbl-00632
Set Release Reason with Deconsolidation Port
Process Rules
📊 Business Logic Narrative
When the process 'Set Release Reason with Deconsolidation Port' is invoked, and assuming that the release message has been built for the follower manifest, when the system sets the release reason, the desired outcome is that the release reason field is populated with 'deconsolidation at' followed by the port code from the p4 segment (first 4 characters).
💻 Technical Criteria
Given
The release message has been built for the follower manifest
When
The system sets the release reason
Then
The release reason field is populated with 'DECONSOLIDATION AT' followed by the port code from the P4 segment (first 4 characters)
R-GCX126-cbl-01015
Call CIMS with CHNG Function
Action Rules
📊 Business Logic Narrative
When the process 'Call CIMS with CHNG Function' is invoked, and assuming that a formatted log message (gct1051e) ready to be written, when the system needs to write the log entry to the audit trail, the desired outcome is that the system calls cims with chng function using the alternate pcb (alt-pcb of cccom) and the gct1051e message structure to change the message destination.
💻 Technical Criteria
Given
A formatted log message (GCT1051E) ready to be written
When
The system needs to write the log entry to the audit trail
Then
The system calls CIMS with CHNG function using the alternate PCB (ALT-PCB OF CCCOM) and the GCT1051E message structure to change the message destination
R-GCX126-cbl-01016
Call WRITMSGL to Write Message
Action Rules
📊 Business Logic Narrative
When the process 'Call WRITMSGL to Write Message' is invoked, and assuming that a log message with changed destination in the alternate pcb, when the system is ready to persist the log entry, the desired outcome is that the system calls writmsgl utility with parameters: cccom control block, alternate pcb, message code (gct1051e-msg-code), message text (gct1051e-message), message length (gct1051e-msg-lgth), and module name (gct1051e-mod-name) to write the log entry to the audit trail.
💻 Technical Criteria
Given
A log message with changed destination in the alternate PCB
When
The system is ready to persist the log entry
Then
The system calls WRITMSGL utility with parameters: CCCOM control block, alternate PCB, message code (GCT1051E-MSG-CODE), message text (GCT1051E-MESSAGE), message length (GCT1051E-MSG-LGTH), and module name (GCT1051E-MOD-NAME) to write the log entry to the audit trail
R-GCX126-cbl-00370
Log Message: 'EDI 350: RELEASE' with Release Ref and Port
Process Rules
📊 Business Logic Narrative
When the process 'Log Message: 'EDI 350: RELEASE' with Release Ref and Port' is invoked, and assuming that the notice reason code indicates a standard release, when logging the release action, the desired outcome is that a message is logged with the text 'edi 350: release : ' concatenated with the release reference id (first 15 characters) and ' at port ' concatenated with the port code (first 4 characters).
💻 Technical Criteria
Given
The notice reason code indicates a standard release
When
Logging the release action
Then
A message is logged with the text 'EDI 350: RELEASE : ' concatenated with the release reference ID (first 15 characters) and ' AT PORT ' concatenated with the port code (first 4 characters)
R-GCX126-cbl-00371
Set Release Reason: Release Ref / Port Code
Process Rules
📊 Business Logic Narrative
When the process 'Set Release Reason: Release Ref / Port Code' is invoked, and assuming that a standard release message has been logged, when recording the release reason, the desired outcome is that the release reason field is set to the release reference id (first 15 characters) concatenated with '/' and the port code (first 4 characters).
💻 Technical Criteria
Given
A standard release message has been logged
When
Recording the release reason
Then
The release reason field is set to the release reference ID (first 15 characters) concatenated with '/' and the port code (first 4 characters)
R-GCX126-cbl-00372
Log Message: 'EDI 350: RELEASE VIA DECON AT PORT' with Port
Process Rules
📊 Business Logic Narrative
When the process 'Log Message: 'EDI 350: RELEASE VIA DECON AT PORT' with Port' is invoked, and assuming that the notice reason code indicates a deconsolidation release, when logging the deconsolidation action, the desired outcome is that a message is logged with the text 'edi 350: release via decon at port ' concatenated with the port code (first 4 characters).
💻 Technical Criteria
Given
The notice reason code indicates a deconsolidation release
When
Logging the deconsolidation action
Then
A message is logged with the text 'EDI 350: RELEASE VIA DECON AT PORT ' concatenated with the port code (first 4 characters)
R-GCX126-cbl-00373
Set Release Reason: 'DECONSOLIDATION AT' Port
Process Rules
📊 Business Logic Narrative
When the process 'Set Release Reason: 'DECONSOLIDATION AT' Port' is invoked, and assuming that a deconsolidation release message has been logged, when recording the deconsolidation reason, the desired outcome is that the release reason field is set to 'deconsolidation at ' concatenated with the port code (first 4 characters).
💻 Technical Criteria
Given
A deconsolidation release message has been logged
When
Recording the deconsolidation reason
Then
The release reason field is set to 'DECONSOLIDATION AT ' concatenated with the port code (first 4 characters)
R-GCX126-cbl-00672
Build Release Message with Release Reference and Port
Process Rules
📊 Business Logic Narrative
When the process 'Build Release Message with Release Reference and Port' is invoked, and assuming that the follower manifest has a standard release notice reason code (v9-02-released) and x4 segment contains release reference id and p4 segment contains port code, when the system builds the release message for logging, the desired outcome is that the message 'edi 350: release : ' is concatenated with x4-01-cbsa-rel-ref-id (first 15 characters) and ' at port ' and p4-01-port-cde (first 4 characters) into ws-gcx105-info-msg.
💻 Technical Criteria
Given
The follower manifest has a standard release notice reason code (V9-02-RELEASED) AND X4 segment contains release reference ID AND P4 segment contains port code
When
The system builds the release message for logging
Then
The message 'EDI 350: RELEASE : ' is concatenated with X4-01-CBSA-REL-REF-ID (first 15 characters) and ' AT PORT ' and P4-01-PORT-CDE (first 4 characters) into WS-GCX105-INFO-MSG
R-GCX126-cbl-00673
Build Decon Release Message with Port
Process Rules
📊 Business Logic Narrative
When the process 'Build Decon Release Message with Port' is invoked, and assuming that the follower manifest has a deconsolidation notice reason code (v9-02-decon) and p4 segment contains port code, when the system builds the deconsolidation release message for logging, the desired outcome is that the message 'edi 350: release via decon at port ' is concatenated with p4-01-port-cde (first 4 characters) into ws-gcx105-info-msg.
💻 Technical Criteria
Given
The follower manifest has a deconsolidation notice reason code (V9-02-DECON) AND P4 segment contains port code
When
The system builds the deconsolidation release message for logging
Then
The message 'EDI 350: RELEASE VIA DECON AT PORT ' is concatenated with P4-01-PORT-CDE (first 4 characters) into WS-GCX105-INFO-MSG
R-GCX126-cbl-00390
Save Current Email Recipients, Clear Email Recipients
Process Rules
📊 Business Logic Narrative
When the process 'Save Current Email Recipients, Clear Email Recipients' is invoked, and assuming that email recipient configuration exists in the system, when error email preparation begins, the desired outcome is that the current email recipient usercode and destination filename are saved to temporary storage and the email recipient usercode field is cleared to spaces.
💻 Technical Criteria
Given
Email recipient configuration exists in the system
When
Error email preparation begins
Then
The current email recipient usercode and destination filename are saved to temporary storage and the email recipient usercode field is cleared to spaces
R-GCX126-cbl-00395
Set Destination Filename to CAERROR, Clear Email Recipients, Set Recipient to OM01247, Call Email Send Service
Action Rules
📊 Business Logic Narrative
When the process 'Set Destination Filename to CAERROR, Clear Email Recipients, Set Recipient to OM01247, Call Email Send Service' is invoked, and assuming that an error email has been prepared with subject and keywords, when the error email needs to be sent to the error monitoring destination, the desired outcome is that the email destination filename is set to 'caerror', the email recipient usercode is cleared to spaces, the first email recipient usercode is set to 'om01247', and the email send service is invoked with the configured parameters.
💻 Technical Criteria
Given
An error email has been prepared with subject and keywords
When
The error email needs to be sent to the error monitoring destination
Then
The email destination filename is set to 'CAERROR', the email recipient usercode is cleared to spaces, the first email recipient usercode is set to 'OM01247', and the email send service is invoked with the configured parameters
R-GCX126-cbl-00396
Set Destination Filename to IN, Clear Email Recipients, Set Recipient to OM01247, Call Email Send Service
Action Rules
📊 Business Logic Narrative
When the process 'Set Destination Filename to IN, Clear Email Recipients, Set Recipient to OM01247, Call Email Send Service' is invoked, and assuming that the error email has been successfully sent to caerror destination, when a copy of the error email needs to be sent to the general inbox, the desired outcome is that the email destination filename is set to 'in', the email recipient usercode is cleared to spaces, the first email recipient usercode is set to 'om01247', and the email send service is invoked again with the configured parameters.
💻 Technical Criteria
Given
The error email has been successfully sent to CAERROR destination
When
A copy of the error email needs to be sent to the general inbox
Then
The email destination filename is set to 'IN', the email recipient usercode is cleared to spaces, the first email recipient usercode is set to 'OM01247', and the email send service is invoked again with the configured parameters
R-GCX126-cbl-00399
Set Destination Filename to 'IN'
Action Rules
📊 Business Logic Narrative
When the process 'Set Destination Filename to 'IN'' is invoked, and assuming that an info email notification is being prepared, when the destination filename needs to be set for routing, the desired outcome is that the email destination filename is set to 'in'.
💻 Technical Criteria
Given
An info email notification is being prepared
When
The destination filename needs to be set for routing
Then
The email destination filename is set to 'IN'
R-GCX126-cbl-00422
Set Destination Filename: CAHOLD
Process Rules
📊 Business Logic Narrative
When the process 'Set Destination Filename: CAHOLD' is invoked, and assuming that a hold notification email has been prepared with recipient information, when the email routing information is being configured, the desired outcome is that the system sets the destination filename to 'cahold'.
💻 Technical Criteria
Given
A hold notification email has been prepared with recipient information
When
The email routing information is being configured
Then
The system sets the destination filename to 'CAHOLD'
R-GCX126-cbl-00424
Call Email Send Process
Action Rules
📊 Business Logic Narrative
When the process 'Call Email Send Process' is invoked, and assuming that a hold notification email has been fully prepared with subject, body content, recipient om01247, destination filename cahold, and line count 7, when all email preparation is complete, the desired outcome is that the system calls the email send preparation process (z110-prep-emcsend) to deliver the notification.
💻 Technical Criteria
Given
A hold notification email has been fully prepared with subject, body content, recipient OM01247, destination filename CAHOLD, and line count 7
When
All email preparation is complete
Then
The system calls the email send preparation process (Z110-PREP-EMCSEND) to deliver the notification
R-GCX126-cbl-00425
Call EMCSEND2 to Send Email
Action Rules
📊 Business Logic Narrative
When the process 'Call EMCSEND2 to Send Email' is invoked, and assuming that email parameters are prepared with from usercode, destination filename, to usercode, copy usercode, subject, keywords, and report content, when emcsend2 is called with these parameters, the desired outcome is that the email is transmitted through the messaging system.
💻 Technical Criteria
Given
Email parameters are prepared with FROM usercode, destination filename, TO usercode, COPY usercode, subject, keywords, and report content
When
EMCSEND2 is called with these parameters
Then
The email is transmitted through the messaging system
R-GCX126-cbl-00429
Resend Failed Email to OM01247
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Resend Failed Email to OM01247', assuming that an email send attempt has failed because to or copy usercode was not found, when the return status flag indicates to or copy user not found, the desired outcome is that the system clears to usercode, sets to usercode to om01247, sets destination filename to in, and calls the resend email procedure.
💻 Technical Criteria
EXCLUDING
An email send attempt has failed because TO or COPY usercode was not found
When
The return status flag indicates TO or COPY user not found
Then
The system clears TO usercode, sets TO usercode to OM01247, sets destination filename to IN, and calls the resend email procedure
R-GCX126-cbl-00430
Resend Failed Email to OM01247
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Resend Failed Email to OM01247', assuming that an email has been successfully rerouted to om01247 after the original recipient was not found and the resend operation returned no errors, when the rerouted email send completes successfully, the desired outcome is that the system clears the subject, constructs a new subject containing the invalid merlin id and text 'invalid merlin to - report reroute', and calls the resend email procedure again.
💻 Technical Criteria
EXCLUDING
An email has been successfully rerouted to OM01247 after the original recipient was not found and the resend operation returned no errors
When
The rerouted email send completes successfully
Then
The system clears the subject, constructs a new subject containing the invalid Merlin ID and text 'INVALID MERLIN TO - REPORT REROUTE', and calls the resend email procedure again
R-GCX126-cbl-00682
Email Sent Successfully
Process Rules
📊 Business Logic Narrative
When the process 'Email Sent Successfully' is invoked, and assuming that an email notification has been prepared with from usercode, destination filename, to usercode, copy usercode, subject, keywords, and report content, when the emcsend2 service returns emi-no-errors status indicating successful email delivery, the desired outcome is that the system purges the ims alternate pcb message queue and completes the email send process successfully.
💻 Technical Criteria
Given
An email notification has been prepared with FROM usercode, destination filename, TO usercode, COPY usercode, subject, keywords, and report content
When
The EMCSEND2 service returns EMI-NO-ERRORS status indicating successful email delivery
Then
The system purges the IMS alternate PCB message queue and completes the email send process successfully
R-GCX126-cbl-00684
Invalid Filename Error
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Invalid Filename Error', assuming that an email notification is being sent with a destination filename, when the emcsend2 service returns emi-filename-invalid status indicating the destination filename is not valid, the desired outcome is that the system sets error message 'emi - invalid merlin filename' and aborts the program execution.
💻 Technical Criteria
EXCLUDING
An email notification is being sent with a destination filename
When
The EMCSEND2 service returns EMI-FILENAME-INVALID status indicating the destination filename is not valid
Then
The system sets error message 'EMI - INVALID MERLIN FILENAME' and aborts the program execution
R-GCX126-cbl-00685
Resend Failed Email to OM01247
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Resend Failed Email to OM01247', assuming that an email notification fails with emi-to-or-copy-not-found status and the invalid recipient usercode is identified, when the email type is unrlse and to usercode at position 2 is invalid, or for other email types to usercode at position 1 is invalid, the desired outcome is that the system saves the invalid merlin id, clears the to usercode, sets to usercode to 'om01247', sets destination filename to 'in', and resends the email notification.
💻 Technical Criteria
EXCLUDING
An email notification fails with EMI-TO-OR-COPY-NOT-FOUND status and the invalid recipient usercode is identified
When
The email type is UNRLSE and TO usercode at position 2 is invalid, or for other email types TO usercode at position 1 is invalid
Then
The system saves the invalid Merlin ID, clears the TO usercode, sets TO usercode to 'OM01247', sets destination filename to 'IN', and resends the email notification
R-GCX126-cbl-00686
Resend Email with Reroute Notice
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Resend Email with Reroute Notice', assuming that an email was successfully rerouted to default user om01247 after initial recipient was not found and the resend returned emi-no-errors status, when the system prepares a new email with subject containing the invalid merlin id and message 'invalid merlin to - report reroute', the desired outcome is that the system sends the reroute notification email to om01247 with destination filename 'in' and purges the ims message queue upon successful delivery.
💻 Technical Criteria
EXCLUDING
An email was successfully rerouted to default user OM01247 after initial recipient was not found and the resend returned EMI-NO-ERRORS status
When
The system prepares a new email with subject containing the invalid Merlin ID and message 'INVALID MERLIN TO - REPORT REROUTE'
Then
The system sends the reroute notification email to OM01247 with destination filename 'IN' and purges the IMS message queue upon successful delivery
R-GCX126-cbl-00687
Abort with Invalid TO/COPY Error
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Abort with Invalid TO/COPY Error', assuming that an email was rerouted to default user om01247 after initial recipient was not found, when the resend attempt returns emi-to-or-copy-not-found status indicating even the default recipient om01247 is invalid, the desired outcome is that the system sets error message 'emi - invalid merlin to or copy' and aborts the program execution.
💻 Technical Criteria
EXCLUDING
An email was rerouted to default user OM01247 after initial recipient was not found
When
The resend attempt returns EMI-TO-OR-COPY-NOT-FOUND status indicating even the default recipient OM01247 is invalid
Then
The system sets error message 'EMI - INVALID MERLIN TO OR COPY' and aborts the program execution
R-GCX126-cbl-00688
FROM User Not Found Error
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'FROM User Not Found Error', assuming that an email is being rerouted to default user om01247 after initial recipient was not found, when the resend attempt returns emi-from-not-found status indicating the from usercode does not exist, the desired outcome is that the system sets error message 'emi - invalid merlin from' and aborts the program execution.
💻 Technical Criteria
EXCLUDING
An email is being rerouted to default user OM01247 after initial recipient was not found
When
The resend attempt returns EMI-FROM-NOT-FOUND status indicating the FROM usercode does not exist
Then
The system sets error message 'EMI - INVALID MERLIN FROM' and aborts the program execution
R-GCX126-cbl-00689
Invalid Filename Error
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Invalid Filename Error', assuming that an email is being rerouted to default user om01247 after initial recipient was not found, when the resend attempt returns emi-filename-invalid status indicating the destination filename is not valid, the desired outcome is that the system sets error message 'emi - invalid merlin filename' and aborts the program execution.
💻 Technical Criteria
EXCLUDING
An email is being rerouted to default user OM01247 after initial recipient was not found
When
The resend attempt returns EMI-FILENAME-INVALID status indicating the destination filename is not valid
Then
The system sets error message 'EMI - INVALID MERLIN FILENAME' and aborts the program execution
R-GCX126-cbl-00917
Call EMCSEND2 to Send Email
Action Rules
📊 Business Logic Narrative
When the process 'Call EMCSEND2 to Send Email' is invoked, and assuming that email parameters are prepared with from usercode, destination filename, to usercode, copy usercode, subject, keywords, and message report content, when emcsend2 program is called with these parameters, the desired outcome is that the email is sent through the emcsend2 interface and return status flag is populated.
💻 Technical Criteria
Given
Email parameters are prepared with FROM usercode, destination filename, TO usercode, COPY usercode, subject, keywords, and message report content
When
EMCSEND2 program is called with these parameters
Then
The email is sent through the EMCSEND2 interface and return status flag is populated
R-GCX126-cbl-00920
To/Copy User Not Found?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'To/Copy User Not Found?', assuming that emcsend2 return status is emi-to-or-copy-not-found, when email send operation fails due to invalid recipient usercode, the desired outcome is that save the bad merlin id, reset to usercode to spaces, set to usercodes(01) to 'om01247', and set destination filename to 'in'.
💻 Technical Criteria
EXCLUDING
EMCSEND2 return status is EMI-TO-OR-COPY-NOT-FOUND
When
Email send operation fails due to invalid recipient usercode
Then
Save the bad Merlin ID, reset TO usercode to spaces, set TO usercodes(01) to 'OM01247', and set destination filename to 'IN'
R-GCX126-cbl-00921
Resend Failed Email
Process Rules
📊 Business Logic Narrative
When the process 'Resend Failed Email' is invoked, and assuming that email parameters have been reset with to usercode as 'om01247' and destination as 'in', when resend operation is performed, the desired outcome is that emcsend2 is called again with updated parameters and return status is evaluated.
💻 Technical Criteria
Given
Email parameters have been reset with TO usercode as 'OM01247' and destination as 'IN'
When
Resend operation is performed
Then
EMCSEND2 is called again with updated parameters and return status is evaluated
R-GCX126-cbl-00922
Resend Successful?
Process Rules
📊 Business Logic Narrative
When the process 'Resend Successful?' is invoked, and assuming that resend operation completed with emi-no-errors status, when email was successfully rerouted to default recipient, the desired outcome is that clear subject, build new subject with bad merlin id and message 'invalid merlin to - report reroute', and resend notification.
💻 Technical Criteria
Given
Resend operation completed with EMI-NO-ERRORS status
When
Email was successfully rerouted to default recipient
Then
Clear subject, build new subject with bad Merlin ID and message 'INVALID MERLIN TO - REPORT REROUTE', and resend notification
R-GCX126-cbl-00923
Filename Invalid?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Filename Invalid?', assuming that emcsend2 return status is emi-filename-invalid, when email send operation fails due to invalid destination filename, the desired outcome is that system abends with error message 'emi - invalid merlin filename'.
💻 Technical Criteria
EXCLUDING
EMCSEND2 return status is EMI-FILENAME-INVALID
When
Email send operation fails due to invalid destination filename
Then
System abends with error message 'EMI - INVALID MERLIN FILENAME'
R-GCX126-cbl-00970
Call EMCSEND2 with Parameters: From User Code, Destination Filename, To User Code, Copy User Code, Subject, Keywords, Report Content, Return Status Flag, Segment Numbers, Item Type
Action Rules
📊 Business Logic Narrative
When the process 'Call EMCSEND2 with Parameters: From User Code, Destination Filename, To User Code, Copy User Code, Subject, Keywords, Report Content, Return Status Flag, Segment Numbers, Item Type' is invoked, and assuming that the communication context is established and email parameters are prepared including from user code (emi-from-usercode), destination filename (emi-destination-filename), to user code (emi-to-usercode), copy user code (emi-copy-usercode), subject (emi-subject), keywords (emi-keywords), report content (mrln-350-report), return status flag (emi-return-status-flag), segment numbers (emi-seg-no1, emi-seg-no2), and item type (emi-item-type), when the system invokes emcsend2 program, the desired outcome is that the email is sent with all specified parameters and the return status flag is populated with the result.
💻 Technical Criteria
Given
The communication context is established and email parameters are prepared including From User Code (EMI-FROM-USERCODE), Destination Filename (EMI-DESTINATION-FILENAME), To User Code (EMI-TO-USERCODE), Copy User Code (EMI-COPY-USERCODE), Subject (EMI-SUBJECT), Keywords (EMI-KEYWORDS), Report Content (MRLN-350-REPORT), Return Status Flag (EMI-RETURN-STATUS-FLAG), Segment Numbers (EMI-SEG-NO1, EMI-SEG-NO2), and Item Type (EMI-ITEM-TYPE)
When
The system invokes EMCSEND2 program
Then
The email is sent with all specified parameters and the return status flag is populated with the result
R-GCX126-cbl-00974
To/Copy User Not Found: Identify Bad Merlin ID
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'To/Copy User Not Found: Identify Bad Merlin ID', assuming that the emcsend2 return status flag indicates recipient not found (emi-to-or-copy-not-found) and the message type is unrelease (88-z110-mrln-type-is-unrlse), when the email sending fails due to invalid recipient, the desired outcome is that the system moves emi-to-usercodes(02) to ws-bad-merlin-id, clears emi-to-usercode, sets emi-to-usercodes(01) to 'om01247', sets emi-destination-filename to 'in', and performs z116-resend-merlin.
💻 Technical Criteria
EXCLUDING
The EMCSEND2 return status flag indicates recipient not found (EMI-TO-OR-COPY-NOT-FOUND) and the message type is unrelease (88-Z110-MRLN-TYPE-IS-UNRLSE)
When
The email sending fails due to invalid recipient
Then
The system moves EMI-TO-USERCODES(02) to WS-BAD-MERLIN-ID, clears EMI-TO-USERCODE, sets EMI-TO-USERCODES(01) to 'OM01247', sets EMI-DESTINATION-FILENAME to 'IN', and performs Z116-RESEND-MERLIN
R-GCX126-cbl-00975
To/Copy User Not Found: Identify Bad Merlin ID
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'To/Copy User Not Found: Identify Bad Merlin ID', assuming that the emcsend2 return status flag indicates recipient not found (emi-to-or-copy-not-found) and the message type is not unrelease, when the email sending fails due to invalid recipient, the desired outcome is that the system moves emi-to-usercodes(01) to ws-bad-merlin-id, clears emi-to-usercode, sets emi-to-usercodes(01) to 'om01247', sets emi-destination-filename to 'in', and performs z116-resend-merlin.
💻 Technical Criteria
EXCLUDING
The EMCSEND2 return status flag indicates recipient not found (EMI-TO-OR-COPY-NOT-FOUND) and the message type is not unrelease
When
The email sending fails due to invalid recipient
Then
The system moves EMI-TO-USERCODES(01) to WS-BAD-MERLIN-ID, clears EMI-TO-USERCODE, sets EMI-TO-USERCODES(01) to 'OM01247', sets EMI-DESTINATION-FILENAME to 'IN', and performs Z116-RESEND-MERLIN
R-GCX126-cbl-00976
Resend Failed Email to OM01247 with Reroute Notification
Process Rules
📊 Business Logic Narrative
When the process 'Resend Failed Email to OM01247 with Reroute Notification' is invoked, and assuming that the resend operation completed successfully (emi-no-errors after z116-resend-merlin), when the email has been rerouted to default user, the desired outcome is that the system clears emi-subject, builds a new subject message containing ws-bad-merlin-id and text 'invalid merlin to - report reroute', and performs z116-resend-merlin again to send the notification.
💻 Technical Criteria
Given
The resend operation completed successfully (EMI-NO-ERRORS after Z116-RESEND-MERLIN)
When
The email has been rerouted to default user
Then
The system clears EMI-SUBJECT, builds a new subject message containing WS-BAD-MERLIN-ID and text 'INVALID MERLIN TO - REPORT REROUTE', and performs Z116-RESEND-MERLIN again to send the notification
R-GCX126-cbl-00977
Filename Invalid: Set Error Message 'EMI - INVALID MERLIN FILENAME'
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Filename Invalid: Set Error Message 'EMI - INVALID MERLIN FILENAME'', assuming that the emcsend2 return status flag indicates invalid filename (emi-filename-invalid), when the email sending fails due to invalid destination filename, the desired outcome is that the system sets error message to 'emi - invalid merlin filename' in cccom error message field and calls cerr program to abort.
💻 Technical Criteria
EXCLUDING
The EMCSEND2 return status flag indicates invalid filename (EMI-FILENAME-INVALID)
When
The email sending fails due to invalid destination filename
Then
The system sets error message to 'EMI - INVALID MERLIN FILENAME' in CCCOM error message field and calls CERR program to abort
R-GCX126-cbl-01030
Set TO-USERCODES 1 to OM01247
Action Rules
📊 Business Logic Narrative
When the process 'Set TO-USERCODES 1 to OM01247' is invoked, and assuming that an email notification has failed due to invalid to or copy recipient (emi-to-or-copy-not-found), when the system prepares to reroute the notification, the desired outcome is that the system clears emi-to-usercode, sets emi-to-usercodes position 1 to 'om01247', and sets destination filename to 'in'.
💻 Technical Criteria
Given
An email notification has failed due to invalid TO or COPY recipient (EMI-TO-OR-COPY-NOT-FOUND)
When
The system prepares to reroute the notification
Then
The system clears EMI-TO-USERCODE, sets EMI-TO-USERCODES position 1 to 'OM01247', and sets destination filename to 'IN'
R-GCX126-cbl-01031
40:Resend Failed Email
Action Rules
📊 Business Logic Narrative
When the process '40:Resend Failed Email' is invoked, and assuming that an email notification has failed due to invalid recipient and has been rerouted to default user om01247 with destination filename 'in', when the system executes the resend operation, the desired outcome is that the system calls z116-resend-merlin to attempt delivery to the default recipient.
💻 Technical Criteria
Given
An email notification has failed due to invalid recipient and has been rerouted to default user OM01247 with destination filename 'IN'
When
The system executes the resend operation
Then
The system calls Z116-RESEND-MERLIN to attempt delivery to the default recipient
R-GCX126-cbl-01032
Prepare Reroute Notification Subject
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Reroute Notification Subject' is invoked, and assuming that an email notification was successfully rerouted to default recipient (emi-no-errors after resend), when the system prepares the reroute notification, the desired outcome is that the system clears emi-subject and creates a message containing the invalid merlin id (ws-bad-merlin-id) with text 'invalid merlin to - report reroute', then calls z116-resend-merlin again to send this notification.
💻 Technical Criteria
Given
An email notification was successfully rerouted to default recipient (EMI-NO-ERRORS after resend)
When
The system prepares the reroute notification
Then
The system clears EMI-SUBJECT and creates a message containing the invalid Merlin ID (WS-BAD-MERLIN-ID) with text 'INVALID MERLIN TO - REPORT REROUTE', then calls Z116-RESEND-MERLIN again to send this notification
R-GCX126-cbl-01033
Filename Invalid Error
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Filename Invalid Error', assuming that an email notification is being sent through emcsend2, when the return status indicates the destination filename is invalid (emi-filename-invalid), the desired outcome is that the system sets error message 'emi - invalid merlin filename' and aborts the program.
💻 Technical Criteria
EXCLUDING
An email notification is being sent through EMCSEND2
When
The return status indicates the destination filename is invalid (EMI-FILENAME-INVALID)
Then
The system sets error message 'EMI - INVALID MERLIN FILENAME' and aborts the program
R-GCX126-cbl-00979
Call EMCSEND2 to Resend Email
Action Rules
📊 Business Logic Narrative
When the process 'Call EMCSEND2 to Resend Email' is invoked, and assuming that an email notification has failed to send to the primary recipient, when the resend process is initiated, the desired outcome is that the system clears the to usercode field, sets to usercode to 'om01247', sets destination filename to 'in', and calls emcsend2 with the updated parameters.
💻 Technical Criteria
Given
An email notification has failed to send to the primary recipient
When
The resend process is initiated
Then
The system clears the TO usercode field, sets TO usercode to 'OM01247', sets destination filename to 'IN', and calls EMCSEND2 with the updated parameters
R-GCX126-cbl-00987
Set Destination Filename to IN
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Destination Filename to IN' is invoked, and assuming that the recipient has been set to the default usercode, when configuring the destination for resend, the desired outcome is that the system moves 'in' to emi-destination-filename.
💻 Technical Criteria
Given
The recipient has been set to the default usercode
When
Configuring the destination for resend
Then
The system moves 'IN' to EMI-DESTINATION-FILENAME
R-GCX126-cbl-00988
Call EMCSEND2 with Updated Parameters
Action Rules
📊 Business Logic Narrative
When the process 'Call EMCSEND2 with Updated Parameters' is invoked, and assuming that all resend parameters have been configured (to usercode = om01247, destination = in), when ready to resend the email, the desired outcome is that the system calls emcsend2 passing iscom, emi-from-usercode, emi-destination-filename, emi-to-usercode, emi-copy-usercode, emi-subject, emi-keywords, mrln-350-report, emi-return-status-flag, emi-seg-no1, emi-seg-no2, and emi-item-type parameters.
💻 Technical Criteria
Given
All resend parameters have been configured (TO usercode = OM01247, destination = IN)
When
Ready to resend the email
Then
The system calls EMCSEND2 passing ISCOM, EMI-FROM-USERCODE, EMI-DESTINATION-FILENAME, EMI-TO-USERCODE, EMI-COPY-USERCODE, EMI-SUBJECT, EMI-KEYWORDS, MRLN-350-REPORT, EMI-RETURN-STATUS-FLAG, EMI-SEG-NO1, EMI-SEG-NO2, and EMI-ITEM-TYPE parameters
R-GCX126-cbl-01035
Call EMCSEND2 with Parameters
Action Rules
📊 Business Logic Narrative
When the process 'Call EMCSEND2 with Parameters' is invoked, and assuming that the communication control block is initialized and all email parameters are prepared including from user code, destination filename, to user code, copy user code, subject, keywords, and report content, when the system executes the email send operation, the desired outcome is that the system calls emcsend2 with iscom, from user code, destination filename, to user code, copy user code, subject, keywords, report content (mrln-350-report), return status flag, segment numbers, and item type to send the email notification.
💻 Technical Criteria
Given
The communication control block is initialized and all email parameters are prepared including from user code, destination filename, to user code, copy user code, subject, keywords, and report content
When
The system executes the email send operation
Then
The system calls EMCSEND2 with ISCOM, from user code, destination filename, to user code, copy user code, subject, keywords, report content (MRLN-350-REPORT), return status flag, segment numbers, and item type to send the email notification
R-GCX126-cbl-01040
Set Error: Invalid Merlin Filename
Validation Rules
📊 Business Logic Narrative
When the process 'Set Error: Invalid Merlin Filename' is invoked, and assuming that the emcsend2 call completed and the return status flag indicates the destination filename is invalid (emi-filename-invalid), when the system evaluates the email send result, the desired outcome is that the system moves 'emi - invalid merlin filename' to the error message field in cccom and performs the abend routine (z900-abend).
💻 Technical Criteria
Given
The EMCSEND2 call completed and the return status flag indicates the destination filename is invalid (EMI-FILENAME-INVALID)
When
The system evaluates the email send result
Then
The system moves 'EMI - INVALID MERLIN FILENAME' to the error message field in CCCOM and performs the abend routine (Z900-ABEND)
R-GCX126-cbl-01044
Save Bad Merlin ID from TO-USERCODES 02
Decision Rules
📊 Business Logic Narrative
When the process 'Save Bad Merlin ID from TO-USERCODES 02' is invoked, and assuming that an unrelease type email notification has been attempted via emcsend2 and the message type is unrlse, when the return status flag indicates emi-to-or-copy-not-found, the desired outcome is that the system saves the invalid merlin id from to-usercodes position 02 to ws-bad-merlin-id for error reporting.
💻 Technical Criteria
Given
An unrelease type email notification has been attempted via EMCSEND2 and the message type is UNRLSE
When
The return status flag indicates EMI-TO-OR-COPY-NOT-FOUND
Then
The system saves the invalid Merlin ID from TO-USERCODES position 02 to WS-BAD-MERLIN-ID for error reporting
R-GCX126-cbl-01045
Save Bad Merlin ID from TO-USERCODES 01
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Save Bad Merlin ID from TO-USERCODES 01', assuming that a non-unrelease type email notification has been attempted via emcsend2 and the message type is not unrlse, when the return status flag indicates emi-to-or-copy-not-found, the desired outcome is that the system saves the invalid merlin id from to-usercodes position 01 to ws-bad-merlin-id for error reporting.
💻 Technical Criteria
EXCLUDING
A non-unrelease type email notification has been attempted via EMCSEND2 and the message type is not UNRLSE
When
The return status flag indicates EMI-TO-OR-COPY-NOT-FOUND
Then
The system saves the invalid Merlin ID from TO-USERCODES position 01 to WS-BAD-MERLIN-ID for error reporting
R-GCX126-cbl-01046
Set TO-USERCODES 01 to OM01247
Action Rules
📊 Business Logic Narrative
When the process 'Set TO-USERCODES 01 to OM01247' is invoked, and assuming that an email notification has failed with emi-to-or-copy-not-found and the invalid merlin id has been captured, when the system prepares to reroute the notification, the desired outcome is that the system clears emi-to-usercode to spaces, sets to-usercodes position 01 to 'om01247', and sets the destination filename to 'in'.
💻 Technical Criteria
Given
An email notification has failed with EMI-TO-OR-COPY-NOT-FOUND and the invalid Merlin ID has been captured
When
The system prepares to reroute the notification
Then
The system clears EMI-TO-USERCODE to spaces, sets TO-USERCODES position 01 to 'OM01247', and sets the destination filename to 'IN'
R-GCX126-cbl-01047
Resend Email via EMCSEND2
Action Rules
📊 Business Logic Narrative
When the process 'Resend Email via EMCSEND2' is invoked, and assuming that the notification recipient has been corrected to the default user om01247 and destination filename set to in, when the system initiates the resend process, the desired outcome is that the system calls emcsend2 with the corrected recipient information to resend the notification.
💻 Technical Criteria
Given
The notification recipient has been corrected to the default user OM01247 and destination filename set to IN
When
The system initiates the resend process
Then
The system calls EMCSEND2 with the corrected recipient information to resend the notification
R-GCX126-cbl-01048
Build Reroute Message: Bad Merlin ID + INVALID MERLIN TO - REPORT REROUTE
Process Rules
📊 Business Logic Narrative
When the process 'Build Reroute Message: Bad Merlin ID + INVALID MERLIN TO - REPORT REROUTE' is invoked, and assuming that the notification has been successfully resent to the default user om01247 with emi-no-errors status, when the resend operation completes successfully, the desired outcome is that the system clears the emi-subject, builds a new subject message containing the bad merlin id concatenated with ' invalid merlin to - report reroute', and sends this notification via emcsend2.
💻 Technical Criteria
Given
The notification has been successfully resent to the default user OM01247 with EMI-NO-ERRORS status
When
The resend operation completes successfully
Then
The system clears the EMI-SUBJECT, builds a new subject message containing the bad Merlin ID concatenated with ' INVALID MERLIN TO - REPORT REROUTE', and sends this notification via EMCSEND2
R-GCX126-cbl-00437
Email Send Failed
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Email Send Failed', assuming that an email send operation has failed with error status emi-to-or-copy-not-found, when the system detects the recipient not found error, the desired outcome is that the system saves the invalid recipient id, clears the to recipient field, sets the to recipient to om01247, sets the destination filename to in, resends the original email, and if successful, sends a reroute notification with subject containing the invalid merlin id and message 'invalid merlin to - report reroute'.
💻 Technical Criteria
EXCLUDING
An email send operation has failed with error status EMI-TO-OR-COPY-NOT-FOUND
When
The system detects the recipient not found error
Then
The system saves the invalid recipient ID, clears the TO recipient field, sets the TO recipient to OM01247, sets the destination filename to IN, resends the original email, and if successful, sends a reroute notification with subject containing the invalid Merlin ID and message 'INVALID MERLIN TO - REPORT REROUTE'
R-GCX126-cbl-00439
Clear Recipient Field
Process Rules
📊 Business Logic Narrative
When the process 'Clear Recipient Field' is invoked, and assuming that the invalid recipient id has been saved to ws-bad-merlin-id, when the system prepares to resend the email, the desired outcome is that clear emi-to-usercode field to spaces, set emi-to-usercodes(01) to om01247, and set emi-destination-filename to in.
💻 Technical Criteria
Given
The invalid recipient ID has been saved to WS-BAD-MERLIN-ID
When
The system prepares to resend the email
Then
Clear EMI-TO-USERCODE field to spaces, set EMI-TO-USERCODES(01) to OM01247, and set EMI-DESTINATION-FILENAME to IN
R-GCX126-cbl-00440
Call EMCSEND2 to Resend Email
Action Rules
📊 Business Logic Narrative
When the process 'Call EMCSEND2 to Resend Email' is invoked, and assuming that email recipients have been reset with emi-to-usercodes(01) set to om01247 and emi-destination-filename set to in, when the system calls the z116-resend-merlin procedure, the desired outcome is that the system invokes emcsend2 program with all email parameters including from usercode, destination filename, to usercode, copy usercode, subject, keywords, report content, return status flag, segment numbers, and item type.
💻 Technical Criteria
Given
Email recipients have been reset with EMI-TO-USERCODES(01) set to OM01247 and EMI-DESTINATION-FILENAME set to IN
When
The system calls the Z116-RESEND-MERLIN procedure
Then
The system invokes EMCSEND2 program with all email parameters including FROM usercode, destination filename, TO usercode, COPY usercode, subject, keywords, report content, return status flag, segment numbers, and item type
R-GCX126-cbl-00441
Resend Successful?
Decision Rules
📊 Business Logic Narrative
When the process 'Resend Successful?' is invoked, and assuming that the emcsend2 program has been called to resend the email, when the system evaluates the emi-return-status-flag, the desired outcome is that if emi-no-errors is true, proceed to prepare reroute notification; otherwise if emi-from-not-found, abend with error 'emi - invalid merlin from'; if emi-to-or-copy-not-found, abend with error 'emi - invalid merlin to or copy'; if emi-filename-invalid, abend with error 'emi - invalid merlin filename'.
💻 Technical Criteria
Given
The EMCSEND2 program has been called to resend the email
When
The system evaluates the EMI-RETURN-STATUS-FLAG
Then
If EMI-NO-ERRORS is true, proceed to prepare reroute notification; otherwise if EMI-FROM-NOT-FOUND, abend with error 'EMI - INVALID MERLIN FROM'; if EMI-TO-OR-COPY-NOT-FOUND, abend with error 'EMI - INVALID MERLIN TO OR COPY'; if EMI-FILENAME-INVALID, abend with error 'EMI - INVALID MERLIN FILENAME'
R-GCX126-cbl-00442
Build Subject: Bad Merlin ID + INVALID MERLIN TO - REPORT REROUTE
Computation Rules
📊 Business Logic Narrative
When the process 'Build Subject: Bad Merlin ID + INVALID MERLIN TO - REPORT REROUTE' is invoked, and assuming that the email has been successfully resent to om01247 and ws-bad-merlin-id contains the invalid recipient id, when the system prepares the reroute notification, the desired outcome is that clear emi-subject to spaces and build a new subject by concatenating ws-bad-merlin-id, a space, and the text 'invalid merlin to - report reroute'.
💻 Technical Criteria
Given
The email has been successfully resent to OM01247 and WS-BAD-MERLIN-ID contains the invalid recipient ID
When
The system prepares the reroute notification
Then
Clear EMI-SUBJECT to spaces and build a new subject by concatenating WS-BAD-MERLIN-ID, a space, and the text 'INVALID MERLIN TO - REPORT REROUTE'
R-GCX126-cbl-00443
Send Reroute Notification Email
Action Rules
📊 Business Logic Narrative
When the process 'Send Reroute Notification Email' is invoked, and assuming that the reroute notification subject has been built with the invalid merlin id and reroute message, when the system calls the z116-resend-merlin procedure again, the desired outcome is that the system invokes emcsend2 program with the reroute notification subject and all other email parameters to send the notification to om01247.
💻 Technical Criteria
Given
The reroute notification subject has been built with the invalid Merlin ID and reroute message
When
The system calls the Z116-RESEND-MERLIN procedure again
Then
The system invokes EMCSEND2 program with the reroute notification subject and all other email parameters to send the notification to OM01247
R-GCX126-cbl-00444
Final Send Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Final Send Successful?' is invoked, and assuming that the reroute notification email has been sent via emcsend2, when the system evaluates the emi-return-status-flag, the desired outcome is that if emi-no-errors is true, the reroute process completes successfully; if emi-from-not-found, abend with error 'emi - invalid merlin from'; if emi-to-or-copy-not-found, abend with error 'emi - invalid merlin to or copy'; if emi-filename-invalid, abend with error 'emi - invalid merlin filename'.
💻 Technical Criteria
Given
The reroute notification email has been sent via EMCSEND2
When
The system evaluates the EMI-RETURN-STATUS-FLAG
Then
If EMI-NO-ERRORS is true, the reroute process completes successfully; if EMI-FROM-NOT-FOUND, abend with error 'EMI - INVALID MERLIN FROM'; if EMI-TO-OR-COPY-NOT-FOUND, abend with error 'EMI - INVALID MERLIN TO OR COPY'; if EMI-FILENAME-INVALID, abend with error 'EMI - INVALID MERLIN FILENAME'
R-GCX126-cbl-00446
Email Successfully Rerouted
Process Rules
📊 Business Logic Narrative
When the process 'Email Successfully Rerouted' is invoked, and assuming that an email has been successfully sent with emi-no-errors status, when the system completes the email send operation in z116-resend-merlin, the desired outcome is that call cims program with purg function code and alt-pcb to remove the message from the queue.
💻 Technical Criteria
Given
An email has been successfully sent with EMI-NO-ERRORS status
When
The system completes the email send operation in Z116-RESEND-MERLIN
Then
Call CIMS program with PURG function code and ALT-PCB to remove the message from the queue
R-GCX126-cbl-00451
Set Table ID to MC Customs Table
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Table ID to MC Customs Table' is invoked, and assuming that the retrieval parameters have been initialized, when preparing to fetch merlin contact information, the desired outcome is that the table identifier (gcstbrt-key-table-id) should be set to 'mc-table-id' to identify the merlin contact segment in the customs table.
💻 Technical Criteria
Given
The retrieval parameters have been initialized
When
Preparing to fetch Merlin contact information
Then
The table identifier (GCSTBRT-KEY-TABLE-ID) should be set to 'MC-TABLE-ID' to identify the Merlin contact segment in the customs table
R-GCX126-cbl-00494
Verify Train Exists - Retrieve Canadian train information from database using train ID to verify train exists in system
Validation Rules
📊 Business Logic Narrative
When the process 'Verify Train Exists - Retrieve Canadian train information from database using train ID to verify train exists in system' is invoked, and assuming that a conventional 350 edi message is being processed and the x4 segment contains entry type code '992' and the x4 segment contains a consist release number (crn) in the related document id field (positions 1-25), when the system attempts to retrieve the train record from the train database using the crn as the search key, the desired outcome is that if the train record is found in the database (indicated by blank status code) then the train is confirmed to exist in the system and processing continues with logging arrival acknowledgment at border else if the train record is not found in the database (indicated by non-blank status code) then the system identifies the train as not existing and generates an unknown train notification message containing the crn with text 'unknown train entry in edi 350' and 'this crn was not found'.
💻 Technical Criteria
Given
A Conventional 350 EDI message is being processed AND the X4 segment contains entry type code '992' AND the X4 segment contains a Consist Release Number (CRN) in the related document ID field (positions 1-25)
When
The system attempts to retrieve the train record from the train database using the CRN as the search key
Then
IF the train record is found in the database (indicated by blank status code) THEN the train is confirmed to exist in the system and processing continues with logging arrival acknowledgment at border ELSE IF the train record is not found in the database (indicated by non-blank status code) THEN the system identifies the train as not existing and generates an unknown train notification message containing the CRN with text 'UNKNOWN TRAIN ENTRY IN EDI 350' and 'THIS CRN WAS NOT FOUND'
R-GCX126-cbl-00499
Train Not Found
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Train Not Found', assuming that the train record retrieval returned a non-blank status code indicating the train does not exist in the database, when the system confirms train non-existence, the desired outcome is that the system clears the first detail line (mrln-dtl-line 01 to spaces) and constructs an error message by concatenating 'unknown train entry in edi 350 ' with the consist release number from x4 positions 1-25 into the first detail line and sets the third detail line to 'this crn was not found.' and sets the report line counter (mrln-line) to 4 and sets the message type indicator to unknown (88-z110-mrln-type-is-unknown) and invokes the email send preparation process (z110-prep-emcsend).
💻 Technical Criteria
EXCLUDING
The train record retrieval returned a non-blank status code indicating the train does not exist in the database
When
The system confirms train non-existence
Then
The system clears the first detail line (MRLN-DTL-LINE 01 to spaces) AND constructs an error message by concatenating 'UNKNOWN TRAIN ENTRY IN EDI 350 ' with the Consist Release Number from X4 positions 1-25 into the first detail line AND sets the third detail line to 'THIS CRN WAS NOT FOUND.' AND sets the report line counter (MRLN-LINE) to 4 AND sets the message type indicator to unknown (88-Z110-MRLN-TYPE-IS-UNKNOWN) AND invokes the email send preparation process (Z110-PREP-EMCSEND)
🔁 EDI, Status & Database
160 logic blocks
R-GCX126-cbl-00003
Message Available? and Message Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Message Available? and Message Valid?' is invoked, and assuming that an edi 350 message has been retrieved from the queue, when message status is evaluated, the desired outcome is that if completion code is not ok and reason code is 2033 then set message not available flag, else if completion code is ok and backout count is not zero then set skip message flag, else if completion code is ok and maximum mqs entries is less than 1 then abort with error 'user abend 350 message too short', else if completion code is ok and backout count is zero then set good message found flag, else set end of queue flag.
💻 Technical Criteria
Given
An EDI 350 message has been retrieved from the queue
When
Message status is evaluated
Then
If completion code is not OK and reason code is 2033 then set message not available flag, else if completion code is OK and backout count is not zero then set skip message flag, else if completion code is OK and maximum MQS entries is less than 1 then abort with error 'USER ABEND 350 MESSAGE TOO SHORT', else if completion code is OK and backout count is zero then set good message found flag, else set end of queue flag
R-GCX126-cbl-00014
13:Send Train Not Found Error
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '13:Send Train Not Found Error', assuming that train lookup by crn has failed (status code is not spaces), when error notification is prepared, the desired outcome is that clear detail line 1, concatenate 'unknown train entry in edi 350 ' with x4 release document id positions 1 through 25 into detail line 1, move 'this crn was not found.' to detail line 3, set line count to 4, set message type to unknown, and perform email send preparation.
💻 Technical Criteria
EXCLUDING
Train lookup by CRN has failed (status code is not spaces)
When
Error notification is prepared
Then
Clear detail line 1, concatenate 'UNKNOWN TRAIN ENTRY IN EDI 350 ' with X4 release document ID positions 1 through 25 into detail line 1, move 'THIS CRN WAS NOT FOUND.' to detail line 3, set line count to 4, set message type to unknown, and perform email send preparation
R-GCX126-cbl-00037
Set Program Name and Module Name
Process Rules
📊 Business Logic Narrative
When the process 'Set Program Name and Module Name' is invoked, and assuming that the program gcx126 is starting execution, when the program initialization begins, the desired outcome is that the current program name from cccom is saved to prog-name-saved and module-name is moved to cc-prog in cccom.
💻 Technical Criteria
Given
The program GCX126 is starting execution
When
The program initialization begins
Then
The current program name from CCCOM is saved to PROG-NAME-SAVED and MODULE-NAME is moved to CC-PROG in CCCOM
R-GCX126-cbl-00043
Retrieve Admin Configuration from GCSTBRT Table
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Admin Configuration from GCSTBRT Table' is invoked, and assuming that the program needs to determine merlin notification recipients, when admin configuration is retrieved with table-id 'ad' and seqid 'adminid', the desired outcome is that gcctbio is called with function gu to retrieve gcstbrt segment.
💻 Technical Criteria
Given
The program needs to determine Merlin notification recipients
When
Admin configuration is retrieved with TABLE-ID 'AD' and SEQID 'ADMINID'
Then
GCCTBIO is called with function GU to retrieve GCSTBRT segment
R-GCX126-cbl-00044
Extract Merlin User Code from Admin Config
Decision Rules
📊 Business Logic Narrative
When the process 'Extract Merlin User Code from Admin Config' is invoked, and assuming that admin configuration has been retrieved from gcstbrt table, when gcctbio-return-flag equals '0', the desired outcome is that 88-ad-segment-found is set to true, ws-table-segment is moved to gcstbrt-ad-segment, and gcstbrt-ad-dc-p-merlin-1 is moved to ws-emi-to-usercode.
💻 Technical Criteria
Given
Admin configuration has been retrieved from GCSTBRT table
When
GCCTBIO-RETURN-FLAG equals '0'
Then
88-AD-SEGMENT-FOUND is set to TRUE, WS-TABLE-SEGMENT is moved to GCSTBRT-AD-SEGMENT, and GCSTBRT-AD-DC-P-MERLIN-1 is moved to WS-EMI-TO-USERCODE
R-GCX126-cbl-00048
Convert Gregorian Date to Julian Date
Computation Rules
📊 Business Logic Narrative
When the process 'Convert Gregorian Date to Julian Date' is invoked, and assuming that the current machine date is available in gregorian format, when date conversion is performed, the desired outcome is that datcv-parameter-list is initialized, cc-machine-century and cc-machine-date-x from cccom are concatenated into input-date-gregorian, in-func-code is set to 2, out-func-code is set to 1, iscdatcv is called with datcv-parameter-list, and output-1 is moved to ws-date.
💻 Technical Criteria
Given
The current machine date is available in Gregorian format
When
Date conversion is performed
Then
DATCV-PARAMETER-LIST is initialized, CC-MACHINE-CENTURY and CC-MACHINE-DATE-X from CCCOM are concatenated into INPUT-DATE-GREGORIAN, IN-FUNC-CODE is set to 2, OUT-FUNC-CODE is set to 1, ISCDATCV is called with DATCV-PARAMETER-LIST, and OUTPUT-1 is moved to WS-DATE
R-GCX126-cbl-00049
Convert Gregorian Date to Julian Date
Validation Rules
📊 Business Logic Narrative
When the process 'Convert Gregorian Date to Julian Date' is invoked, and assuming that date conversion has been attempted using iscdatcv, when datcv-parm-error is true, the desired outcome is that cc-error-message in cccom is set to 'module iscdatcv said cccom contain invalid date' and the program aborts by performing z900-abend.
💻 Technical Criteria
Given
Date conversion has been attempted using ISCDATCV
When
DATCV-PARM-ERROR is TRUE
Then
CC-ERROR-MESSAGE in CCCOM is set to 'MODULE ISCDATCV SAID CCCOM CONTAIN INVALID DATE' and the program aborts by performing Z900-ABEND
R-GCX126-cbl-00050
Read Initial Message from IMS Queue
Action Rules
📊 Business Logic Narrative
When the process 'Read Initial Message from IMS Queue' is invoked, and assuming that the program needs to check the ims message queue, when initial queue read is performed, the desired outcome is that ws-ioarea is set to spaces, cc-accept-status in cccom is set to 'qcqd', and cims is called with cccom, gu function, io-pcb from cccom, and ws-ioarea.
💻 Technical Criteria
Given
The program needs to check the IMS message queue
When
Initial queue read is performed
Then
WS-IOAREA is set to SPACES, CC-ACCEPT-STATUS in CCCOM is set to 'QCQD', and CIMS is called with CCCOM, GU function, IO-PCB from CCCOM, and WS-IOAREA
R-GCX126-cbl-00051
Establish MQ Connection to Queue Manager
Action Rules
📊 Business Logic Narrative
When the process 'Establish MQ Connection to Queue Manager' is invoked, and assuming that the program needs to access mq messages, when mq connection is established, the desired outcome is that mqconnc is called with w03-mqmanager, w03-hconn, w03-compcode, and w03-reason.
💻 Technical Criteria
Given
The program needs to access MQ messages
When
MQ connection is established
Then
MQCONNC is called with W03-MQMANAGER, W03-HCONN, W03-COMPCODE, and W03-REASON
R-GCX126-cbl-00052
Establish MQ Connection to Queue Manager
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Establish MQ Connection to Queue Manager', assuming that mq connection has been attempted, when w03-compcode is not equal to mqcc-ok, the desired outcome is that w03-reason is moved to w03-reason-code, output-message-text is initialized, gccmqerr is called with w03-reason-code and output-message-text, w03-reason-code and output-message-text are concatenated into mq-error-text, '355' is moved to mq-trans-set, 'conn failed' is moved to pgm-error-text, error-message2 is moved to cc-error-message in cccom, and the program aborts by performing z900-abend.
💻 Technical Criteria
EXCLUDING
MQ connection has been attempted
When
W03-COMPCODE is not equal to MQCC-OK
Then
W03-REASON is moved to W03-REASON-CODE, OUTPUT-MESSAGE-TEXT is initialized, GCCMQERR is called with W03-REASON-CODE and OUTPUT-MESSAGE-TEXT, W03-REASON-CODE and OUTPUT-MESSAGE-TEXT are concatenated into MQ-ERROR-TEXT, '355' is moved to MQ-TRANS-SET, 'CONN FAILED' is moved to PGM-ERROR-TEXT, ERROR-MESSAGE2 is moved to CC-ERROR-MESSAGE in CCCOM, and the program aborts by performing Z900-ABEND
R-GCX126-cbl-00053
Open MQ Queue for Input
Action Rules
📊 Business Logic Narrative
When the process 'Open MQ Queue for Input' is invoked, and assuming that mq connection has been established successfully, when mq queue is being opened, the desired outcome is that mqot-q is moved to mqod-objecttype, mqtmc-qname is moved to mqod-objectname, w03-options is computed as mqoo-input-as-q-def, and mqopen is called with w03-hconn, mqod, w03-options, w03-hobj-response, w03-compcode, and w03-reason.
💻 Technical Criteria
Given
MQ connection has been established successfully
When
MQ queue is being opened
Then
MQOT-Q is moved to MQOD-OBJECTTYPE, MQTMC-QNAME is moved to MQOD-OBJECTNAME, W03-OPTIONS is computed as MQOO-INPUT-AS-Q-DEF, and MQOPEN is called with W03-HCONN, MQOD, W03-OPTIONS, W03-HOBJ-RESPONSE, W03-COMPCODE, and W03-REASON
R-GCX126-cbl-00502
Set Sequence ID to 'ADMINID'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Sequence ID to 'ADMINID'' is invoked, and assuming that the table id has been set to admin table, when the specific record needs to be identified, the desired outcome is that the sequence id is set to 'adminid' in gcstbrt-key-seqid.
💻 Technical Criteria
Given
The table ID has been set to admin table
When
The specific record needs to be identified
Then
The sequence ID is set to 'ADMINID' in GCSTBRT-KEY-SEQID
R-GCX126-cbl-00503
Call GCCTBIO to Read GCSTBRT Table
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCTBIO to Read GCSTBRT Table' is invoked, and assuming that the table and sequence identifiers are set, when the database operation type needs to be specified, the desired outcome is that the function code is set to 'gu' in gcctbio-func-code.
💻 Technical Criteria
Given
The table and sequence identifiers are set
When
The database operation type needs to be specified
Then
The function code is set to 'GU' in GCCTBIO-FUNC-CODE
R-GCX126-cbl-00505
Return Flag = '0'?
Validation Rules
📊 Business Logic Narrative
When the process 'Return Flag = '0'?' is invoked, and assuming that the gcctbio program has completed execution, when the return flag is evaluated, the desired outcome is that if gcctbio-return-flag equals '0', the retrieval was successful; otherwise, the retrieval failed.
💻 Technical Criteria
Given
The GCCTBIO program has completed execution
When
The return flag is evaluated
Then
If GCCTBIO-RETURN-FLAG equals '0', the retrieval was successful; otherwise, the retrieval failed
R-GCX126-cbl-00506
Set Admin Segment Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Admin Segment Found Flag' is invoked, and assuming that the gcctbio-return-flag equals '0' indicating successful retrieval, when the admin segment status needs to be recorded, the desired outcome is that the condition 88-ad-segment-found is set to true.
💻 Technical Criteria
Given
The GCCTBIO-RETURN-FLAG equals '0' indicating successful retrieval
When
The admin segment status needs to be recorded
Then
The condition 88-AD-SEGMENT-FOUND is set to TRUE
R-GCX126-cbl-00711
Set Sequence ID to 'ADMINID'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Sequence ID to 'ADMINID'' is invoked, and assuming that the table identifier has been set to ad-table-id, when the specific record within the administrative table needs to be identified, the desired outcome is that the system sets gcstbrt-key-seqid to 'adminid'.
💻 Technical Criteria
Given
The table identifier has been set to AD-TABLE-ID
When
The specific record within the administrative table needs to be identified
Then
The system sets GCSTBRT-KEY-SEQID to 'ADMINID'
R-GCX126-cbl-00714
Move Table Segment to GCSTBRT-AD-SEGMENT
Process Rules
📊 Business Logic Narrative
When the process 'Move Table Segment to GCSTBRT-AD-SEGMENT' is invoked, and assuming that the administrative configuration record was successfully retrieved (gcctbio-return-flag equals '0'), when the system processes the retrieved data, the desired outcome is that the system moves the contents of ws-table-segment to gcstbrt-ad-segment.
💻 Technical Criteria
Given
The administrative configuration record was successfully retrieved (GCCTBIO-RETURN-FLAG equals '0')
When
The system processes the retrieved data
Then
The system moves the contents of WS-TABLE-SEGMENT to GCSTBRT-AD-SEGMENT
R-GCX126-cbl-00716
Set Admin Segment Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Admin Segment Found Flag' is invoked, and assuming that the merlin user code has been successfully extracted from the administrative configuration, when the system completes the administrative configuration retrieval process, the desired outcome is that the system sets the condition name 88-ad-segment-found to true, indicating that valid administrative configuration is available.
💻 Technical Criteria
Given
The Merlin user code has been successfully extracted from the administrative configuration
When
The system completes the administrative configuration retrieval process
Then
The system sets the condition name 88-AD-SEGMENT-FOUND to true, indicating that valid administrative configuration is available
R-GCX126-cbl-00509
MQ Completion Code = OK?
Validation Rules
📊 Business Logic Narrative
When the process 'MQ Completion Code = OK?' is invoked, and assuming that the mqconnc api has been called to establish connection to the queue manager, when the system receives the completion code from the mqconnc api, the desired outcome is that the system checks if the completion code equals mqcc-ok to determine connection success.
💻 Technical Criteria
Given
The MQCONNC API has been called to establish connection to the Queue Manager
When
The system receives the completion code from the MQCONNC API
Then
The system checks if the completion code equals MQCC-OK to determine connection success
R-GCX126-cbl-00510
Retrieve MQ Reason Code
Process Rules
📊 Business Logic Narrative
When the process 'Retrieve MQ Reason Code' is invoked, and assuming that the mq connection completion code indicates failure (not equal to mqcc-ok), when the system needs to identify the specific cause of connection failure, the desired outcome is that the system retrieves the mq reason code from the connection response.
💻 Technical Criteria
Given
The MQ connection completion code indicates failure (not equal to MQCC-OK)
When
The system needs to identify the specific cause of connection failure
Then
The system retrieves the MQ reason code from the connection response
R-GCX126-cbl-00511
Call GCCMQERR to Get Error Message Text
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCMQERR to Get Error Message Text' is invoked, and assuming that an mq reason code has been retrieved indicating connection failure, when the system needs to provide a descriptive error message for the failure, the desired outcome is that the system calls the gccmqerr program with the reason code and receives the corresponding error message text.
💻 Technical Criteria
Given
An MQ reason code has been retrieved indicating connection failure
When
The system needs to provide a descriptive error message for the failure
Then
The system calls the GCCMQERR program with the reason code and receives the corresponding error message text
R-GCX126-cbl-00513
Abend Program with Error Message
Process Rules
📊 Business Logic Narrative
When the process 'Abend Program with Error Message' is invoked, and assuming that the mq connection has failed and a comprehensive error message has been constructed, when the system cannot proceed without a valid mq connection, the desired outcome is that the system abends the program with the error message containing the reason code, error text, transaction set '355', and error type 'conn failed'.
💻 Technical Criteria
Given
The MQ connection has failed and a comprehensive error message has been constructed
When
The system cannot proceed without a valid MQ connection
Then
The system abends the program with the error message containing the reason code, error text, transaction set '355', and error type 'CONN FAILED'
R-GCX126-cbl-00514
Connection Established Successfully
Decision Rules
📊 Business Logic Narrative
When the process 'Connection Established Successfully' is invoked, and assuming that the mqconnc api has been called to connect to the queue manager, when the completion code returned equals mqcc-ok, the desired outcome is that the system confirms the connection is established successfully and proceeds with message processing operations.
💻 Technical Criteria
Given
The MQCONNC API has been called to connect to the Queue Manager
When
The completion code returned equals MQCC-OK
Then
The system confirms the connection is established successfully and proceeds with message processing operations
R-GCX126-cbl-00055
Connect to MQ Queue Manager
Action Rules
📊 Business Logic Narrative
When the process 'Connect to MQ Queue Manager' is invoked, and assuming that the program needs to process edi 350 messages from the message queue, when the system attempts to connect to the mq queue manager, the desired outcome is that if connection is successful, proceed to open the queue; if connection fails, generate error message with reason code and abort processing with message 'conn failed' for transaction set '355'.
💻 Technical Criteria
Given
The program needs to process EDI 350 messages from the message queue
When
The system attempts to connect to the MQ Queue Manager
Then
If connection is successful, proceed to open the queue; If connection fails, generate error message with reason code and abort processing with message 'CONN FAILED' for transaction set '355'
R-GCX126-cbl-00056
Open MQ Queue for Reading
Action Rules
📊 Business Logic Narrative
When the process 'Open MQ Queue for Reading' is invoked, and assuming that connection to mq queue manager is established and queue name is defined, when the system attempts to open the queue with input-as-queue-defined option, the desired outcome is that if open is successful, proceed to retrieve messages; if open fails, generate error message with reason code and abort processing with message 'open failed' for transaction set '355'.
💻 Technical Criteria
Given
Connection to MQ Queue Manager is established and queue name is defined
When
The system attempts to open the queue with input-as-queue-defined option
Then
If open is successful, proceed to retrieve messages; If open fails, generate error message with reason code and abort processing with message 'OPEN FAILED' for transaction set '355'
R-GCX126-cbl-00057
Retrieve Message from Queue
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Message from Queue' is invoked, and assuming that mq queue is open and ready for message retrieval, when the system executes mqget operation with message buffer length set to the size of mqs-message, the desired outcome is that the message is retrieved into mqs-message buffer with actual data length returned in w03-datalen, and completion code and reason code are set to indicate operation status.
💻 Technical Criteria
Given
MQ queue is open and ready for message retrieval
When
The system executes MQGET operation with message buffer length set to the size of MQS-MESSAGE
Then
The message is retrieved into MQS-MESSAGE buffer with actual data length returned in W03-DATALEN, and completion code and reason code are set to indicate operation status
R-GCX126-cbl-00058
MQ Operation Successful?
Decision Rules
📊 Business Logic Narrative
When the process 'MQ Operation Successful?' is invoked, and assuming that mqget operation has completed and returned completion code in w03-compcode, when the system evaluates the completion code, the desired outcome is that if completion code equals mqcc-ok, proceed to check message status; if completion code equals mqcc-failed and reason equals mqrc-no-msg-available, set message not available flag; for any other completion code, set end of queue flag and prepare error message.
💻 Technical Criteria
Given
MQGET operation has completed and returned completion code in W03-COMPCODE
When
The system evaluates the completion code
Then
If completion code equals MQCC-OK, proceed to check message status; If completion code equals MQCC-FAILED and reason equals MQRC-NO-MSG-AVAILABLE, set message not available flag; For any other completion code, set end of queue flag and prepare error message
R-GCX126-cbl-00059
Set Message Not Available Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Message Not Available Flag' is invoked, and assuming that mq get operation returned completion code mqcc-failed with reason code mqrc-no-msg-available (2033), when the system processes the no message available condition, the desired outcome is that set msg-not-available flag to true and exit message retrieval process without error.
💻 Technical Criteria
Given
MQ GET operation returned completion code MQCC-FAILED with reason code MQRC-NO-MSG-AVAILABLE (2033)
When
The system processes the no message available condition
Then
Set MSG-NOT-AVAILABLE flag to TRUE and exit message retrieval process without error
R-GCX126-cbl-00060
Backout Count > 0?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Backout Count > 0?', assuming that message was successfully retrieved with completion code mqcc-ok and backout count is available in mqmd-backoutcount, when the system checks if mqmd-backoutcount is not equal to 0, the desired outcome is that if backout count is not equal to 0, set skip-msg-found flag to true; if backout count equals 0, proceed to validate message length.
💻 Technical Criteria
EXCLUDING
Message was successfully retrieved with completion code MQCC-OK and backout count is available in MQMD-BACKOUTCOUNT
When
The system checks if MQMD-BACKOUTCOUNT is not equal to 0
Then
If backout count is not equal to 0, set SKIP-MSG-FOUND flag to TRUE; If backout count equals 0, proceed to validate message length
R-GCX126-cbl-00061
Set Skip Message Flag
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Skip Message Flag', assuming that message has completion code mqcc-ok and mqmd-backoutcount is not equal to 0, when the system identifies a previously failed message, the desired outcome is that set skip-msg-found flag to true and exit message retrieval process without further processing.
💻 Technical Criteria
EXCLUDING
Message has completion code MQCC-OK and MQMD-BACKOUTCOUNT is not equal to 0
When
The system identifies a previously failed message
Then
Set SKIP-MSG-FOUND flag to TRUE and exit message retrieval process without further processing
R-GCX126-cbl-00062
Message Length Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Message Length Valid?' is invoked, and assuming that message was successfully retrieved with completion code mqcc-ok and backout count equals 0, when the system calculates ws-max-mqs-entries by subtracting header length from total data length and dividing by entry length, and checks if result is less than 1, the desired outcome is that if ws-max-mqs-entries is less than 1, prepare error message 'user abend 350 message too short' and abort processing; if ws-max-mqs-entries is 1 or greater, set good-msg-found flag to true.
💻 Technical Criteria
Given
Message was successfully retrieved with completion code MQCC-OK and backout count equals 0
When
The system calculates WS-MAX-MQS-ENTRIES by subtracting header length from total data length and dividing by entry length, and checks if result is less than 1
Then
If WS-MAX-MQS-ENTRIES is less than 1, prepare error message 'USER ABEND 350 MESSAGE TOO SHORT' and abort processing; If WS-MAX-MQS-ENTRIES is 1 or greater, set GOOD-MSG-FOUND flag to TRUE
R-GCX126-cbl-00063
Set Good Message Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Good Message Found Flag' is invoked, and assuming that message has completion code mqcc-ok, backout count equals 0, and calculated segment count is valid, when all message validation checks pass successfully, the desired outcome is that set good-msg-found flag to true and proceed to calculate number of edi segments.
💻 Technical Criteria
Given
Message has completion code MQCC-OK, backout count equals 0, and calculated segment count is valid
When
All message validation checks pass successfully
Then
Set GOOD-MSG-FOUND flag to TRUE and proceed to calculate number of EDI segments
R-GCX126-cbl-00065
Set End of Queue Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set End of Queue Flag' is invoked, and assuming that mq get operation returned completion code other than mqcc-ok or returned mqcc-failed with reason other than mqrc-no-msg-available, when the system encounters an unexpected mq error condition, the desired outcome is that set end-of-mqueue flag to true and proceed to prepare error message with reason code.
💻 Technical Criteria
Given
MQ GET operation returned completion code other than MQCC-OK or returned MQCC-FAILED with reason other than MQRC-NO-MSG-AVAILABLE
When
The system encounters an unexpected MQ error condition
Then
Set END-OF-MQUEUE flag to TRUE and proceed to prepare error message with reason code
R-GCX126-cbl-00067
Abort Processing
Action Rules
📊 Business Logic Narrative
When the process 'Abort Processing' is invoked, and assuming that error message has been prepared for mq failure condition, when the system determines processing cannot continue, the desired outcome is that call cerr program with cccom to abort processing and terminate program execution.
💻 Technical Criteria
Given
Error message has been prepared for MQ failure condition
When
The system determines processing cannot continue
Then
Call CERR program with CCCOM to abort processing and terminate program execution
R-GCX126-cbl-00519
Get Message Data Length from MQ
Process Rules
📊 Business Logic Narrative
When the process 'Get Message Data Length from MQ' is invoked, and assuming that ['an edi 350 message exists in the mq queue', 'the mq get operation has been invoked with buffer length set to the length of mqs-message'], when ['the mqget call completes successfully'], the desired outcome is that ['the actual data length of the retrieved message is returned in w03-datalen', 'this length includes both the message header and all segment entries', 'w03-datalen will be used to calculate the number of segments in the message'].
💻 Technical Criteria
Given
['An EDI 350 message exists in the MQ queue', 'The MQ GET operation has been invoked with buffer length set to the length of MQS-MESSAGE']
When
['The MQGET call completes successfully']
Then
['The actual data length of the retrieved message is returned in W03-DATALEN', 'This length includes both the message header and all segment entries', 'W03-DATALEN will be used to calculate the number of segments in the message']
R-GCX126-cbl-00717
Calculate: Segments = Data Length - Header Length / Entry Length
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate: Segments = Data Length - Header Length / Entry Length' is invoked, and assuming that an edi 350 message has been retrieved from the mq queue with a specific data length (w03-datalen), a known message header length (ws-mqs-len-header), and a known single entry length (ws-mqs-len-of-1-entry), when the system calculates the number of message segments, the desired outcome is that the number of segments (ws-max-mqs-entries) is calculated as: (data length minus header length) divided by entry length, rounded to the nearest whole number.
💻 Technical Criteria
Given
An EDI 350 message has been retrieved from the MQ queue with a specific data length (W03-DATALEN), a known message header length (WS-MQS-LEN-HEADER), and a known single entry length (WS-MQS-LEN-OF-1-ENTRY)
When
The system calculates the number of message segments
Then
The number of segments (WS-MAX-MQS-ENTRIES) is calculated as: (Data Length minus Header Length) divided by Entry Length, rounded to the nearest whole number
R-GCX126-cbl-00719
Get Header Length
Definitional Rules
📊 Business Logic Narrative
When the process 'Get Header Length' is invoked, and assuming that the system needs to process an edi 350 message structure, when initializing message processing parameters, the desired outcome is that the header length (ws-mqs-len-header) is set to the length of the mqs-message-header structure.
💻 Technical Criteria
Given
The system needs to process an EDI 350 message structure
When
Initializing message processing parameters
Then
The header length (WS-MQS-LEN-HEADER) is set to the length of the MQS-MESSAGE-HEADER structure
R-GCX126-cbl-00720
Get Single Entry Length
Definitional Rules
📊 Business Logic Narrative
When the process 'Get Single Entry Length' is invoked, and assuming that the system needs to process an edi 350 message with multiple data entries, when initializing message processing parameters, the desired outcome is that the single entry length (ws-mqs-len-of-1-entry) is set to the length of one mqs-table-entry structure.
💻 Technical Criteria
Given
The system needs to process an EDI 350 message with multiple data entries
When
Initializing message processing parameters
Then
The single entry length (WS-MQS-LEN-OF-1-ENTRY) is set to the length of one MQS-TABLE-ENTRY structure
R-GCX126-cbl-00068
First 10 Characters = '+++3505040'?
Decision Rules
📊 Business Logic Narrative
When the process 'First 10 Characters = '+++3505040'?' is invoked, and assuming that an edi 350 message has been retrieved from the mq queue with a message header field mqs-xway-hdr, when the first 10 characters of mqs-xway-hdr equal '+++3505040', the desired outcome is that set the message type indicator ws-conv-350 to true to identify this as a conveyance edi 350 message.
💻 Technical Criteria
Given
An EDI 350 message has been retrieved from the MQ queue with a message header field MQS-XWAY-HDR
When
The first 10 characters of MQS-XWAY-HDR equal '+++3505040'
Then
Set the message type indicator WS-CONV-350 to TRUE to identify this as a Conveyance EDI 350 message
R-GCX126-cbl-00070
ST - Transaction Set Header Set Header Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'ST - Transaction Set Header Set Header Found Flag' is invoked, and assuming that an edi 350 message is being parsed segment by segment, when the current segment table id equals 'st ', the desired outcome is that set the header found flag to true and set the first x4 segment flag to true to indicate the start of a new transaction set.
💻 Technical Criteria
Given
An EDI 350 message is being parsed segment by segment
When
The current segment table ID equals 'ST '
Then
Set the header found flag to TRUE and set the first X4 segment flag to TRUE to indicate the start of a new transaction set
R-GCX126-cbl-00073
V9 - Notice Reason Extract Notice Reason Code
Process Rules
📊 Business Logic Narrative
When the process 'V9 - Notice Reason Extract Notice Reason Code' is invoked, and assuming that an edi 350 message is being parsed and a v9 segment is encountered, when the current segment table id equals 'v9 ', the desired outcome is that set the v9 segment found flag to true, initialize the v9 segment structure, and move the entire v9 table entry data into the v9 segment structure for subsequent processing.
💻 Technical Criteria
Given
An EDI 350 message is being parsed and a V9 segment is encountered
When
The current segment table ID equals 'V9 '
Then
Set the V9 segment found flag to TRUE, initialize the V9 segment structure, and move the entire V9 table entry data into the V9 segment structure for subsequent processing
R-GCX126-cbl-00074
VID - Vehicle ID Skip Processing
Process Rules
📊 Business Logic Narrative
When the process 'VID - Vehicle ID Skip Processing' is invoked, and assuming that an edi 350 message is being parsed and a vid segment is encountered, when the current segment table id equals 'vid', the desired outcome is that continue to the next segment without performing any processing or data extraction.
💻 Technical Criteria
Given
An EDI 350 message is being parsed and a VID segment is encountered
When
The current segment table ID equals 'VID'
Then
Continue to the next segment without performing any processing or data extraction
R-GCX126-cbl-00075
K1 - Remarks Store Free-Form Message Increment Remark Index
Process Rules
📊 Business Logic Narrative
When the process 'K1 - Remarks Store Free-Form Message Increment Remark Index' is invoked, and assuming that an edi 350 message is being parsed and a k1 segment is encountered, when the current segment table id equals 'k1 ' and the remark index is less than or equal to the maximum of 50, the desired outcome is that set the k1 segment found flag to true, initialize the k1 segment structure, move the k1 table entry data into the k1 segment structure, increment the remark index by 1, and store the k1 segment in the remark array at the current index position. if the remark index exceeds 50, set it to 50 and overwrite the last remark.
💻 Technical Criteria
Given
An EDI 350 message is being parsed and a K1 segment is encountered
When
The current segment table ID equals 'K1 ' and the remark index is less than or equal to the maximum of 50
Then
Set the K1 segment found flag to TRUE, initialize the K1 segment structure, move the K1 table entry data into the K1 segment structure, increment the remark index by 1, and store the K1 segment in the remark array at the current index position. If the remark index exceeds 50, set it to 50 and overwrite the last remark
R-GCX126-cbl-00076
X4 - Release/Disposition Extract Release Reference Extract Date and Time
Process Rules
📊 Business Logic Narrative
When the process 'X4 - Release/Disposition Extract Release Reference Extract Date and Time' is invoked, and assuming that an edi 350 message is being parsed and an x4 segment is encountered, when the current segment table id equals 'x4 ', the desired outcome is that initialize the k1 comments structure, initialize the x4 segment structure, move the x4 table entry data into the x4 segment structure, and set the x4 segment found flag to true for subsequent processing.
💻 Technical Criteria
Given
An EDI 350 message is being parsed and an X4 segment is encountered
When
The current segment table ID equals 'X4 '
Then
Initialize the K1 comments structure, initialize the X4 segment structure, move the X4 table entry data into the X4 segment structure, and set the X4 segment found flag to TRUE for subsequent processing
R-GCX126-cbl-00081
Move to Next Segment
Process Rules
📊 Business Logic Narrative
When the process 'Move to Next Segment' is invoked, and assuming that a segment has been processed in the edi 350 message, when the current segment processing is complete, the desired outcome is that increment the line counter by 1 and continue the segment processing loop until the line counter exceeds the maximum number of message queue entries or the end found flag is set to true.
💻 Technical Criteria
Given
A segment has been processed in the EDI 350 message
When
The current segment processing is complete
Then
Increment the line counter by 1 and continue the segment processing loop until the line counter exceeds the maximum number of message queue entries or the end found flag is set to TRUE
R-GCX126-cbl-00084
X4 - Release/Disposition Extract Release Reference Extract Date and Time
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'X4 - Release/Disposition Extract Release Reference Extract Date and Time', assuming that an x4 segment is being processed, when the entry type code is not equal to '992' or the message type is not conventional 350, the desired outcome is that set the segment previous x4 flag to true and set the x4 segment found flag to true.
💻 Technical Criteria
EXCLUDING
An X4 segment is being processed
When
The entry type code is not equal to '992' OR the message type is not conventional 350
Then
Set the segment previous X4 flag to TRUE and set the X4 segment found flag to TRUE
R-GCX126-cbl-00521
Is Train ID Same as Previous?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Train ID Same as Previous?' is invoked, and assuming that a conveyance 350 message with entry type 992 is being processed, when the train release document id from x4-04-rel-doc-id (first 25 characters) equals the previously processed crn stored in ws-prev-crn, the desired outcome is that skip processing this x4 segment and continue to next segment, otherwise proceed with train verification.
💻 Technical Criteria
Given
A conveyance 350 message with entry type 992 is being processed
When
The train release document ID from X4-04-REL-DOC-ID (first 25 characters) equals the previously processed CRN stored in WS-PREV-CRN
Then
Skip processing this X4 segment and continue to next segment, otherwise proceed with train verification
R-GCX126-cbl-00525
Send Error to Merlin
Action Rules
📊 Business Logic Narrative
When the process 'Send Error to Merlin' is invoked, and assuming that an unknown train error message has been prepared with crn details, when the error preparation is complete, the desired outcome is that invoke the merlin email send process (z110-prep-emcsend) to transmit the error notification to the configured recipients.
💻 Technical Criteria
Given
An unknown train error message has been prepared with CRN details
When
The error preparation is complete
Then
Invoke the Merlin email send process (Z110-PREP-EMCSEND) to transmit the error notification to the configured recipients
R-GCX126-cbl-00721
Receive Train ID from X4 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Receive Train ID from X4 Segment' is invoked, and assuming that an x4 segment is being processed with entry type code '992' in a conventional 350 message, when the system extracts the related document id from position 1 to 25 of the x4-04-rel-doc-id field, the desired outcome is that the extracted train id is stored as the search key for train record lookup.
💻 Technical Criteria
Given
An X4 segment is being processed with entry type code '992' in a CONVENTIONAL 350 message
When
The system extracts the related document ID from position 1 to 25 of the X4-04-REL-DOC-ID field
Then
The extracted train ID is stored as the search key for train record lookup
R-GCX126-cbl-00724
Train Record Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Train Record Found?' is invoked, and assuming that a database retrieval operation has been executed for a train id, when the system checks the status code returned from the database operation, the desired outcome is that if the status code is blank (spaces), the train record is found; otherwise, the train record is not found.
💻 Technical Criteria
Given
A database retrieval operation has been executed for a train ID
When
The system checks the status code returned from the database operation
Then
If the status code is blank (spaces), the train record is found; otherwise, the train record is not found
R-GCX126-cbl-00726
Set Train Not Found Status
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Train Not Found Status', assuming that a database retrieval operation has been executed for a train id, when the status code returned from the database operation is not blank (not spaces), the desired outcome is that the system determines that the train record does not exist and proceeds to error handling.
💻 Technical Criteria
EXCLUDING
A database retrieval operation has been executed for a train ID
When
The status code returned from the database operation is not blank (not spaces)
Then
The system determines that the train record does not exist and proceeds to error handling
R-GCX126-cbl-00731
Verify Train Exists in System
Process Rules
📊 Business Logic Narrative
When the process 'Verify Train Exists in System' is invoked, and assuming that an x4 segment with entry type '992' is being processed in a conventional 350 message, when the related document id (positions 1-25) matches the previously processed train id stored in ws-prev-crn, the desired outcome is that the system skips all train verification and processing steps and continues to the next segment.
💻 Technical Criteria
Given
An X4 segment with entry type '992' is being processed in a CONVENTIONAL 350 message
When
The related document ID (positions 1-25) matches the previously processed train ID stored in WS-PREV-CRN
Then
The system skips all train verification and processing steps and continues to the next segment
R-GCX126-cbl-00087
Set M10 Segment Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set M10 Segment Found Flag' is invoked, and assuming that an m10 segment is being processed from the edi 350 message, when the m10 segment processing begins, the desired outcome is that the m10 segment found indicator is set to true.
💻 Technical Criteria
Given
An M10 segment is being processed from the EDI 350 message
When
The M10 segment processing begins
Then
The M10 segment found indicator is set to true
R-GCX126-cbl-00089
Move MQS Table Entry to M10 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Move MQS Table Entry to M10 Segment' is invoked, and assuming that the m10 segment structure has been initialized and the current line in the message queue table contains an m10 segment, when loading m10 segment data, the desired outcome is that the message queue table entry at the current line position is moved to the m10 segment structure.
💻 Technical Criteria
Given
The M10 segment structure has been initialized and the current line in the message queue table contains an M10 segment
When
Loading M10 segment data
Then
The message queue table entry at the current line position is moved to the M10 segment structure
R-GCX126-cbl-00093
Initialize P4 Segment Structure
Process Rules
📊 Business Logic Narrative
When the process 'Initialize P4 Segment Structure' is invoked, and assuming that a p4 segment is ready to be processed from the edi 350 message, when the p4 segment processing begins, the desired outcome is that the system initializes the p4 segment data structure by clearing all fields to spaces or zeros.
💻 Technical Criteria
Given
A P4 segment is ready to be processed from the EDI 350 message
When
The P4 segment processing begins
Then
The system initializes the P4 segment data structure by clearing all fields to spaces or zeros
R-GCX126-cbl-00110
Initialize V9 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Initialize V9 Segment' is invoked, and assuming that an edi 350 message is being processed and a v9 segment table id has been identified in the message queue table entry, when the system begins processing the v9 segment, the desired outcome is that the system initializes the v9 segment data structure to spaces or zeros.
💻 Technical Criteria
Given
An EDI 350 message is being processed and a V9 segment table ID has been identified in the message queue table entry
When
The system begins processing the V9 segment
Then
The system initializes the V9 segment data structure to spaces or zeros
R-GCX126-cbl-00111
Move MQS Table Entry to V9 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Move MQS Table Entry to V9 Segment' is invoked, and assuming that an edi 350 message is being processed and the v9 segment structure has been initialized and the current line in the message queue table contains a v9 segment, when the system processes the v9 segment table entry, the desired outcome is that the system moves the message queue table entry at the current line position to the v9 segment data structure.
💻 Technical Criteria
Given
An EDI 350 message is being processed and the V9 segment structure has been initialized and the current line in the message queue table contains a V9 segment
When
The system processes the V9 segment table entry
Then
The system moves the message queue table entry at the current line position to the V9 segment data structure
R-GCX126-cbl-00112
Set V9 Segment Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set V9 Segment Found Flag' is invoked, and assuming that an edi 350 message is being processed and the v9 segment data has been extracted from the message queue table entry, when the v9 segment extraction is complete, the desired outcome is that the system sets the v9 segment found flag to true.
💻 Technical Criteria
Given
An EDI 350 message is being processed and the V9 segment data has been extracted from the message queue table entry
When
The V9 segment extraction is complete
Then
The system sets the V9 segment found flag to true
R-GCX126-cbl-00113
Process K1 Remarks Segment - Store up to 9 free-form message segments in array for later logging
Process Rules
📊 Business Logic Narrative
When the process 'Process K1 Remarks Segment - Store up to 9 free-form message segments in array for later logging' is invoked, and assuming that an edi 350 message is being processed and a k1 segment entry is encountered in the message queue table at the current line position, when the k1 segment is identified and needs to be stored for later logging, the desired outcome is that the system sets the k1 segment found indicator to true, initializes the k1 segment structure, copies the message queue table entry to the k1 segment structure, increments the k1 remark index counter by 1, and stores the k1 segment in the remark array at the current index position.
💻 Technical Criteria
Given
An EDI 350 message is being processed and a K1 segment entry is encountered in the message queue table at the current line position
When
The K1 segment is identified and needs to be stored for later logging
Then
The system sets the K1 segment found indicator to true, initializes the K1 segment structure, copies the message queue table entry to the K1 segment structure, increments the K1 remark index counter by 1, and stores the K1 segment in the remark array at the current index position
R-GCX126-cbl-00116
Set K1 Segment Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set K1 Segment Found Flag' is invoked, and assuming that a k1 segment is identified in the current message queue table entry, when k1 segment processing begins, the desired outcome is that the system sets the k1 segment found indicator flag to true to track that at least one k1 remark segment has been processed in the current transaction.
💻 Technical Criteria
Given
A K1 segment is identified in the current message queue table entry
When
K1 segment processing begins
Then
The system sets the K1 segment found indicator flag to true to track that at least one K1 remark segment has been processed in the current transaction
R-GCX126-cbl-00118
Initialize N7 Segment Structure
Process Rules
📊 Business Logic Narrative
When the process 'Initialize N7 Segment Structure' is invoked, and assuming that an n7 segment is ready to be processed, when the n7 segment found flag has been set, the desired outcome is that the system initializes the n7 segment structure to spaces to clear any previous data.
💻 Technical Criteria
Given
An N7 segment is ready to be processed
When
The N7 segment found flag has been set
Then
The system initializes the N7 segment structure to spaces to clear any previous data
R-GCX126-cbl-00125
Is X4 Segment Entry Type = '992' AND Conveyance 350?
Decision Rules
📊 Business Logic Narrative
When the process 'Is X4 Segment Entry Type = '992' AND Conveyance 350?' is invoked, and assuming that an x4 segment is being processed from the edi 350 message, when the x4-03-entry-typ-cde equals '992' and the message type indicator ws-conv-350 is true, the desired outcome is that proceed with train arrival processing for conveyance 350.
💻 Technical Criteria
Given
An X4 segment is being processed from the EDI 350 message
When
The X4-03-ENTRY-TYP-CDE equals '992' AND the message type indicator WS-CONV-350 is true
Then
Proceed with train arrival processing for conveyance 350
R-GCX126-cbl-00132
Spawn GCT1051E Transaction to Create Log Entry
Action Rules
📊 Business Logic Narrative
When the process 'Spawn GCT1051E Transaction to Create Log Entry' is invoked, and assuming that the arrival acknowledgment log information has been prepared in the gcx105 structure with all required fields populated, when the log entry is ready to be persisted, the desired outcome is that invoke the z300-spawn-gct1051e process to create the log entry in the system.
💻 Technical Criteria
Given
The arrival acknowledgment log information has been prepared in the GCX105 structure with all required fields populated
When
The log entry is ready to be persisted
Then
Invoke the Z300-SPAWN-GCT1051E process to create the log entry in the system
R-GCX126-cbl-00539
Index <= 0?
Validation Rules
📊 Business Logic Narrative
When the process 'Index <= 0?' is invoked, and assuming that the follower manifest collection process has completed and the index has been adjusted, when the system checks if any follower manifests were found, the desired outcome is that if the adjusted index is less than or equal to 0, no follower manifests exist and processing terminates; otherwise, the system proceeds to update each follower manifest.
💻 Technical Criteria
Given
The follower manifest collection process has completed and the index has been adjusted
When
The system checks if any follower manifests were found
Then
If the adjusted index is less than or equal to 0, no follower manifests exist and processing terminates; otherwise, the system proceeds to update each follower manifest
R-GCX126-cbl-00151
Calculate Total Followers Count = I - 1
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Total Followers Count = I - 1' is invoked, and assuming that the database retrieval loop has completed and end-of-database flag is set, when the system calculates the total number of followers collected, the desired outcome is that subtract 1 from index i to get the actual count of follower manifests stored in the array.
💻 Technical Criteria
Given
The database retrieval loop has completed and end-of-database flag is set
When
The system calculates the total number of followers collected
Then
Subtract 1 from index I to get the actual count of follower manifests stored in the array
R-GCX126-cbl-00152
Count > 0?
Decision Rules
📊 Business Logic Narrative
When the process 'Count > 0?' is invoked, and assuming that the total follower count has been calculated, when the system checks if the count is greater than 0, the desired outcome is that if count is 0 or less, exit the process without updating any followers; if count is greater than 0, proceed to loop through each follower for updates.
💻 Technical Criteria
Given
The total follower count has been calculated
When
The system checks if the count is greater than 0
Then
If count is 0 or less, exit the process without updating any followers; If count is greater than 0, proceed to loop through each follower for updates
R-GCX126-cbl-00756
Initialize Follower Manifest Array
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Follower Manifest Array' is invoked, and assuming that the system is about to search for follower manifests, when the follower manifest collection process begins, the desired outcome is that the follower manifest array is initialized to spaces to ensure no residual data from previous processing.
💻 Technical Criteria
Given
The system is about to search for follower manifests
When
The follower manifest collection process begins
Then
The follower manifest array is initialized to spaces to ensure no residual data from previous processing
R-GCX126-cbl-00757
Set Follower Not End of DB Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Follower Not End of DB Flag' is invoked, and assuming that the follower manifest search is about to begin, when the system initializes the database navigation state, the desired outcome is that the end-of-database flag is set to 'not end of db' to allow record retrieval to proceed.
💻 Technical Criteria
Given
The follower manifest search is about to begin
When
The system initializes the database navigation state
Then
The end-of-database flag is set to 'Not End of DB' to allow record retrieval to proceed
R-GCX126-cbl-00759
End of DB OR Index > 100?
Decision Rules
📊 Business Logic Narrative
When the process 'End of DB OR Index > 100?' is invoked, and assuming that the system is in the process of collecting follower manifests and the current array index position and database status are known, when the system checks if more follower manifests can be retrieved, the desired outcome is that the search continues if the end of database has not been reached and the array index is 100 or less, otherwise the search terminates.
💻 Technical Criteria
Given
The system is in the process of collecting follower manifests AND the current array index position and database status are known
When
The system checks if more follower manifests can be retrieved
Then
The search continues if the end of database has not been reached AND the array index is 100 or less, otherwise the search terminates
R-GCX126-cbl-00572
Calculate Total Follower Count
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Total Follower Count' is invoked, and assuming that the search for follower manifests has completed (either by reaching the limit, end of database, or no more matches), when the system needs to determine how many followers were actually found, the desired outcome is that the system subtracts 1 from the counter variable to get the accurate count of follower manifests stored in the array.
💻 Technical Criteria
Given
The search for follower manifests has completed (either by reaching the limit, end of database, or no more matches)
When
The system needs to determine how many followers were actually found
Then
The system subtracts 1 from the counter variable to get the accurate count of follower manifests stored in the array
R-GCX126-cbl-00573
Any Followers Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Any Followers Found?' is invoked, and assuming that the follower manifest search has completed and the count has been calculated, when the system checks if any followers were collected, the desired outcome is that if the count is less than or equal to 0, the system exits the process without performing any updates; if the count is greater than 0, the system proceeds to process each follower.
💻 Technical Criteria
Given
The follower manifest search has completed and the count has been calculated
When
The system checks if any followers were collected
Then
If the count is less than or equal to 0, the system exits the process without performing any updates; if the count is greater than 0, the system proceeds to process each follower
R-GCX126-cbl-00769
Set Accept Status to 'GEGB'
Action Rules
📊 Business Logic Narrative
When the process 'Set Accept Status to 'GEGB'' is invoked, and assuming that the system is ready to retrieve the next follower manifest record, when database access is initiated, the desired outcome is that the accept status is set to 'gegb' to enable get next operation.
💻 Technical Criteria
Given
The system is ready to retrieve the next follower manifest record
When
Database access is initiated
Then
The accept status is set to 'GEGB' to enable Get Next operation
R-GCX126-cbl-00771
Status Code = Blank?
Validation Rules
📊 Business Logic Narrative
When the process 'Status Code = Blank?' is invoked, and assuming that a database get next operation has been executed, when the status code is evaluated, the desired outcome is that if status code is blank (spaces), continue processing; otherwise set end of database flag to true.
💻 Technical Criteria
Given
A database Get Next operation has been executed
When
The status code is evaluated
Then
If status code is blank (spaces), continue processing; otherwise set end of database flag to true
R-GCX126-cbl-00776
I > 100 or End of Database?
Process Rules
📊 Business Logic Narrative
When the process 'I > 100 or End of Database?' is invoked, and assuming that the system is processing follower manifests in a loop, when the loop termination conditions are evaluated, the desired outcome is that if counter i exceeds 100 or the end of database flag is true, exit the loop; otherwise continue retrieving next record.
💻 Technical Criteria
Given
The system is processing follower manifests in a loop
When
The loop termination conditions are evaluated
Then
If counter I exceeds 100 OR the end of database flag is true, exit the loop; otherwise continue retrieving next record
R-GCX126-cbl-00778
End Loop
Process Rules
📊 Business Logic Narrative
When the process 'End Loop' is invoked, and assuming that the loop has processed all available follower manifests or reached the maximum limit of 100 or encountered end of database, when the loop termination point is reached, the desired outcome is that the counter i is decremented by 1 to reflect the actual count of follower manifests retrieved.
💻 Technical Criteria
Given
The loop has processed all available follower manifests OR reached the maximum limit of 100 OR encountered end of database
When
The loop termination point is reached
Then
The counter I is decremented by 1 to reflect the actual count of follower manifests retrieved
R-GCX126-cbl-00162
Train Exists in System?
Validation Rules
📊 Business Logic Narrative
When the process 'Train Exists in System?' is invoked, and assuming that a database lookup has been performed for a train id from the x4 segment related document id, when the database operation completes, the desired outcome is that if the database status code is not blank (spaces), the train does not exist and error processing is triggered; if the database status code is blank (spaces), the train exists and normal processing continues.
💻 Technical Criteria
Given
A database lookup has been performed for a train ID from the X4 segment related document ID
When
The database operation completes
Then
If the database status code is not blank (spaces), the train does not exist and error processing is triggered; if the database status code is blank (spaces), the train exists and normal processing continues
R-GCX126-cbl-00169
Check if K1 Segments Were Found
Decision Rules
📊 Business Logic Narrative
When the process 'Check if K1 Segments Were Found' is invoked, and assuming that edi 350 message segments have been processed and k1 segment found indicator is set to true, when the system begins the k1 remarks logging process, the desired outcome is that the system initiates the loop to process all stored k1 remarks from index 1 to the maximum k1 remark index.
💻 Technical Criteria
Given
EDI 350 message segments have been processed and K1 segment found indicator is set to true
When
The system begins the K1 remarks logging process
Then
The system initiates the loop to process all stored K1 remarks from index 1 to the maximum K1 remark index
R-GCX126-cbl-00174
Check if K1 Segments Were Found
Decision Rules
📊 Business Logic Narrative
When the process 'Check if K1 Segments Were Found' is invoked, and assuming that edi 350 message segments have been processed, when the k1 segment found indicator is set to false (no k1 segments were found), the desired outcome is that the system skips the k1 remarks logging process entirely and proceeds to the next processing step.
💻 Technical Criteria
Given
EDI 350 message segments have been processed
When
The K1 segment found indicator is set to false (no K1 segments were found)
Then
The system skips the K1 remarks logging process entirely and proceeds to the next processing step
R-GCX126-cbl-00276
Build Message Based on Type
Decision Rules
📊 Business Logic Narrative
When the process 'Build Message Based on Type' is invoked, and assuming that a follower manifest is being processed and the v9 segment contains a notice reason code, when the system builds the log message for the follower, the desired outcome is that if v9 notice reason code indicates released, then format message as release type, otherwise if v9 notice reason code indicates decon, then format message as deconsolidation type.
💻 Technical Criteria
Given
A follower manifest is being processed AND the V9 segment contains a notice reason code
When
The system builds the log message for the follower
Then
If V9 notice reason code indicates RELEASED, then format message as release type, otherwise if V9 notice reason code indicates DECON, then format message as deconsolidation type
R-GCX126-cbl-00279
Build Reason Based on Type
Decision Rules
📊 Business Logic Narrative
When the process 'Build Reason Based on Type' is invoked, and assuming that a follower manifest is being processed and the v9 segment contains a notice reason code, when the system builds the release reason for the follower, the desired outcome is that if v9 notice reason code indicates released, then format reason as standard release type, otherwise if v9 notice reason code indicates decon, then format reason as deconsolidation type.
💻 Technical Criteria
Given
A follower manifest is being processed AND the V9 segment contains a notice reason code
When
The system builds the release reason for the follower
Then
If V9 notice reason code indicates RELEASED, then format reason as standard release type, otherwise if V9 notice reason code indicates DECON, then format reason as deconsolidation type
R-GCX126-cbl-00784
Set Operator to Greater Than or Equal
Process Rules
📊 Business Logic Narrative
When the process 'Set Operator to Greater Than or Equal' is invoked, and assuming that the search index is set to car-wb and search keys are initialized, when the system defines the comparison logic for the database search, the desired outcome is that the operator is set to '>=' (greater than or equal) to include exact matches and subsequent records.
💻 Technical Criteria
Given
The search index is set to CAR-WB and search keys are initialized
When
The system defines the comparison logic for the database search
Then
The operator is set to '>=' (greater than or equal) to include exact matches and subsequent records
R-GCX126-cbl-00786
Database Status OK?
Validation Rules
📊 Business Logic Narrative
When the process 'Database Status OK?' is invoked, and assuming that the gccusio database search has been executed, when the system evaluates the result of the search operation, the desired outcome is that if the status code is spaces (blank), the search is successful; otherwise, an error occurred.
💻 Technical Criteria
Given
The GCCUSIO database search has been executed
When
The system evaluates the result of the search operation
Then
If the status code is spaces (blank), the search is successful; otherwise, an error occurred
R-GCX126-cbl-00787
Set End of Database Flag
Decision Rules
📊 Business Logic Narrative
When the process 'Set End of Database Flag' is invoked, and assuming that the database search returned a non-blank status code indicating an error or end of data, when the system processes the search failure, the desired outcome is that the end-of-database flag (ws-eof) is set to true to stop further search attempts.
💻 Technical Criteria
Given
The database search returned a non-blank status code indicating an error or end of data
When
The system processes the search failure
Then
The end-of-database flag (WS-EOF) is set to TRUE to stop further search attempts
R-GCX126-cbl-00946
Set Operator to '>='
Process Rules
📊 Business Logic Narrative
When the process 'Set Operator to '>='' is invoked, and assuming that search comparison logic needs to be defined, when setting the operator for database record matching, the desired outcome is that move '>=' to gcwusio-operator to retrieve records with keys greater than or equal to the search criteria.
💻 Technical Criteria
Given
Search comparison logic needs to be defined
When
Setting the operator for database record matching
Then
Move '>=' to GCWUSIO-OPERATOR to retrieve records with keys greater than or equal to the search criteria
R-GCX126-cbl-00602
Database Status OK?
Decision Rules
📊 Business Logic Narrative
When the process 'Database Status OK?' is invoked, and assuming that a get next operation has been executed to retrieve a follower manifest, when the system evaluates the database return status code, the desired outcome is that if status code is blank (spaces), the retrieval was successful and processing continues; if status code is not blank, set the end-of-database flag to true and stop retrieving followers.
💻 Technical Criteria
Given
A Get Next operation has been executed to retrieve a follower manifest
When
The system evaluates the database return status code
Then
If status code is blank (spaces), the retrieval was successful and processing continues; If status code is not blank, set the end-of-database flag to true and stop retrieving followers
R-GCX126-cbl-00607
More Followers to Retrieve?
Decision Rules
📊 Business Logic Narrative
When the process 'More Followers to Retrieve?' is invoked, and assuming that a follower has been processed or a continuation condition has been evaluated, when the system determines whether to retrieve the next follower, the desired outcome is that if the end-of-database flag is false and the counter is less than or equal to 100, continue to get the next follower; if the end-of-database flag is true or the counter exceeds 100, stop retrieval and proceed to count validation.
💻 Technical Criteria
Given
A follower has been processed or a continuation condition has been evaluated
When
The system determines whether to retrieve the next follower
Then
If the end-of-database flag is false AND the counter is less than or equal to 100, continue to get the next follower; If the end-of-database flag is true OR the counter exceeds 100, stop retrieval and proceed to count validation
R-GCX126-cbl-00613
Notice Reason Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Notice Reason Type?' is invoked, and assuming that release information has been set for the follower manifest, when the system determines the type of release message to log, the desired outcome is that if the v9 notice reason code indicates released, proceed to log release message; if the v9 notice reason code indicates deconsolidation, proceed to log deconsolidation message.
💻 Technical Criteria
Given
Release information has been set for the follower manifest
When
The system determines the type of release message to log
Then
If the V9 notice reason code indicates RELEASED, proceed to log release message; If the V9 notice reason code indicates DECONSOLIDATION, proceed to log deconsolidation message
R-GCX126-cbl-00618
More Followers in Array?
Decision Rules
📊 Business Logic Narrative
When the process 'More Followers in Array?' is invoked, and assuming that a follower manifest has been processed and updated, when the system determines whether to continue the processing loop, the desired outcome is that if the current loop index j is less than the total follower count i, continue loop to process next follower; if the current loop index j equals or exceeds the total follower count i, exit loop and proceed to restore master information.
💻 Technical Criteria
Given
A follower manifest has been processed and updated
When
The system determines whether to continue the processing loop
Then
If the current loop index J is less than the total follower count I, continue loop to process next follower; If the current loop index J equals or exceeds the total follower count I, exit loop and proceed to restore master information
R-GCX126-cbl-00793
Initialize Loop Counter I = 1, Set Not End of DB Flag
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Loop Counter I = 1, Set Not End of DB Flag' is invoked, and assuming that a master manifest needs to have its follower manifests identified, when the follower manifest collection process begins, the desired outcome is that the loop counter i is set to 1 and the end-of-database flag is set to indicate more records may exist.
💻 Technical Criteria
Given
A master manifest needs to have its follower manifests identified
When
The follower manifest collection process begins
Then
The loop counter I is set to 1 AND the end-of-database flag is set to indicate more records may exist
R-GCX126-cbl-00794
Set Accept Status to 'GEGB'
Action Rules
📊 Business Logic Narrative
When the process 'Set Accept Status to 'GEGB'' is invoked, and assuming that the system is ready to retrieve the next follower manifest record, when database access is initiated, the desired outcome is that the accept status is set to 'gegb' to enable get next with browse capability.
💻 Technical Criteria
Given
The system is ready to retrieve the next follower manifest record
When
Database access is initiated
Then
The accept status is set to 'GEGB' to enable Get Next with Browse capability
R-GCX126-cbl-00801
Counter I > 100?
Validation Rules
📊 Business Logic Narrative
When the process 'Counter I > 100?' is invoked, and assuming that follower manifests are being collected in an array with maximum capacity of 100, when the loop counter i is evaluated after incrementing, the desired outcome is that if counter i exceeds 100, the end-of-database flag is set and loop processing terminates to prevent array overflow or if counter i is 100 or less, the loop continues to retrieve the next record.
💻 Technical Criteria
Given
Follower manifests are being collected in an array with maximum capacity of 100
When
The loop counter I is evaluated after incrementing
Then
If counter I exceeds 100, the end-of-database flag is set AND loop processing terminates to prevent array overflow OR If counter I is 100 or less, the loop continues to retrieve the next record
R-GCX126-cbl-00803
End Loop
Process Rules
📊 Business Logic Narrative
When the process 'End Loop' is invoked, and assuming that the follower manifest collection loop has completed due to end-of-database flag or maximum iterations reached, when loop processing ends, the desired outcome is that the loop counter i is decremented by 1 to reflect the actual count of follower manifests collected and if the count is zero or negative, processing exits immediately or if follower manifests were collected, they are available in the ws-follower-mani array for further processing.
💻 Technical Criteria
Given
The follower manifest collection loop has completed due to end-of-database flag OR maximum iterations reached
When
Loop processing ends
Then
The loop counter I is decremented by 1 to reflect the actual count of follower manifests collected AND if the count is zero or negative, processing exits immediately OR if follower manifests were collected, they are available in the WS-FOLLOWER-MANI array for further processing
R-GCX126-cbl-00827
US Manifest Found?
Decision Rules
📊 Business Logic Narrative
When the process 'US Manifest Found?' is invoked, and assuming that the us manifest search process has completed all retrieval and validation steps, when the system checks the us manifest found flag, the desired outcome is that if us manifest found flag is false (not found), exit the process else proceed to prepare log entry.
💻 Technical Criteria
Given
The US manifest search process has completed all retrieval and validation steps
When
The system checks the US manifest found flag
Then
If US manifest found flag is false (not found), exit the process ELSE proceed to prepare log entry
R-GCX126-cbl-01000
Clear GCX105-INPUT to Spaces
Validation Rules
📊 Business Logic Narrative
When the process 'Clear GCX105-INPUT to Spaces' is invoked, and assuming that the log structure is being initialized, when the initialization process begins, the desired outcome is that the gcx105-input field is set to spaces.
💻 Technical Criteria
Given
The log structure is being initialized
When
The initialization process begins
Then
The GCX105-INPUT field is set to spaces
R-GCX126-cbl-01002
Set GCX105-SENDING-TRANSACTION to 'GCT1261E'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set GCX105-SENDING-TRANSACTION to 'GCT1261E'' is invoked, and assuming that the log structure is being initialized, when the transaction identifier is being set, the desired outcome is that the gcx105-sending-transaction is set to 'gct1261e'.
💻 Technical Criteria
Given
The log structure is being initialized
When
The transaction identifier is being set
Then
The GCX105-SENDING-TRANSACTION is set to 'GCT1261E'
R-GCX126-cbl-01007
Move Log Input to GCT1051E Message
Process Rules
📊 Business Logic Narrative
When the process 'Move Log Input to GCT1051E Message' is invoked, and assuming that the gcx105-date and gcx105-time fields have been normalized and a valid log message exists, when the log entry preparation is in progress, the desired outcome is that the system moves the complete gcx105-input structure to the gct1051e-msg field.
💻 Technical Criteria
Given
The GCX105-DATE and GCX105-TIME fields have been normalized AND a valid log message exists
When
The log entry preparation is in progress
Then
The system moves the complete GCX105-INPUT structure to the GCT1051E-MSG field
R-GCX126-cbl-01010
Call CIMS with PURG Function to Commit
Action Rules
📊 Business Logic Narrative
When the process 'Call CIMS with PURG Function to Commit' is invoked, and assuming that the log entry has been written to the message queue via writmsgl, when the log entry write operation is complete, the desired outcome is that the system calls cims with purg function using the alternate pcb to commit the transaction and make the log entry permanent.
💻 Technical Criteria
Given
The log entry has been written to the message queue via WRITMSGL
When
The log entry write operation is complete
Then
The system calls CIMS with PURG function using the alternate PCB to commit the transaction and make the log entry permanent
R-GCX126-cbl-00302
V9 Notice Reason = DECON?
Decision Rules
📊 Business Logic Narrative
When the process 'V9 Notice Reason = DECON?' is invoked, and assuming that an edi 350 message has been received and parsed with v9 segment containing notice reason code, when the system evaluates the v9 notice reason code field, the desired outcome is that if v9-02-decon is true, proceed with deconsolidation release processing; otherwise, skip deconsolidation processing and continue to next evaluation.
💻 Technical Criteria
Given
An EDI 350 message has been received and parsed with V9 segment containing notice reason code
When
The system evaluates the V9 notice reason code field
Then
If V9-02-DECON is true, proceed with deconsolidation release processing; otherwise, skip deconsolidation processing and continue to next evaluation
R-GCX126-cbl-00955
Initialize GCX105 Input Structure
Process Rules
📊 Business Logic Narrative
When the process 'Initialize GCX105 Input Structure' is invoked, and assuming that a log message needs to be prepared for the gct1051e transaction, when the log message preparation process begins, the desired outcome is that the gcx105 input structure is cleared to spaces to ensure no residual data remains.
💻 Technical Criteria
Given
A log message needs to be prepared for the GCT1051E transaction
When
The log message preparation process begins
Then
The GCX105 input structure is cleared to spaces to ensure no residual data remains
R-GCX126-cbl-00957
Set Sending Transaction = 'GCT1261E'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Sending Transaction = 'GCT1261E'' is invoked, and assuming that the log message is being prepared by the gct1261e program, when the sending transaction identifier needs to be recorded, the desired outcome is that the sending transaction field in gcx105 structure is set to 'gct1261e'.
💻 Technical Criteria
Given
The log message is being prepared by the GCT1261E program
When
The sending transaction identifier needs to be recorded
Then
The sending transaction field in GCX105 structure is set to 'GCT1261E'
R-GCX126-cbl-00958
Set ACF2 User ID from CCCOM
Authorization Rules
📊 Business Logic Narrative
When the process 'Set ACF2 User ID from CCCOM' is invoked, and assuming that the current user id is available in the cccom control block, when user identification needs to be captured for the log entry, the desired outcome is that the acf2 user id from cccom is copied to the gcx105 acf2-id field.
💻 Technical Criteria
Given
The current user ID is available in the CCCOM control block
When
User identification needs to be captured for the log entry
Then
The ACF2 user ID from CCCOM is copied to the GCX105 ACF2-ID field
R-GCX126-cbl-00961
Format Message for GCT1051E
Process Rules
📊 Business Logic Narrative
When the process 'Format Message for GCT1051E' is invoked, and assuming that the gcx105 input structure has been fully populated with log information, when the message needs to be formatted for the gct1051e transaction, the desired outcome is that the gcx105 input data is moved to the gct1051e message structure for subsequent logging operations.
💻 Technical Criteria
Given
The GCX105 input structure has been fully populated with log information
When
The message needs to be formatted for the GCT1051E transaction
Then
The GCX105 input data is moved to the GCT1051E message structure for subsequent logging operations
R-GCX126-cbl-01017
Call CIMS with PURG Function
Process Rules
📊 Business Logic Narrative
When the process 'Call CIMS with PURG Function' is invoked, and assuming that a log entry has been successfully written to the audit trail via the alternate pcb, when the log writing operation is complete, the desired outcome is that the system calls cims with purg function using the alternate pcb (alt-pcb of cccom) to purge the message from the queue.
💻 Technical Criteria
Given
A log entry has been successfully written to the audit trail via the alternate PCB
When
The log writing operation is complete
Then
The system calls CIMS with PURG function using the alternate PCB (ALT-PCB OF CCCOM) to purge the message from the queue
R-GCX126-cbl-00355
Database Status OK?
Decision Rules
📊 Business Logic Narrative
When the process 'Database Status OK?' is invoked, and assuming that a database get next call has been executed, when the database returns a status code, the desired outcome is that if the status code is blank (spaces), the retrieval is successful; otherwise, set the end-of-database flag to true.
💻 Technical Criteria
Given
A database Get Next call has been executed
When
The database returns a status code
Then
If the status code is blank (spaces), the retrieval is successful; otherwise, set the end-of-database flag to true
R-GCX126-cbl-00360
I > 100?
Validation Rules
📊 Business Logic Narrative
When the process 'I > 100?' is invoked, and assuming that the follower array index i has been incremented, when checking if more followers can be stored, the desired outcome is that if i is greater than 100, set the end-of-database flag to true; otherwise, continue retrieving more followers.
💻 Technical Criteria
Given
The follower array index I has been incremented
When
Checking if more followers can be stored
Then
If I is greater than 100, set the end-of-database flag to true; otherwise, continue retrieving more followers
R-GCX126-cbl-00369
Notice Reason?
Decision Rules
📊 Business Logic Narrative
When the process 'Notice Reason?' is invoked, and assuming that release information has been set for the follower, when determining the type of release, the desired outcome is that if the notice reason code indicates 'released', log a standard release message; if it indicates 'decon', log a deconsolidation release message.
💻 Technical Criteria
Given
Release information has been set for the follower
When
Determining the type of release
Then
If the notice reason code indicates 'Released', log a standard release message; if it indicates 'Decon', log a deconsolidation release message
R-GCX126-cbl-00655
End of Database OR Counter > 100?
Validation Rules
📊 Business Logic Narrative
When the process 'End of Database OR Counter > 100?' is invoked, and assuming that follower manifests are being retrieved for a master manifest, when the counter i exceeds 100 or the end of database flag is set to true, the desired outcome is that the retrieval loop terminates and proceeds to finalize the count.
💻 Technical Criteria
Given
Follower manifests are being retrieved for a master manifest
When
The counter I exceeds 100 OR the end of database flag is set to true
Then
The retrieval loop terminates and proceeds to finalize the count
R-GCX126-cbl-00662
Subtract 1 from Counter I
Computation Rules
📊 Business Logic Narrative
When the process 'Subtract 1 from Counter I' is invoked, and assuming that the follower manifest retrieval loop has completed (either by reaching end of database or maximum count), when the final count needs to be determined, the desired outcome is that the counter i is decremented by 1 to represent the actual number of follower manifests stored in the array.
💻 Technical Criteria
Given
The follower manifest retrieval loop has completed (either by reaching end of database or maximum count)
When
The final count needs to be determined
Then
The counter I is decremented by 1 to represent the actual number of follower manifests stored in the array
R-GCX126-cbl-00894
Secondary Status = GE?
Validation Rules
📊 Business Logic Narrative
When the process 'Secondary Status = GE?' is invoked, and assuming that the secondary segment retrieval operation has completed, when the system evaluates the secondary segment database status code, the desired outcome is that if the status code equals 'ge' (segment not found), the secondary segment does not exist; otherwise, the secondary segment is available.
💻 Technical Criteria
Given
The secondary segment retrieval operation has completed
When
The system evaluates the secondary segment database status code
Then
If the status code equals 'GE' (segment not found), the secondary segment does not exist; otherwise, the secondary segment is available
R-GCX126-cbl-00895
Clear Secondary Segment
Process Rules
📊 Business Logic Narrative
When the process 'Clear Secondary Segment' is invoked, and assuming that the secondary segment retrieval returned status code 'ge' indicating no secondary segment exists, when the system processes the missing secondary segment condition, the desired outcome is that the secondary segment data structure (gcsccs52) is cleared to spaces to prevent processing of invalid data.
💻 Technical Criteria
Given
The secondary segment retrieval returned status code 'GE' indicating no secondary segment exists
When
The system processes the missing secondary segment condition
Then
The secondary segment data structure (GCSCCS52) is cleared to spaces to prevent processing of invalid data
R-GCX126-cbl-00910
Build Log Date from Machine Date
Computation Rules
📊 Business Logic Narrative
When the process 'Build Log Date from Machine Date' is invoked, and assuming that the log header information has been prepared, when the system builds the log date field, the desired outcome is that the log date is constructed by concatenating the machine century (cc) and machine date (yymmdd) from the common control area into the gcx105 date field.
💻 Technical Criteria
Given
The log header information has been prepared
When
The system builds the log date field
Then
The log date is constructed by concatenating the machine century (CC) and machine date (YYMMDD) from the common control area into the GCX105 date field
R-GCX126-cbl-00967
Set Sending Transaction to 'GCT1261E'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Sending Transaction to 'GCT1261E'' is invoked, and assuming that a log entry is being created from the edi 350 processing program, when the source transaction identifier needs to be recorded, the desired outcome is that the system shall set the gcx105-sending-transaction field to 'gct1261e' to identify this program as the source of the log entry.
💻 Technical Criteria
Given
A log entry is being created from the EDI 350 processing program
When
The source transaction identifier needs to be recorded
Then
The system shall set the GCX105-SENDING-TRANSACTION field to 'GCT1261E' to identify this program as the source of the log entry
R-GCX126-cbl-00391
Admin Config Available?, Set Primary Recipient from Admin Config, Set Secondary Recipient from Admin Config
Action Rules
📊 Business Logic Narrative
When the process 'Admin Config Available?, Set Primary Recipient from Admin Config, Set Secondary Recipient from Admin Config' is invoked, and assuming that the admin segment has been successfully retrieved and the admin segment found indicator is true, when email recipients need to be configured for error notification, the desired outcome is that the first email recipient usercode is set to the primary merlin user id from admin table field ad-dc-p-merlin-1 and the second email recipient usercode is set to the secondary merlin user id from admin table field ad-dc-p-merlin-5.
💻 Technical Criteria
Given
The admin segment has been successfully retrieved and the admin segment found indicator is true
When
Email recipients need to be configured for error notification
Then
The first email recipient usercode is set to the primary Merlin user ID from admin table field AD-DC-P-MERLIN-1 and the second email recipient usercode is set to the secondary Merlin user ID from admin table field AD-DC-P-MERLIN-5
R-GCX126-cbl-00398
Set Email Recipient to OM01247
Action Rules
📊 Business Logic Narrative
When the process 'Set Email Recipient to OM01247' is invoked, and assuming that an info email notification is being prepared, when the email recipient needs to be set, the desired outcome is that the email recipient user code is set to 'om01247' in the first position of the recipient array and the email to usercode field is cleared.
💻 Technical Criteria
Given
An info email notification is being prepared
When
The email recipient needs to be set
Then
The email recipient user code is set to 'OM01247' in the first position of the recipient array and the email TO usercode field is cleared
R-GCX126-cbl-00426
Purge IMS Message Queue
Process Rules
📊 Business Logic Narrative
When the process 'Purge IMS Message Queue' is invoked, and assuming that an email has been sent successfully through emcsend2 and the return status flag indicates no errors, when the email send operation completes without errors, the desired outcome is that the system calls cims with purg function to purge the alternate pcb message queue.
💻 Technical Criteria
Given
An email has been sent successfully through EMCSEND2 and the return status flag indicates no errors
When
The email send operation completes without errors
Then
The system calls CIMS with PURG function to purge the alternate PCB message queue
R-GCX126-cbl-00427
Abort: Invalid FROM User
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Abort: Invalid FROM User', assuming that an email send attempt has been made through emcsend2, when the return status flag indicates from user not found, the desired outcome is that the system sets error message 'emi - invalid merlin from' and calls cerr to abort the program.
💻 Technical Criteria
EXCLUDING
An email send attempt has been made through EMCSEND2
When
The return status flag indicates FROM user not found
Then
The system sets error message 'EMI - INVALID MERLIN FROM' and calls CERR to abort the program
R-GCX126-cbl-00428
Abort: Invalid Filename
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Abort: Invalid Filename', assuming that an email send attempt has been made through emcsend2, when the return status flag indicates filename is invalid, the desired outcome is that the system sets error message 'emi - invalid merlin filename' and calls cerr to abort the program.
💻 Technical Criteria
EXCLUDING
An email send attempt has been made through EMCSEND2
When
The return status flag indicates filename is invalid
Then
The system sets error message 'EMI - INVALID MERLIN FILENAME' and calls CERR to abort the program
R-GCX126-cbl-00431
Resend Failed Email to OM01247
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Resend Failed Email to OM01247', assuming that an email is being resent to the default user om01247 after initial recipient failure, when the resend operation return status flag indicates to or copy user not found, the desired outcome is that the system sets error message 'emi - invalid merlin to or copy' and calls cerr to abort the program.
💻 Technical Criteria
EXCLUDING
An email is being resent to the default user OM01247 after initial recipient failure
When
The resend operation return status flag indicates TO or COPY user not found
Then
The system sets error message 'EMI - INVALID MERLIN TO OR COPY' and calls CERR to abort the program
R-GCX126-cbl-00432
Resend Failed Email to OM01247
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Resend Failed Email to OM01247', assuming that an email is being resent after initial failure, when the resend operation return status flag indicates from user not found, the desired outcome is that the system sets error message 'emi - invalid merlin from' and calls cerr to abort the program.
💻 Technical Criteria
EXCLUDING
An email is being resent after initial failure
When
The resend operation return status flag indicates FROM user not found
Then
The system sets error message 'EMI - INVALID MERLIN FROM' and calls CERR to abort the program
R-GCX126-cbl-00433
Resend Failed Email to OM01247
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Resend Failed Email to OM01247', assuming that an email is being resent after initial failure, when the resend operation return status flag indicates filename is invalid, the desired outcome is that the system sets error message 'emi - invalid merlin filename' and calls cerr to abort the program.
💻 Technical Criteria
EXCLUDING
An email is being resent after initial failure
When
The resend operation return status flag indicates filename is invalid
Then
The system sets error message 'EMI - INVALID MERLIN FILENAME' and calls CERR to abort the program
R-GCX126-cbl-00435
Resend Failed Email to OM01247
Process Rules
📊 Business Logic Narrative
When the process 'Resend Failed Email to OM01247' is invoked, and assuming that an email has been resent successfully and the return status flag indicates no errors, when the resend operation completes without errors, the desired outcome is that the system calls cims with purg function to purge the alternate pcb message queue.
💻 Technical Criteria
Given
An email has been resent successfully and the return status flag indicates no errors
When
The resend operation completes without errors
Then
The system calls CIMS with PURG function to purge the alternate PCB message queue
R-GCX126-cbl-00683
FROM User Not Found Error
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'FROM User Not Found Error', assuming that an email notification is being sent with a from usercode, when the emcsend2 service returns emi-from-not-found status indicating the from usercode does not exist in the system, the desired outcome is that the system sets error message 'emi - invalid merlin from' and aborts the program execution.
💻 Technical Criteria
EXCLUDING
An email notification is being sent with a FROM usercode
When
The EMCSEND2 service returns EMI-FROM-NOT-FOUND status indicating the FROM usercode does not exist in the system
Then
The system sets error message 'EMI - INVALID MERLIN FROM' and aborts the program execution
R-GCX126-cbl-00690
Resend Failed Email to OM01247
Decision Rules
📊 Business Logic Narrative
When the process 'Resend Failed Email to OM01247' is invoked, and assuming that an email notification fails with emi-to-or-copy-not-found status, when the email type is 88-z110-mrln-type-is-unrlse, the desired outcome is that the system saves the to usercode at position 2 as the invalid merlin id, otherwise saves the to usercode at position 1 as the invalid merlin id.
💻 Technical Criteria
Given
An email notification fails with EMI-TO-OR-COPY-NOT-FOUND status
When
The email type is 88-Z110-MRLN-TYPE-IS-UNRLSE
Then
The system saves the TO usercode at position 2 as the invalid Merlin ID, otherwise saves the TO usercode at position 1 as the invalid Merlin ID
R-GCX126-cbl-00918
Purge IMS Message Queue
Process Rules
📊 Business Logic Narrative
When the process 'Purge IMS Message Queue' is invoked, and assuming that emcsend2 return status indicates no errors (emi-no-errors), when email send operation completes successfully, the desired outcome is that ims message queue is purged using purg function against alternate pcb.
💻 Technical Criteria
Given
EMCSEND2 return status indicates no errors (EMI-NO-ERRORS)
When
Email send operation completes successfully
Then
IMS message queue is purged using PURG function against alternate PCB
R-GCX126-cbl-00919
From User Not Found?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'From User Not Found?', assuming that emcsend2 return status is emi-from-not-found, when email send operation fails due to invalid sender usercode, the desired outcome is that system abends with error message 'emi - invalid merlin from'.
💻 Technical Criteria
EXCLUDING
EMCSEND2 return status is EMI-FROM-NOT-FOUND
When
Email send operation fails due to invalid sender usercode
Then
System abends with error message 'EMI - INVALID MERLIN FROM'
R-GCX126-cbl-00969
Call CCISCOM to Setup ISCOM
Action Rules
📊 Business Logic Narrative
When the process 'Call CCISCOM to Setup ISCOM' is invoked, and assuming that the system needs to send an email notification via emcsend2, when the email sending process is initiated, the desired outcome is that the system calls cciscom program with cccom and iscom parameters to setup the communication context.
💻 Technical Criteria
Given
The system needs to send an email notification via EMCSEND2
When
The email sending process is initiated
Then
The system calls CCISCOM program with CCCOM and ISCOM parameters to setup the communication context
R-GCX126-cbl-00971
Call ISCCCOM to Restore CCCOM
Action Rules
📊 Business Logic Narrative
When the process 'Call ISCCCOM to Restore CCCOM' is invoked, and assuming that the emcsend2 program has completed sending the email, when the email sending operation finishes, the desired outcome is that the system calls iscccom program with iscom and cccom parameters to restore the original communication context.
💻 Technical Criteria
Given
The EMCSEND2 program has completed sending the email
When
The email sending operation finishes
Then
The system calls ISCCCOM program with ISCOM and CCCOM parameters to restore the original communication context
R-GCX126-cbl-00972
No Errors: Purge IMS Message Queue
Process Rules
📊 Business Logic Narrative
When the process 'No Errors: Purge IMS Message Queue' is invoked, and assuming that the emcsend2 return status flag indicates no errors (emi-no-errors), when the email sending completes successfully, the desired outcome is that the system calls cims program with purg function code and alt-pcb to purge the message from the queue.
💻 Technical Criteria
Given
The EMCSEND2 return status flag indicates no errors (EMI-NO-ERRORS)
When
The email sending completes successfully
Then
The system calls CIMS program with PURG function code and ALT-PCB to purge the message from the queue
R-GCX126-cbl-00973
From User Not Found: Set Error Message 'EMI - INVALID MERLIN FROM'
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'From User Not Found: Set Error Message 'EMI - INVALID MERLIN FROM'', assuming that the emcsend2 return status flag indicates sender not found (emi-from-not-found), when the email sending fails due to invalid sender user code, the desired outcome is that the system sets error message to 'emi - invalid merlin from' in cccom error message field and calls cerr program to abort.
💻 Technical Criteria
EXCLUDING
The EMCSEND2 return status flag indicates sender not found (EMI-FROM-NOT-FOUND)
When
The email sending fails due to invalid sender user code
Then
The system sets error message to 'EMI - INVALID MERLIN FROM' in CCCOM error message field and calls CERR program to abort
R-GCX126-cbl-01026
No Errors - Email Sent Successfully
Process Rules
📊 Business Logic Narrative
When the process 'No Errors - Email Sent Successfully' is invoked, and assuming that an email notification has been processed through emcsend2, when the return status indicates no errors (emi-no-errors), the desired outcome is that the system purges the alternate message queue to complete the email transaction.
💻 Technical Criteria
Given
An email notification has been processed through EMCSEND2
When
The return status indicates no errors (EMI-NO-ERRORS)
Then
The system purges the alternate message queue to complete the email transaction
R-GCX126-cbl-01027
From User Not Found Error
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'From User Not Found Error', assuming that an email notification is being sent through emcsend2, when the return status indicates the from user was not found (emi-from-not-found), the desired outcome is that the system sets error message 'emi - invalid merlin from' and aborts the program.
💻 Technical Criteria
EXCLUDING
An email notification is being sent through EMCSEND2
When
The return status indicates the FROM user was not found (EMI-FROM-NOT-FOUND)
Then
The system sets error message 'EMI - INVALID MERLIN FROM' and aborts the program
R-GCX126-cbl-00926
Send Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Send Successful?' is invoked, and assuming that the email resend operation to om01247 has been attempted, when the email send service returns a status indicating no errors occurred, the desired outcome is that the system purges the ims alternate message queue.
💻 Technical Criteria
Given
The email resend operation to OM01247 has been attempted
When
The email send service returns a status indicating no errors occurred
Then
The system purges the IMS alternate message queue
R-GCX126-cbl-00927
Abend - Invalid FROM Usercode
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Abend - Invalid FROM Usercode', assuming that the email resend operation to om01247 has been attempted, when the email send service returns a status indicating the from usercode was not found, the desired outcome is that the system sets the error message to 'emi - invalid merlin from' and terminates processing abnormally.
💻 Technical Criteria
EXCLUDING
The email resend operation to OM01247 has been attempted
When
The email send service returns a status indicating the FROM usercode was not found
Then
The system sets the error message to 'EMI - INVALID MERLIN FROM' and terminates processing abnormally
R-GCX126-cbl-00928
Abend - Invalid TO/COPY Usercode
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Abend - Invalid TO/COPY Usercode', assuming that the email resend operation to om01247 has been attempted, when the email send service returns a status indicating the to or copy usercode was not found, the desired outcome is that the system sets the error message to 'emi - invalid merlin to or copy' and terminates processing abnormally.
💻 Technical Criteria
EXCLUDING
The email resend operation to OM01247 has been attempted
When
The email send service returns a status indicating the TO or COPY usercode was not found
Then
The system sets the error message to 'EMI - INVALID MERLIN TO OR COPY' and terminates processing abnormally
R-GCX126-cbl-00929
Abend - Invalid Filename
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Abend - Invalid Filename', assuming that the email resend operation to om01247 has been attempted, when the email send service returns a status indicating the filename is invalid, the desired outcome is that the system sets the error message to 'emi - invalid merlin filename' and terminates processing abnormally.
💻 Technical Criteria
EXCLUDING
The email resend operation to OM01247 has been attempted
When
The email send service returns a status indicating the filename is invalid
Then
The system sets the error message to 'EMI - INVALID MERLIN FILENAME' and terminates processing abnormally
R-GCX126-cbl-00980
Purge IMS Message Queue
Process Rules
📊 Business Logic Narrative
When the process 'Purge IMS Message Queue' is invoked, and assuming that an email has been successfully resent via emcsend2 with no errors, when the email send operation completes with emi-no-errors status, the desired outcome is that the system calls cims with purg function to purge the alternate pcb message queue.
💻 Technical Criteria
Given
An email has been successfully resent via EMCSEND2 with no errors
When
The email send operation completes with EMI-NO-ERRORS status
Then
The system calls CIMS with PURG function to purge the alternate PCB message queue
R-GCX126-cbl-00982
Abend: Invalid FROM Usercode
Validation Rules
📊 Business Logic Narrative
When the process 'Abend: Invalid FROM Usercode' is invoked, and assuming that an email resend is attempted via emcsend2, when emcsend2 returns emi-from-not-found status, the desired outcome is that the system sets error message to 'emi - invalid merlin from' and performs z900-abend to terminate processing.
💻 Technical Criteria
Given
An email resend is attempted via EMCSEND2
When
EMCSEND2 returns EMI-FROM-NOT-FOUND status
Then
The system sets error message to 'EMI - INVALID MERLIN FROM' and performs Z900-ABEND to terminate processing
R-GCX126-cbl-00983
Abend: Invalid TO/COPY Usercode
Validation Rules
📊 Business Logic Narrative
When the process 'Abend: Invalid TO/COPY Usercode' is invoked, and assuming that an email resend is attempted via emcsend2, when emcsend2 returns emi-to-or-copy-not-found status, the desired outcome is that the system sets error message to 'emi - invalid merlin to or copy' and performs z900-abend to terminate processing.
💻 Technical Criteria
Given
An email resend is attempted via EMCSEND2
When
EMCSEND2 returns EMI-TO-OR-COPY-NOT-FOUND status
Then
The system sets error message to 'EMI - INVALID MERLIN TO OR COPY' and performs Z900-ABEND to terminate processing
R-GCX126-cbl-00984
Abend: Invalid Filename
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Abend: Invalid Filename', assuming that an email resend is attempted via emcsend2, when emcsend2 returns emi-filename-invalid status, the desired outcome is that the system sets error message to 'emi - invalid merlin filename' and performs z900-abend to terminate processing.
💻 Technical Criteria
EXCLUDING
An email resend is attempted via EMCSEND2
When
EMCSEND2 returns EMI-FILENAME-INVALID status
Then
The system sets error message to 'EMI - INVALID MERLIN FILENAME' and performs Z900-ABEND to terminate processing
R-GCX126-cbl-00985
Clear TO Usercode Field
Process Rules
📊 Business Logic Narrative
When the process 'Clear TO Usercode Field' is invoked, and assuming that an email notification needs to be resent, when the resend process begins, the desired outcome is that the system moves spaces to emi-to-usercode to clear the field.
💻 Technical Criteria
Given
An email notification needs to be resent
When
The resend process begins
Then
The system moves SPACES to EMI-TO-USERCODE to clear the field
R-GCX126-cbl-01034
Call CCISCOM to Initialize ISCOM
Action Rules
📊 Business Logic Narrative
When the process 'Call CCISCOM to Initialize ISCOM' is invoked, and assuming that the system needs to send an email notification and cccom contains current session information, when the resend email process is initiated, the desired outcome is that the system calls cciscom with cccom and iscom parameters to initialize the communication control block for email operations.
💻 Technical Criteria
Given
The system needs to send an email notification and CCCOM contains current session information
When
The resend email process is initiated
Then
The system calls CCISCOM with CCCOM and ISCOM parameters to initialize the communication control block for email operations
R-GCX126-cbl-01036
Call ISCCCOM to Restore CCCOM
Action Rules
📊 Business Logic Narrative
When the process 'Call ISCCCOM to Restore CCCOM' is invoked, and assuming that the emcsend2 call has completed and iscom contains updated communication information, when the email send operation finishes, the desired outcome is that the system calls iscccom with iscom and cccom parameters to restore the communication control block state.
💻 Technical Criteria
Given
The EMCSEND2 call has completed and ISCOM contains updated communication information
When
The email send operation finishes
Then
The system calls ISCCCOM with ISCOM and CCCOM parameters to restore the communication control block state
R-GCX126-cbl-01037
Purge IMS Message Queue
Process Rules
📊 Business Logic Narrative
When the process 'Purge IMS Message Queue' is invoked, and assuming that the email notification was sent through emcsend2 and the return status flag indicates no errors (emi-no-errors), when the system evaluates the email send result, the desired outcome is that the system calls cims with cccom, purg function, and alt-pcb to purge the message from the ims queue.
💻 Technical Criteria
Given
The email notification was sent through EMCSEND2 and the return status flag indicates no errors (EMI-NO-ERRORS)
When
The system evaluates the email send result
Then
The system calls CIMS with CCCOM, PURG function, and ALT-PCB to purge the message from the IMS queue
R-GCX126-cbl-01038
Set Error: Invalid Merlin FROM
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Error: Invalid Merlin FROM', assuming that the emcsend2 call completed and the return status flag indicates the sender user code was not found (emi-from-not-found), when the system evaluates the email send result, the desired outcome is that the system moves 'emi - invalid merlin from' to the error message field in cccom and performs the abend routine (z900-abend).
💻 Technical Criteria
EXCLUDING
The EMCSEND2 call completed and the return status flag indicates the sender user code was not found (EMI-FROM-NOT-FOUND)
When
The system evaluates the email send result
Then
The system moves 'EMI - INVALID MERLIN FROM' to the error message field in CCCOM and performs the abend routine (Z900-ABEND)
R-GCX126-cbl-01039
Set Error: Invalid Merlin TO or COPY
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Error: Invalid Merlin TO or COPY', assuming that the emcsend2 call completed and the return status flag indicates the recipient or copy user code was not found (emi-to-or-copy-not-found), when the system evaluates the email send result, the desired outcome is that the system moves 'emi - invalid merlin to or copy' to the error message field in cccom and performs the abend routine (z900-abend).
💻 Technical Criteria
EXCLUDING
The EMCSEND2 call completed and the return status flag indicates the recipient or copy user code was not found (EMI-TO-OR-COPY-NOT-FOUND)
When
The system evaluates the email send result
Then
The system moves 'EMI - INVALID MERLIN TO OR COPY' to the error message field in CCCOM and performs the abend routine (Z900-ABEND)
R-GCX126-cbl-01043
Abort with Error Message: EMI - INVALID MERLIN FROM
Validation Rules
📊 Business Logic Narrative
When the process 'Abort with Error Message: EMI - INVALID MERLIN FROM' is invoked, and assuming that an email notification has been attempted via emcsend2, when the return status flag indicates emi-from-not-found, the desired outcome is that the system sets the error message to 'emi - invalid merlin from' and aborts processing.
💻 Technical Criteria
Given
An email notification has been attempted via EMCSEND2
When
The return status flag indicates EMI-FROM-NOT-FOUND
Then
The system sets the error message to 'EMI - INVALID MERLIN FROM' and aborts processing
R-GCX126-cbl-01049
Abort with Error Message: EMI - INVALID MERLIN TO OR COPY
Validation Rules
📊 Business Logic Narrative
When the process 'Abort with Error Message: EMI - INVALID MERLIN TO OR COPY' is invoked, and assuming that a notification resend has been attempted with the corrected default user om01247, when the resend operation fails with a status other than emi-no-errors, the desired outcome is that the system sets the error message to 'emi - invalid merlin to or copy' and aborts processing.
💻 Technical Criteria
Given
A notification resend has been attempted with the corrected default user OM01247
When
The resend operation fails with a status other than EMI-NO-ERRORS
Then
The system sets the error message to 'EMI - INVALID MERLIN TO OR COPY' and aborts processing
R-GCX126-cbl-01050
Abort with Error Message: EMI - INVALID MERLIN FILENAME
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Abort with Error Message: EMI - INVALID MERLIN FILENAME', assuming that an email notification has been attempted via emcsend2, when the return status flag indicates emi-filename-invalid, the desired outcome is that the system sets the error message to 'emi - invalid merlin filename' and aborts processing.
💻 Technical Criteria
EXCLUDING
An email notification has been attempted via EMCSEND2
When
The return status flag indicates EMI-FILENAME-INVALID
Then
The system sets the error message to 'EMI - INVALID MERLIN FILENAME' and aborts processing
R-GCX126-cbl-00438
Save Failed Recipient ID
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Save Failed Recipient ID', assuming that an email send has failed with emi-to-or-copy-not-found error status, when the system needs to identify the invalid recipient, the desired outcome is that if the message type is unrelease (88-z110-mrln-type-is-unrlse), save emi-to-usercodes(02) as the bad merlin id, otherwise save emi-to-usercodes(01) as the bad merlin id.
💻 Technical Criteria
EXCLUDING
An email send has failed with EMI-TO-OR-COPY-NOT-FOUND error status
When
The system needs to identify the invalid recipient
Then
If the message type is unrelease (88-Z110-MRLN-TYPE-IS-UNRLSE), save EMI-TO-USERCODES(02) as the bad Merlin ID, otherwise save EMI-TO-USERCODES(01) as the bad Merlin ID
R-GCX126-cbl-00447
Abend: Invalid FROM User
Validation Rules
📊 Business Logic Narrative
When the process 'Abend: Invalid FROM User' is invoked, and assuming that the emcsend2 program has returned with emi-from-not-found status, when the system evaluates the return status in z116-resend-merlin, the desired outcome is that move 'emi - invalid merlin from' to cc-error-message and call cerr program to abend the transaction.
💻 Technical Criteria
Given
The EMCSEND2 program has returned with EMI-FROM-NOT-FOUND status
When
The system evaluates the return status in Z116-RESEND-MERLIN
Then
Move 'EMI - INVALID MERLIN FROM' to CC-ERROR-MESSAGE and call CERR program to abend the transaction
R-GCX126-cbl-00448
Abend: Invalid TO/COPY User
Validation Rules
📊 Business Logic Narrative
When the process 'Abend: Invalid TO/COPY User' is invoked, and assuming that the emcsend2 program has returned with emi-to-or-copy-not-found status, when the system evaluates the return status in z116-resend-merlin, the desired outcome is that move 'emi - invalid merlin to or copy' to cc-error-message and call cerr program to abend the transaction.
💻 Technical Criteria
Given
The EMCSEND2 program has returned with EMI-TO-OR-COPY-NOT-FOUND status
When
The system evaluates the return status in Z116-RESEND-MERLIN
Then
Move 'EMI - INVALID MERLIN TO OR COPY' to CC-ERROR-MESSAGE and call CERR program to abend the transaction
R-GCX126-cbl-00449
Abend: Invalid Filename
Validation Rules
📊 Business Logic Narrative
When the process 'Abend: Invalid Filename' is invoked, and assuming that the emcsend2 program has returned with emi-filename-invalid status, when the system evaluates the return status in z116-resend-merlin, the desired outcome is that move 'emi - invalid merlin filename' to cc-error-message and call cerr program to abend the transaction.
💻 Technical Criteria
Given
The EMCSEND2 program has returned with EMI-FILENAME-INVALID status
When
The system evaluates the return status in Z116-RESEND-MERLIN
Then
Move 'EMI - INVALID MERLIN FILENAME' to CC-ERROR-MESSAGE and call CERR program to abend the transaction
R-GCX126-cbl-00454
Move Retrieved Segment to MC Segment Structure, Extract Merlin Email ID from MC Segment
Decision Rules
📊 Business Logic Narrative
When the process 'Move Retrieved Segment to MC Segment Structure, Extract Merlin Email ID from MC Segment' is invoked, and assuming that the gcctbio service has been called to retrieve the mc segment, when the return flag (gcctbio-return-flag) equals '0' indicating successful retrieval, the desired outcome is that the retrieved segment (ws-table-segment) should be moved to the mc segment structure (gcstbrt-mc-segment), making the merlin email id (gcstbrt-mc-merlin-id) available for use in notification routing.
💻 Technical Criteria
Given
The GCCTBIO service has been called to retrieve the MC segment
When
The return flag (GCCTBIO-RETURN-FLAG) equals '0' indicating successful retrieval
Then
The retrieved segment (WS-TABLE-SEGMENT) should be moved to the MC segment structure (GCSTBRT-MC-SEGMENT), making the Merlin email ID (GCSTBRT-MC-MERLIN-ID) available for use in notification routing
R-GCX126-cbl-00455
Clear MC Segment Set to Spaces
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Clear MC Segment Set to Spaces', assuming that the gcctbio service has been called to retrieve the mc segment, when the return flag (gcctbio-return-flag) does not equal '0' indicating retrieval failure, the desired outcome is that the mc segment structure (gcstbrt-mc-segment) should be cleared to spaces, indicating that no merlin email id is available for the manifest-to station.
💻 Technical Criteria
EXCLUDING
The GCCTBIO service has been called to retrieve the MC segment
When
The return flag (GCCTBIO-RETURN-FLAG) does not equal '0' indicating retrieval failure
Then
The MC segment structure (GCSTBRT-MC-SEGMENT) should be cleared to spaces, indicating that no Merlin email ID is available for the manifest-to station
R-GCX126-cbl-00457
Format Date and Time
Computation Rules
📊 Business Logic Narrative
When the process 'Format Date and Time' is invoked, and assuming that the log information structure has been initialized with security and transaction details, when date and time formatting is performed, the desired outcome is that the log date should be formatted by concatenating machine century and machine date, and the log time should be set to the machine time.
💻 Technical Criteria
Given
The log information structure has been initialized with security and transaction details
When
Date and time formatting is performed
Then
The log date should be formatted by concatenating machine century and machine date, and the log time should be set to the machine time
R-GCX126-cbl-00461
Set Message Text
Process Rules
📊 Business Logic Narrative
When the process 'Set Message Text' is invoked, and assuming that the action code has been set to log-use-input-message, when the message text is being populated, the desired outcome is that the information message content should be moved to the log message field.
💻 Technical Criteria
Given
The action code has been set to LOG-USE-INPUT-MESSAGE
When
The message text is being populated
Then
The information message content should be moved to the log message field
R-GCX126-cbl-00465
Change Alternate PCB Status
Action Rules
📊 Business Logic Narrative
When the process 'Change Alternate PCB Status' is invoked, and assuming that the log data has been transferred to the gct1051e message structure, when the alternate pcb status is being changed, the desired outcome is that the cims program should be called with chng function for the alternate pcb using the gct1051e message.
💻 Technical Criteria
Given
The log data has been transferred to the GCT1051E message structure
When
The alternate PCB status is being changed
Then
The CIMS program should be called with CHNG function for the alternate PCB using the GCT1051E message
R-GCX126-cbl-00466
Call WRITMSGL to Write Message
Action Rules
📊 Business Logic Narrative
When the process 'Call WRITMSGL to Write Message' is invoked, and assuming that the alternate pcb status has been changed successfully, when the message writing is invoked, the desired outcome is that the writmsgl program should be called with the common control area, alternate pcb, message code, message text, message length, and module name parameters.
💻 Technical Criteria
Given
The alternate PCB status has been changed successfully
When
The message writing is invoked
Then
The WRITMSGL program should be called with the common control area, alternate PCB, message code, message text, message length, and module name parameters
R-GCX126-cbl-00467
Purge Alternate PCB
Action Rules
📊 Business Logic Narrative
When the process 'Purge Alternate PCB' is invoked, and assuming that the log message has been written using writmsgl, when the alternate pcb is being purged, the desired outcome is that the cims program should be called with purg function for the alternate pcb to complete the logging transaction.
💻 Technical Criteria
Given
The log message has been written using WRITMSGL
When
The alternate PCB is being purged
Then
The CIMS program should be called with PURG function for the alternate PCB to complete the logging transaction
R-GCX126-cbl-00702
Set End of Database Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set End of Database Flag' is invoked, and assuming that the database retrieval operation returned a non-blank status code, when processing the error condition, the desired outcome is that set the end of file flag to true to stop further search iterations.
💻 Technical Criteria
Given
The database retrieval operation returned a non-blank status code
When
Processing the error condition
Then
Set the end of file flag to true to stop further search iterations
🚂 Equipment & Cargo Specs
309 logic blocks
R-GCX126-cbl-00001
1:Initialize Program Configuration
Process Rules
📊 Business Logic Narrative
When the process '1:Initialize Program Configuration' is invoked, and assuming that the program gcx126 starts execution, when initialization is performed, the desired outcome is that set log index to 1, clear remark index, clear log array, clear previous crn, set all segment flags to not found, set cargo not found flag, initialize line counters, set from usercode to 'om01247', set accept status to 'ge', initialize all segment structures (m10, p4, v9, k1, x4, n7), retrieve admin table with table id 'ad' and sequence id 'adminid', if admin segment found then set merlin recipient to admin dc merlin 1 value, format machine date and time from system values, initialize date conversion parameters, convert machine date to julian format, read message queue, connect to mq manager, and open mq queue.
💻 Technical Criteria
Given
The program GCX126 starts execution
When
Initialization is performed
Then
Set log index to 1, clear remark index, clear log array, clear previous CRN, set all segment flags to not found, set cargo not found flag, initialize line counters, set from usercode to 'OM01247', set accept status to 'GE', initialize all segment structures (M10, P4, V9, K1, X4, N7), retrieve admin table with table ID 'AD' and sequence ID 'ADMINID', if admin segment found then set Merlin recipient to admin DC Merlin 1 value, format machine date and time from system values, initialize date conversion parameters, convert machine date to Julian format, read message queue, connect to MQ manager, and open MQ queue
R-GCX126-cbl-00004
3:Determine Message Type
Decision Rules
📊 Business Logic Narrative
When the process '3:Determine Message Type' is invoked, and assuming that a valid edi 350 message has been loaded, when message header is examined, the desired outcome is that if mqs cross-way header positions 1 through 10 equal '+++3505040' then set conveyance 350 flag to true, else set cargo 350 flag to true.
💻 Technical Criteria
Given
A valid EDI 350 message has been loaded
When
Message header is examined
Then
If MQS cross-way header positions 1 through 10 equal '+++3505040' then set conveyance 350 flag to true, else set cargo 350 flag to true
R-GCX126-cbl-00005
4:Parse EDI Segments and Segment Type?
Process Rules
📊 Business Logic Narrative
When the process '4:Parse EDI Segments and Segment Type?' is invoked, and assuming that message has been validated and type determined, when each message line is processed, the desired outcome is that if table id is 'st' then set header found and first x4 flags, else if table id is 'm10' then perform m10 segment processing, else if table id is 'p4' then perform p4 segment processing, else if table id is 'v9' then perform v9 segment processing, else if table id is 'vid' then continue, else if table id is 'k1' then perform k1 segment processing, else if table id is 'x4' then initialize k1 comments and perform x4 segment processing, else if table id is 'n7' then perform n7 segment processing, else if table id is 'se' then set trailer found and end found flags and perform rest of message processing.
💻 Technical Criteria
Given
Message has been validated and type determined
When
Each message line is processed
Then
If table ID is 'ST' then set header found and first X4 flags, else if table ID is 'M10' then perform M10 segment processing, else if table ID is 'P4' then perform P4 segment processing, else if table ID is 'V9' then perform V9 segment processing, else if table ID is 'VID' then continue, else if table ID is 'K1' then perform K1 segment processing, else if table ID is 'X4' then initialize K1 comments and perform X4 segment processing, else if table ID is 'N7' then perform N7 segment processing, else if table ID is 'SE' then set trailer found and end found flags and perform rest of message processing
R-GCX126-cbl-00010
9:Process N7 Equipment Segment
Process Rules
📊 Business Logic Narrative
When the process '9:Process N7 Equipment Segment' is invoked, and assuming that message line contains n7 segment identifier, when n7 segment is processed, the desired outcome is that set n7 segment found flag to true, initialize n7 segment structure, move table entry to n7 segment structure, if n7 equipment number is not spaces then move equipment number to log data at current log index with type 'edi 350 eqp#:' and add 1 to log index.
💻 Technical Criteria
Given
Message line contains N7 segment identifier
When
N7 segment is processed
Then
Set N7 segment found flag to true, initialize N7 segment structure, move table entry to N7 segment structure, if N7 equipment number is not spaces then move equipment number to log data at current log index with type 'EDI 350 EQP#:' and add 1 to log index
R-GCX126-cbl-00015
14:Log K1 Remarks
Process Rules
📊 Business Logic Narrative
When the process '14:Log K1 Remarks' is invoked, and assuming that se trailer segment has been processed and k1 segment found flag is true, when rest of message processing is performed, the desired outcome is that perform varying index from 1 by 1 until index exceeds k1 remark index: if k1 remark for x4 at index is not spaces then initialize k1 segment, move k1 remark for x4 at index to k1 segment, clear info message, concatenate 'edi 350 k1: ' with k1 free form message 1 into info message, perform log cargo info message, if k1 free form message 2 is not spaces then clear info message, concatenate 'edi 350 k1: ' with k1 free form message 2 into info message, and perform log cargo info message.
💻 Technical Criteria
Given
SE trailer segment has been processed and K1 segment found flag is true
When
Rest of message processing is performed
Then
Perform varying index from 1 by 1 until index exceeds K1 remark index: if K1 remark for X4 at index is not spaces then initialize K1 segment, move K1 remark for X4 at index to K1 segment, clear info message, concatenate 'EDI 350 K1: ' with K1 free form message 1 into info message, perform log cargo info message, if K1 free form message 2 is not spaces then clear info message, concatenate 'EDI 350 K1: ' with K1 free form message 2 into info message, and perform log cargo info message
R-GCX126-cbl-00016
15:Log N7 Equipment Information
Process Rules
📊 Business Logic Narrative
When the process '15:Log N7 Equipment Information' is invoked, and assuming that se trailer segment has been processed and n7 segment found flag is true, when rest of message processing is performed, the desired outcome is that perform varying log index from 1 by 1 until log line at index is spaces or log index exceeds 50: clear info message, move log line at index to info message, and perform log cargo info message.
💻 Technical Criteria
Given
SE trailer segment has been processed and N7 segment found flag is true
When
Rest of message processing is performed
Then
Perform varying log index from 1 by 1 until log line at index is spaces or log index exceeds 50: clear info message, move log line at index to info message, and perform log cargo info message
R-GCX126-cbl-00021
20:Process Document Not Matched
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '20:Process Document Not Matched', assuming that cargo has been found and v9 notice reason indicates not matched, when cargo processing is performed, the desired outcome is that clear info message, move 'edi 350: doc not matched ' to info message, and perform log cargo info message.
💻 Technical Criteria
EXCLUDING
Cargo has been found and V9 notice reason indicates not matched
When
Cargo processing is performed
Then
Clear info message, move 'EDI 350: DOC NOT MATCHED ' to info message, and perform log cargo info message
R-GCX126-cbl-00022
21:Process Cargo Complete
Process Rules
📊 Business Logic Narrative
When the process '21:Process Cargo Complete' is invoked, and assuming that cargo has been found and v9 notice reason indicates cargo complete, when cargo processing is performed, the desired outcome is that clear info message, move 'edi 350: cargo complete message ' to info message, and perform log cargo info message.
💻 Technical Criteria
Given
Cargo has been found and V9 notice reason indicates cargo complete
When
Cargo processing is performed
Then
Clear info message, move 'EDI 350: CARGO COMPLETE MESSAGE ' to info message, and perform log cargo info message
R-GCX126-cbl-00023
22:Process Document Package Complete
Process Rules
📊 Business Logic Narrative
When the process '22:Process Document Package Complete' is invoked, and assuming that cargo has been found and v9 notice reason indicates document package complete, when cargo processing is performed, the desired outcome is that if x4 cbsa release reference id positions 1 through 15 not equal cargo broker entry positions 1 through 15 or x4 cbsa release reference id positions 1 through 14 not equal cargo customs transaction number positions 1 through 14, and x4 cbsa release reference id is not spaces, then move x4 cbsa release reference id positions 1 through 15 to cargo broker entry, move x4 cbsa release reference id positions 1 through 14 to cargo customs transaction number, move machine date to cargo broker date, move machine time positions 1 through 4 to cargo broker time, clear info message, concatenate 'edi 350: doc pkg complete : ' with x4 cbsa release reference id positions 1 through 15 into info message, perform log cargo info message, and perform cargo replace.
💻 Technical Criteria
Given
Cargo has been found and V9 notice reason indicates document package complete
When
Cargo processing is performed
Then
If X4 CBSA release reference ID positions 1 through 15 not equal cargo broker entry positions 1 through 15 or X4 CBSA release reference ID positions 1 through 14 not equal cargo customs transaction number positions 1 through 14, and X4 CBSA release reference ID is not spaces, then move X4 CBSA release reference ID positions 1 through 15 to cargo broker entry, move X4 CBSA release reference ID positions 1 through 14 to cargo customs transaction number, move machine date to cargo broker date, move machine time positions 1 through 4 to cargo broker time, clear info message, concatenate 'EDI 350: DOC PKG COMPLETE : ' with X4 CBSA release reference ID positions 1 through 15 into info message, perform log cargo info message, and perform cargo replace
R-GCX126-cbl-00024
23:Process Document Not On File
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '23:Process Document Not On File', assuming that cargo has been found and v9 notice reason indicates document not on file, when cargo processing is performed, the desired outcome is that clear info message, if x4 release document type code position 1 equals 'r' then concatenate 'edi 350: doc not on file for release ' with x4 cbsa release reference id positions 1 through 15 into info message and perform log cargo info message, else concatenate 'edi 350:doc not on file h-bill close ' with x4 cbsa release reference id positions 1 through 25 into info message and perform log cargo info message.
💻 Technical Criteria
EXCLUDING
Cargo has been found and V9 notice reason indicates document not on file
When
Cargo processing is performed
Then
Clear info message, if X4 release document type code position 1 equals 'R' then concatenate 'EDI 350: DOC NOT ON FILE FOR RELEASE ' with X4 CBSA release reference ID positions 1 through 15 into info message and perform log cargo info message, else concatenate 'EDI 350:DOC NOT ON FILE H-BILL CLOSE ' with X4 CBSA release reference ID positions 1 through 25 into info message and perform log cargo info message
R-GCX126-cbl-00025
24:Process Cargo Reported
Process Rules
📊 Business Logic Narrative
When the process '24:Process Cargo Reported' is invoked, and assuming that cargo has been found and v9 notice reason indicates reported, when cargo processing is performed, the desired outcome is that clear info message, concatenate 'edi 350: cargo reported ' into info message, and perform log cargo info message.
💻 Technical Criteria
Given
Cargo has been found and V9 notice reason indicates reported
When
Cargo processing is performed
Then
Clear info message, concatenate 'EDI 350: CARGO REPORTED ' into info message, and perform log cargo info message
R-GCX126-cbl-00026
25:Process Cargo Arrived
Process Rules
📊 Business Logic Narrative
When the process '25:Process Cargo Arrived' is invoked, and assuming that cargo has been found and v9 notice reason indicates arrived, when cargo processing is performed, the desired outcome is that clear info message, concatenate 'edi 350: cargo arrived at port ' with p4 port code positions 1 through 4 into info message, and perform log cargo info message.
💻 Technical Criteria
Given
Cargo has been found and V9 notice reason indicates arrived
When
Cargo processing is performed
Then
Clear info message, concatenate 'EDI 350: CARGO ARRIVED AT PORT ' with P4 port code positions 1 through 4 into info message, and perform log cargo info message
R-GCX126-cbl-00028
27:Process Authorized to Deliver
Decision Rules
📊 Business Logic Narrative
When the process '27:Process Authorized to Deliver' is invoked, and assuming that cargo has been found and v9 notice reason indicates authorized to deliver, when cargo processing is performed, the desired outcome is that if cargo csa indicator is on then move 'edi 350: accepted - csa' to info message, perform log cargo info message, set cargo status to csa delivery, set cargo csa authorization to deliver received flag to true, and perform cargo replace, else move 'edi 350: not accepted - non-csa' to info message and perform log cargo info message, then perform process us manifest.
💻 Technical Criteria
Given
Cargo has been found and V9 notice reason indicates authorized to deliver
When
Cargo processing is performed
Then
If cargo CSA indicator is on then move 'EDI 350: ACCEPTED - CSA' to info message, perform log cargo info message, set cargo status to CSA delivery, set cargo CSA authorization to deliver received flag to true, and perform cargo replace, else move 'EDI 350: NOT ACCEPTED - NON-CSA' to info message and perform log cargo info message, then perform process US manifest
R-GCX126-cbl-00031
30:Set Release Information
Process Rules
📊 Business Logic Narrative
When the process '30:Set Release Information' is invoked, and assuming that cargo is being released or deconsolidated, when release information setting is performed, the desired outcome is that clear cargo destination station number index, clear cargo destination station number for index, move machine date to cargo release date, move machine time to cargo release time, move acf2 user id to cargo release by, move 'released' to cargo current status, move 'r' to cargo release status, move 'a' to cargo release type, clear cargo release reason, clear cargo error or release status index, and clear cargo error status.
💻 Technical Criteria
Given
Cargo is being released or deconsolidated
When
Release information setting is performed
Then
Clear cargo destination station number index, clear cargo destination station number for index, move machine date to cargo release date, move machine time to cargo release time, move ACF2 user ID to cargo release by, move 'RELEASED' to cargo current status, move 'R' to cargo release status, move 'A' to cargo release type, clear cargo release reason, clear cargo error or release status index, and clear cargo error status
R-GCX126-cbl-00033
32:Process CSA Authorization
Decision Rules
📊 Business Logic Narrative
When the process '32:Process CSA Authorization' is invoked, and assuming that v9 notice reason indicates authorized to deliver, when csa authorization processing is performed, the desired outcome is that if cargo csa indicator is on then move 'edi 350: accepted - csa' to info message, perform log cargo info message, set cargo status to csa delivery, set cargo csa authorization to deliver received flag to true, and perform cargo replace, else move 'edi 350: not accepted - non-csa' to info message and perform log cargo info message.
💻 Technical Criteria
Given
V9 notice reason indicates authorized to deliver
When
CSA authorization processing is performed
Then
If cargo CSA indicator is on then move 'EDI 350: ACCEPTED - CSA' to info message, perform log cargo info message, set cargo status to CSA delivery, set cargo CSA authorization to deliver received flag to true, and perform cargo replace, else move 'EDI 350: NOT ACCEPTED - NON-CSA' to info message and perform log cargo info message
R-GCX126-cbl-00039
Initialize Segment Flags
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Segment Flags' is invoked, and assuming that the program is initializing for message processing, when segment flags are being initialized, the desired outcome is that ws-no-header-found, ws-no-trailer-found, ws-no-m10-seg-found, ws-no-p4-seg-found, ws-no-n7-seg-found, ws-no-x4-seg-found, ws-no-k1-seg-found, ws-no-v9-seg-found, ws-no-end-found, and ws-cargo-not-found are all set to true.
💻 Technical Criteria
Given
The program is initializing for message processing
When
Segment flags are being initialized
Then
WS-NO-HEADER-FOUND, WS-NO-TRAILER-FOUND, WS-NO-M10-SEG-FOUND, WS-NO-P4-SEG-FOUND, WS-NO-N7-SEG-FOUND, WS-NO-X4-SEG-FOUND, WS-NO-K1-SEG-FOUND, WS-NO-V9-SEG-FOUND, WS-NO-END-FOUND, and WS-CARGO-NOT-FOUND are all set to TRUE
R-GCX126-cbl-00069
First 10 Characters = '+++3505040'?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'First 10 Characters = '+++3505040'?', assuming that an edi 350 message has been retrieved from the mq queue with a message header field mqs-xway-hdr, when the first 10 characters of mqs-xway-hdr do not equal '+++3505040', the desired outcome is that set the message type indicator ws-cargo-350 to true to identify this as a cargo edi 350 message.
💻 Technical Criteria
EXCLUDING
An EDI 350 message has been retrieved from the MQ queue with a message header field MQS-XWAY-HDR
When
The first 10 characters of MQS-XWAY-HDR do NOT equal '+++3505040'
Then
Set the message type indicator WS-CARGO-350 to TRUE to identify this as a Cargo EDI 350 message
R-GCX126-cbl-00077
N7 - Equipment Extract Equipment Number Store in Log Array
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'N7 - Equipment Extract Equipment Number Store in Log Array', assuming that an edi 350 message is being parsed and an n7 segment is encountered, when the current segment table id equals 'n7 ' and the equipment number field is not spaces, the desired outcome is that set the n7 segment found flag to true, initialize the n7 segment structure, move the n7 table entry data into the n7 segment structure, move the equipment number to the log data array at the current log index position with log type 'edi 350 eqp#:', and increment the log index by 1.
💻 Technical Criteria
EXCLUDING
An EDI 350 message is being parsed and an N7 segment is encountered
When
The current segment table ID equals 'N7 ' and the equipment number field is not spaces
Then
Set the N7 segment found flag to TRUE, initialize the N7 segment structure, move the N7 table entry data into the N7 segment structure, move the equipment number to the log data array at the current log index position with log type 'EDI 350 EQP#:', and increment the log index by 1
R-GCX126-cbl-00078
SE - Transaction Set Trailer Set Trailer Found Flag Set End Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'SE - Transaction Set Trailer Set Trailer Found Flag Set End Found Flag' is invoked, and assuming that an edi 350 message is being parsed and an se segment is encountered, when the current segment table id equals 'se ', the desired outcome is that set the trailer found flag to true, set the end found flag to true, and perform the rest of message processing which includes logging all k1 remarks and n7 equipment numbers to the cargo information message log.
💻 Technical Criteria
Given
An EDI 350 message is being parsed and an SE segment is encountered
When
The current segment table ID equals 'SE '
Then
Set the trailer found flag to TRUE, set the end found flag to TRUE, and perform the rest of message processing which includes logging all K1 remarks and N7 equipment numbers to the cargo information message log
R-GCX126-cbl-00079
Trigger 350 Message Processing
Decision Rules
📊 Business Logic Narrative
When the process 'Trigger 350 Message Processing' is invoked, and assuming that edi segments are being parsed and both x4 and v9 segments have been successfully processed, when the x4 segment found flag is true and the v9 segment found flag is true and the first x4 flag is true, the desired outcome is that set the first x4 flag to false (not first x4) and perform the 350 message processing routine which evaluates the v9 notice reason code and updates cargo records based on the customs action type.
💻 Technical Criteria
Given
EDI segments are being parsed and both X4 and V9 segments have been successfully processed
When
The X4 segment found flag is TRUE and the V9 segment found flag is TRUE and the first X4 flag is TRUE
Then
Set the first X4 flag to FALSE (not first X4) and perform the 350 message processing routine which evaluates the V9 notice reason code and updates cargo records based on the customs action type
R-GCX126-cbl-00080
Trigger 350 Message Processing
Decision Rules
📊 Business Logic Narrative
When the process 'Trigger 350 Message Processing' is invoked, and assuming that edi segments are being parsed and the v9 segment has been processed and the se segment has been encountered, when the v9 segment found flag is true and the first x4 flag is true and the end found flag is true, the desired outcome is that set the first x4 flag to false (not first x4) and perform the 350 message processing routine which evaluates the v9 notice reason code and updates cargo records based on the customs action type.
💻 Technical Criteria
Given
EDI segments are being parsed and the V9 segment has been processed and the SE segment has been encountered
When
The V9 segment found flag is TRUE and the first X4 flag is TRUE and the end found flag is TRUE
Then
Set the first X4 flag to FALSE (not first X4) and perform the 350 message processing routine which evaluates the V9 notice reason code and updates cargo records based on the customs action type
R-GCX126-cbl-00082
X4 - Release/Disposition Extract Release Reference Extract Date and Time
Decision Rules
📊 Business Logic Narrative
When the process 'X4 - Release/Disposition Extract Release Reference Extract Date and Time' is invoked, and assuming that an x4 segment is being processed with entry type code equal to '992' and the message type is conventional 350, when the related document id (crn) in positions 1-25 is different from the previous crn, the desired outcome is that move the related document id to the train key value and the previous crn field, perform train lookup by crn. if train is not found, prepare an unknown train notification message with the crn and send it. if train is found, log the arrival acknowledgment at border message, create a log entry with action code 'zzz', train crn, and message '350 ack - arrival ack at border', and spawn the log entry. then move the cbsa release reference id to the cargo key value and perform cargo border update processing. if the cargo is a master manifest, retrieve all follower manifests (maximum 100) linked to the master and update each follower with border arrival acknowledgment.
💻 Technical Criteria
Given
An X4 segment is being processed with entry type code equal to '992' and the message type is conventional 350
When
The related document ID (CRN) in positions 1-25 is different from the previous CRN
Then
Move the related document ID to the train key value and the previous CRN field, perform train lookup by CRN. If train is not found, prepare an unknown train notification message with the CRN and send it. If train is found, log the arrival acknowledgment at border message, create a log entry with action code 'ZZZ', train CRN, and message '350 ACK - ARRIVAL ACK AT BORDER', and spawn the log entry. Then move the CBSA release reference ID to the cargo key value and perform cargo border update processing. If the cargo is a master manifest, retrieve all follower manifests (maximum 100) linked to the master and update each follower with border arrival acknowledgment
R-GCX126-cbl-00083
X4 - Release/Disposition Extract Release Reference Extract Date and Time
Validation Rules
📊 Business Logic Narrative
When the process 'X4 - Release/Disposition Extract Release Reference Extract Date and Time' is invoked, and assuming that an x4 segment is being processed with entry type code equal to '992' and the message type is conventional 350, when the related document id (crn) in positions 1-25 equals the previous crn, the desired outcome is that continue to the next segment without performing any train or cargo processing.
💻 Technical Criteria
Given
An X4 segment is being processed with entry type code equal to '992' and the message type is conventional 350
When
The related document ID (CRN) in positions 1-25 equals the previous CRN
Then
Continue to the next segment without performing any train or cargo processing
R-GCX126-cbl-00085
SE - Transaction Set Trailer Set Trailer Found Flag Set End Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'SE - Transaction Set Trailer Set Trailer Found Flag Set End Found Flag' is invoked, and assuming that the se segment is being processed and the k1 segment found flag is true, when the remark index is greater than 0 and there are k1 remarks stored in the remark array, the desired outcome is that for each remark from index 1 to the remark index, if the remark is not spaces, initialize the k1 segment structure, move the remark to the k1 segment, initialize the information message field, concatenate 'edi 350 k1: ' with the first free-form message field and move to the information message field, and log the cargo information message. if the second free-form message field is not spaces, initialize the information message field, concatenate 'edi 350 k1: ' with the second free-form message field and move to the information message field, and log the cargo information message.
💻 Technical Criteria
Given
The SE segment is being processed and the K1 segment found flag is TRUE
When
The remark index is greater than 0 and there are K1 remarks stored in the remark array
Then
For each remark from index 1 to the remark index, if the remark is not spaces, initialize the K1 segment structure, move the remark to the K1 segment, initialize the information message field, concatenate 'EDI 350 K1: ' with the first free-form message field and move to the information message field, and log the cargo information message. If the second free-form message field is not spaces, initialize the information message field, concatenate 'EDI 350 K1: ' with the second free-form message field and move to the information message field, and log the cargo information message
R-GCX126-cbl-00086
SE - Transaction Set Trailer Set Trailer Found Flag Set End Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'SE - Transaction Set Trailer Set Trailer Found Flag Set End Found Flag' is invoked, and assuming that the se segment is being processed and the n7 segment found flag is true, when there are log entries in the log array from index 1 to 50, the desired outcome is that for each log line from index 1 until the log line is spaces or index exceeds 50, initialize the information message field, move the log line to the information message field, and log the cargo information message.
💻 Technical Criteria
Given
The SE segment is being processed and the N7 segment found flag is TRUE
When
There are log entries in the log array from index 1 to 50
Then
For each log line from index 1 until the log line is spaces or index exceeds 50, initialize the information message field, move the log line to the information message field, and log the cargo information message
R-GCX126-cbl-00520
Is Conveyance 350 AND Entry Type = 992?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Conveyance 350 AND Entry Type = 992?' is invoked, and assuming that an x4 segment is being processed from an edi 350 message, when the message type is conveyance 350 (ws-conv-350 is true) and the x4 entry type code (x4-03-entry-typ-cde) equals '992', the desired outcome is that process as train arrival acknowledgment at border, otherwise process as cargo release segment and set x4 segment found flag for cargo processing.
💻 Technical Criteria
Given
An X4 segment is being processed from an EDI 350 message
When
The message type is Conveyance 350 (WS-CONV-350 is true) AND the X4 entry type code (X4-03-ENTRY-TYP-CDE) equals '992'
Then
Process as train arrival acknowledgment at border, otherwise process as cargo release segment and set X4 segment found flag for cargo processing
R-GCX126-cbl-00528
Is Master Manifest?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Master Manifest?' is invoked, and assuming that a cargo record has been updated with border arrival acknowledgment, when the cargo master manifest indicator (gccc-master-mfst) is true, the desired outcome is that proceed to retrieve and update all follower manifests, otherwise skip follower processing and continue to next segment.
💻 Technical Criteria
Given
A cargo record has been updated with border arrival acknowledgment
When
The cargo master manifest indicator (GCCC-MASTER-MFST) is true
Then
Proceed to retrieve and update all follower manifests, otherwise skip follower processing and continue to next segment
R-GCX126-cbl-00531
Set X4 Segment Found Flag for Cargo Processing
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set X4 Segment Found Flag for Cargo Processing', assuming that an x4 segment is being processed, when the message is not a conveyance 350 (ws-conv-350 is false) or the entry type code is not '992', the desired outcome is that set the previous x4 segment indicator (ws-segment-prev-x4) to true and set the x4 segment found flag (ws-x4-segment-found) to true to enable cargo release processing in subsequent steps.
💻 Technical Criteria
EXCLUDING
An X4 segment is being processed
When
The message is not a conveyance 350 (WS-CONV-350 is false) OR the entry type code is not '992'
Then
Set the previous X4 segment indicator (WS-SEGMENT-PREV-X4) to true and set the X4 segment found flag (WS-X4-SEGMENT-FOUND) to true to enable cargo release processing in subsequent steps
R-GCX126-cbl-00734
Set Border Arrival Acknowledgment Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Border Arrival Acknowledgment Flag' is invoked, and assuming that a valid cargo record has been retrieved and confirmed to exist, when the system processes the border arrival acknowledgment, the desired outcome is that the system sets the border arrival acknowledgment flag to true on the cargo record.
💻 Technical Criteria
Given
A valid cargo record has been retrieved and confirmed to exist
When
The system processes the border arrival acknowledgment
Then
The system sets the border arrival acknowledgment flag to TRUE on the cargo record
R-GCX126-cbl-00736
Update Cargo Record in Database
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record in Database' is invoked, and assuming that the cargo record has been updated with border arrival acknowledgment flag, when the system commits the changes, the desired outcome is that the system replaces the cargo record in the database with the updated border arrival status.
💻 Technical Criteria
Given
The cargo record has been updated with border arrival acknowledgment flag
When
The system commits the changes
Then
The system replaces the cargo record in the database with the updated border arrival status
R-GCX126-cbl-00737
Is Master Manifest?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Master Manifest?' is invoked, and assuming that a cargo record has been successfully updated with border arrival acknowledgment, when the system evaluates the manifest type, the desired outcome is that if the cargo is a master manifest, proceed to retrieve and update all associated follower manifests; otherwise, complete the process.
💻 Technical Criteria
Given
A cargo record has been successfully updated with border arrival acknowledgment
When
The system evaluates the manifest type
Then
If the cargo is a master manifest, proceed to retrieve and update all associated follower manifests; otherwise, complete the process
R-GCX126-cbl-00742
Follower Cargo Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Follower Cargo Found?' is invoked, and assuming that a follower cargo retrieval operation has been performed, when the system checks the follower cargo record status, the desired outcome is that if the follower cargo is found and not deleted, proceed with border arrival update; otherwise, skip to the next follower.
💻 Technical Criteria
Given
A follower cargo retrieval operation has been performed
When
The system checks the follower cargo record status
Then
If the follower cargo is found and not deleted, proceed with border arrival update; otherwise, skip to the next follower
R-GCX126-cbl-00743
Set Border Arrival Flag for Follower
Action Rules
📊 Business Logic Narrative
When the process 'Set Border Arrival Flag for Follower' is invoked, and assuming that a valid follower cargo record has been retrieved and confirmed to exist, when the system processes the border arrival acknowledgment for the follower, the desired outcome is that the system sets the border arrival acknowledgment flag to true on the follower cargo record.
💻 Technical Criteria
Given
A valid follower cargo record has been retrieved and confirmed to exist
When
The system processes the border arrival acknowledgment for the follower
Then
The system sets the border arrival acknowledgment flag to TRUE on the follower cargo record
R-GCX126-cbl-00745
Update Follower Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Update Follower Cargo Record' is invoked, and assuming that the follower cargo record has been updated with border arrival acknowledgment flag, when the system commits the changes for the follower, the desired outcome is that the system replaces the follower cargo record in the database with the updated border arrival status.
💻 Technical Criteria
Given
The follower cargo record has been updated with border arrival acknowledgment flag
When
The system commits the changes for the follower
Then
The system replaces the follower cargo record in the database with the updated border arrival status
R-GCX126-cbl-00095
P4 Segment Ready for Processing
Process Rules
📊 Business Logic Narrative
When the process 'P4 Segment Ready for Processing' is invoked, and assuming that the p4 segment data has been successfully moved from the message queue table entry to the p4 segment structure, when the p4 segment processing completes, the desired outcome is that the system has the port code (4-character identifier) and sub-location code available in the p4 segment structure for use in cargo processing, release operations, and notification messages.
💻 Technical Criteria
Given
The P4 segment data has been successfully moved from the message queue table entry to the P4 segment structure
When
The P4 segment processing completes
Then
The system has the port code (4-character identifier) and sub-location code available in the P4 segment structure for use in cargo processing, release operations, and notification messages
R-GCX126-cbl-00096
MATCHED - Document Matched
Decision Rules
📊 Business Logic Narrative
When the process 'MATCHED - Document Matched' is invoked, and assuming that an edi 350 message is being processed and a v9 segment has been extracted from the message queue table entry, when the v9 notice reason code indicates matched status (v9-02-matched is true), the desired outcome is that the system continues processing without updating cargo status or logging additional messages.
💻 Technical Criteria
Given
An EDI 350 message is being processed and a V9 segment has been extracted from the message queue table entry
When
The V9 notice reason code indicates MATCHED status (V9-02-MATCHED is true)
Then
The system continues processing without updating cargo status or logging additional messages
R-GCX126-cbl-00097
NOT-MATCHED - Document Not Matched
Action Rules
📊 Business Logic Narrative
When the process 'NOT-MATCHED - Document Not Matched' is invoked, and assuming that an edi 350 message is being processed and a v9 segment has been extracted with cargo found in the system, when the v9 notice reason code indicates not-matched status (v9-02-not-matched is true), the desired outcome is that the system logs the message 'edi 350: doc not matched' to the cargo information log.
💻 Technical Criteria
Given
An EDI 350 message is being processed and a V9 segment has been extracted with cargo found in the system
When
The V9 notice reason code indicates NOT-MATCHED status (V9-02-NOT-MATCHED is true)
Then
The system logs the message 'EDI 350: DOC NOT MATCHED' to the cargo information log
R-GCX126-cbl-00098
CARGO-COMPLETE - Cargo Complete
Action Rules
📊 Business Logic Narrative
When the process 'CARGO-COMPLETE - Cargo Complete' is invoked, and assuming that an edi 350 message is being processed and a v9 segment has been extracted with cargo found in the system, when the v9 notice reason code indicates cargo-complete status (v9-02-cargo-complete is true), the desired outcome is that the system logs the message 'edi 350: cargo complete message' to the cargo information log.
💻 Technical Criteria
Given
An EDI 350 message is being processed and a V9 segment has been extracted with cargo found in the system
When
The V9 notice reason code indicates CARGO-COMPLETE status (V9-02-CARGO-COMPLETE is true)
Then
The system logs the message 'EDI 350: CARGO COMPLETE MESSAGE' to the cargo information log
R-GCX126-cbl-00099
DOC-PKG-COMPLETE - Document Package Complete
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'DOC-PKG-COMPLETE - Document Package Complete', assuming that an edi 350 message is being processed and a v9 segment has been extracted with cargo found in the system and x4 segment contains cbsa release reference id, when the v9 notice reason code indicates doc-pkg-complete status (v9-02-doc-pkg-complete is true) and either the first 15 characters of x4 cbsa release reference id do not match the broker entry or the first 14 characters do not match the customs transaction number and the x4 cbsa release reference id is not spaces, the desired outcome is that the system updates the cargo broker entry with the first 15 characters of x4 cbsa release reference id, updates the customs transaction number with the first 14 characters, sets the broker date to current machine date, sets the broker time to current machine time (first 4 digits), logs the message 'edi 350: doc pkg complete : ' concatenated with the first 15 characters of x4 cbsa release reference id, and replaces the cargo record in the database.
💻 Technical Criteria
EXCLUDING
An EDI 350 message is being processed and a V9 segment has been extracted with cargo found in the system and X4 segment contains CBSA release reference ID
When
The V9 notice reason code indicates DOC-PKG-COMPLETE status (V9-02-DOC-PKG-COMPLETE is true) and either the first 15 characters of X4 CBSA release reference ID do not match the broker entry OR the first 14 characters do not match the customs transaction number AND the X4 CBSA release reference ID is not spaces
Then
The system updates the cargo broker entry with the first 15 characters of X4 CBSA release reference ID, updates the customs transaction number with the first 14 characters, sets the broker date to current machine date, sets the broker time to current machine time (first 4 digits), logs the message 'EDI 350: DOC PKG COMPLETE : ' concatenated with the first 15 characters of X4 CBSA release reference ID, and replaces the cargo record in the database
R-GCX126-cbl-00100
DOC-NOT-ON-FILE - Document Not On File
Decision Rules
📊 Business Logic Narrative
When the process 'DOC-NOT-ON-FILE - Document Not On File' is invoked, and assuming that an edi 350 message is being processed and a v9 segment has been extracted with cargo found in the system and x4 segment contains release document type code, when the v9 notice reason code indicates doc-not-on-file status (v9-02-doc-not-on-file is true) and the first character of x4 release document type code equals 'r', the desired outcome is that the system logs the message 'edi 350: doc not on file for release ' concatenated with the first 15 characters of x4 cbsa release reference id to the cargo information log.
💻 Technical Criteria
Given
An EDI 350 message is being processed and a V9 segment has been extracted with cargo found in the system and X4 segment contains release document type code
When
The V9 notice reason code indicates DOC-NOT-ON-FILE status (V9-02-DOC-NOT-ON-FILE is true) and the first character of X4 release document type code equals 'R'
Then
The system logs the message 'EDI 350: DOC NOT ON FILE FOR RELEASE ' concatenated with the first 15 characters of X4 CBSA release reference ID to the cargo information log
R-GCX126-cbl-00101
DOC-NOT-ON-FILE - Document Not On File
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'DOC-NOT-ON-FILE - Document Not On File', assuming that an edi 350 message is being processed and a v9 segment has been extracted with cargo found in the system and x4 segment contains release document type code, when the v9 notice reason code indicates doc-not-on-file status (v9-02-doc-not-on-file is true) and the first character of x4 release document type code does not equal 'r', the desired outcome is that the system logs the message 'edi 350:doc not on file h-bill close ' concatenated with the first 25 characters of x4 cbsa release reference id to the cargo information log.
💻 Technical Criteria
EXCLUDING
An EDI 350 message is being processed and a V9 segment has been extracted with cargo found in the system and X4 segment contains release document type code
When
The V9 notice reason code indicates DOC-NOT-ON-FILE status (V9-02-DOC-NOT-ON-FILE is true) and the first character of X4 release document type code does not equal 'R'
Then
The system logs the message 'EDI 350:DOC NOT ON FILE H-BILL CLOSE ' concatenated with the first 25 characters of X4 CBSA release reference ID to the cargo information log
R-GCX126-cbl-00102
REPORTED - Cargo Reported
Action Rules
📊 Business Logic Narrative
When the process 'REPORTED - Cargo Reported' is invoked, and assuming that an edi 350 message is being processed and a v9 segment has been extracted with cargo found in the system, when the v9 notice reason code indicates reported status (v9-02-reported is true), the desired outcome is that the system logs the message 'edi 350: cargo reported' to the cargo information log.
💻 Technical Criteria
Given
An EDI 350 message is being processed and a V9 segment has been extracted with cargo found in the system
When
The V9 notice reason code indicates REPORTED status (V9-02-REPORTED is true)
Then
The system logs the message 'EDI 350: CARGO REPORTED' to the cargo information log
R-GCX126-cbl-00103
ARRIVED - Cargo Arrived at Port
Action Rules
📊 Business Logic Narrative
When the process 'ARRIVED - Cargo Arrived at Port' is invoked, and assuming that an edi 350 message is being processed and a v9 segment has been extracted with cargo found in the system and p4 segment contains port code, when the v9 notice reason code indicates arrived status (v9-02-arrived is true), the desired outcome is that the system logs the message 'edi 350: cargo arrived at port ' concatenated with the first 4 characters of p4 port code to the cargo information log.
💻 Technical Criteria
Given
An EDI 350 message is being processed and a V9 segment has been extracted with cargo found in the system and P4 segment contains port code
When
The V9 notice reason code indicates ARRIVED status (V9-02-ARRIVED is true)
Then
The system logs the message 'EDI 350: CARGO ARRIVED AT PORT ' concatenated with the first 4 characters of P4 port code to the cargo information log
R-GCX126-cbl-00104
RELEASED - Cargo Released
Process Rules
📊 Business Logic Narrative
When the process 'RELEASED - Cargo Released' is invoked, and assuming that an edi 350 message is being processed and a v9 segment has been extracted with cargo found in the system and x4 segment contains cbsa release reference id and p4 segment contains port code, when the v9 notice reason code indicates released status (v9-02-released is true), the desired outcome is that the system clears destination station numbers, sets release date to current machine date, sets release time to current machine time, sets release by to current user id, sets current status to 'released', sets release status to 'r', sets release type to 'a', clears error or release status index, clears error status, sets release reason to x4 cbsa release reference id (first 15 characters) concatenated with '/' and p4 port code (first 4 characters), logs the message 'edi 350: release : ' concatenated with x4 cbsa release reference id (first 15 characters) and ' at port ' and p4 port code (first 4 characters), processes associated us manifest records, replaces the cargo record in the database, and if the cargo is a master manifest then processes all follower manifests (up to 100) with the same release information.
💻 Technical Criteria
Given
An EDI 350 message is being processed and a V9 segment has been extracted with cargo found in the system and X4 segment contains CBSA release reference ID and P4 segment contains port code
When
The V9 notice reason code indicates RELEASED status (V9-02-RELEASED is true)
Then
The system clears destination station numbers, sets release date to current machine date, sets release time to current machine time, sets release by to current user ID, sets current status to 'RELEASED', sets release status to 'R', sets release type to 'A', clears error or release status index, clears error status, sets release reason to X4 CBSA release reference ID (first 15 characters) concatenated with '/' and P4 port code (first 4 characters), logs the message 'EDI 350: RELEASE : ' concatenated with X4 CBSA release reference ID (first 15 characters) and ' AT PORT ' and P4 port code (first 4 characters), processes associated US manifest records, replaces the cargo record in the database, and if the cargo is a master manifest then processes all follower manifests (up to 100) with the same release information
R-GCX126-cbl-00105
AUTH-TO-DELIVER - Authorized to Deliver
Decision Rules
📊 Business Logic Narrative
When the process 'AUTH-TO-DELIVER - Authorized to Deliver' is invoked, and assuming that an edi 350 message is being processed and a v9 segment has been extracted with cargo found in the system and the cargo csa indicator is on, when the v9 notice reason code indicates auth-to-deliver status (v9-02-auth-to-deliver is true), the desired outcome is that the system logs the message 'edi 350: accepted - csa', sets cargo status to csa delivery, sets csa authorization to deliver received flag to true, replaces the cargo record in the database, and processes associated us manifest records.
💻 Technical Criteria
Given
An EDI 350 message is being processed and a V9 segment has been extracted with cargo found in the system and the cargo CSA indicator is ON
When
The V9 notice reason code indicates AUTH-TO-DELIVER status (V9-02-AUTH-TO-DELIVER is true)
Then
The system logs the message 'EDI 350: ACCEPTED - CSA', sets cargo status to CSA delivery, sets CSA authorization to deliver received flag to true, replaces the cargo record in the database, and processes associated US manifest records
R-GCX126-cbl-00106
AUTH-TO-DELIVER - Authorized to Deliver
Decision Rules
📊 Business Logic Narrative
When the process 'AUTH-TO-DELIVER - Authorized to Deliver' is invoked, and assuming that an edi 350 message is being processing and a v9 segment has been extracted with cargo found in the system and the cargo csa indicator is off, when the v9 notice reason code indicates auth-to-deliver status (v9-02-auth-to-deliver is true), the desired outcome is that the system logs the message 'edi 350: not accepted - non-csa' and processes associated us manifest records without updating the cargo record.
💻 Technical Criteria
Given
An EDI 350 message is being processing and a V9 segment has been extracted with cargo found in the system and the cargo CSA indicator is OFF
When
The V9 notice reason code indicates AUTH-TO-DELIVER status (V9-02-AUTH-TO-DELIVER is true)
Then
The system logs the message 'EDI 350: NOT ACCEPTED - NON-CSA' and processes associated US manifest records without updating the cargo record
R-GCX126-cbl-00108
DECON - Deconsolidation Release
Process Rules
📊 Business Logic Narrative
When the process 'DECON - Deconsolidation Release' is invoked, and assuming that an edi 350 message is being processed and a v9 segment has been extracted with cargo found in the system and p4 segment contains port code, when the v9 notice reason code indicates decon status (v9-02-decon is true), the desired outcome is that the system clears destination station numbers, sets release date to current machine date, sets release time to current machine time, sets release by to current user id, sets current status to 'released', sets release status to 'r', sets release type to 'a', clears error or release status index, clears error status, sets release reason to 'deconsolidation at ' concatenated with p4 port code (first 4 characters), logs the message 'edi 350: release via decon at port ' concatenated with p4 port code (first 4 characters), processes associated us manifest records, replaces the cargo record in the database, and if the cargo is a master manifest then processes all follower manifests (up to 100) with the same release information.
💻 Technical Criteria
Given
An EDI 350 message is being processed and a V9 segment has been extracted with cargo found in the system and P4 segment contains port code
When
The V9 notice reason code indicates DECON status (V9-02-DECON is true)
Then
The system clears destination station numbers, sets release date to current machine date, sets release time to current machine time, sets release by to current user ID, sets current status to 'RELEASED', sets release status to 'R', sets release type to 'A', clears error or release status index, clears error status, sets release reason to 'DECONSOLIDATION AT ' concatenated with P4 port code (first 4 characters), logs the message 'EDI 350: RELEASE VIA DECON AT PORT ' concatenated with P4 port code (first 4 characters), processes associated US manifest records, replaces the cargo record in the database, and if the cargo is a master manifest then processes all follower manifests (up to 100) with the same release information
R-GCX126-cbl-00109
Other - Invalid Notice Reason
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Other - Invalid Notice Reason', assuming that an edi 350 message is being processed and a v9 segment has been extracted with cargo found in the system, when the v9 notice reason code does not match any of the recognized status codes (matched, not-matched, cargo-complete, doc-pkg-complete, doc-not-on-file, reported, arrived, released, auth-to-deliver, held, or decon), the desired outcome is that the system logs the message 'edi 350: invalid notice reason code ' concatenated with the first 4 characters of the v9 notice reason code to the cargo information log.
💻 Technical Criteria
EXCLUDING
An EDI 350 message is being processed and a V9 segment has been extracted with cargo found in the system
When
The V9 notice reason code does not match any of the recognized status codes (MATCHED, NOT-MATCHED, CARGO-COMPLETE, DOC-PKG-COMPLETE, DOC-NOT-ON-FILE, REPORTED, ARRIVED, RELEASED, AUTH-TO-DELIVER, HELD, or DECON)
Then
The system logs the message 'EDI 350: INVALID NOTICE REASON CODE ' concatenated with the first 4 characters of the V9 notice reason code to the cargo information log
R-GCX126-cbl-00117
Set N7 Segment Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set N7 Segment Found Flag' is invoked, and assuming that an n7 segment is being processed from the edi 350 message queue, when the n7 segment processing begins, the desired outcome is that the system sets the n7 segment found indicator to true to track that equipment information is present in this transaction.
💻 Technical Criteria
Given
An N7 segment is being processed from the EDI 350 message queue
When
The N7 segment processing begins
Then
The system sets the N7 segment found indicator to TRUE to track that equipment information is present in this transaction
R-GCX126-cbl-00120
Equipment Number Present?
Validation Rules
📊 Business Logic Narrative
When the process 'Equipment Number Present?' is invoked, and assuming that the n7 segment data has been loaded into the working structure, when the system evaluates the equipment number field in the n7 segment, the desired outcome is that if the equipment number field contains spaces, skip equipment logging; otherwise, proceed to log the equipment number.
💻 Technical Criteria
Given
The N7 segment data has been loaded into the working structure
When
The system evaluates the equipment number field in the N7 segment
Then
If the equipment number field contains spaces, skip equipment logging; otherwise, proceed to log the equipment number
R-GCX126-cbl-00121
Store Equipment Number in Log Array
Process Rules
📊 Business Logic Narrative
When the process 'Store Equipment Number in Log Array' is invoked, and assuming that the n7 segment contains a non-blank equipment number, when the equipment number validation passes, the desired outcome is that the system stores the equipment number value from the n7 segment into the log data array at the current log index position.
💻 Technical Criteria
Given
The N7 segment contains a non-blank equipment number
When
The equipment number validation passes
Then
The system stores the equipment number value from the N7 segment into the log data array at the current log index position
R-GCX126-cbl-00122
Set Log Type as 'EDI 350 EQP#:'
Process Rules
📊 Business Logic Narrative
When the process 'Set Log Type as 'EDI 350 EQP#:'' is invoked, and assuming that the equipment number has been stored in the log data array, when the log entry is being prepared, the desired outcome is that the system sets the log type field to 'edi 350 eqp#:' to identify this entry as equipment information from an edi 350 message.
💻 Technical Criteria
Given
The equipment number has been stored in the log data array
When
The log entry is being prepared
Then
The system sets the log type field to 'EDI 350 EQP#:' to identify this entry as equipment information from an EDI 350 message
R-GCX126-cbl-00123
Increment Log Index Counter
Process Rules
📊 Business Logic Narrative
When the process 'Increment Log Index Counter' is invoked, and assuming that the equipment number and log type have been recorded in the log array, when the equipment logging is complete, the desired outcome is that the system increments the log index counter by 1 to point to the next available log entry position.
💻 Technical Criteria
Given
The equipment number and log type have been recorded in the log array
When
The equipment logging is complete
Then
The system increments the log index counter by 1 to point to the next available log entry position
R-GCX126-cbl-00124
Skip Logging
Decision Rules
📊 Business Logic Narrative
When the process 'Skip Logging' is invoked, and assuming that the n7 segment has been loaded and the equipment number field contains only spaces, when the equipment number validation determines the field is blank, the desired outcome is that the system skips all equipment logging steps and proceeds to end the n7 segment processing.
💻 Technical Criteria
Given
The N7 segment has been loaded and the equipment number field contains only spaces
When
The equipment number validation determines the field is blank
Then
The system skips all equipment logging steps and proceeds to end the N7 segment processing
R-GCX126-cbl-00134
Is Master Manifest?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Master Manifest?' is invoked, and assuming that a cargo record has been retrieved and updated with border arrival acknowledgment, when the system checks the manifest type, the desired outcome is that if gccc-master-mfst indicator is true, proceed to update follower manifests, otherwise continue to next segment.
💻 Technical Criteria
Given
A cargo record has been retrieved and updated with border arrival acknowledgment
When
The system checks the manifest type
Then
If GCCC-MASTER-MFST indicator is true, proceed to update follower manifests, otherwise continue to next segment
R-GCX126-cbl-00535
Is Follower Manifest?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Follower Manifest?' is invoked, and assuming that a cargo record has been validated as belonging to the master manifest group, when the system checks the manifest type indicator, the desired outcome is that if the cargo record is identified as a follower manifest (not the master manifest), it is selected for inclusion in the follower array; otherwise, it is skipped.
💻 Technical Criteria
Given
A cargo record has been validated as belonging to the master manifest group
When
The system checks the manifest type indicator
Then
If the cargo record is identified as a follower manifest (not the master manifest), it is selected for inclusion in the follower array; otherwise, it is skipped
R-GCX126-cbl-00546
Set Border Arrival Acknowledgment Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Border Arrival Acknowledgment Flag' is invoked, and assuming that the border arrival message has been logged for the follower manifest, when the system updates the cargo record status, the desired outcome is that the border arrival acknowledgment flag in the cargo record is set to true to indicate customs has acknowledged the cargo's arrival at the border.
💻 Technical Criteria
Given
The border arrival message has been logged for the follower manifest
When
The system updates the cargo record status
Then
The border arrival acknowledgment flag in the cargo record is set to true to indicate customs has acknowledged the cargo's arrival at the border
R-GCX126-cbl-00547
Update Follower Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Update Follower Cargo Record' is invoked, and assuming that the follower cargo record has been updated with the border arrival acknowledgment flag, when the system commits the changes, the desired outcome is that the updated cargo record is written back to the cargo table using the replace function to persist the border arrival acknowledgment.
💻 Technical Criteria
Given
The follower cargo record has been updated with the border arrival acknowledgment flag
When
The system commits the changes
Then
The updated cargo record is written back to the cargo table using the Replace function to persist the border arrival acknowledgment
R-GCX126-cbl-00748
Status Code = Spaces?
Validation Rules
📊 Business Logic Narrative
When the process 'Status Code = Spaces?' is invoked, and assuming that a database query has been executed to retrieve the next us cargo record, when the system checks the status code returned from the query, the desired outcome is that if status code equals spaces, the query was successful and processing continues; otherwise, set end of database flag to indicate no more records available.
💻 Technical Criteria
Given
A database query has been executed to retrieve the next US cargo record
When
The system checks the status code returned from the query
Then
If status code equals spaces, the query was successful and processing continues; otherwise, set End of Database flag to indicate no more records available
R-GCX126-cbl-00751
Set End of Database Flag
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set End of Database Flag', assuming that a database query to retrieve the next us cargo record has been executed, when the status code returned is not spaces (indicating an error or end of data), the desired outcome is that the system sets the end of database flag to true to stop further record retrieval attempts.
💻 Technical Criteria
EXCLUDING
A database query to retrieve the next US cargo record has been executed
When
The status code returned is not spaces (indicating an error or end of data)
Then
The system sets the End of Database flag to true to stop further record retrieval attempts
R-GCX126-cbl-00138
Set Border Arrival Acknowledgment Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Border Arrival Acknowledgment Flag' is invoked, and assuming that a valid cargo record exists in the database, when the system processes a border arrival acknowledgment from the edi 350 message, the desired outcome is that the gccc-border-arrival-ack flag is set to true in the cargo record segment.
💻 Technical Criteria
Given
A valid cargo record exists in the database
When
The system processes a border arrival acknowledgment from the EDI 350 message
Then
The GCCC-BORDER-ARRIVAL-ACK flag is set to true in the cargo record segment
R-GCX126-cbl-00140
Update Cargo Record in Database
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record in Database' is invoked, and assuming that the cargo record segment (gccc-cargo-report-segment) has been updated with the border arrival acknowledgment flag, when the system executes the replace operation, the desired outcome is that the cims program is called with repl function code, gccc-pcb, and gccc-cargo-report-segment to update the cargo record in the database, and the accept status is cleared.
💻 Technical Criteria
Given
The cargo record segment (GCCC-CARGO-REPORT-SEGMENT) has been updated with the border arrival acknowledgment flag
When
The system executes the replace operation
Then
The CIMS program is called with REPL function code, GCCC-PCB, and GCCC-CARGO-REPORT-SEGMENT to update the cargo record in the database, and the accept status is cleared
R-GCX126-cbl-00141
Is Cargo a Master Manifest?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Cargo a Master Manifest?' is invoked, and assuming that a cargo record has been retrieved with release reference id from x4 segment entry type '992', when the system checks if the cargo is a master manifest, the desired outcome is that if cargo is not a master manifest, skip follower processing and exit; if cargo is a master manifest, proceed to initialize follower manifest array and retrieve all associated follower manifests.
💻 Technical Criteria
Given
A cargo record has been retrieved with release reference ID from X4 segment entry type '992'
When
The system checks if the cargo is a master manifest
Then
If cargo is NOT a master manifest, skip follower processing and exit; If cargo IS a master manifest, proceed to initialize follower manifest array and retrieve all associated follower manifests
R-GCX126-cbl-00142
Initialize Follower Manifest Array, Set Index I = 1
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Follower Manifest Array, Set Index I = 1' is invoked, and assuming that the cargo is confirmed as a master manifest, when the system begins the process of collecting follower manifests, the desired outcome is that initialize follower manifest array to spaces, set array index i to 1, and set end-of-database flag to false.
💻 Technical Criteria
Given
The cargo is confirmed as a master manifest
When
The system begins the process of collecting follower manifests
Then
Initialize follower manifest array to spaces, set array index I to 1, and set end-of-database flag to false
R-GCX126-cbl-00145
Database Status OK?
Decision Rules
📊 Business Logic Narrative
When the process 'Database Status OK?' is invoked, and assuming that a get next database call has been executed to retrieve a cargo record, when the system checks the database status code, the desired outcome is that if status code is not blank (spaces), set end-of-database flag to true and stop retrieval; if status code is blank (spaces), proceed to validate the retrieved record.
💻 Technical Criteria
Given
A Get Next database call has been executed to retrieve a cargo record
When
The system checks the database status code
Then
If status code is not blank (spaces), set end-of-database flag to true and stop retrieval; If status code is blank (spaces), proceed to validate the retrieved record
R-GCX126-cbl-00156
Set Border Arrival Acknowledgment Flag = TRUE
Process Rules
📊 Business Logic Narrative
When the process 'Set Border Arrival Acknowledgment Flag = TRUE' is invoked, and assuming that the follower cargo record has been successfully retrieved, when the system updates the border arrival status, the desired outcome is that set the border arrival acknowledgment flag (gccc-border-arrival-ack) to true in the cargo report segment.
💻 Technical Criteria
Given
The follower cargo record has been successfully retrieved
When
The system updates the border arrival status
Then
Set the border arrival acknowledgment flag (GCCC-BORDER-ARRIVAL-ACK) to true in the cargo report segment
R-GCX126-cbl-00158
Update Follower Cargo Record in Database
Action Rules
📊 Business Logic Narrative
When the process 'Update Follower Cargo Record in Database' is invoked, and assuming that the follower cargo record has been updated with border arrival acknowledgment and logged, when the system saves the changes to the database, the desired outcome is that execute replace (repl) call to update the cargo report segment in the database, clear status code and set accept status to blank.
💻 Technical Criteria
Given
The follower cargo record has been updated with border arrival acknowledgment and logged
When
The system saves the changes to the database
Then
Execute Replace (REPL) call to update the cargo report segment in the database, clear status code and set accept status to blank
R-GCX126-cbl-00549
Initialize Follower Manifest Array, Set Index I = 1, Set Not End of Database Flag
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Follower Manifest Array, Set Index I = 1, Set Not End of Database Flag' is invoked, and assuming that a master manifest cargo record needs to have its follower manifests retrieved, when the follower manifest retrieval process begins, the desired outcome is that the follower manifest array is cleared to spaces, the array index is set to 1, and the end-of-database flag is set to indicate more records may exist.
💻 Technical Criteria
Given
A master manifest cargo record needs to have its follower manifests retrieved
When
The follower manifest retrieval process begins
Then
The follower manifest array is cleared to spaces, the array index is set to 1, and the end-of-database flag is set to indicate more records may exist
R-GCX126-cbl-00552
Database Status OK?
Decision Rules
📊 Business Logic Narrative
When the process 'Database Status OK?' is invoked, and assuming that a database call has been executed to retrieve a cargo record, when the system evaluates the database status code, the desired outcome is that if the status code is blank (spaces), the retrieval was successful and processing continues; otherwise, the end-of-database flag is set to terminate the retrieval loop.
💻 Technical Criteria
Given
A database call has been executed to retrieve a cargo record
When
The system evaluates the database status code
Then
If the status code is blank (spaces), the retrieval was successful and processing continues; otherwise, the end-of-database flag is set to terminate the retrieval loop
R-GCX126-cbl-00754
Set Accept Status to 'GEGB'
Process Rules
📊 Business Logic Narrative
When the process 'Set Accept Status to 'GEGB'' is invoked, and assuming that a master manifest cargo record is being processed, when the system needs to retrieve all associated follower manifests, the desired outcome is that the database access status is set to 'gegb' to enable hierarchical navigation through cargo records.
💻 Technical Criteria
Given
A master manifest cargo record is being processed
When
The system needs to retrieve all associated follower manifests
Then
The database access status is set to 'GEGB' to enable hierarchical navigation through cargo records
R-GCX126-cbl-00761
Status Code = Blank?
Decision Rules
📊 Business Logic Narrative
When the process 'Status Code = Blank?' is invoked, and assuming that a database call to retrieve the next cargo record has been executed, when the system evaluates the database operation result, the desired outcome is that if the status code is blank (spaces), the retrieval was successful and processing continues, otherwise the end-of-database flag is set.
💻 Technical Criteria
Given
A database call to retrieve the next cargo record has been executed
When
The system evaluates the database operation result
Then
If the status code is blank (spaces), the retrieval was successful and processing continues, otherwise the end-of-database flag is set
R-GCX126-cbl-00563
Set Counter to 1
Process Rules
📊 Business Logic Narrative
When the process 'Set Counter to 1' is invoked, and assuming that the follower manifest collection process is starting, when the system prepares to iterate through cargo records, the desired outcome is that the system sets the counter variable to 1 to begin indexing from the first position.
💻 Technical Criteria
Given
The follower manifest collection process is starting
When
The system prepares to iterate through cargo records
Then
The system sets the counter variable to 1 to begin indexing from the first position
R-GCX126-cbl-00565
Status Code Blank?
Decision Rules
📊 Business Logic Narrative
When the process 'Status Code Blank?' is invoked, and assuming that a cargo record retrieval operation has been executed, when the system checks the database operation status code, the desired outcome is that if the status code is blank (spaces), the retrieval was successful and processing continues; otherwise, the system marks end of database and stops searching for more followers.
💻 Technical Criteria
Given
A cargo record retrieval operation has been executed
When
The system checks the database operation status code
Then
If the status code is blank (spaces), the retrieval was successful and processing continues; otherwise, the system marks end of database and stops searching for more followers
R-GCX126-cbl-00578
Set Border Arrival Flag to TRUE
Process Rules
📊 Business Logic Narrative
When the process 'Set Border Arrival Flag to TRUE' is invoked, and assuming that a follower manifest cargo record has been retrieved and logged, when the system updates the cargo status, the desired outcome is that the system sets the border arrival acknowledgment flag to true in the cargo record.
💻 Technical Criteria
Given
A follower manifest cargo record has been retrieved and logged
When
The system updates the cargo status
Then
The system sets the border arrival acknowledgment flag to TRUE in the cargo record
R-GCX126-cbl-00579
Update Follower Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Update Follower Cargo Record' is invoked, and assuming that the follower cargo record has been modified with the border arrival acknowledgment flag set to true, when the system commits the changes, the desired outcome is that the system updates the cargo record in the database with the new border arrival acknowledgment status.
💻 Technical Criteria
Given
The follower cargo record has been modified with the border arrival acknowledgment flag set to TRUE
When
The system commits the changes
Then
The system updates the cargo record in the database with the new border arrival acknowledgment status
R-GCX126-cbl-00170
Check if K1 Segments Were Found, More K1 Remarks to Process?, K1 Remark Empty?
Validation Rules
📊 Business Logic Narrative
When the process 'Check if K1 Segments Were Found, More K1 Remarks to Process?, K1 Remark Empty?' is invoked, and assuming that k1 segments were found and the loop counter is within the valid range (counter <= k1 remark index), when the current k1 remark entry in the array equals spaces, the desired outcome is that the system increments the loop counter and continues to check the next k1 remark without logging.
💻 Technical Criteria
Given
K1 segments were found and the loop counter is within the valid range (counter <= K1 remark index)
When
The current K1 remark entry in the array equals spaces
Then
The system increments the loop counter and continues to check the next K1 remark without logging
R-GCX126-cbl-00171
Get K1 Remark from Array, Build Log Message: 'EDI 350 K1:' + First Free-Form Message, Log Cargo Information Message
Process Rules
📊 Business Logic Narrative
When the process 'Get K1 Remark from Array, Build Log Message: 'EDI 350 K1:' + First Free-Form Message, Log Cargo Information Message' is invoked, and assuming that a non-empty k1 remark exists at the current loop index position, when the system retrieves the k1 segment from the remark array, the desired outcome is that the system initializes the k1 segment structure, moves the remark data to k1 segment, clears the information message work area, concatenates 'edi 350 k1: ' with the first free-form message field (k1-01-free-form-message), stores the result in the information message work area, and invokes the cargo information message logging process.
💻 Technical Criteria
Given
A non-empty K1 remark exists at the current loop index position
When
The system retrieves the K1 segment from the remark array
Then
The system initializes the K1 segment structure, moves the remark data to K1 segment, clears the information message work area, concatenates 'EDI 350 K1: ' with the first free-form message field (K1-01-FREE-FORM-MESSAGE), stores the result in the information message work area, and invokes the cargo information message logging process
R-GCX126-cbl-00172
Check Second Free-Form Message Exists?, Build Log Message: 'EDI 350 K1:' + Second Free-Form Message, Log Cargo Information Message
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check Second Free-Form Message Exists?, Build Log Message: 'EDI 350 K1:' + Second Free-Form Message, Log Cargo Information Message', assuming that the first free-form message from the k1 segment has been logged and the k1 segment contains a second free-form message field, when the second free-form message field (k1-02-free-form-message) is not equal to spaces, the desired outcome is that the system clears the information message work area, concatenates 'edi 350 k1: ' with the second free-form message field, stores the result in the information message work area, and invokes the cargo information message logging process.
💻 Technical Criteria
EXCLUDING
The first free-form message from the K1 segment has been logged and the K1 segment contains a second free-form message field
When
The second free-form message field (K1-02-FREE-FORM-MESSAGE) is not equal to spaces
Then
The system clears the information message work area, concatenates 'EDI 350 K1: ' with the second free-form message field, stores the result in the information message work area, and invokes the cargo information message logging process
R-GCX126-cbl-00173
Increment Loop Counter, More K1 Remarks to Process?
Process Rules
📊 Business Logic Narrative
When the process 'Increment Loop Counter, More K1 Remarks to Process?' is invoked, and assuming that a k1 remark has been processed (logged or skipped due to being empty), when the system increments the loop counter by 1, the desired outcome is that the system checks if the loop counter is less than or equal to the k1 remark index and if true, continues to process the next k1 remark, otherwise exits the k1 remarks logging process.
💻 Technical Criteria
Given
A K1 remark has been processed (logged or skipped due to being empty)
When
The system increments the loop counter by 1
Then
The system checks if the loop counter is less than or equal to the K1 remark index and if true, continues to process the next K1 remark, otherwise exits the K1 remarks logging process
R-GCX126-cbl-00175
N7 Segment Found?
Decision Rules
📊 Business Logic Narrative
When the process 'N7 Segment Found?' is invoked, and assuming that an edi 350 message has been processed and all segments have been parsed, when the n7 segment found indicator is set to false (ws-no-n7-seg-found), the desired outcome is that the system skips all n7 equipment logging operations and proceeds to the end of the logging process.
💻 Technical Criteria
Given
An EDI 350 message has been processed and all segments have been parsed
When
The N7 segment found indicator is set to false (WS-NO-N7-SEG-FOUND)
Then
The system skips all N7 equipment logging operations and proceeds to the end of the logging process
R-GCX126-cbl-00176
N7 Segment Found?
Decision Rules
📊 Business Logic Narrative
When the process 'N7 Segment Found?' is invoked, and assuming that an edi 350 message has been processed and n7 equipment segments were found, when the n7 segment found indicator is set to true (ws-n7-segment-found), the desired outcome is that the system initiates the loop to process and log all equipment information from the log-line array starting at index 1.
💻 Technical Criteria
Given
An EDI 350 message has been processed and N7 equipment segments were found
When
The N7 segment found indicator is set to true (WS-N7-SEGMENT-FOUND)
Then
The system initiates the loop to process and log all equipment information from the LOG-LINE array starting at index 1
R-GCX126-cbl-00177
Initialize Loop Counter to 1
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Loop Counter to 1' is invoked, and assuming that n7 equipment segments were found in the edi 350 message, when the system begins the equipment logging process, the desired outcome is that the loop counter (log-indx) is set to 1 to start processing from the first log-line entry.
💻 Technical Criteria
Given
N7 equipment segments were found in the EDI 350 message
When
The system begins the equipment logging process
Then
The loop counter (LOG-INDX) is set to 1 to start processing from the first LOG-LINE entry
R-GCX126-cbl-00178
LOG-LINE Entry Empty?
Decision Rules
📊 Business Logic Narrative
When the process 'LOG-LINE Entry Empty?' is invoked, and assuming that the system is iterating through log-line entries to log equipment information, when a log-line entry at the current loop index contains only spaces, the desired outcome is that the system terminates the equipment logging loop and proceeds to completion.
💻 Technical Criteria
Given
The system is iterating through LOG-LINE entries to log equipment information
When
A LOG-LINE entry at the current loop index contains only spaces
Then
The system terminates the equipment logging loop and proceeds to completion
R-GCX126-cbl-00179
LOG-LINE Entry Empty?
Decision Rules
📊 Business Logic Narrative
When the process 'LOG-LINE Entry Empty?' is invoked, and assuming that the system is iterating through log-line entries to log equipment information, when a log-line entry at the current loop index contains data (not spaces), the desired outcome is that the system proceeds to check the loop counter limit before retrieving the entry.
💻 Technical Criteria
Given
The system is iterating through LOG-LINE entries to log equipment information
When
A LOG-LINE entry at the current loop index contains data (not spaces)
Then
The system proceeds to check the loop counter limit before retrieving the entry
R-GCX126-cbl-00180
Counter > 50?
Validation Rules
📊 Business Logic Narrative
When the process 'Counter > 50?' is invoked, and assuming that the system is iterating through log-line entries with a non-empty entry at the current index, when the loop counter (log-indx) is greater than 50, the desired outcome is that the system terminates the equipment logging loop and proceeds to completion.
💻 Technical Criteria
Given
The system is iterating through LOG-LINE entries with a non-empty entry at the current index
When
The loop counter (LOG-INDX) is greater than 50
Then
The system terminates the equipment logging loop and proceeds to completion
R-GCX126-cbl-00181
Counter > 50?
Validation Rules
📊 Business Logic Narrative
When the process 'Counter > 50?' is invoked, and assuming that the system is iterating through log-line entries with a non-empty entry at the current index, when the loop counter (log-indx) is less than or equal to 50, the desired outcome is that the system proceeds to retrieve the log-line entry for logging.
💻 Technical Criteria
Given
The system is iterating through LOG-LINE entries with a non-empty entry at the current index
When
The loop counter (LOG-INDX) is less than or equal to 50
Then
The system proceeds to retrieve the LOG-LINE entry for logging
R-GCX126-cbl-00182
Retrieve LOG-LINE Entry
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Retrieve LOG-LINE Entry', assuming that the loop counter is within valid range (1-50) and the log-line entry at current index is not empty, when the system retrieves the log-line entry at the current loop index position, the desired outcome is that the log-line entry containing equipment information is available for logging.
💻 Technical Criteria
EXCLUDING
The loop counter is within valid range (1-50) and the LOG-LINE entry at current index is not empty
When
The system retrieves the LOG-LINE entry at the current loop index position
Then
The LOG-LINE entry containing equipment information is available for logging
R-GCX126-cbl-00183
Move LOG-LINE to Message Field
Process Rules
📊 Business Logic Narrative
When the process 'Move LOG-LINE to Message Field' is invoked, and assuming that a log-line entry has been retrieved from the array at the current loop index, when the system prepares the equipment information for logging, the desired outcome is that the log-line entry content is moved to the ws-gcx105-info-msg field, clearing any previous content in that field.
💻 Technical Criteria
Given
A LOG-LINE entry has been retrieved from the array at the current loop index
When
The system prepares the equipment information for logging
Then
The LOG-LINE entry content is moved to the WS-GCX105-INFO-MSG field, clearing any previous content in that field
R-GCX126-cbl-00185
Increment Loop Counter
Process Rules
📊 Business Logic Narrative
When the process 'Increment Loop Counter' is invoked, and assuming that an equipment information entry has been successfully logged to cargo history, when the system prepares to process the next log-line entry, the desired outcome is that the loop counter (log-indx) is incremented by 1 to point to the next log-line entry in the array.
💻 Technical Criteria
Given
An equipment information entry has been successfully logged to cargo history
When
The system prepares to process the next LOG-LINE entry
Then
The loop counter (LOG-INDX) is incremented by 1 to point to the next LOG-LINE entry in the array
R-GCX126-cbl-00186
LOG-LINE Entry Empty?
Process Rules
📊 Business Logic Narrative
When the process 'LOG-LINE Entry Empty?' is invoked, and assuming that the loop counter has been incremented to the next position, when the system continues the equipment logging loop, the desired outcome is that the system evaluates whether the log-line entry at the new counter position is empty or contains data to determine if processing should continue.
💻 Technical Criteria
Given
The loop counter has been incremented to the next position
When
The system continues the equipment logging loop
Then
The system evaluates whether the LOG-LINE entry at the new counter position is empty or contains data to determine if processing should continue
R-GCX126-cbl-00190
Cargo Record Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Record Found?' is invoked, and assuming that the ghu database call has been executed, when the database status code is evaluated, the desired outcome is that if cc-status-code is not spaces, the cargo is not found; if cc-status-code is spaces, the cargo is found.
💻 Technical Criteria
Given
The GHU database call has been executed
When
The database status code is evaluated
Then
If CC-STATUS-CODE is not SPACES, the cargo is not found; if CC-STATUS-CODE is SPACES, the cargo is found
R-GCX126-cbl-00191
Set Status: WS-CARGO-NOT-FOUND
Process Rules
📊 Business Logic Narrative
When the process 'Set Status: WS-CARGO-NOT-FOUND' is invoked, and assuming that the database ghu call returned a non-space status code, when the cargo existence check is completed, the desired outcome is that the system sets ws-cargo-not-found to true and terminates the lookup process.
💻 Technical Criteria
Given
The database GHU call returned a non-space status code
When
The cargo existence check is completed
Then
The system sets WS-CARGO-NOT-FOUND to TRUE and terminates the lookup process
R-GCX126-cbl-00192
Retrieve Secondary Cargo Segment GCSCCS52
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Secondary Cargo Segment GCSCCS52' is invoked, and assuming that the primary cargo record has been successfully retrieved, when secondary segment retrieval is initiated, the desired outcome is that the system calls cims with ghu function code against gca2-pcb using a2rt-ssaq qualified search to retrieve gcsccs52 segment, and if not found (status = 'ge'), initializes gcsccs52 to spaces.
💻 Technical Criteria
Given
The primary cargo record has been successfully retrieved
When
Secondary segment retrieval is initiated
Then
The system calls CIMS with GHU function code against GCA2-PCB using A2RT-SSAQ qualified search to retrieve GCSCCS52 segment, and if not found (status = 'GE'), initializes GCSCCS52 to SPACES
R-GCX126-cbl-00193
Set Status: WS-CARGO-FOUND
Process Rules
📊 Business Logic Narrative
When the process 'Set Status: WS-CARGO-FOUND' is invoked, and assuming that the database ghu call returned a space status code, when the cargo existence check is completed, the desired outcome is that the system sets ws-cargo-found to true and proceeds with additional status checks.
💻 Technical Criteria
Given
The database GHU call returned a space status code
When
The cargo existence check is completed
Then
The system sets WS-CARGO-FOUND to TRUE and proceeds with additional status checks
R-GCX126-cbl-00194
Cargo Deleted?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Deleted?' is invoked, and assuming that the cargo record has been found and retrieved, when the cargo delete status is evaluated, the desired outcome is that if gccc-delete-status equals 'd', the cargo is deleted; otherwise, proceed to check returned status.
💻 Technical Criteria
Given
The cargo record has been found and retrieved
When
The cargo delete status is evaluated
Then
If GCCC-DELETE-STATUS equals 'D', the cargo is deleted; otherwise, proceed to check returned status
R-GCX126-cbl-00195
Set Status: WS-CARGO-DELETED
Process Rules
📊 Business Logic Narrative
When the process 'Set Status: WS-CARGO-DELETED' is invoked, and assuming that the cargo record gccc-delete-status field equals 'd', when the deleted status check is completed, the desired outcome is that the system sets ws-cargo-deleted to true and proceeds to save cargo data.
💻 Technical Criteria
Given
The cargo record GCCC-DELETE-STATUS field equals 'D'
When
The deleted status check is completed
Then
The system sets WS-CARGO-DELETED to TRUE and proceeds to save cargo data
R-GCX126-cbl-00196
Cargo Returned?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Cargo Returned?', assuming that the cargo record is not deleted, when the cargo return status is evaluated, the desired outcome is that if gccc-status-return is true, the cargo is returned; otherwise, proceed to check released status.
💻 Technical Criteria
EXCLUDING
The cargo record is not deleted
When
The cargo return status is evaluated
Then
If GCCC-STATUS-RETURN is TRUE, the cargo is returned; otherwise, proceed to check released status
R-GCX126-cbl-00197
Set Status: WS-CARGO-RETURNED
Process Rules
📊 Business Logic Narrative
When the process 'Set Status: WS-CARGO-RETURNED' is invoked, and assuming that the cargo record gccc-status-return condition is true, when the returned status check is completed, the desired outcome is that the system sets ws-cargo-returned to true and proceeds to check released status.
💻 Technical Criteria
Given
The cargo record GCCC-STATUS-RETURN condition is TRUE
When
The returned status check is completed
Then
The system sets WS-CARGO-RETURNED to TRUE and proceeds to check released status
R-GCX126-cbl-00198
Cargo Released?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Cargo Released?', assuming that the cargo record is not deleted, when the cargo release status is evaluated, the desired outcome is that if gccc-release-status equals 'r', the cargo is released; otherwise, proceed to check if cargo is on a train.
💻 Technical Criteria
EXCLUDING
The cargo record is not deleted
When
The cargo release status is evaluated
Then
If GCCC-RELEASE-STATUS equals 'R', the cargo is released; otherwise, proceed to check if cargo is on a train
R-GCX126-cbl-00199
Set Status: WS-CARGO-RELEASED
Process Rules
📊 Business Logic Narrative
When the process 'Set Status: WS-CARGO-RELEASED' is invoked, and assuming that the cargo record gccc-release-status field equals 'r', when the released status check is completed, the desired outcome is that the system sets ws-cargo-released to true and proceeds to check if cargo is on a train.
💻 Technical Criteria
Given
The cargo record GCCC-RELEASE-STATUS field equals 'R'
When
The released status check is completed
Then
The system sets WS-CARGO-RELEASED to TRUE and proceeds to check if cargo is on a train
R-GCX126-cbl-00200
Cargo On Train?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Cargo On Train?', assuming that the cargo record is not deleted, when the cargo train assignment is evaluated, the desired outcome is that if gccc-cp-train-id is not spaces, the cargo is on a train; otherwise, proceed to save cargo data.
💻 Technical Criteria
EXCLUDING
The cargo record is not deleted
When
The cargo train assignment is evaluated
Then
If GCCC-CP-TRAIN-ID is not SPACES, the cargo is on a train; otherwise, proceed to save cargo data
R-GCX126-cbl-00201
Set Status: WS-CARGO-ON-A-TRAIN
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Status: WS-CARGO-ON-A-TRAIN', assuming that the cargo record gccc-cp-train-id field is not spaces, when the train assignment check is completed, the desired outcome is that the system sets ws-cargo-on-a-train to true and proceeds to save cargo data.
💻 Technical Criteria
EXCLUDING
The cargo record GCCC-CP-TRAIN-ID field is not SPACES
When
The train assignment check is completed
Then
The system sets WS-CARGO-ON-A-TRAIN to TRUE and proceeds to save cargo data
R-GCX126-cbl-00581
Initialize All Status Flags to Space
Process Rules
📊 Business Logic Narrative
When the process 'Initialize All Status Flags to Space' is invoked, and assuming that the system needs to evaluate cargo status from database retrieval, when the cargo status flag initialization process begins, the desired outcome is that all four cargo status switches (ws-switch1-cargo, ws-switch2-cargo, ws-switch3-cargo, ws-switch4-cargo) are set to space character.
💻 Technical Criteria
Given
The system needs to evaluate cargo status from database retrieval
When
The cargo status flag initialization process begins
Then
All four cargo status switches (WS-SWITCH1-CARGO, WS-SWITCH2-CARGO, WS-SWITCH3-CARGO, WS-SWITCH4-CARGO) are set to space character
R-GCX126-cbl-00582
Set Cargo Not Found Flag
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Cargo Not Found Flag', assuming that a cargo lookup has been performed in the database, when the database status code is not equal to spaces, the desired outcome is that the cargo-not-found indicator flag is set to true.
💻 Technical Criteria
EXCLUDING
A cargo lookup has been performed in the database
When
The database status code is not equal to spaces
Then
The cargo-not-found indicator flag is set to true
R-GCX126-cbl-00583
Set Cargo Found Flag
Validation Rules
📊 Business Logic Narrative
When the process 'Set Cargo Found Flag' is invoked, and assuming that a cargo lookup has been performed in the database, when the database status code equals spaces, the desired outcome is that the cargo-found indicator flag is set to true.
💻 Technical Criteria
Given
A cargo lookup has been performed in the database
When
The database status code equals spaces
Then
The cargo-found indicator flag is set to true
R-GCX126-cbl-00779
Initialize All Status Flags to Space
Process Rules
📊 Business Logic Narrative
When the process 'Initialize All Status Flags to Space' is invoked, and assuming that the system is about to evaluate cargo status switches, when the cargo status flag initialization process is invoked, the desired outcome is that all four cargo status switches (ws-switch1-cargo, ws-switch2-cargo, ws-switch3-cargo, ws-switch4-cargo) are set to space character to clear any previous status indicators.
💻 Technical Criteria
Given
The system is about to evaluate cargo status switches
When
The cargo status flag initialization process is invoked
Then
All four cargo status switches (WS-SWITCH1-CARGO, WS-SWITCH2-CARGO, WS-SWITCH3-CARGO, WS-SWITCH4-CARGO) are set to space character to clear any previous status indicators
R-GCX126-cbl-00205
Notice Reason = RELEASED?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Notice Reason = RELEASED?', assuming that cargo record is not found in the database, when the v9 segment notice reason code is evaluated, the desired outcome is that the system checks if the notice reason code equals released (v9-02-released).
💻 Technical Criteria
EXCLUDING
Cargo record is not found in the database
When
The V9 segment notice reason code is evaluated
Then
The system checks if the notice reason code equals RELEASED (V9-02-RELEASED)
R-GCX126-cbl-00206
Prepare Error Report
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Prepare Error Report', assuming that cargo is not found and notice reason is released, when the system prepares to send an error notification, the desired outcome is that the system initializes the merlin report structure (mrln-350-report) with spaces.
💻 Technical Criteria
EXCLUDING
Cargo is not found and notice reason is RELEASED
When
The system prepares to send an error notification
Then
The system initializes the Merlin report structure (MRLN-350-REPORT) with spaces
R-GCX126-cbl-00221
Check Notice Reason Code
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check Notice Reason Code', assuming that an edi 350 message has been processed with cargo not found status and v9 segment containing notice reason code, when the v9 notice reason code indicates 'released', the desired outcome is that the system skips the unknown entry notification process and exits without sending the generic unknown cargo entry email.
💻 Technical Criteria
EXCLUDING
An EDI 350 message has been processed with cargo not found status and V9 segment containing notice reason code
When
The V9 notice reason code indicates 'RELEASED'
Then
The system skips the unknown entry notification process and exits without sending the generic unknown cargo entry email
R-GCX126-cbl-00222
Check Notice Reason Code
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check Notice Reason Code', assuming that an edi 350 message has been processed with cargo not found status and v9 segment containing notice reason code, when the v9 notice reason code indicates 'decon' (deconsolidation), the desired outcome is that the system skips the unknown entry notification process and exits without sending the generic unknown cargo entry email.
💻 Technical Criteria
EXCLUDING
An EDI 350 message has been processed with cargo not found status and V9 segment containing notice reason code
When
The V9 notice reason code indicates 'DECON' (deconsolidation)
Then
The system skips the unknown entry notification process and exits without sending the generic unknown cargo entry email
R-GCX126-cbl-00226
Add Notice Document Type and Reason Code to Line 4
Process Rules
📊 Business Logic Narrative
When the process 'Add Notice Document Type and Reason Code to Line 4' is invoked, and assuming that an unknown cargo entry notification is being prepared with m10 segment containing notice document type code and v9 segment containing notice reason code, when the email message body is being constructed, the desired outcome is that the system sets message detail line 4 to 'notice doc type: ' concatenated with m10-05-notice-doc-typ-cde, followed by ' with reason code ' concatenated with the first 4 characters of v9-02-notice-rsn-cde field.
💻 Technical Criteria
Given
An unknown cargo entry notification is being prepared with M10 segment containing notice document type code and V9 segment containing notice reason code
When
The email message body is being constructed
Then
The system sets message detail line 4 to 'NOTICE DOC TYPE: ' concatenated with M10-05-NOTICE-DOC-TYP-CDE, followed by ' WITH REASON CODE ' concatenated with the first 4 characters of V9-02-NOTICE-RSN-CDE field
R-GCX126-cbl-00227
Add Notice Document Type and Reason Code to Line 4
Process Rules
📊 Business Logic Narrative
When the process 'Add Notice Document Type and Reason Code to Line 4' is invoked, and assuming that an unknown cargo entry notification email has been prepared with 4 message detail lines, when the email is ready to be sent, the desired outcome is that the system sets the message line count to 5.
💻 Technical Criteria
Given
An unknown cargo entry notification email has been prepared with 4 message detail lines
When
The email is ready to be sent
Then
The system sets the message line count to 5
R-GCX126-cbl-00228
Set Recipient: OM01247
Action Rules
📊 Business Logic Narrative
When the process 'Set Recipient: OM01247' is invoked, and assuming that an unknown cargo entry notification is ready to be sent, when the email recipient is being determined, the desired outcome is that the system sets the recipient user code to 'om01247'.
💻 Technical Criteria
Given
An unknown cargo entry notification is ready to be sent
When
The email recipient is being determined
Then
The system sets the recipient user code to 'OM01247'
R-GCX126-cbl-00229
Set Email Type: UNKNOWN
Process Rules
📊 Business Logic Narrative
When the process 'Set Email Type: UNKNOWN' is invoked, and assuming that an unknown cargo entry notification is ready to be sent, when the email type classification is being set, the desired outcome is that the system sets the email type indicator to 'unknown' (88-z110-mrln-type-is-unknown).
💻 Technical Criteria
Given
An unknown cargo entry notification is ready to be sent
When
The email type classification is being set
Then
The system sets the email type indicator to 'UNKNOWN' (88-Z110-MRLN-TYPE-IS-UNKNOWN)
R-GCX126-cbl-00230
Send Email Notification
Action Rules
📊 Business Logic Narrative
When the process 'Send Email Notification' is invoked, and assuming that an unknown cargo entry notification has been fully prepared with subject, message lines, recipient, and email type, when the notification is ready to be dispatched, the desired outcome is that the system performs the email preparation and sending routine (z110-prep-emcsend).
💻 Technical Criteria
Given
An unknown cargo entry notification has been fully prepared with subject, message lines, recipient, and email type
When
The notification is ready to be dispatched
Then
The system performs the email preparation and sending routine (Z110-PREP-EMCSEND)
R-GCX126-cbl-00233
Update broker entry, customs transaction number, broker date/time, log 'DOC PKG COMPLETE' message, and update cargo record
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Update broker entry, customs transaction number, broker date/time, log 'DOC PKG COMPLETE' message, and update cargo record', assuming that a cargo record exists in the database with current broker entry and customs transaction number, and an edi 350 message with v9 segment indicating document package complete status and x4 segment containing cbsa release reference id, when the x4 cbsa release reference id (first 15 characters) is different from the current broker entry or the x4 cbsa release reference id (first 14 characters) is different from the current customs transaction number, and the x4 cbsa release reference id is not spaces, the desired outcome is that update the cargo broker entry with x4 release reference id (first 15 characters), update the customs transaction number with x4 release reference id (first 14 characters), update the broker date with current machine date, update the broker time with current machine time (first 4 characters), build and log the message 'edi 350: doc pkg complete : ' concatenated with x4 release reference id (first 15 characters), and replace the cargo record in the database.
💻 Technical Criteria
EXCLUDING
A cargo record exists in the database with current broker entry and customs transaction number, and an EDI 350 message with V9 segment indicating Document Package Complete status and X4 segment containing CBSA Release Reference ID
When
The X4 CBSA Release Reference ID (first 15 characters) is different from the current broker entry OR the X4 CBSA Release Reference ID (first 14 characters) is different from the current customs transaction number, AND the X4 CBSA Release Reference ID is not spaces
Then
Update the cargo broker entry with X4 Release Reference ID (first 15 characters), update the customs transaction number with X4 Release Reference ID (first 14 characters), update the broker date with current machine date, update the broker time with current machine time (first 4 characters), build and log the message 'EDI 350: DOC PKG COMPLETE : ' concatenated with X4 Release Reference ID (first 15 characters), and replace the cargo record in the database
R-GCX126-cbl-00234
Skip Update - Values Already Match
Decision Rules
📊 Business Logic Narrative
When the process 'Skip Update - Values Already Match' is invoked, and assuming that a cargo record exists with current broker entry and customs transaction number, and an edi 350 message with v9 segment indicating document package complete status and x4 segment containing cbsa release reference id, when the x4 cbsa release reference id (first 15 characters) equals the current broker entry and the x4 cbsa release reference id (first 14 characters) equals the current customs transaction number, the desired outcome is that skip all update operations and continue to next processing step without modifying the cargo record.
💻 Technical Criteria
Given
A cargo record exists with current broker entry and customs transaction number, and an EDI 350 message with V9 segment indicating Document Package Complete status and X4 segment containing CBSA Release Reference ID
When
The X4 CBSA Release Reference ID (first 15 characters) equals the current broker entry AND the X4 CBSA Release Reference ID (first 14 characters) equals the current customs transaction number
Then
Skip all update operations and continue to next processing step without modifying the cargo record
R-GCX126-cbl-00235
Skip Update - Values Already Match
Validation Rules
📊 Business Logic Narrative
When the process 'Skip Update - Values Already Match' is invoked, and assuming that a cargo record exists in the database and an edi 350 message with v9 segment indicating document package complete status and x4 segment, when the x4 cbsa release reference id is spaces (blank), the desired outcome is that skip all update operations and continue to next processing step without modifying the cargo record.
💻 Technical Criteria
Given
A cargo record exists in the database and an EDI 350 message with V9 segment indicating Document Package Complete status and X4 segment
When
The X4 CBSA Release Reference ID is spaces (blank)
Then
Skip all update operations and continue to next processing step without modifying the cargo record
R-GCX126-cbl-00236
Update Broker Entry with X4 Release Reference First 15 Characters
Process Rules
📊 Business Logic Narrative
When the process 'Update Broker Entry with X4 Release Reference First 15 Characters' is invoked, and assuming that the decision to update has been made based on differing release reference values and non-blank x4 release reference id, when updating cargo broker information, the desired outcome is that set the cargo broker entry field to the first 15 characters of x4 cbsa release reference id (x4-01-cbsa-rel-ref-id positions 1 through 15).
💻 Technical Criteria
Given
The decision to update has been made based on differing release reference values and non-blank X4 Release Reference ID
When
Updating cargo broker information
Then
Set the cargo broker entry field to the first 15 characters of X4 CBSA Release Reference ID (X4-01-CBSA-REL-REF-ID positions 1 through 15)
R-GCX126-cbl-00237
Update Customs Transaction Number with X4 Release Reference First 14 Characters
Process Rules
📊 Business Logic Narrative
When the process 'Update Customs Transaction Number with X4 Release Reference First 14 Characters' is invoked, and assuming that the decision to update has been made based on differing release reference values and non-blank x4 release reference id, when updating cargo customs transaction information, the desired outcome is that set the customs transaction number field to the first 14 characters of x4 cbsa release reference id (x4-01-cbsa-rel-ref-id positions 1 through 14).
💻 Technical Criteria
Given
The decision to update has been made based on differing release reference values and non-blank X4 Release Reference ID
When
Updating cargo customs transaction information
Then
Set the customs transaction number field to the first 14 characters of X4 CBSA Release Reference ID (X4-01-CBSA-REL-REF-ID positions 1 through 14)
R-GCX126-cbl-00238
Update Broker Date with Current Machine Date
Process Rules
📊 Business Logic Narrative
When the process 'Update Broker Date with Current Machine Date' is invoked, and assuming that the decision to update has been made and broker entry and customs transaction number have been updated, when recording the timestamp of document package completion, the desired outcome is that set the cargo broker date field to the current machine date (cc-machine-date from cccom).
💻 Technical Criteria
Given
The decision to update has been made and broker entry and customs transaction number have been updated
When
Recording the timestamp of document package completion
Then
Set the cargo broker date field to the current machine date (CC-MACHINE-DATE from CCCOM)
R-GCX126-cbl-00239
Update Broker Time with Current Machine Time First 4 Characters
Process Rules
📊 Business Logic Narrative
When the process 'Update Broker Time with Current Machine Time First 4 Characters' is invoked, and assuming that the decision to update has been made and broker entry, customs transaction number, and broker date have been updated, when recording the time of document package completion, the desired outcome is that set the cargo broker time field to the first 4 characters of current machine time (cc-machine-time from cccom, representing hours and minutes in hhmm format).
💻 Technical Criteria
Given
The decision to update has been made and broker entry, customs transaction number, and broker date have been updated
When
Recording the time of document package completion
Then
Set the cargo broker time field to the first 4 characters of current machine time (CC-MACHINE-TIME from CCCOM, representing hours and minutes in HHMM format)
R-GCX126-cbl-00240
Build Log Message: 'EDI 350: DOC PKG COMPLETE : ' + X4 Release Reference First 15 Characters
Process Rules
📊 Business Logic Narrative
When the process 'Build Log Message: 'EDI 350: DOC PKG COMPLETE : ' + X4 Release Reference First 15 Characters' is invoked, and assuming that the cargo record has been updated with new broker entry, customs transaction number, broker date, and broker time, when preparing to log the document package completion event, the desired outcome is that construct a log message by concatenating the literal text 'edi 350: doc pkg complete : ' with the first 15 characters of x4 cbsa release reference id and store in the log message field.
💻 Technical Criteria
Given
The cargo record has been updated with new broker entry, customs transaction number, broker date, and broker time
When
Preparing to log the document package completion event
Then
Construct a log message by concatenating the literal text 'EDI 350: DOC PKG COMPLETE : ' with the first 15 characters of X4 CBSA Release Reference ID and store in the log message field
R-GCX126-cbl-00242
Update Cargo Record - Replace Cargo in Database
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record - Replace Cargo in Database' is invoked, and assuming that the cargo record has been updated with new broker entry, customs transaction number, broker date, broker time, and the completion event has been logged, when persisting the document package complete changes, the desired outcome is that invoke the replace cargo process (z3100-repl-cargo) to update the cargo record in the database with all modified fields.
💻 Technical Criteria
Given
The cargo record has been updated with new broker entry, customs transaction number, broker date, broker time, and the completion event has been logged
When
Persisting the document package complete changes
Then
Invoke the replace cargo process (Z3100-REPL-CARGO) to update the cargo record in the database with all modified fields
R-GCX126-cbl-00243
Log Message: 'EDI 350: DOC NOT ON FILE FOR RELEASE' with CBSA Release Reference ID
Decision Rules
📊 Business Logic Narrative
When the process 'Log Message: 'EDI 350: DOC NOT ON FILE FOR RELEASE' with CBSA Release Reference ID' is invoked, and assuming that an edi 350 message is being processed with v9 notice reason code indicating 'doc-not-on-file' and x4 segment contains release document type code and cbsa release reference id, when the x4 release document type code (position 1, length 1) starts with 'r' indicating a release type transaction, the desired outcome is that the system logs an informational message 'edi 350: doc not on file for release' concatenated with the cbsa release reference id (first 15 characters) to the cargo information log.
💻 Technical Criteria
Given
An EDI 350 message is being processed with V9 notice reason code indicating 'DOC-NOT-ON-FILE' and X4 segment contains release document type code and CBSA release reference ID
When
The X4 release document type code (position 1, length 1) starts with 'R' indicating a release type transaction
Then
The system logs an informational message 'EDI 350: DOC NOT ON FILE FOR RELEASE' concatenated with the CBSA release reference ID (first 15 characters) to the cargo information log
R-GCX126-cbl-00244
Log Message: 'EDI 350: DOC NOT ON FILE H-BILL CLOSE' with CBSA Release Reference ID
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Log Message: 'EDI 350: DOC NOT ON FILE H-BILL CLOSE' with CBSA Release Reference ID', assuming that an edi 350 message is being processed with v9 notice reason code indicating 'doc-not-on-file' and x4 segment contains release document type code and cbsa release reference id, when the x4 release document type code (position 1, length 1) does not start with 'r' indicating a non-release type transaction (house bill close), the desired outcome is that the system logs an informational message 'edi 350:doc not on file h-bill close' concatenated with the cbsa release reference id (full 25 characters) to the cargo information log.
💻 Technical Criteria
EXCLUDING
An EDI 350 message is being processed with V9 notice reason code indicating 'DOC-NOT-ON-FILE' and X4 segment contains release document type code and CBSA release reference ID
When
The X4 release document type code (position 1, length 1) does not start with 'R' indicating a non-release type transaction (house bill close)
Then
The system logs an informational message 'EDI 350:DOC NOT ON FILE H-BILL CLOSE' concatenated with the CBSA release reference ID (full 25 characters) to the cargo information log
R-GCX126-cbl-00245
Process Document Not On File
Decision Rules
📊 Business Logic Narrative
When the process 'Process Document Not On File' is invoked, and assuming that an edi 350 message is being processed with cargo found in the system, when the v9 segment notice reason code equals 'doc-not-on-file', the desired outcome is that the system proceeds to check the release document type to determine the appropriate logging message format.
💻 Technical Criteria
Given
An EDI 350 message is being processed with cargo found in the system
When
The V9 segment notice reason code equals 'DOC-NOT-ON-FILE'
Then
The system proceeds to check the release document type to determine the appropriate logging message format
R-GCX126-cbl-00247
Process Cargo Reported - Log 'CARGO REPORTED' message when V9 notice reason is REPORTED
Decision Rules
📊 Business Logic Narrative
When the process 'Process Cargo Reported - Log 'CARGO REPORTED' message when V9 notice reason is REPORTED' is invoked, and assuming that an edi 350 message v9 segment has been processed and the notice reason code field (v9-02-notice-rsn-cde) is available for evaluation, when the system evaluates the v9 notice reason code against the reported condition (v9-02-reported), the desired outcome is that if the condition is true, the system proceeds to log the cargo reported message; otherwise, the system continues to evaluate other notice reason code conditions.
💻 Technical Criteria
Given
An EDI 350 message V9 segment has been processed and the notice reason code field (V9-02-NOTICE-RSN-CDE) is available for evaluation
When
The system evaluates the V9 notice reason code against the REPORTED condition (V9-02-REPORTED)
Then
If the condition is true, the system proceeds to log the cargo reported message; otherwise, the system continues to evaluate other notice reason code conditions
R-GCX126-cbl-00248
Process Cargo Reported - Log 'CARGO REPORTED' message when V9 notice reason is REPORTED
Action Rules
📊 Business Logic Narrative
When the process 'Process Cargo Reported - Log 'CARGO REPORTED' message when V9 notice reason is REPORTED' is invoked, and assuming that the v9 notice reason code has been confirmed as reported status and the message work area (ws-gcx105-info-msg) is available, when the system prepares the log message content, the desired outcome is that the system clears the message work area (ws-gcx105-info-msg) to spaces and builds the message string 'edi 350: cargo reported' into the work area.
💻 Technical Criteria
Given
The V9 notice reason code has been confirmed as REPORTED status and the message work area (WS-GCX105-INFO-MSG) is available
When
The system prepares the log message content
Then
The system clears the message work area (WS-GCX105-INFO-MSG) to spaces and builds the message string 'EDI 350: CARGO REPORTED' into the work area
R-GCX126-cbl-00251
Prepare Log Message: 'EDI 350: CARGO ARRIVED AT PORT'
Computation Rules
📊 Business Logic Narrative
When the process 'Prepare Log Message: 'EDI 350: CARGO ARRIVED AT PORT'' is invoked, and assuming that the v9 segment indicates arrived status and the p4 segment contains a port code in positions 1 through 4, when the system prepares the arrival log message, the desired outcome is that the system initializes the log message field to spaces, concatenates the text 'edi 350: cargo arrived at port ' with the 4-character port code from p4-01-port-cde positions 1 through 4, and stores the result in ws-gcx105-info-msg field.
💻 Technical Criteria
Given
The V9 segment indicates ARRIVED status and the P4 segment contains a port code in positions 1 through 4
When
The system prepares the arrival log message
Then
The system initializes the log message field to spaces, concatenates the text 'EDI 350: CARGO ARRIVED AT PORT ' with the 4-character port code from P4-01-PORT-CDE positions 1 through 4, and stores the result in WS-GCX105-INFO-MSG field
R-GCX126-cbl-00254
Set Release Information: Clear destination station, Set release date/time from system, Set release by user ID, Set status to RELEASED, Set release status R, Set release type A, Clear error fields
Action Rules
📊 Business Logic Narrative
When the process 'Set Release Information: Clear destination station, Set release date/time from system, Set release by user ID, Set status to RELEASED, Set release status R, Set release type A, Clear error fields' is invoked, and assuming that a cargo record exists with v9 segment indicating released status, when the system processes the release notification, the desired outcome is that the cargo destination station number index field is set to spaces and the cargo destination station number for index field is set to spaces.
💻 Technical Criteria
Given
A cargo record exists with V9 segment indicating RELEASED status
When
The system processes the release notification
Then
The cargo destination station number index field is set to spaces AND the cargo destination station number for index field is set to spaces
R-GCX126-cbl-00255
Set Release Information: Clear destination station, Set release date/time from system, Set release by user ID, Set status to RELEASED, Set release status R, Set release type A, Clear error fields
Action Rules
📊 Business Logic Narrative
When the process 'Set Release Information: Clear destination station, Set release date/time from system, Set release by user ID, Set status to RELEASED, Set release status R, Set release type A, Clear error fields' is invoked, and assuming that a cargo record exists with v9 segment indicating released status, when the system processes the release notification, the desired outcome is that the cargo release date is set to current machine date and the cargo release time is set to current machine time.
💻 Technical Criteria
Given
A cargo record exists with V9 segment indicating RELEASED status
When
The system processes the release notification
Then
The cargo release date is set to current machine date AND the cargo release time is set to current machine time
R-GCX126-cbl-00256
Set Release Information: Clear destination station, Set release date/time from system, Set release by user ID, Set status to RELEASED, Set release status R, Set release type A, Clear error fields
Action Rules
📊 Business Logic Narrative
When the process 'Set Release Information: Clear destination station, Set release date/time from system, Set release by user ID, Set status to RELEASED, Set release status R, Set release type A, Clear error fields' is invoked, and assuming that a cargo record exists with v9 segment indicating released status, when the system processes the release notification, the desired outcome is that the cargo release by field is set to the current user id from the system.
💻 Technical Criteria
Given
A cargo record exists with V9 segment indicating RELEASED status
When
The system processes the release notification
Then
The cargo release by field is set to the current user ID from the system
R-GCX126-cbl-00257
Set Release Information: Clear destination station, Set release date/time from system, Set release by user ID, Set status to RELEASED, Set release status R, Set release type A, Clear error fields
Action Rules
📊 Business Logic Narrative
When the process 'Set Release Information: Clear destination station, Set release date/time from system, Set release by user ID, Set status to RELEASED, Set release status R, Set release type A, Clear error fields' is invoked, and assuming that a cargo record exists with v9 segment indicating released status, when the system processes the release notification, the desired outcome is that the cargo current status field is set to 'released'.
💻 Technical Criteria
Given
A cargo record exists with V9 segment indicating RELEASED status
When
The system processes the release notification
Then
The cargo current status field is set to 'RELEASED'
R-GCX126-cbl-00258
Set Release Information: Clear destination station, Set release date/time from system, Set release by user ID, Set status to RELEASED, Set release status R, Set release type A, Clear error fields
Action Rules
📊 Business Logic Narrative
When the process 'Set Release Information: Clear destination station, Set release date/time from system, Set release by user ID, Set status to RELEASED, Set release status R, Set release type A, Clear error fields' is invoked, and assuming that a cargo record exists with v9 segment indicating released status, when the system processes the release notification, the desired outcome is that the cargo release status field is set to 'r'.
💻 Technical Criteria
Given
A cargo record exists with V9 segment indicating RELEASED status
When
The system processes the release notification
Then
The cargo release status field is set to 'R'
R-GCX126-cbl-00259
Set Release Information: Clear destination station, Set release date/time from system, Set release by user ID, Set status to RELEASED, Set release status R, Set release type A, Clear error fields
Action Rules
📊 Business Logic Narrative
When the process 'Set Release Information: Clear destination station, Set release date/time from system, Set release by user ID, Set status to RELEASED, Set release status R, Set release type A, Clear error fields' is invoked, and assuming that a cargo record exists with v9 segment indicating released status, when the system processes the release notification, the desired outcome is that the cargo release type field is set to 'a'.
💻 Technical Criteria
Given
A cargo record exists with V9 segment indicating RELEASED status
When
The system processes the release notification
Then
The cargo release type field is set to 'A'
R-GCX126-cbl-00260
Set Release Information: Clear destination station, Set release date/time from system, Set release by user ID, Set status to RELEASED, Set release status R, Set release type A, Clear error fields
Action Rules
📊 Business Logic Narrative
When the process 'Set Release Information: Clear destination station, Set release date/time from system, Set release by user ID, Set status to RELEASED, Set release status R, Set release type A, Clear error fields' is invoked, and assuming that a cargo record exists with v9 segment indicating released status, when the system processes the release notification, the desired outcome is that the cargo release reason field is set to spaces.
💻 Technical Criteria
Given
A cargo record exists with V9 segment indicating RELEASED status
When
The system processes the release notification
Then
The cargo release reason field is set to spaces
R-GCX126-cbl-00261
Set Release Information: Clear destination station, Set release date/time from system, Set release by user ID, Set status to RELEASED, Set release status R, Set release type A, Clear error fields
Action Rules
📊 Business Logic Narrative
When the process 'Set Release Information: Clear destination station, Set release date/time from system, Set release by user ID, Set status to RELEASED, Set release status R, Set release type A, Clear error fields' is invoked, and assuming that a cargo record exists with v9 segment indicating released status, when the system processes the release notification, the desired outcome is that the cargo error or release status index field is set to spaces.
💻 Technical Criteria
Given
A cargo record exists with V9 segment indicating RELEASED status
When
The system processes the release notification
Then
The cargo error or release status index field is set to spaces
R-GCX126-cbl-00262
Set Release Information: Clear destination station, Set release date/time from system, Set release by user ID, Set status to RELEASED, Set release status R, Set release type A, Clear error fields
Action Rules
📊 Business Logic Narrative
When the process 'Set Release Information: Clear destination station, Set release date/time from system, Set release by user ID, Set status to RELEASED, Set release status R, Set release type A, Clear error fields' is invoked, and assuming that a cargo record exists with v9 segment indicating released status, when the system processes the release notification, the desired outcome is that the cargo error status field is set to spaces.
💻 Technical Criteria
Given
A cargo record exists with V9 segment indicating RELEASED status
When
The system processes the release notification
Then
The cargo error status field is set to spaces
R-GCX126-cbl-00263
Build Log Message: RELEASE: release-ref AT PORT port-code
Computation Rules
📊 Business Logic Narrative
When the process 'Build Log Message: RELEASE: release-ref AT PORT port-code' is invoked, and assuming that a cargo record exists with v9 segment indicating released status and x4 segment contains cbsa release reference id and p4 segment contains port code, when the system builds the release log message, the desired outcome is that the log message is formatted as 'edi 350: release : ' concatenated with the first 15 characters of x4 cbsa release reference id concatenated with ' at port ' concatenated with the first 4 characters of p4 port code.
💻 Technical Criteria
Given
A cargo record exists with V9 segment indicating RELEASED status AND X4 segment contains CBSA release reference ID AND P4 segment contains port code
When
The system builds the release log message
Then
The log message is formatted as 'EDI 350: RELEASE : ' concatenated with the first 15 characters of X4 CBSA release reference ID concatenated with ' AT PORT ' concatenated with the first 4 characters of P4 port code
R-GCX126-cbl-00264
Build Release Reason: release-ref / port-code
Computation Rules
📊 Business Logic Narrative
When the process 'Build Release Reason: release-ref / port-code' is invoked, and assuming that a cargo record exists with v9 segment indicating released status and x4 segment contains cbsa release reference id and p4 segment contains port code, when the system builds the release reason, the desired outcome is that the release reason is formatted as the first 15 characters of x4 cbsa release reference id concatenated with '/' concatenated with the first 4 characters of p4 port code.
💻 Technical Criteria
Given
A cargo record exists with V9 segment indicating RELEASED status AND X4 segment contains CBSA release reference ID AND P4 segment contains port code
When
The system builds the release reason
Then
The release reason is formatted as the first 15 characters of X4 CBSA release reference ID concatenated with '/' concatenated with the first 4 characters of P4 port code
R-GCX126-cbl-00265
Update Cargo Release Reason Field
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Release Reason Field' is invoked, and assuming that the release reason has been built with format 'release-ref/port-code', when the system updates the cargo record, the desired outcome is that the cargo release reason field is set to the constructed release reason string.
💻 Technical Criteria
Given
The release reason has been built with format 'release-ref/port-code'
When
The system updates the cargo record
Then
The cargo release reason field is set to the constructed release reason string
R-GCX126-cbl-00270
Save Release Date/Time for Later Use
Action Rules
📊 Business Logic Narrative
When the process 'Save Release Date/Time for Later Use' is invoked, and assuming that the cargo release date and time have been set from the system clock, when the system prepares to update the cargo record, the desired outcome is that the cargo release date is copied to a hold date field and the cargo release time is copied to a hold time field.
💻 Technical Criteria
Given
The cargo release date and time have been set from the system clock
When
The system prepares to update the cargo record
Then
The cargo release date is copied to a hold date field AND the cargo release time is copied to a hold time field
R-GCX126-cbl-00271
Update Canadian Cargo Record with Release Information
Action Rules
📊 Business Logic Narrative
When the process 'Update Canadian Cargo Record with Release Information' is invoked, and assuming that all release information has been set in the cargo segment including release date, time, user, status, type, and reason, when the system updates the cargo record, the desired outcome is that the cargo report segment is replaced in the database with the updated release information.
💻 Technical Criteria
Given
All release information has been set in the cargo segment including release date, time, user, status, type, and reason
When
The system updates the cargo record
Then
The cargo report segment is replaced in the database with the updated release information
R-GCX126-cbl-00272
Is Master Manifest?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Master Manifest?' is invoked, and assuming that a cargo record has been released, when the system checks the cargo type, the desired outcome is that if the cargo master manifest indicator is true, then proceed to process follower manifests, otherwise end the release process.
💻 Technical Criteria
Given
A cargo record has been released
When
The system checks the cargo type
Then
If the cargo master manifest indicator is true, then proceed to process follower manifests, otherwise end the release process
R-GCX126-cbl-00275
Set Release Information for Follower
Action Rules
📊 Business Logic Narrative
When the process 'Set Release Information for Follower' is invoked, and assuming that a follower manifest cargo record has been retrieved, when the system sets release information for the follower, the desired outcome is that the follower cargo destination station number fields are cleared and release date is set to current machine date and release time is set to current machine time and release by is set to current user id and current status is set to 'released' and release status is set to 'r' and release type is set to 'a' and error fields are cleared.
💻 Technical Criteria
Given
A follower manifest cargo record has been retrieved
When
The system sets release information for the follower
Then
The follower cargo destination station number fields are cleared AND release date is set to current machine date AND release time is set to current machine time AND release by is set to current user ID AND current status is set to 'RELEASED' AND release status is set to 'R' AND release type is set to 'A' AND error fields are cleared
R-GCX126-cbl-00283
Update Follower Release Reason
Action Rules
📊 Business Logic Narrative
When the process 'Update Follower Release Reason' is invoked, and assuming that the release reason has been built for the follower manifest, when the system updates the follower cargo record, the desired outcome is that the follower cargo release reason field is set to the constructed release reason string.
💻 Technical Criteria
Given
The release reason has been built for the follower manifest
When
The system updates the follower cargo record
Then
The follower cargo release reason field is set to the constructed release reason string
R-GCX126-cbl-00287
Update Follower Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Update Follower Cargo Record' is invoked, and assuming that all release information has been set in the follower cargo segment including release date, time, user, status, type, and reason, when the system updates the follower cargo record, the desired outcome is that the follower cargo report segment is replaced in the database with the updated release information.
💻 Technical Criteria
Given
All release information has been set in the follower cargo segment including release date, time, user, status, type, and reason
When
The system updates the follower cargo record
Then
The follower cargo report segment is replaced in the database with the updated release information
R-GCX126-cbl-00592
Database Status OK? - Error Path
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Database Status OK? - Error Path', assuming that a database search has been executed on us cargo table, when the database status code is not blank (indicating an error), the desired outcome is that the end-of-file flag is set to true to terminate the search process.
💻 Technical Criteria
EXCLUDING
A database search has been executed on US cargo table
When
The database status code is not blank (indicating an error)
Then
The end-of-file flag is set to true to terminate the search process
R-GCX126-cbl-00791
Cargo Deleted or TR Created? - Yes - Skip
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Deleted or TR Created? - Yes - Skip' is invoked, and assuming that a matching us cargo record is found with deletion status set or train-created flag equals 'y', when the system processes the validation result, the desired outcome is that the system continues without setting the us manifest found flag, allowing the search to proceed to the next record.
💻 Technical Criteria
Given
A matching US cargo record is found with deletion status set OR train-created flag equals 'Y'
When
The system processes the validation result
Then
The system continues without setting the US manifest found flag, allowing the search to proceed to the next record
R-GCX126-cbl-00939
Set Car ID from Current Cargo
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Car ID from Current Cargo' is invoked, and assuming that current cargo equipment car id key is available in ws-current-carid-key, when initializing search parameters for us cargo lookup, the desired outcome is that move ws-current-carid-key to gcusrt-rt073-car-id-num-index to use as the car id search criterion.
💻 Technical Criteria
Given
Current cargo equipment car ID key is available in WS-CURRENT-CARID-KEY
When
Initializing search parameters for US cargo lookup
Then
Move WS-CURRENT-CARID-KEY to GCUSRT-RT073-CAR-ID-NUM-INDEX to use as the car ID search criterion
R-GCX126-cbl-00942
Set Accept Status to 'GEGB'
Process Rules
📊 Business Logic Narrative
When the process 'Set Accept Status to 'GEGB'' is invoked, and assuming that database operation is being prepared for us cargo search, when setting database control parameters, the desired outcome is that move 'gegb' to cc-accept-status to indicate get with status code ge and gb.
💻 Technical Criteria
Given
Database operation is being prepared for US cargo search
When
Setting database control parameters
Then
Move 'GEGB' to CC-ACCEPT-STATUS to indicate Get with status code GE and GB
R-GCX126-cbl-00943
Set Segment Type to GCSUSRT
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Segment Type to GCSUSRT' is invoked, and assuming that database search parameters are being configured, when specifying which segment type to retrieve, the desired outcome is that set gcwusio-seg-gcsusrt to true to indicate us cargo report segment (gcsusrt) should be accessed.
💻 Technical Criteria
Given
Database search parameters are being configured
When
Specifying which segment type to retrieve
Then
Set GCWUSIO-SEG-GCSUSRT to TRUE to indicate US cargo report segment (GCSUSRT) should be accessed
R-GCX126-cbl-00944
Set Function to GU - Get Unique
Process Rules
📊 Business Logic Narrative
When the process 'Set Function to GU - Get Unique' is invoked, and assuming that database operation type needs to be specified, when configuring the database function for us cargo search, the desired outcome is that set gcwusio-func-gu to true to indicate get unique (gu) operation should be performed.
💻 Technical Criteria
Given
Database operation type needs to be specified
When
Configuring the database function for US cargo search
Then
Set GCWUSIO-FUNC-GU to TRUE to indicate Get Unique (GU) operation should be performed
R-GCX126-cbl-00992
Call GCCUSIO with Parameters
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCUSIO with Parameters' is invoked, and assuming that all search parameters are configured including segment type gcsusrt, function type (gu or gn), index type car-wb, and search operator, when the system executes the database search, the desired outcome is that the gccusio program is called with the control communication area, search parameters, and us cargo segment structure to retrieve matching records.
💻 Technical Criteria
Given
All search parameters are configured including segment type GCSUSRT, function type (GU or GN), index type CAR-WB, and search operator
When
The system executes the database search
Then
The GCCUSIO program is called with the control communication area, search parameters, and US cargo segment structure to retrieve matching records
R-GCX126-cbl-00993
Database Status OK?, Set End of Database Flag
Decision Rules
📊 Business Logic Narrative
When the process 'Database Status OK?, Set End of Database Flag' is invoked, and assuming that a database search operation has been executed for us cargo records, when the database operation returns a non-successful status code indicating no records found or an error condition, the desired outcome is that the end-of-database flag is set to true to indicate no more records are available and processing should terminate the search loop.
💻 Technical Criteria
Given
A database search operation has been executed for US cargo records
When
The database operation returns a non-successful status code indicating no records found or an error condition
Then
The end-of-database flag is set to TRUE to indicate no more records are available and processing should terminate the search loop
R-GCX126-cbl-00598
Is Cargo a Master Manifest?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Cargo a Master Manifest?' is invoked, and assuming that a cargo record has been retrieved and processed for release or deconsolidation, when the system evaluates whether to process associated follower manifests, the desired outcome is that if the cargo is not a master manifest, skip follower processing and exit; if the cargo is a master manifest, proceed to save master information and process followers.
💻 Technical Criteria
Given
A cargo record has been retrieved and processed for release or deconsolidation
When
The system evaluates whether to process associated follower manifests
Then
If the cargo is not a master manifest, skip follower processing and exit; If the cargo is a master manifest, proceed to save master information and process followers
R-GCX126-cbl-00600
Initialize Follower Array, Set Counter to 1, Max 100 Followers
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Follower Array, Set Counter to 1, Max 100 Followers' is invoked, and assuming that master cargo information has been saved, when the system begins collecting follower manifests, the desired outcome is that clear the follower manifest array (set all entries to spaces); set the follower array counter to 1; set the end-of-database flag to false (not end of database); establish maximum limit of 100 follower manifests.
💻 Technical Criteria
Given
Master cargo information has been saved
When
The system begins collecting follower manifests
Then
Clear the follower manifest array (set all entries to spaces); Set the follower array counter to 1; Set the end-of-database flag to false (not end of database); Establish maximum limit of 100 follower manifests
R-GCX126-cbl-00611
Follower Cargo Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Follower Cargo Found?' is invoked, and assuming that a database retrieval operation has been executed for a follower cargo record, when the system evaluates the retrieval result, the desired outcome is that if cargo found flag is true (ws-cargo-found), proceed to set release information; if cargo found flag is false, skip this follower and check if there are more followers to process.
💻 Technical Criteria
Given
A database retrieval operation has been executed for a follower cargo record
When
The system evaluates the retrieval result
Then
If cargo found flag is true (WS-CARGO-FOUND), proceed to set release information; If cargo found flag is false, skip this follower and check if there are more followers to process
R-GCX126-cbl-00612
Set Release Information: Clear Destination Station, Set Release Date/Time, Set Release By User, Set Status to RELEASED, Clear Error Fields
Process Rules
📊 Business Logic Narrative
When the process 'Set Release Information: Clear Destination Station, Set Release Date/Time, Set Release By User, Set Status to RELEASED, Clear Error Fields' is invoked, and assuming that a follower cargo record has been successfully retrieved, when the system updates the follower with release information, the desired outcome is that move spaces to destination station number index; move spaces to destination station number for index; move current machine date to release date; move current machine time to release time; move current user id to release by field; move 'released' to current status field; move 'r' to release status field; move 'a' to release type field; move spaces to release reason field; move spaces to error or release status index; move spaces to error status field.
💻 Technical Criteria
Given
A follower cargo record has been successfully retrieved
When
The system updates the follower with release information
Then
Move spaces to destination station number index; Move spaces to destination station number for index; Move current machine date to release date; Move current machine time to release time; Move current user ID to release by field; Move 'RELEASED' to current status field; Move 'R' to release status field; Move 'A' to release type field; Move spaces to release reason field; Move spaces to error or release status index; Move spaces to error status field
R-GCX126-cbl-00617
Update Follower Cargo Record in Database
Action Rules
📊 Business Logic Narrative
When the process 'Update Follower Cargo Record in Database' is invoked, and assuming that all release information has been set for the follower manifest and us manifest processing is complete, when the system updates the follower cargo record, the desired outcome is that move spaces to database status code; move blank to database accept status; execute database replace operation using cargo pcb; pass cargo report segment for update.
💻 Technical Criteria
Given
All release information has been set for the follower manifest and US manifest processing is complete
When
The system updates the follower cargo record
Then
Move spaces to database status code; Move blank to database accept status; Execute database Replace operation using cargo PCB; Pass cargo report segment for update
R-GCX126-cbl-00796
IMS Status Code = Blank?
Validation Rules
📊 Business Logic Narrative
When the process 'IMS Status Code = Blank?' is invoked, and assuming that a get next operation has been executed to retrieve a cargo record, when the ims status code is evaluated, the desired outcome is that if status code is blank (spaces), the retrieval was successful and processing continues to validate the record or if status code is not blank, an error occurred and the end-of-database flag is set and loop processing terminates.
💻 Technical Criteria
Given
A Get Next operation has been executed to retrieve a cargo record
When
The IMS status code is evaluated
Then
If status code is blank (spaces), the retrieval was successful AND processing continues to validate the record OR If status code is not blank, an error occurred AND the end-of-database flag is set AND loop processing terminates
R-GCX126-cbl-00802
Set End of DB Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set End of DB Flag' is invoked, and assuming that one of the following conditions has occurred: database retrieval error or retrieved cargo belongs to different master or maximum capacity of 100 followers reached, when the end-of-database flag is set, the desired outcome is that the flag ws-follower-end-of-db is set to true and the loop will terminate on next iteration.
💻 Technical Criteria
Given
One of the following conditions has occurred: database retrieval error OR retrieved cargo belongs to different master OR maximum capacity of 100 followers reached
When
The end-of-database flag is set
Then
The flag WS-FOLLOWER-END-OF-DB is set to TRUE AND the loop will terminate on next iteration
R-GCX126-cbl-00804
Clear Destination Station Number
Process Rules
📊 Business Logic Narrative
When the process 'Clear Destination Station Number' is invoked, and assuming that a cargo record exists in the system with destination station information, when the system initiates the release information setup process, the desired outcome is that the destination station number field is cleared to spaces.
💻 Technical Criteria
Given
A cargo record exists in the system with destination station information
When
The system initiates the release information setup process
Then
The destination station number field is cleared to spaces
R-GCX126-cbl-00805
Clear Destination Station Index
Process Rules
📊 Business Logic Narrative
When the process 'Clear Destination Station Index' is invoked, and assuming that a cargo record exists in the system with destination station index information, when the system initiates the release information setup process, the desired outcome is that the destination station index field is cleared to spaces.
💻 Technical Criteria
Given
A cargo record exists in the system with destination station index information
When
The system initiates the release information setup process
Then
The destination station index field is cleared to spaces
R-GCX126-cbl-00806
Set Release Date to Current Machine Date
Computation Rules
📊 Business Logic Narrative
When the process 'Set Release Date to Current Machine Date' is invoked, and assuming that a cargo record is being processed for release, when the system sets release information, the desired outcome is that the release date is set to the current machine date from the system.
💻 Technical Criteria
Given
A cargo record is being processed for release
When
The system sets release information
Then
The release date is set to the current machine date from the system
R-GCX126-cbl-00807
Set Release Time to Current Machine Time
Computation Rules
📊 Business Logic Narrative
When the process 'Set Release Time to Current Machine Time' is invoked, and assuming that a cargo record is being processed for release, when the system sets release information, the desired outcome is that the release time is set to the current machine time from the system.
💻 Technical Criteria
Given
A cargo record is being processed for release
When
The system sets release information
Then
The release time is set to the current machine time from the system
R-GCX126-cbl-00808
Set Release By to Current User ID
Process Rules
📊 Business Logic Narrative
When the process 'Set Release By to Current User ID' is invoked, and assuming that a cargo record is being processed for release, when the system sets release information, the desired outcome is that the release by field is set to the current user id from the system.
💻 Technical Criteria
Given
A cargo record is being processed for release
When
The system sets release information
Then
The release by field is set to the current user ID from the system
R-GCX126-cbl-00809
Set Current Status to 'RELEASED'
Decision Rules
📊 Business Logic Narrative
When the process 'Set Current Status to 'RELEASED'' is invoked, and assuming that a cargo record is being processed for customs release, when the system sets release information, the desired outcome is that the current status field is set to 'released'.
💻 Technical Criteria
Given
A cargo record is being processed for customs release
When
The system sets release information
Then
The current status field is set to 'RELEASED'
R-GCX126-cbl-00810
Set Release Status to 'R'
Decision Rules
📊 Business Logic Narrative
When the process 'Set Release Status to 'R'' is invoked, and assuming that a cargo record is being processed for customs release, when the system sets release information, the desired outcome is that the release status indicator is set to 'r'.
💻 Technical Criteria
Given
A cargo record is being processed for customs release
When
The system sets release information
Then
The release status indicator is set to 'R'
R-GCX126-cbl-00811
Set Release Type to 'A'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Release Type to 'A'' is invoked, and assuming that a cargo record is being processed for customs release via edi 350 message, when the system sets release information, the desired outcome is that the release type is set to 'a' indicating automatic release.
💻 Technical Criteria
Given
A cargo record is being processed for customs release via EDI 350 message
When
The system sets release information
Then
The release type is set to 'A' indicating automatic release
R-GCX126-cbl-00812
Initialize Release Reason to Spaces
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Release Reason to Spaces' is invoked, and assuming that a cargo record is being processed for release, when the system sets release information, the desired outcome is that the release reason field is initialized to spaces.
💻 Technical Criteria
Given
A cargo record is being processed for release
When
The system sets release information
Then
The release reason field is initialized to spaces
R-GCX126-cbl-00813
Clear Error/Release Status Index
Process Rules
📊 Business Logic Narrative
When the process 'Clear Error/Release Status Index' is invoked, and assuming that a cargo record is being processed for release, when the system sets release information, the desired outcome is that the error or release status index field is cleared to spaces.
💻 Technical Criteria
Given
A cargo record is being processed for release
When
The system sets release information
Then
The error or release status index field is cleared to spaces
R-GCX126-cbl-00814
Clear Error Status
Process Rules
📊 Business Logic Narrative
When the process 'Clear Error Status' is invoked, and assuming that a cargo record is being processed for release, when the system sets release information, the desired outcome is that the error status field is cleared to spaces.
💻 Technical Criteria
Given
A cargo record is being processed for release
When
The system sets release information
Then
The error status field is cleared to spaces
R-GCX126-cbl-00815
Initialize US Manifest Search Flags
Process Rules
📊 Business Logic Narrative
When the process 'Initialize US Manifest Search Flags' is invoked, and assuming that a canadian cargo record has been processed for release or deconsolidation, when the system initiates the us manifest search process, the desired outcome is that the us manifest not found flag is set to true and the not end-of-file flag is set to true.
💻 Technical Criteria
Given
A Canadian cargo record has been processed for release or deconsolidation
When
The system initiates the US manifest search process
Then
The US manifest not found flag is set to true AND the not end-of-file flag is set to true
R-GCX126-cbl-00818
US Cargo Status?
Decision Rules
📊 Business Logic Narrative
When the process 'US Cargo Status?' is invoked, and assuming that a us cargo retrieval operation has been executed, when the system checks the database status code, the desired outcome is that if status code is not spaces, set end-of-file flag to true and exit the search process.
💻 Technical Criteria
Given
A US cargo retrieval operation has been executed
When
The system checks the database status code
Then
If status code is not spaces, set end-of-file flag to true and exit the search process
R-GCX126-cbl-00822
Get Next US Cargo Record
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Get Next US Cargo Record', assuming that the current us cargo record does not meet criteria (deleted or train created), when the system executes gn function with car-wb index and > operator, the desired outcome is that the system retrieves the next us cargo record in sequence.
💻 Technical Criteria
EXCLUDING
The current US cargo record does not meet criteria (deleted or train created)
When
The system executes GN function with CAR-WB index and > operator
Then
The system retrieves the next US cargo record in sequence
R-GCX126-cbl-00823
US Cargo Status?
Decision Rules
📊 Business Logic Narrative
When the process 'US Cargo Status?' is invoked, and assuming that a get-next us cargo retrieval operation has been executed, when the system checks the database status code, the desired outcome is that if status code is not spaces, set end-of-file flag to true and proceed to check found flag.
💻 Technical Criteria
Given
A get-next US cargo retrieval operation has been executed
When
The system checks the database status code
Then
If status code is not spaces, set end-of-file flag to true and proceed to check found flag
R-GCX126-cbl-00948
Format Date: CCYYMMDD
Computation Rules
📊 Business Logic Narrative
When the process 'Format Date: CCYYMMDD' is invoked, and assuming that ['the system has access to current machine century (cc-machine-century)', 'the system has access to current machine date (cc-machine-date-x)'], when ['preparing to log us cargo release information'], the desired outcome is that ['concatenate cc-machine-century and cc-machine-date-x', 'store the result in gcx105-date field in ccyymmdd format'].
💻 Technical Criteria
Given
['The system has access to current machine century (CC-MACHINE-CENTURY)', 'The system has access to current machine date (CC-MACHINE-DATE-X)']
When
['Preparing to log US cargo release information']
Then
['Concatenate CC-MACHINE-CENTURY and CC-MACHINE-DATE-X', 'Store the result in GCX105-DATE field in CCYYMMDD format']
R-GCX126-cbl-00949
Format Time: HHMMSS
Computation Rules
📊 Business Logic Narrative
When the process 'Format Time: HHMMSS' is invoked, and assuming that ['the system has access to current machine time (cc-machine-time-x)'], when ['preparing to log us cargo release information'], the desired outcome is that ['move cc-machine-time-x to gcx105-time field in hhmmss format'].
💻 Technical Criteria
Given
['The system has access to current machine time (CC-MACHINE-TIME-X)']
When
['Preparing to log US cargo release information']
Then
['Move CC-MACHINE-TIME-X to GCX105-TIME field in HHMMSS format']
R-GCX126-cbl-00950
Set Action Code to LOG-USE-INPUT-MESSAGE
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Action Code to LOG-USE-INPUT-MESSAGE' is invoked, and assuming that ['a us cargo log entry is being prepared'], when ['setting the action code for the log entry'], the desired outcome is that ['set gcx105-action-code to log-use-input-message'].
💻 Technical Criteria
Given
['A US cargo log entry is being prepared']
When
['Setting the action code for the log entry']
Then
['Set GCX105-ACTION-CODE to LOG-USE-INPUT-MESSAGE']
R-GCX126-cbl-00952
Set Cargo Type Flag to US-CARGO
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Cargo Type Flag to US-CARGO' is invoked, and assuming that ['a log entry is being created for us cargo'], when ['setting the cargo type indicator'], the desired outcome is that ['set gcx105-us-cargo flag to true'].
💻 Technical Criteria
Given
['A log entry is being created for US cargo']
When
['Setting the cargo type indicator']
Then
['Set GCX105-US-CARGO flag to TRUE']
R-GCX126-cbl-00999
Call Z200-MOVE-LOG-INFORMATION to Initialize Log Structure
Process Rules
📊 Business Logic Narrative
When the process 'Call Z200-MOVE-LOG-INFORMATION to Initialize Log Structure' is invoked, and assuming that a cargo information message needs to be logged, when the log structure initialization is invoked, the desired outcome is that the log input area is cleared to spaces and the security byte is set to high-value and the sending transaction is set to 'gct1261e' and the user id from the common control area is copied to the log structure.
💻 Technical Criteria
Given
A cargo information message needs to be logged
When
The log structure initialization is invoked
Then
The log input area is cleared to spaces AND the security byte is set to high-value AND the sending transaction is set to 'GCT1261E' AND the user ID from the common control area is copied to the log structure
R-GCX126-cbl-01004
Log Message Empty?
Validation Rules
📊 Business Logic Narrative
When the process 'Log Message Empty?' is invoked, and assuming that a log entry creation request is initiated for gct1051e, when the gcx105-message field is empty (spaces) or contains only low-values, the desired outcome is that the system skips the log entry creation process and exits the z300-spawn-gct1051e section without writing any log record.
💻 Technical Criteria
Given
A log entry creation request is initiated for GCT1051E
When
The GCX105-MESSAGE field is empty (spaces) OR contains only low-values
Then
The system skips the log entry creation process and exits the Z300-SPAWN-GCT1051E section without writing any log record
R-GCX126-cbl-00290
Is Cargo CSA Manifest?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Cargo CSA Manifest?' is invoked, and assuming that a cargo record with authorization to deliver status from edi 350, when the system evaluates the cargo's csa indicator, the desired outcome is that if csa indicator is on, proceed with csa authorization processing; if csa indicator is off, log non-csa rejection message.
💻 Technical Criteria
Given
A cargo record with authorization to deliver status from EDI 350
When
The system evaluates the cargo's CSA indicator
Then
If CSA indicator is ON, proceed with CSA authorization processing; If CSA indicator is OFF, log non-CSA rejection message
R-GCX126-cbl-00291
Process CSA Authorization: - Log 'EDI 350: ACCEPTED - CSA' - Set Status to CSA-DLV - Set CSA Authorization Flag
Process Rules
📊 Business Logic Narrative
When the process 'Process CSA Authorization: - Log 'EDI 350: ACCEPTED - CSA' - Set Status to CSA-DLV - Set CSA Authorization Flag' is invoked, and assuming that a cargo record with csa indicator on and authorization to deliver status from edi 350, when the system processes the csa authorization, the desired outcome is that the system logs 'edi 350: accepted - csa' message, sets cargo current status to 'csa-dlv', sets csa authorization to deliver received flag to true.
💻 Technical Criteria
Given
A cargo record with CSA indicator ON and authorization to deliver status from EDI 350
When
The system processes the CSA authorization
Then
The system logs 'EDI 350: ACCEPTED - CSA' message, sets cargo current status to 'CSA-DLV', sets CSA authorization to deliver received flag to TRUE
R-GCX126-cbl-00292
Update Cargo Record with CSA Status
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record with CSA Status' is invoked, and assuming that a cargo record with csa status and authorization flag set, when the csa authorization processing is complete, the desired outcome is that the system replaces the cargo record in the database with updated csa delivery status and authorization received flag.
💻 Technical Criteria
Given
A cargo record with CSA status and authorization flag set
When
The CSA authorization processing is complete
Then
The system replaces the cargo record in the database with updated CSA delivery status and authorization received flag
R-GCX126-cbl-00293
Log Message: 'EDI 350: NOT ACCEPTED - NON-CSA'
Process Rules
📊 Business Logic Narrative
When the process 'Log Message: 'EDI 350: NOT ACCEPTED - NON-CSA'' is invoked, and assuming that a cargo record with csa indicator off and authorization to deliver status from edi 350, when the system evaluates the non-csa cargo, the desired outcome is that the system logs 'edi 350: not accepted - non-csa' message to the cargo information log without updating cargo status.
💻 Technical Criteria
Given
A cargo record with CSA indicator OFF and authorization to deliver status from EDI 350
When
The system evaluates the non-CSA cargo
Then
The system logs 'EDI 350: NOT ACCEPTED - NON-CSA' message to the cargo information log without updating cargo status
R-GCX126-cbl-00295
Log Message: 'EDI 350: GOODS HELD FOR EXAMINATION'
Process Rules
📊 Business Logic Narrative
When the process 'Log Message: 'EDI 350: GOODS HELD FOR EXAMINATION'' is invoked, and assuming that an edi 350 message with v9 notice reason code indicating held status has been received for a cargo, when the cargo hold processing is initiated, the desired outcome is that the system logs the message 'edi 350: goods held for examination' to the cargo information log.
💻 Technical Criteria
Given
An EDI 350 message with V9 notice reason code indicating HELD status has been received for a cargo
When
The cargo hold processing is initiated
Then
The system logs the message 'EDI 350: GOODS HELD FOR EXAMINATION' to the cargo information log
R-GCX126-cbl-00296
Set Cargo Status to HOLD
Decision Rules
📊 Business Logic Narrative
When the process 'Set Cargo Status to HOLD' is invoked, and assuming that a cargo record exists in the system and customs has issued a hold notice via edi 350, when the hold status processing is executed, the desired outcome is that the cargo status is set to hold in the cargo record.
💻 Technical Criteria
Given
A cargo record exists in the system and customs has issued a hold notice via EDI 350
When
The hold status processing is executed
Then
The cargo status is set to HOLD in the cargo record
R-GCX126-cbl-00297
Update Cargo Record in Database
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record in Database' is invoked, and assuming that the cargo status has been set to hold, when the cargo record update is performed, the desired outcome is that the cargo record is replaced in the database with the updated hold status.
💻 Technical Criteria
Given
The cargo status has been set to HOLD
When
The cargo record update is performed
Then
The cargo record is replaced in the database with the updated hold status
R-GCX126-cbl-00303
30: Set Release Information - Clear destination station - Set release date/time - Set release by user - Set status to RELEASED - Set release status 'R' - Set release type 'A' - Clear error fields
Action Rules
📊 Business Logic Narrative
When the process '30: Set Release Information - Clear destination station - Set release date/time - Set release by user - Set status to RELEASED - Set release status 'R' - Set release type 'A' - Clear error fields' is invoked, and assuming that a cargo record exists and v9 notice reason code indicates deconsolidation, when the system processes the deconsolidation release, the desired outcome is that clear gccc-destin-stn-num-index and gccc-destin-stn-num-for-index to spaces, set gccc-release-date to cc-machine-date-x, set gccc-release-time to cc-machine-time-x, set gccc-release-by to cc-acf2-userid, set gccc-current-status to 'released', set gccc-release-status to 'r', set gccc-release-type to 'a', clear gccc-release-reason to spaces, clear gccc-err-or-rel-status-index to spaces, and clear gccc-error-status to spaces.
💻 Technical Criteria
Given
A cargo record exists and V9 notice reason code indicates deconsolidation
When
The system processes the deconsolidation release
Then
Clear GCCC-DESTIN-STN-NUM-INDEX and GCCC-DESTIN-STN-NUM-FOR-INDEX to spaces, set GCCC-RELEASE-DATE to CC-MACHINE-DATE-X, set GCCC-RELEASE-TIME to CC-MACHINE-TIME-X, set GCCC-RELEASE-BY to CC-ACF2-USERID, set GCCC-CURRENT-STATUS to 'RELEASED', set GCCC-RELEASE-STATUS to 'R', set GCCC-RELEASE-TYPE to 'A', clear GCCC-RELEASE-REASON to spaces, clear GCCC-ERR-OR-REL-STATUS-INDEX to spaces, and clear GCCC-ERROR-STATUS to spaces
R-GCX126-cbl-00304
Log Message: 'RELEASE VIA DECON AT PORT' + Port Code
Process Rules
📊 Business Logic Narrative
When the process 'Log Message: 'RELEASE VIA DECON AT PORT' + Port Code' is invoked, and assuming that deconsolidation release information has been set and p4 segment contains port code, when the system logs the deconsolidation release event, the desired outcome is that construct message 'edi 350: release via decon at port ' concatenated with p4-01-port-cde (first 4 characters), store in ws-gcx105-info-msg, and perform z150-log-cargo-info-msg to create audit log entry.
💻 Technical Criteria
Given
Deconsolidation release information has been set and P4 segment contains port code
When
The system logs the deconsolidation release event
Then
Construct message 'EDI 350: RELEASE VIA DECON AT PORT ' concatenated with P4-01-PORT-CDE (first 4 characters), store in WS-GCX105-INFO-MSG, and perform Z150-LOG-CARGO-INFO-MSG to create audit log entry
R-GCX126-cbl-00307
Save Release Date/Time to Hold Variables
Action Rules
📊 Business Logic Narrative
When the process 'Save Release Date/Time to Hold Variables' is invoked, and assuming that cargo release date and time have been set in gccc-release-date and gccc-release-time, when the system saves the release date and time, the desired outcome is that move gccc-release-date to hold-date and move gccc-release-time to hold-time.
💻 Technical Criteria
Given
Cargo release date and time have been set in GCCC-RELEASE-DATE and GCCC-RELEASE-TIME
When
The system saves the release date and time
Then
Move GCCC-RELEASE-DATE to HOLD-DATE and move GCCC-RELEASE-TIME to HOLD-TIME
R-GCX126-cbl-00308
43: Update Cargo Record - Replace cargo record in database
Action Rules
📊 Business Logic Narrative
When the process '43: Update Cargo Record - Replace cargo record in database' is invoked, and assuming that cargo record gccc-cargo-report-segment has been updated with release information, when the system updates the cargo record, the desired outcome is that perform z3100-repl-cargo which clears cc-status-code, sets cc-accept-status to spaces, and calls cims with repl function code, gccc-pcb, and gccc-cargo-report-segment to replace the cargo record.
💻 Technical Criteria
Given
Cargo record GCCC-CARGO-REPORT-SEGMENT has been updated with release information
When
The system updates the cargo record
Then
Perform Z3100-REPL-CARGO which clears CC-STATUS-CODE, sets CC-ACCEPT-STATUS to spaces, and calls CIMS with REPL function code, GCCC-PCB, and GCCC-CARGO-REPORT-SEGMENT to replace the cargo record
R-GCX126-cbl-00309
Is Master Manifest?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Master Manifest?' is invoked, and assuming that a cargo record has been updated with deconsolidation release information, when the system checks the manifest type, the desired outcome is that if gccc-master-mfst is true, proceed to process follower manifests; otherwise, end deconsolidation processing.
💻 Technical Criteria
Given
A cargo record has been updated with deconsolidation release information
When
The system checks the manifest type
Then
If GCCC-MASTER-MFST is true, proceed to process follower manifests; otherwise, end deconsolidation processing
R-GCX126-cbl-00316
33: Process Follower Manifests - Update cargo record
Action Rules
📊 Business Logic Narrative
When the process '33: Process Follower Manifests - Update cargo record' is invoked, and assuming that follower cargo record gccc-cargo-report-segment has been updated with release information, when the system updates the follower cargo record, the desired outcome is that clear cc-status-code to spaces, set cc-accept-status to spaces, and call cims with repl function code, gccc-pcb, and gccc-cargo-report-segment to replace the cargo record.
💻 Technical Criteria
Given
Follower cargo record GCCC-CARGO-REPORT-SEGMENT has been updated with release information
When
The system updates the follower cargo record
Then
Clear CC-STATUS-CODE to spaces, set CC-ACCEPT-STATUS to spaces, and call CIMS with REPL function code, GCCC-PCB, and GCCC-CARGO-REPORT-SEGMENT to replace the cargo record
R-GCX126-cbl-00630
Set Release Information for Follower
Process Rules
📊 Business Logic Narrative
When the process 'Set Release Information for Follower' is invoked, and assuming that a follower cargo record has been successfully retrieved from the database, when the system applies release information, the desired outcome is that the destination station numbers are cleared, release date is set to current machine date, release time is set to current machine time, release by is set to current user id, current status is set to 'released', release status is set to 'r', release type is set to 'a', error/release status index is cleared, and error status is cleared.
💻 Technical Criteria
Given
A follower cargo record has been successfully retrieved from the database
When
The system applies release information
Then
The destination station numbers are cleared, release date is set to current machine date, release time is set to current machine time, release by is set to current user ID, current status is set to 'RELEASED', release status is set to 'R', release type is set to 'A', error/release status index is cleared, and error status is cleared
R-GCX126-cbl-00631
Build Release Message
Computation Rules
📊 Business Logic Narrative
When the process 'Build Release Message' is invoked, and assuming that release information has been applied to the follower cargo record, when the system builds the release message, the desired outcome is that the message is formatted as 'edi 350: release via decon at port' followed by the port code from the p4 segment (first 4 characters).
💻 Technical Criteria
Given
Release information has been applied to the follower cargo record
When
The system builds the release message
Then
The message is formatted as 'EDI 350: RELEASE VIA DECON AT PORT' followed by the port code from the P4 segment (first 4 characters)
R-GCX126-cbl-00636
Update Follower Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Update Follower Cargo Record' is invoked, and assuming that all release information has been applied to the follower cargo record and us manifest has been processed, when the system updates the database, the desired outcome is that the cargo report segment is replaced in the database with the updated follower cargo information.
💻 Technical Criteria
Given
All release information has been applied to the follower cargo record and US manifest has been processed
When
The system updates the database
Then
The cargo report segment is replaced in the database with the updated follower cargo information
R-GCX126-cbl-00831
Status Code = Spaces?
Validation Rules
📊 Business Logic Narrative
When the process 'Status Code = Spaces?' is invoked, and assuming that a us cargo record retrieval operation has been executed, when the system checks the operation status code, the desired outcome is that if status code is spaces, the retrieval was successful and processing continues; otherwise, the end of database is reached.
💻 Technical Criteria
Given
A US cargo record retrieval operation has been executed
When
The system checks the operation status code
Then
If status code is spaces, the retrieval was successful and processing continues; otherwise, the end of database is reached
R-GCX126-cbl-00832
Set End of Database Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set End of Database Flag' is invoked, and assuming that a us cargo record retrieval operation has failed with non-space status code, when the system processes the failed retrieval result, the desired outcome is that the end of database flag is set to true indicating no more records exist.
💻 Technical Criteria
Given
A US cargo record retrieval operation has failed with non-space status code
When
The system processes the failed retrieval result
Then
The end of database flag is set to true indicating no more records exist
R-GCX126-cbl-00837
Clear Destination Station
Action Rules
📊 Business Logic Narrative
When the process 'Clear Destination Station' is invoked, and assuming that a cargo record is being processed for release or deconsolidation, when the release information is being set, the desired outcome is that the destination station number index field is set to spaces and the destination station number for index field is set to spaces.
💻 Technical Criteria
Given
A cargo record is being processed for release or deconsolidation
When
The release information is being set
Then
The destination station number index field is set to spaces AND the destination station number for index field is set to spaces
R-GCX126-cbl-00838
Set Release Date to Current Date
Action Rules
📊 Business Logic Narrative
When the process 'Set Release Date to Current Date' is invoked, and assuming that a cargo record is being processed for release or deconsolidation, when the release information is being set, the desired outcome is that the cargo release date field is set to the current machine date from the system.
💻 Technical Criteria
Given
A cargo record is being processed for release or deconsolidation
When
The release information is being set
Then
The cargo release date field is set to the current machine date from the system
R-GCX126-cbl-00839
Set Release Time to Current Time
Action Rules
📊 Business Logic Narrative
When the process 'Set Release Time to Current Time' is invoked, and assuming that a cargo record is being processed for release or deconsolidation, when the release information is being set, the desired outcome is that the cargo release time field is set to the current machine time from the system.
💻 Technical Criteria
Given
A cargo record is being processed for release or deconsolidation
When
The release information is being set
Then
The cargo release time field is set to the current machine time from the system
R-GCX126-cbl-00840
Set Release By User to Current User ID
Action Rules
📊 Business Logic Narrative
When the process 'Set Release By User to Current User ID' is invoked, and assuming that a cargo record is being processed for release or deconsolidation, when the release information is being set, the desired outcome is that the cargo release by field is set to the current acf2 user id from the system.
💻 Technical Criteria
Given
A cargo record is being processed for release or deconsolidation
When
The release information is being set
Then
The cargo release by field is set to the current ACF2 user ID from the system
R-GCX126-cbl-00841
Set Current Status to 'RELEASED'
Action Rules
📊 Business Logic Narrative
When the process 'Set Current Status to 'RELEASED'' is invoked, and assuming that a cargo record is being processed for release or deconsolidation, when the release information is being set, the desired outcome is that the cargo current status field is set to the literal value 'released'.
💻 Technical Criteria
Given
A cargo record is being processed for release or deconsolidation
When
The release information is being set
Then
The cargo current status field is set to the literal value 'RELEASED'
R-GCX126-cbl-00842
Set Release Status to 'R'
Action Rules
📊 Business Logic Narrative
When the process 'Set Release Status to 'R'' is invoked, and assuming that a cargo record is being processed for release or deconsolidation, when the release information is being set, the desired outcome is that the cargo release status field is set to the code 'r' indicating released status.
💻 Technical Criteria
Given
A cargo record is being processed for release or deconsolidation
When
The release information is being set
Then
The cargo release status field is set to the code 'R' indicating released status
R-GCX126-cbl-00843
Set Release Type to 'A'
Action Rules
📊 Business Logic Narrative
When the process 'Set Release Type to 'A'' is invoked, and assuming that a cargo record is being processed for release or deconsolidation via edi 350 message, when the release information is being set, the desired outcome is that the cargo release type field is set to the code 'a' indicating automatic release.
💻 Technical Criteria
Given
A cargo record is being processed for release or deconsolidation via EDI 350 message
When
The release information is being set
Then
The cargo release type field is set to the code 'A' indicating automatic release
R-GCX126-cbl-00844
Initialize Release Reason
Action Rules
📊 Business Logic Narrative
When the process 'Initialize Release Reason' is invoked, and assuming that a cargo record is being processed for release or deconsolidation, when the release information is being set, the desired outcome is that the cargo release reason field is set to spaces.
💻 Technical Criteria
Given
A cargo record is being processed for release or deconsolidation
When
The release information is being set
Then
The cargo release reason field is set to spaces
R-GCX126-cbl-00845
Clear Error Status Index
Action Rules
📊 Business Logic Narrative
When the process 'Clear Error Status Index' is invoked, and assuming that a cargo record is being processed for release or deconsolidation, when the release information is being set, the desired outcome is that the cargo error or release status index field is set to spaces.
💻 Technical Criteria
Given
A cargo record is being processed for release or deconsolidation
When
The release information is being set
Then
The cargo error or release status index field is set to spaces
R-GCX126-cbl-00846
Clear Error Status Field
Action Rules
📊 Business Logic Narrative
When the process 'Clear Error Status Field' is invoked, and assuming that a cargo record is being processed for release or deconsolidation, when the release information is being set, the desired outcome is that the cargo error status field is set to spaces.
💻 Technical Criteria
Given
A cargo record is being processed for release or deconsolidation
When
The release information is being set
Then
The cargo error status field is set to spaces
R-GCX126-cbl-00851
Prepare Log Message
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Log Message' is invoked, and assuming that a valid us cargo record has been identified for release logging, when the system prepares to create a log entry, the desired outcome is that the log input structure is cleared to spaces, the security byte is set to high-value, the sending transaction is set to 'gct1261e', and the user identifier is set to the current session's user identifier.
💻 Technical Criteria
Given
A valid US cargo record has been identified for release logging
When
The system prepares to create a log entry
Then
The log input structure is cleared to spaces, the security byte is set to high-value, the sending transaction is set to 'GCT1261E', and the user identifier is set to the current session's user identifier
R-GCX126-cbl-00854
Spawn GCT1051E Transaction to Log Message
Action Rules
📊 Business Logic Narrative
When the process 'Spawn GCT1051E Transaction to Log Message' is invoked, and assuming that all log entry fields have been populated with the us cargo release information, when the system executes the log entry creation process, the desired outcome is that if the log message is not spaces or low-values, the system replaces all spaces in the date with zeroes, replaces all spaces in the time with '1', moves the log input to the gct1051e message structure, changes the alternate program communication block, calls the write message log function with the message code, message content, message length and module name, and purges the alternate program communication block.
💻 Technical Criteria
Given
All log entry fields have been populated with the US cargo release information
When
The system executes the log entry creation process
Then
If the log message is not spaces or low-values, the system replaces all spaces in the date with zeroes, replaces all spaces in the time with '1', moves the log input to the GCT1051E message structure, changes the alternate program communication block, calls the write message log function with the message code, message content, message length and module name, and purges the alternate program communication block
R-GCX126-cbl-00855
No Action - Skip This US Cargo
Decision Rules
📊 Business Logic Narrative
When the process 'No Action - Skip This US Cargo' is invoked, and assuming that a us cargo record has been retrieved that either has a deleted status or has the train-created-for-it indicator set to 'y', when the system evaluates whether to process the cargo, the desired outcome is that the system performs no logging or update operations and proceeds to the end of the us manifest processing routine.
💻 Technical Criteria
Given
A US cargo record has been retrieved that either has a deleted status or has the train-created-for-it indicator set to 'Y'
When
The system evaluates whether to process the cargo
Then
The system performs no logging or update operations and proceeds to the end of the US manifest processing routine
R-GCX126-cbl-00856
End: US Manifest Processing Complete
Process Rules
📊 Business Logic Narrative
When the process 'End: US Manifest Processing Complete' is invoked, and assuming that either no us cargo was found, the us cargo was invalid and skipped, or the us cargo release has been successfully logged, when the system reaches the end of the us manifest processing routine, the desired outcome is that the system exits the us manifest processing section and returns control to the follower manifest processing loop.
💻 Technical Criteria
Given
Either no US cargo was found, the US cargo was invalid and skipped, or the US cargo release has been successfully logged
When
The system reaches the end of the US manifest processing routine
Then
The system exits the US manifest processing section and returns control to the follower manifest processing loop
R-GCX126-cbl-01011
Log Message Empty?
Validation Rules
📊 Business Logic Narrative
When the process 'Log Message Empty?' is invoked, and assuming that a log message (gcx105-message) is being prepared for writing to the audit trail, when the log message field contains only spaces or low values, the desired outcome is that the system skips all logging operations and exits the z300-spawn-gct1051e section without writing any log entry.
💻 Technical Criteria
Given
A log message (GCX105-MESSAGE) is being prepared for writing to the audit trail
When
The log message field contains only spaces OR low values
Then
The system skips all logging operations and exits the Z300-SPAWN-GCT1051E section without writing any log entry
R-GCX126-cbl-00317
Clear Destination Station Number
Action Rules
📊 Business Logic Narrative
When the process 'Clear Destination Station Number' is invoked, and assuming that a cargo record exists in the system, when the cargo is being released by customs, the desired outcome is that the destination station number index field is set to spaces and the destination station number for index field is set to spaces.
💻 Technical Criteria
Given
A cargo record exists in the system
When
The cargo is being released by customs
Then
The destination station number index field is set to spaces and the destination station number for index field is set to spaces
R-GCX126-cbl-00318
Set Release Date to Current Machine Date
Action Rules
📊 Business Logic Narrative
When the process 'Set Release Date to Current Machine Date' is invoked, and assuming that a cargo record is being released, when the release information is being set, the desired outcome is that the cargo release date field is populated with the current machine date in ccyymmdd format.
💻 Technical Criteria
Given
A cargo record is being released
When
The release information is being set
Then
The cargo release date field is populated with the current machine date in CCYYMMDD format
R-GCX126-cbl-00319
Set Release Time to Current Machine Time
Action Rules
📊 Business Logic Narrative
When the process 'Set Release Time to Current Machine Time' is invoked, and assuming that a cargo record is being released, when the release information is being set, the desired outcome is that the cargo release time field is populated with the current machine time in hhmmss format.
💻 Technical Criteria
Given
A cargo record is being released
When
The release information is being set
Then
The cargo release time field is populated with the current machine time in HHMMSS format
R-GCX126-cbl-00320
Set Release By User to ACF2 User ID
Action Rules
📊 Business Logic Narrative
When the process 'Set Release By User to ACF2 User ID' is invoked, and assuming that a cargo record is being released, when the release information is being set, the desired outcome is that the cargo release by field is populated with the current acf2 user id from the system.
💻 Technical Criteria
Given
A cargo record is being released
When
The release information is being set
Then
The cargo release by field is populated with the current ACF2 user ID from the system
R-GCX126-cbl-00321
Set Current Status to 'RELEASED'
Action Rules
📊 Business Logic Narrative
When the process 'Set Current Status to 'RELEASED'' is invoked, and assuming that a cargo record is being released by customs, when the release information is being set, the desired outcome is that the cargo current status field is set to the literal value 'released'.
💻 Technical Criteria
Given
A cargo record is being released by customs
When
The release information is being set
Then
The cargo current status field is set to the literal value 'RELEASED'
R-GCX126-cbl-00322
Set Release Status to 'R'
Action Rules
📊 Business Logic Narrative
When the process 'Set Release Status to 'R'' is invoked, and assuming that a cargo record is being released by customs, when the release information is being set, the desired outcome is that the cargo release status field is set to the character 'r'.
💻 Technical Criteria
Given
A cargo record is being released by customs
When
The release information is being set
Then
The cargo release status field is set to the character 'R'
R-GCX126-cbl-00323
Set Release Type to 'A'
Action Rules
📊 Business Logic Narrative
When the process 'Set Release Type to 'A'' is invoked, and assuming that a cargo record is being released through edi 350 message processing, when the release information is being set, the desired outcome is that the cargo release type field is set to the character 'a'.
💻 Technical Criteria
Given
A cargo record is being released through EDI 350 message processing
When
The release information is being set
Then
The cargo release type field is set to the character 'A'
R-GCX126-cbl-00324
Initialize Release Reason to Spaces
Action Rules
📊 Business Logic Narrative
When the process 'Initialize Release Reason to Spaces' is invoked, and assuming that a cargo record is being released, when the release information is being set, the desired outcome is that the cargo release reason field is set to spaces.
💻 Technical Criteria
Given
A cargo record is being released
When
The release information is being set
Then
The cargo release reason field is set to spaces
R-GCX126-cbl-00325
Clear Error/Release Status Index
Action Rules
📊 Business Logic Narrative
When the process 'Clear Error/Release Status Index' is invoked, and assuming that a cargo record is being released, when the release information is being set, the desired outcome is that the cargo error or release status index field is set to spaces.
💻 Technical Criteria
Given
A cargo record is being released
When
The release information is being set
Then
The cargo error or release status index field is set to spaces
R-GCX126-cbl-00326
Clear Error Status
Action Rules
📊 Business Logic Narrative
When the process 'Clear Error Status' is invoked, and assuming that a cargo record is being released, when the release information is being set, the desired outcome is that the cargo error status field is set to spaces.
💻 Technical Criteria
Given
A cargo record is being released
When
The release information is being set
Then
The cargo error status field is set to spaces
R-GCX126-cbl-00327
Initialize US Manifest Search Flags
Process Rules
📊 Business Logic Narrative
When the process 'Initialize US Manifest Search Flags' is invoked, and assuming that a canadian cargo record has been processed with release or deconsolidation status, when the system initiates us manifest search process, the desired outcome is that us manifest found flag is set to false and end of file flag is set to false.
💻 Technical Criteria
Given
A Canadian cargo record has been processed with release or deconsolidation status
When
The system initiates US manifest search process
Then
US manifest found flag is set to false AND end of file flag is set to false
R-GCX126-cbl-00330
Database Status OK?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Database Status OK?', assuming that first us cargo record retrieval has been attempted, when database status code is not spaces (indicating error), the desired outcome is that end of file flag is set to true.
💻 Technical Criteria
EXCLUDING
First US cargo record retrieval has been attempted
When
Database status code is not spaces (indicating error)
Then
End of file flag is set to true
R-GCX126-cbl-00334
US Manifest Found?
Decision Rules
📊 Business Logic Narrative
When the process 'US Manifest Found?' is invoked, and assuming that first us cargo retrieval and validation has completed, when the system checks us manifest found flag, the desired outcome is that if us manifest found flag is true, proceed to prepare log information else retrieve next us cargo record.
💻 Technical Criteria
Given
First US cargo retrieval and validation has completed
When
The system checks US manifest found flag
Then
If US manifest found flag is true, proceed to prepare log information ELSE retrieve next US cargo record
R-GCX126-cbl-00336
Database Status OK?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Database Status OK?', assuming that next us cargo record retrieval has been attempted, when database status code is not spaces (indicating error), the desired outcome is that end of file flag is set to true.
💻 Technical Criteria
EXCLUDING
Next US cargo record retrieval has been attempted
When
Database status code is not spaces (indicating error)
Then
End of file flag is set to true
R-GCX126-cbl-00340
End of File?
Decision Rules
📊 Business Logic Narrative
When the process 'End of File?' is invoked, and assuming that a us cargo record has been retrieved and validated, when the system checks end of file flag, the desired outcome is that if end of file flag is true, exit us manifest processing else retrieve next us cargo record.
💻 Technical Criteria
Given
A US cargo record has been retrieved and validated
When
The system checks end of file flag
Then
If end of file flag is true, exit US manifest processing ELSE retrieve next US cargo record
R-GCX126-cbl-00641
Record Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Record Found?' is invoked, and assuming that a database retrieval operation has been executed for us cargo, when the system checks the database status code, the desired outcome is that if the status code is blank (spaces), the record is found and processing continues; if the status code is not blank, no record exists and the end-of-database flag is set.
💻 Technical Criteria
Given
A database retrieval operation has been executed for US cargo
When
The system checks the database status code
Then
If the status code is blank (spaces), the record is found and processing continues; if the status code is not blank, no record exists and the end-of-database flag is set
R-GCX126-cbl-00857
Set Car ID from Current Cargo
Process Rules
📊 Business Logic Narrative
When the process 'Set Car ID from Current Cargo' is invoked, and assuming that a cargo record is being processed with a current equipment car identifier key, when the system prepares to search for associated us cargo records, the desired outcome is that the us cargo search car identifier index is populated with the current cargo's equipment car identifier key.
💻 Technical Criteria
Given
A cargo record is being processed with a current equipment car identifier key
When
The system prepares to search for associated US cargo records
Then
The US cargo search car identifier index is populated with the current cargo's equipment car identifier key
R-GCX126-cbl-00860
Set Database Status to 'GEGB'
Process Rules
📊 Business Logic Narrative
When the process 'Set Database Status to 'GEGB'' is invoked, and assuming that the system needs to retrieve us cargo records from the database, when database access parameters are being configured, the desired outcome is that the database accept status is set to 'gegb' to enable get and browse operations.
💻 Technical Criteria
Given
The system needs to retrieve US cargo records from the database
When
Database access parameters are being configured
Then
The database accept status is set to 'GEGB' to enable get and browse operations
R-GCX126-cbl-00861
Set Function to GU - Get Unique
Process Rules
📊 Business Logic Narrative
When the process 'Set Function to GU - Get Unique' is invoked, and assuming that the system is initiating a search for us cargo records, when the database function type is being configured, the desired outcome is that the function code is set to gu (get unique) to retrieve the first matching record.
💻 Technical Criteria
Given
The system is initiating a search for US cargo records
When
The database function type is being configured
Then
The function code is set to GU (Get Unique) to retrieve the first matching record
R-GCX126-cbl-00865
Database Status OK?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Database Status OK?', assuming that a database call has been executed to retrieve a us cargo record, when the database status code is not spaces (indicating an error or no records found), the desired outcome is that the end-of-database flag is set to true and processing continues to completion.
💻 Technical Criteria
EXCLUDING
A database call has been executed to retrieve a US cargo record
When
The database status code is not spaces (indicating an error or no records found)
Then
The end-of-database flag is set to true and processing continues to completion
R-GCX126-cbl-00648
Database Status OK? - No - Not Found
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Database Status OK? - No - Not Found', assuming that a database retrieval operation has been executed for the next us cargo record, when the database status code is not blank (indicating no record found or error condition), the desired outcome is that the end-of-database flag is set to true to indicate no more records are available.
💻 Technical Criteria
EXCLUDING
A database retrieval operation has been executed for the next US cargo record
When
The database status code is not blank (indicating no record found or error condition)
Then
The end-of-database flag is set to true to indicate no more records are available
R-GCX126-cbl-00651
Transfer Receipt Created?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Transfer Receipt Created?', assuming that a us cargo record has been retrieved, validated for match, and confirmed as not deleted, when the system checks if a transfer receipt exists for this cargo, the desired outcome is that if the transfer receipt created indicator equals 'y', the record is skipped and processing continues to the next iteration; otherwise, the us manifest found flag is set to true.
💻 Technical Criteria
EXCLUDING
A US cargo record has been retrieved, validated for match, and confirmed as not deleted
When
The system checks if a transfer receipt exists for this cargo
Then
If the transfer receipt created indicator equals 'Y', the record is skipped and processing continues to the next iteration; otherwise, the US manifest found flag is set to true
R-GCX126-cbl-00871
Database Status OK?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Database Status OK?', assuming that the database call to retrieve next us cargo record has completed, when the database status code is not blank (indicating an error or end of data), the desired outcome is that the end-of-database flag is set to true and processing terminates.
💻 Technical Criteria
EXCLUDING
The database call to retrieve next US cargo record has completed
When
The database status code is not blank (indicating an error or end of data)
Then
The end-of-database flag is set to true and processing terminates
R-GCX126-cbl-00963
Set Accept Status to 'GEGB'
Process Rules
📊 Business Logic Narrative
When the process 'Set Accept Status to 'GEGB'' is invoked, and assuming that the system needs to perform a database get next operation on cargo records, when the accept status is being configured for the database call, the desired outcome is that the accept status field is set to 'gegb' to indicate get next with good status and browse mode.
💻 Technical Criteria
Given
The system needs to perform a database Get Next operation on cargo records
When
The accept status is being configured for the database call
Then
The accept status field is set to 'GEGB' to indicate Get Next with Good status and Browse mode
R-GCX126-cbl-00344
Is Cargo CSA Manifest?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Cargo CSA Manifest?' is invoked, and assuming that an edi 350 message with v9 segment notice reason code indicating 'authorization to deliver' and the cargo record exists in the database and the cargo has csa indicator turned on (gccc-csa-ind-on is true), when the system processes the authorization to deliver message, the desired outcome is that the system logs the message 'edi 350: accepted - csa' and sets the cargo current status to csa-dlv (gccc-status-csa-dlv) and sets the csa authorization to deliver received flag to true (gccc-csa-auth-deliver-recd) and updates the cargo record in the database.
💻 Technical Criteria
Given
An EDI 350 message with V9 segment notice reason code indicating 'Authorization to Deliver' AND the cargo record exists in the database AND the cargo has CSA indicator turned ON (GCCC-CSA-IND-ON is true)
When
The system processes the authorization to deliver message
Then
The system logs the message 'EDI 350: ACCEPTED - CSA' AND sets the cargo current status to CSA-DLV (GCCC-STATUS-CSA-DLV) AND sets the CSA authorization to deliver received flag to TRUE (GCCC-CSA-AUTH-DELIVER-RECD) AND updates the cargo record in the database
R-GCX126-cbl-00345
Is Cargo CSA Manifest?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Cargo CSA Manifest?' is invoked, and assuming that an edi 350 message with v9 segment notice reason code indicating 'authorization to deliver' and the cargo record exists in the database and the cargo has csa indicator turned off (gccc-csa-ind-on is false), when the system processes the authorization to deliver message, the desired outcome is that the system logs the message 'edi 350: not accepted - non-csa' and does not update the cargo record in the database.
💻 Technical Criteria
Given
An EDI 350 message with V9 segment notice reason code indicating 'Authorization to Deliver' AND the cargo record exists in the database AND the cargo has CSA indicator turned OFF (GCCC-CSA-IND-ON is false)
When
The system processes the authorization to deliver message
Then
The system logs the message 'EDI 350: NOT ACCEPTED - NON-CSA' AND does not update the cargo record in the database
R-GCX126-cbl-00348
Set Cargo Status to CSA-DLV
Action Rules
📊 Business Logic Narrative
When the process 'Set Cargo Status to CSA-DLV' is invoked, and assuming that the cargo is a csa manifest and the authorization to deliver message has been accepted, when the system updates the cargo status, the desired outcome is that the system sets the cargo status indicator to gccc-status-csa-dlv (csa delivery authorized status).
💻 Technical Criteria
Given
The cargo is a CSA manifest AND the authorization to deliver message has been accepted
When
The system updates the cargo status
Then
The system sets the cargo status indicator to GCCC-STATUS-CSA-DLV (CSA delivery authorized status)
R-GCX126-cbl-00349
Set CSA Authorization Deliver Flag to TRUE
Action Rules
📊 Business Logic Narrative
When the process 'Set CSA Authorization Deliver Flag to TRUE' is invoked, and assuming that the cargo is a csa manifest and the authorization to deliver message has been accepted and the cargo status has been set to csa-dlv, when the system sets the authorization flag, the desired outcome is that the system sets the csa authorization to deliver received flag (gccc-csa-auth-deliver-recd) to true.
💻 Technical Criteria
Given
The cargo is a CSA manifest AND the authorization to deliver message has been accepted AND the cargo status has been set to CSA-DLV
When
The system sets the authorization flag
Then
The system sets the CSA authorization to deliver received flag (GCCC-CSA-AUTH-DELIVER-RECD) to TRUE
R-GCX126-cbl-00350
Update Cargo Record in Database
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record in Database' is invoked, and assuming that the cargo is a csa manifest and the authorization to deliver has been accepted and the cargo status has been set to csa-dlv and the csa authorization flag has been set to true, when the system updates the cargo record, the desired outcome is that the system replaces the cargo record (gccc-cargo-report-segment) in the database using the repl function through the gccc-pcb program control block.
💻 Technical Criteria
Given
The cargo is a CSA manifest AND the authorization to deliver has been accepted AND the cargo status has been set to CSA-DLV AND the CSA authorization flag has been set to TRUE
When
The system updates the cargo record
Then
The system replaces the cargo record (GCCC-CARGO-REPORT-SEGMENT) in the database using the REPL function through the GCCC-PCB program control block
R-GCX126-cbl-00368
Set Release Information: Clear Destination Station, Set Release Date/Time, Set Release By User, Set Status to RELEASED, Clear Error Fields
Process Rules
📊 Business Logic Narrative
When the process 'Set Release Information: Clear Destination Station, Set Release Date/Time, Set Release By User, Set Status to RELEASED, Clear Error Fields' is invoked, and assuming that a follower cargo record has been found, when applying release information to the follower, the desired outcome is that the destination station numbers are cleared to spaces, release date is set to current machine date, release time is set to current machine time, release by is set to current user id, current status is set to 'released', release status is set to 'r', release type is set to 'a', error/release status index is cleared to spaces, and error status is cleared to spaces.
💻 Technical Criteria
Given
A follower cargo record has been found
When
Applying release information to the follower
Then
The destination station numbers are cleared to spaces, release date is set to current machine date, release time is set to current machine time, release by is set to current user ID, current status is set to 'RELEASED', release status is set to 'R', release type is set to 'A', error/release status index is cleared to spaces, and error status is cleared to spaces
R-GCX126-cbl-00375
Update Follower Cargo Record
Action Rules
📊 Business Logic Narrative
When the process 'Update Follower Cargo Record' is invoked, and assuming that all release information has been set and us manifest has been processed, when persisting the changes to the database, the desired outcome is that the system calls the database with replace function to update the follower cargo record, with status code cleared to spaces and accept status set to blank.
💻 Technical Criteria
Given
All release information has been set and US manifest has been processed
When
Persisting the changes to the database
Then
The system calls the database with Replace function to update the follower cargo record, with status code cleared to spaces and accept status set to blank
R-GCX126-cbl-00657
Status Code = Blank?
Decision Rules
📊 Business Logic Narrative
When the process 'Status Code = Blank?' is invoked, and assuming that a database call has been made to retrieve the next cargo record, when the status code from the database call is evaluated, the desired outcome is that if the status code is blank (spaces), the retrieval was successful and processing continues; otherwise, the end of database flag is set to true.
💻 Technical Criteria
Given
A database call has been made to retrieve the next cargo record
When
The status code from the database call is evaluated
Then
If the status code is blank (spaces), the retrieval was successful and processing continues; otherwise, the end of database flag is set to true
R-GCX126-cbl-00659
Is Follower Manifest?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Follower Manifest?' is invoked, and assuming that a cargo record has been retrieved and verified to belong to the master manifest hierarchy, when the manifest type indicator (gccc-follower-mfst) is evaluated, the desired outcome is that if the cargo record is identified as a follower manifest (not a master manifest), it is eligible for collection; otherwise, the loop continues to the next record.
💻 Technical Criteria
Given
A cargo record has been retrieved and verified to belong to the master manifest hierarchy
When
The manifest type indicator (GCCC-FOLLOWER-MFST) is evaluated
Then
If the cargo record is identified as a follower manifest (not a master manifest), it is eligible for collection; otherwise, the loop continues to the next record
R-GCX126-cbl-00664
Return: No Follower Manifests Found
Process Rules
📊 Business Logic Narrative
When the process 'Return: No Follower Manifests Found' is invoked, and assuming that the follower manifest count is zero or negative, when the system needs to complete the retrieval process, the desired outcome is that control returns to the calling process with an empty follower manifest array, and no further follower processing occurs.
💻 Technical Criteria
Given
The follower manifest count is zero or negative
When
The system needs to complete the retrieval process
Then
Control returns to the calling process with an empty follower manifest array, and no further follower processing occurs
R-GCX126-cbl-00876
Set Status Code to 'GEGB'
Process Rules
📊 Business Logic Narrative
When the process 'Set Status Code to 'GEGB'' is invoked, and assuming that the system needs to retrieve the next cargo record from the database, when preparing to call the database with get next function, the desired outcome is that the status code is set to 'gegb' to indicate get next operation with proper positioning.
💻 Technical Criteria
Given
The system needs to retrieve the next cargo record from the database
When
Preparing to call the database with Get Next function
Then
The status code is set to 'GEGB' to indicate Get Next operation with proper positioning
R-GCX126-cbl-00878
Status Code = Blank?
Decision Rules
📊 Business Logic Narrative
When the process 'Status Code = Blank?' is invoked, and assuming that a database get next call has been executed to retrieve a cargo record, when the system checks the database status code, the desired outcome is that if the status code equals blank (spaces), the record was successfully retrieved and processing continues; otherwise, the end of database flag is set.
💻 Technical Criteria
Given
A database Get Next call has been executed to retrieve a cargo record
When
The system checks the database status code
Then
If the status code equals blank (spaces), the record was successfully retrieved and processing continues; otherwise, the end of database flag is set
R-GCX126-cbl-00886
Continue to Next Record
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Continue to Next Record', assuming that the current cargo record is either a master manifest or not a follower manifest, when the system determines the current record should be skipped, the desired outcome is that control returns to the caller to continue the loop and retrieve the next cargo record.
💻 Technical Criteria
EXCLUDING
The current cargo record is either a master manifest or not a follower manifest
When
The system determines the current record should be skipped
Then
Control returns to the caller to continue the loop and retrieve the next cargo record
R-GCX126-cbl-00671
Notice Reason Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Notice Reason Type?' is invoked, and assuming that a valid cargo record exists for the follower manifest and the v9 segment contains a notice reason code, when the system determines the type of release message to create, the desired outcome is that if v9-02-released is true, process as standard release, otherwise if v9-02-decon is true, process as deconsolidation release.
💻 Technical Criteria
Given
A valid cargo record exists for the follower manifest AND the V9 segment contains a notice reason code
When
The system determines the type of release message to create
Then
If V9-02-RELEASED is true, process as standard release, otherwise if V9-02-DECON is true, process as deconsolidation release
R-GCX126-cbl-00674
Set Release Reason with Release Reference and Port
Process Rules
📊 Business Logic Narrative
When the process 'Set Release Reason with Release Reference and Port' is invoked, and assuming that the follower manifest has a standard release notice reason code (v9-02-released) and x4 segment contains release reference id and p4 segment contains port code, when the system updates the cargo release reason field, the desired outcome is that x4-01-cbsa-rel-ref-id (first 15 characters) and '/' and p4-01-port-cde (first 4 characters) are concatenated into gccc-release-reason.
💻 Technical Criteria
Given
The follower manifest has a standard release notice reason code (V9-02-RELEASED) AND X4 segment contains release reference ID AND P4 segment contains port code
When
The system updates the cargo release reason field
Then
X4-01-CBSA-REL-REF-ID (first 15 characters) and '/' and P4-01-PORT-CDE (first 4 characters) are concatenated into GCCC-RELEASE-REASON
R-GCX126-cbl-00675
Set Release Reason with Deconsolidation Port
Process Rules
📊 Business Logic Narrative
When the process 'Set Release Reason with Deconsolidation Port' is invoked, and assuming that the follower manifest has a deconsolidation notice reason code (v9-02-decon) and p4 segment contains port code, when the system updates the cargo release reason field, the desired outcome is that the text 'deconsolidation at ' is concatenated with p4-01-port-cde (first 4 characters) into gccc-release-reason.
💻 Technical Criteria
Given
The follower manifest has a deconsolidation notice reason code (V9-02-DECON) AND P4 segment contains port code
When
The system updates the cargo release reason field
Then
The text 'DECONSOLIDATION AT ' is concatenated with P4-01-PORT-CDE (first 4 characters) into GCCC-RELEASE-REASON
R-GCX126-cbl-00678
43: Update Cargo Record
Action Rules
📊 Business Logic Narrative
When the process '43: Update Cargo Record' is invoked, and assuming that all release information has been set in the follower cargo segment (gccc-cargo-report-segment) including release date, time, user, status, type, and reason, when the system updates the follower cargo record, the desired outcome is that the cargo record is replaced in gcsccrt table using repl operation with the updated cargo segment data.
💻 Technical Criteria
Given
All release information has been set in the follower cargo segment (GCCC-CARGO-REPORT-SEGMENT) including release date, time, user, status, type, and reason
When
The system updates the follower cargo record
Then
The cargo record is replaced in GCSCCRT table using REPL operation with the updated cargo segment data
R-GCX126-cbl-00891
Status Code = Spaces?
Decision Rules
📊 Business Logic Narrative
When the process 'Status Code = Spaces?' is invoked, and assuming that the database retrieval operation for cargo has completed, when the system checks the database operation status code, the desired outcome is that if the status code is spaces (blank), the cargo record exists; otherwise, the cargo record does not exist in the database.
💻 Technical Criteria
Given
The database retrieval operation for cargo has completed
When
The system checks the database operation status code
Then
If the status code is spaces (blank), the cargo record exists; otherwise, the cargo record does not exist in the database
R-GCX126-cbl-00892
Set Cargo Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Cargo Found Flag' is invoked, and assuming that the database status code indicates successful cargo retrieval (status code is spaces), when the system processes the successful database response, the desired outcome is that the cargo found indicator (ws-cargo-found) is set to true to indicate the cargo record exists.
💻 Technical Criteria
Given
The database status code indicates successful cargo retrieval (status code is spaces)
When
The system processes the successful database response
Then
The cargo found indicator (WS-CARGO-FOUND) is set to true to indicate the cargo record exists
R-GCX126-cbl-00893
Read Cargo Secondary Segment
Action Rules
📊 Business Logic Narrative
When the process 'Read Cargo Secondary Segment' is invoked, and assuming that the primary cargo report segment has been successfully retrieved, when the system attempts to read the cargo secondary segment using ghu function, the desired outcome is that the system retrieves the cargo secondary segment (gcsccs52) from the secondary cargo database (gca2-pcb) using the secondary search key.
💻 Technical Criteria
Given
The primary cargo report segment has been successfully retrieved
When
The system attempts to read the cargo secondary segment using GHU function
Then
The system retrieves the cargo secondary segment (GCSCCS52) from the secondary cargo database (GCA2-PCB) using the secondary search key
R-GCX126-cbl-00896
Set Cargo Not Found Flag
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Cargo Not Found Flag', assuming that the database status code indicates unsuccessful cargo retrieval (status code is not spaces), when the system processes the failed database response, the desired outcome is that the cargo not found indicator (ws-cargo-not-found) is set to true to indicate the cargo record does not exist.
💻 Technical Criteria
EXCLUDING
The database status code indicates unsuccessful cargo retrieval (status code is not spaces)
When
The system processes the failed database response
Then
The cargo not found indicator (WS-CARGO-NOT-FOUND) is set to true to indicate the cargo record does not exist
R-GCX126-cbl-00902
Initialize US Manifest Search Flags
Process Rules
📊 Business Logic Narrative
When the process 'Initialize US Manifest Search Flags' is invoked, and assuming that a canadian cargo record has been processed with release or deconsolidation status, when the system begins searching for associated us manifest records, the desired outcome is that the us manifest found flag is set to not found and the end-of-database flag is set to not end of db to enable iterative search.
💻 Technical Criteria
Given
A Canadian cargo record has been processed with release or deconsolidation status
When
The system begins searching for associated US manifest records
Then
The US manifest found flag is set to NOT FOUND and the end-of-database flag is set to NOT END OF DB to enable iterative search
R-GCX126-cbl-00904
Cargo Status Check
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Cargo Status Check', assuming that a database retrieval operation has been performed for us cargo, when the database status code is not spaces (indicating record not found or error), the desired outcome is that the end-of-database flag is set to true and processing exits the us manifest search without creating any log entries.
💻 Technical Criteria
EXCLUDING
A database retrieval operation has been performed for US cargo
When
The database status code is not SPACES (indicating record not found or error)
Then
The end-of-database flag is set to TRUE and processing exits the US manifest search without creating any log entries
R-GCX126-cbl-00964
Clear GCX105 Input Area
Process Rules
📊 Business Logic Narrative
When the process 'Clear GCX105 Input Area' is invoked, and assuming that a cargo event or status change needs to be logged to the audit trail, when the log information preparation process is initiated, the desired outcome is that the system shall clear the gcx105 input area to remove any previous data, set the security byte to high-value to indicate secure logging, set the sending transaction identifier to 'gct1261e' to identify the source program, and populate the acf2 user id from the current session context (cccom) to track who initiated the action.
💻 Technical Criteria
Given
A cargo event or status change needs to be logged to the audit trail
When
The log information preparation process is initiated
Then
The system shall clear the GCX105 input area to remove any previous data, set the security byte to HIGH-VALUE to indicate secure logging, set the sending transaction identifier to 'GCT1261E' to identify the source program, and populate the ACF2 user ID from the current session context (CCCOM) to track who initiated the action
R-GCX126-cbl-00965
Clear GCX105 Input Area
Process Rules
📊 Business Logic Narrative
When the process 'Clear GCX105 Input Area' is invoked, and assuming that a new log entry needs to be created for a cargo event, when the log preparation process begins, the desired outcome is that the system shall initialize the gcx105-input area to spaces, removing all previous content.
💻 Technical Criteria
Given
A new log entry needs to be created for a cargo event
When
The log preparation process begins
Then
The system shall initialize the GCX105-INPUT area to spaces, removing all previous content
R-GCX126-cbl-01018
Message Empty?
Validation Rules
📊 Business Logic Narrative
When the process 'Message Empty?' is invoked, and assuming that a cargo information message is ready to be logged, when the message content (gcx105-message) is either spaces or low-values, the desired outcome is that the system skips the logging process and exits without creating any log entry.
💻 Technical Criteria
Given
A cargo information message is ready to be logged
When
The message content (GCX105-MESSAGE) is either spaces or low-values
Then
The system skips the logging process and exits without creating any log entry
R-GCX126-cbl-01019
Replace Spaces with Zeroes in Date
Validation Rules
📊 Business Logic Narrative
When the process 'Replace Spaces with Zeroes in Date' is invoked, and assuming that a cargo information message with a date field (gcx105-date) is being prepared for logging, when the date field contains any space characters, the desired outcome is that the system replaces all spaces in the date field with zeroes to ensure numeric consistency.
💻 Technical Criteria
Given
A cargo information message with a date field (GCX105-DATE) is being prepared for logging
When
The date field contains any space characters
Then
The system replaces all spaces in the date field with zeroes to ensure numeric consistency
R-GCX126-cbl-01020
Replace Spaces with '1' in Time
Validation Rules
📊 Business Logic Narrative
When the process 'Replace Spaces with '1' in Time' is invoked, and assuming that a cargo information message with a time field (gcx105-time) is being prepared for logging, when the time field contains any space characters, the desired outcome is that the system replaces all spaces in the time field with the character '1' to ensure valid time format.
💻 Technical Criteria
Given
A cargo information message with a time field (GCX105-TIME) is being prepared for logging
When
The time field contains any space characters
Then
The system replaces all spaces in the time field with the character '1' to ensure valid time format
R-GCX126-cbl-01021
Move Input to GCT1051E Message
Process Rules
📊 Business Logic Narrative
When the process 'Move Input to GCT1051E Message' is invoked, and assuming that a validated cargo information message (gcx105-input) is ready for logging, when the message needs to be written to the ims message queue, the desired outcome is that the system moves the input message to the gct1051e message structure (gct1051e-msg).
💻 Technical Criteria
Given
A validated cargo information message (GCX105-INPUT) is ready for logging
When
The message needs to be written to the IMS message queue
Then
The system moves the input message to the GCT1051E message structure (GCT1051E-MSG)
R-GCX126-cbl-01022
Set Accept Status to Blank
Process Rules
📊 Business Logic Narrative
When the process 'Set Accept Status to Blank' is invoked, and assuming that a cargo information message is ready to be written to ims, when the system prepares to call ims message services, the desired outcome is that the system sets the accept status (cc-accept-status) to blank (two spaces) to enable standard message processing.
💻 Technical Criteria
Given
A cargo information message is ready to be written to IMS
When
The system prepares to call IMS message services
Then
The system sets the accept status (CC-ACCEPT-STATUS) to blank (two spaces) to enable standard message processing
R-GCX126-cbl-01023
Call CIMS with CHNG Function
Action Rules
📊 Business Logic Narrative
When the process 'Call CIMS with CHNG Function' is invoked, and assuming that a cargo information message is prepared in gct1051e format, when the message destination needs to be set in the ims message queue, the desired outcome is that the system calls cims with chng function using the alternate pcb and gct1051e message structure to establish the message destination.
💻 Technical Criteria
Given
A cargo information message is prepared in GCT1051E format
When
The message destination needs to be set in the IMS message queue
Then
The system calls CIMS with CHNG function using the alternate PCB and GCT1051E message structure to establish the message destination
R-GCX126-cbl-01024
Call WRITMSGL to Write Message Log
Action Rules
📊 Business Logic Narrative
When the process 'Call WRITMSGL to Write Message Log' is invoked, and assuming that a cargo information message is formatted in gct1051e structure with destination set, when the message needs to be permanently logged, the desired outcome is that the system calls writmsgl with the alternate pcb, message code (gct1051e-msg-code), message content (gct1051e-message), message length (gct1051e-msg-lgth), and module name (gct1051e-mod-name) to write the log entry.
💻 Technical Criteria
Given
A cargo information message is formatted in GCT1051E structure with destination set
When
The message needs to be permanently logged
Then
The system calls WRITMSGL with the alternate PCB, message code (GCT1051E-MSG-CODE), message content (GCT1051E-MESSAGE), message length (GCT1051E-MSG-LGTH), and module name (GCT1051E-MOD-NAME) to write the log entry
R-GCX126-cbl-01025
Call CIMS with PURG Function
Action Rules
📊 Business Logic Narrative
When the process 'Call CIMS with PURG Function' is invoked, and assuming that a cargo information message has been successfully written to the message log, when the logging transaction needs to be completed, the desired outcome is that the system calls cims with purg function using the alternate pcb to remove the message from the queue and finalize the transaction.
💻 Technical Criteria
Given
A cargo information message has been successfully written to the message log
When
The logging transaction needs to be completed
Then
The system calls CIMS with PURG function using the alternate PCB to remove the message from the queue and finalize the transaction
R-GCX126-cbl-00380
Set Line 2: Blank
Process Rules
📊 Business Logic Narrative
When the process 'Set Line 2: Blank' is invoked, and assuming that a cargo hold notification message is being constructed, when the system formats the notification content, the desired outcome is that set the second detail line to blank space.
💻 Technical Criteria
Given
A cargo hold notification message is being constructed
When
The system formats the notification content
Then
Set the second detail line to blank space
R-GCX126-cbl-00381
Set Line 3: Equipment ID
Process Rules
📊 Business Logic Narrative
When the process 'Set Line 3: Equipment ID' is invoked, and assuming that a cargo hold notification is being prepared with cargo equipment information available, when the system constructs the notification details, the desired outcome is that set the third detail line to 'equipment : ' followed by the equipment id from the cargo record.
💻 Technical Criteria
Given
A cargo hold notification is being prepared with cargo equipment information available
When
The system constructs the notification details
Then
Set the third detail line to 'Equipment : ' followed by the equipment ID from the cargo record
R-GCX126-cbl-00384
Set Line 6: Destination Station Name and State
Process Rules
📊 Business Logic Narrative
When the process 'Set Line 6: Destination Station Name and State' is invoked, and assuming that a cargo hold notification is being prepared with destination information available, when the system constructs the notification details, the desired outcome is that set the sixth detail line to 'destination : ' followed by the destination station name, comma, space, and destination station state code from the cargo record.
💻 Technical Criteria
Given
A cargo hold notification is being prepared with destination information available
When
The system constructs the notification details
Then
Set the sixth detail line to 'DESTINATION : ' followed by the destination station name, comma, space, and destination station state code from the cargo record
R-GCX126-cbl-00385
Set Line 7: Manifest Upon Station Name
Process Rules
📊 Business Logic Narrative
When the process 'Set Line 7: Manifest Upon Station Name' is invoked, and assuming that a cargo hold notification is being prepared with manifest station information available, when the system constructs the notification details, the desired outcome is that set the seventh detail line to 'manifest upon : ' followed by the manifest to station name from the cargo record.
💻 Technical Criteria
Given
A cargo hold notification is being prepared with manifest station information available
When
The system constructs the notification details
Then
Set the seventh detail line to 'MANIFEST UPON : ' followed by the manifest to station name from the cargo record
R-GCX126-cbl-00386
Set Total Lines to 7
Process Rules
📊 Business Logic Narrative
When the process 'Set Total Lines to 7' is invoked, and assuming that a cargo hold notification message has been fully constructed with all detail lines, when the system finalizes the notification structure, the desired outcome is that set the line counter to 7 to indicate seven detail lines are included in the notification.
💻 Technical Criteria
Given
A cargo hold notification message has been fully constructed with all detail lines
When
The system finalizes the notification structure
Then
Set the line counter to 7 to indicate seven detail lines are included in the notification
R-GCX126-cbl-00387
Set Email Type to HOLD
Process Rules
📊 Business Logic Narrative
When the process 'Set Email Type to HOLD' is invoked, and assuming that a cargo hold notification has been prepared with all required details, when the system categorizes the notification for routing, the desired outcome is that set the notification type indicator to hold type.
💻 Technical Criteria
Given
A cargo hold notification has been prepared with all required details
When
The system categorizes the notification for routing
Then
Set the notification type indicator to HOLD type
R-GCX126-cbl-00388
Call Email Preparation Routine
Action Rules
📊 Business Logic Narrative
When the process 'Call Email Preparation Routine' is invoked, and assuming that a cargo hold notification has been fully prepared with type set to hold and all detail lines populated, when the system is ready to send the notification, the desired outcome is that call the email preparation routine (z110-prep-emcsend) to process and send the notification.
💻 Technical Criteria
Given
A cargo hold notification has been fully prepared with type set to HOLD and all detail lines populated
When
The system is ready to send the notification
Then
Call the email preparation routine (Z110-PREP-EMCSEND) to process and send the notification
R-GCX126-cbl-00408
Set Destination Filename: UNKNOWN
Process Rules
📊 Business Logic Narrative
When the process 'Set Destination Filename: UNKNOWN' is invoked, and assuming that an unknown cargo notification has been prepared with all message details, when the system configures routing parameters, the desired outcome is that set the destination filename to 'unknown' to route the message to the unknown message queue.
💻 Technical Criteria
Given
An unknown cargo notification has been prepared with all message details
When
The system configures routing parameters
Then
Set the destination filename to 'UNKNOWN' to route the message to the unknown message queue
R-GCX126-cbl-00409
Set Recipient: OM01247
Process Rules
📊 Business Logic Narrative
When the process 'Set Recipient: OM01247' is invoked, and assuming that an unknown cargo notification has been prepared and the destination filename has been set to 'unknown', when the system assigns the notification recipient, the desired outcome is that set the recipient user code to 'om01247' as the default operations mailbox.
💻 Technical Criteria
Given
An unknown cargo notification has been prepared AND the destination filename has been set to 'UNKNOWN'
When
The system assigns the notification recipient
Then
Set the recipient user code to 'OM01247' as the default operations mailbox
R-GCX126-cbl-00410
Call Email Send Process
Action Rules
📊 Business Logic Narrative
When the process 'Call Email Send Process' is invoked, and assuming that an unknown cargo notification has been fully prepared with subject, message lines, destination filename set to 'unknown', and recipient set to 'om01247', when the system invokes the email send process, the desired outcome is that call the email notification service with all prepared notification parameters to deliver the message to the recipient.
💻 Technical Criteria
Given
An unknown cargo notification has been fully prepared with subject, message lines, destination filename set to 'UNKNOWN', and recipient set to 'OM01247'
When
The system invokes the email send process
Then
Call the email notification service with all prepared notification parameters to deliver the message to the recipient
R-GCX126-cbl-00414
Add Line 1: 'Cargo on HOLD for inspection by CBSA - EDI350'
Process Rules
📊 Business Logic Narrative
When the process 'Add Line 1: 'Cargo on HOLD for inspection by CBSA - EDI350'' is invoked, and assuming that a hold notification email is being prepared, when the email body content is being constructed, the desired outcome is that the system adds 'cargo on hold for inspection by cbsa - edi350' as the first detail line in the email body.
💻 Technical Criteria
Given
A hold notification email is being prepared
When
The email body content is being constructed
Then
The system adds 'Cargo on HOLD for inspection by CBSA - EDI350' as the first detail line in the email body
R-GCX126-cbl-00416
Add Line 3: 'Equipment: ' + Equipment ID
Process Rules
📊 Business Logic Narrative
When the process 'Add Line 3: 'Equipment: ' + Equipment ID' is invoked, and assuming that a cargo record with equipment id information, when the email body content is being constructed, the desired outcome is that the system adds a line containing 'equipment : ' followed by the equipment id value as the third line in the email body.
💻 Technical Criteria
Given
A cargo record with equipment ID information
When
The email body content is being constructed
Then
The system adds a line containing 'Equipment : ' followed by the equipment ID value as the third line in the email body
R-GCX126-cbl-00419
Add Line 6: 'DESTINATION: ' + Destination Station Name + State Code
Process Rules
📊 Business Logic Narrative
When the process 'Add Line 6: 'DESTINATION: ' + Destination Station Name + State Code' is invoked, and assuming that a cargo record with destination station name and state code, when the email body content is being constructed, the desired outcome is that the system adds a line containing 'destination : ' followed by the destination station name, ', ', and state code as the sixth line in the email body.
💻 Technical Criteria
Given
A cargo record with destination station name and state code
When
The email body content is being constructed
Then
The system adds a line containing 'DESTINATION : ' followed by the destination station name, ', ', and state code as the sixth line in the email body
R-GCX126-cbl-00420
Add Line 7: 'MANIFEST UPON: ' + Manifest To Station Name
Process Rules
📊 Business Logic Narrative
When the process 'Add Line 7: 'MANIFEST UPON: ' + Manifest To Station Name' is invoked, and assuming that a cargo record with manifest to station name, when the email body content is being constructed, the desired outcome is that the system adds a line containing 'manifest upon : ' followed by the manifest to station name as the seventh line in the email body.
💻 Technical Criteria
Given
A cargo record with manifest to station name
When
The email body content is being constructed
Then
The system adds a line containing 'MANIFEST UPON : ' followed by the manifest to station name as the seventh line in the email body
R-GCX126-cbl-00421
Set Email Recipient: OM01247
Process Rules
📊 Business Logic Narrative
When the process 'Set Email Recipient: OM01247' is invoked, and assuming that a hold notification email has been prepared with all cargo details, when the email routing information is being configured, the desired outcome is that the system sets the email recipient to 'om01247'.
💻 Technical Criteria
Given
A hold notification email has been prepared with all cargo details
When
The email routing information is being configured
Then
The system sets the email recipient to 'OM01247'
R-GCX126-cbl-00423
Set Total Lines: 7
Process Rules
📊 Business Logic Narrative
When the process 'Set Total Lines: 7' is invoked, and assuming that a hold notification email has been prepared with all cargo details and routing information, when the email is ready to be sent, the desired outcome is that the system sets the line count to 7 indicating the number of detail lines in the email body.
💻 Technical Criteria
Given
A hold notification email has been prepared with all cargo details and routing information
When
The email is ready to be sent
Then
The system sets the line count to 7 indicating the number of detail lines in the email body
R-GCX126-cbl-01028
Get Bad Merlin ID from TO-USERCODES 2
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Get Bad Merlin ID from TO-USERCODES 2', assuming that an email notification has failed due to invalid to or copy recipient (emi-to-or-copy-not-found) and the notification type is unreleased cargo (88-z110-mrln-type-is-unrlse), when the system needs to identify the invalid recipient, the desired outcome is that the system captures the invalid merlin id from emi-to-usercodes position 2 into ws-bad-merlin-id.
💻 Technical Criteria
EXCLUDING
An email notification has failed due to invalid TO or COPY recipient (EMI-TO-OR-COPY-NOT-FOUND) and the notification type is unreleased cargo (88-Z110-MRLN-TYPE-IS-UNRLSE)
When
The system needs to identify the invalid recipient
Then
The system captures the invalid Merlin ID from EMI-TO-USERCODES position 2 into WS-BAD-MERLIN-ID
R-GCX126-cbl-01029
Get Bad Merlin ID from TO-USERCODES 1
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Get Bad Merlin ID from TO-USERCODES 1', assuming that an email notification has failed due to invalid to or copy recipient (emi-to-or-copy-not-found) and the notification type is not unreleased cargo, when the system needs to identify the invalid recipient, the desired outcome is that the system captures the invalid merlin id from emi-to-usercodes position 1 into ws-bad-merlin-id.
💻 Technical Criteria
EXCLUDING
An email notification has failed due to invalid TO or COPY recipient (EMI-TO-OR-COPY-NOT-FOUND) and the notification type is not unreleased cargo
When
The system needs to identify the invalid recipient
Then
The system captures the invalid Merlin ID from EMI-TO-USERCODES position 1 into WS-BAD-MERLIN-ID
R-GCX126-cbl-00452
Set Sequence ID to Manifest-To Station Name
Process Rules
📊 Business Logic Narrative
When the process 'Set Sequence ID to Manifest-To Station Name' is invoked, and assuming that the table identifier has been set to mc and a cargo record with manifest-to station name exists, when setting up the search criteria for merlin contact, the desired outcome is that the sequence id (gcstbrt-key-seqid) should be set to the manifest-to station name (gccc-manif-to-station-name) from the cargo record.
💻 Technical Criteria
Given
The table identifier has been set to MC and a cargo record with manifest-to station name exists
When
Setting up the search criteria for Merlin contact
Then
The sequence ID (GCSTBRT-KEY-SEQID) should be set to the manifest-to station name (GCCC-MANIF-TO-STATION-NAME) from the cargo record
R-GCX126-cbl-00456
Prepare Log Information Structure
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Log Information Structure' is invoked, and assuming that a request to log cargo information message is received, when the log information structure is being prepared, the desired outcome is that the log input structure should be cleared to spaces, security byte should be set to high-value, sending transaction should be set to 'gct1261e', and acf2 user id should be populated from the common control area.
💻 Technical Criteria
Given
A request to log cargo information message is received
When
The log information structure is being prepared
Then
The log input structure should be cleared to spaces, security byte should be set to HIGH-VALUE, sending transaction should be set to 'GCT1261E', and ACF2 user ID should be populated from the common control area
R-GCX126-cbl-00460
Set Action Code to LOG-USE-INPUT-MESSAGE
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Action Code to LOG-USE-INPUT-MESSAGE' is invoked, and assuming that the cargo type has been identified as canadian cargo, when the action code is being assigned, the desired outcome is that the action code should be set to log-use-input-message to indicate this is an input message log.
💻 Technical Criteria
Given
The cargo type has been identified as Canadian cargo
When
The action code is being assigned
Then
The action code should be set to LOG-USE-INPUT-MESSAGE to indicate this is an input message log
R-GCX126-cbl-00462
Message Text Empty?
Validation Rules
📊 Business Logic Narrative
When the process 'Message Text Empty?' is invoked, and assuming that the message text has been populated in the log structure, when message text validation is performed, the desired outcome is that if the message text is spaces or low-values, exit without creating a log entry; otherwise, proceed with log creation.
💻 Technical Criteria
Given
The message text has been populated in the log structure
When
Message text validation is performed
Then
If the message text is spaces or low-values, exit without creating a log entry; otherwise, proceed with log creation
R-GCX126-cbl-00463
Replace Spaces with Zeroes in Date, Replace Spaces with '1' in Time
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Replace Spaces with Zeroes in Date, Replace Spaces with '1' in Time', assuming that the message text validation has passed and message is not empty, when date and time normalization is performed, the desired outcome is that all spaces in the date field should be replaced with zeroes, and all spaces in the time field should be replaced with '1'.
💻 Technical Criteria
EXCLUDING
The message text validation has passed and message is not empty
When
Date and time normalization is performed
Then
All spaces in the date field should be replaced with zeroes, and all spaces in the time field should be replaced with '1'
R-GCX126-cbl-00468
Update Cargo Record - Replace cargo record in database with updated information
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record - Replace cargo record in database with updated information' is invoked, and assuming that a cargo record has been retrieved and modified with updated customs status, release information, or other edi 350 message data, when the system needs to persist the changes to the cargo database, the desired outcome is that the system clears the status code, sets the accept status to blank, and replaces the cargo record in the gcsccrt cargo database using the ims repl function.
💻 Technical Criteria
Given
A cargo record has been retrieved and modified with updated customs status, release information, or other EDI 350 message data
When
The system needs to persist the changes to the cargo database
Then
The system clears the status code, sets the accept status to blank, and replaces the cargo record in the GCSCCRT cargo database using the IMS REPL function
R-GCX126-cbl-00469
Clear Status Code
Process Rules
📊 Business Logic Narrative
When the process 'Clear Status Code' is invoked, and assuming that a cargo record is ready to be updated in the database, when the update process is initiated, the desired outcome is that the system sets the status code field to spaces to clear any previous status information.
💻 Technical Criteria
Given
A cargo record is ready to be updated in the database
When
The update process is initiated
Then
The system sets the status code field to spaces to clear any previous status information
R-GCX126-cbl-00470
Set Accept Status to Blank
Process Rules
📊 Business Logic Narrative
When the process 'Set Accept Status to Blank' is invoked, and assuming that the status code has been cleared and the cargo record is ready for update, when the system prepares to call the ims replace function, the desired outcome is that the system sets the accept status field to two blank spaces.
💻 Technical Criteria
Given
The status code has been cleared and the cargo record is ready for update
When
The system prepares to call the IMS replace function
Then
The system sets the accept status field to two blank spaces
R-GCX126-cbl-00471
Call IMS REPL Function
Action Rules
📊 Business Logic Narrative
When the process 'Call IMS REPL Function' is invoked, and assuming that the status code is cleared, accept status is set to blank, and the cargo record contains all updated information, when the system calls the ims cims program with the repl function, the desired outcome is that the system passes the common communication area, repl function code, cargo pcb, and the cargo report segment to update the gcsccrt cargo database record.
💻 Technical Criteria
Given
The status code is cleared, accept status is set to blank, and the cargo record contains all updated information
When
The system calls the IMS CIMS program with the REPL function
Then
The system passes the common communication area, REPL function code, cargo PCB, and the cargo report segment to update the GCSCCRT cargo database record
R-GCX126-cbl-00475
Car ID Matches Current Cargo?
Validation Rules
📊 Business Logic Narrative
When the process 'Car ID Matches Current Cargo?' is invoked, and assuming that a us cargo record has been successfully retrieved from the database, when comparing the first 12 characters of the retrieved us cargo's car id index with the current cargo's equipment car key, the desired outcome is that if the car ids match, continue validation; if they do not match, set the end-of-file flag to terminate the search.
💻 Technical Criteria
Given
A US cargo record has been successfully retrieved from the database
When
Comparing the first 12 characters of the retrieved US cargo's car ID index with the current cargo's equipment car key
Then
If the car IDs match, continue validation; if they do not match, set the end-of-file flag to terminate the search
R-GCX126-cbl-00481
Car ID Matches Current Cargo? (from Get Next)
Validation Rules
📊 Business Logic Narrative
When the process 'Car ID Matches Current Cargo? (from Get Next)' is invoked, and assuming that a subsequent us cargo record has been successfully retrieved from the database, when comparing the first 12 characters of the retrieved us cargo's car id index with the current cargo's equipment car key, the desired outcome is that if the car ids match, continue validation; if they do not match, set the end-of-file flag to terminate the search.
💻 Technical Criteria
Given
A subsequent US cargo record has been successfully retrieved from the database
When
Comparing the first 12 characters of the retrieved US cargo's car ID index with the current cargo's equipment car key
Then
If the car IDs match, continue validation; if they do not match, set the end-of-file flag to terminate the search
R-GCX126-cbl-00485
Continue Search?
Decision Rules
📊 Business Logic Narrative
When the process 'Continue Search?' is invoked, and assuming that a us cargo record has been processed and either found valid or skipped, when the us manifest found flag is false and the end-of-file flag is false, the desired outcome is that continue the search loop to retrieve the next us cargo record; otherwise, exit the search process.
💻 Technical Criteria
Given
A US cargo record has been processed and either found valid or skipped
When
The US manifest found flag is false AND the end-of-file flag is false
Then
Continue the search loop to retrieve the next US cargo record; otherwise, exit the search process
R-GCX126-cbl-00701
Database Status OK?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Database Status OK?', assuming that a database call to retrieve us cargo has been executed, when the database status code is not blank (indicating an error or no records found), the desired outcome is that set the end of database flag to true and exit the search process.
💻 Technical Criteria
EXCLUDING
A database call to retrieve US cargo has been executed
When
The database status code is not blank (indicating an error or no records found)
Then
Set the end of database flag to true and exit the search process
R-GCX126-cbl-00933
Database Status OK? - No - Error Status
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Database Status OK? - No - Error Status', assuming that a database call has been executed to retrieve the next us cargo record, when the database status code is not equal to spaces (indicating an error or end-of-data condition), the desired outcome is that the end-of-database flag is set to true and processing terminates for this retrieval attempt.
💻 Technical Criteria
EXCLUDING
A database call has been executed to retrieve the next US cargo record
When
The database status code is not equal to spaces (indicating an error or end-of-data condition)
Then
The end-of-database flag is set to true and processing terminates for this retrieval attempt
R-GCX126-cbl-00486
Initialize All Cargo Status Flags to Space
Process Rules
📊 Business Logic Narrative
When the process 'Initialize All Cargo Status Flags to Space' is invoked, and assuming that the cargo status evaluation process is starting, when the system begins to set cargo status flags, the desired outcome is that all four cargo status switches (ws-switch1-cargo, ws-switch2-cargo, ws-switch3-cargo, ws-switch4-cargo) are set to space.
💻 Technical Criteria
Given
The cargo status evaluation process is starting
When
The system begins to set cargo status flags
Then
All four cargo status switches (WS-SWITCH1-CARGO, WS-SWITCH2-CARGO, WS-SWITCH3-CARGO, WS-SWITCH4-CARGO) are set to SPACE
R-GCX126-cbl-00487
Set Flag: Cargo Not Found
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Flag: Cargo Not Found', assuming that a cargo database query has been executed, when the database status code is not equal to spaces, the desired outcome is that the cargo not found flag (ws-cargo-not-found) is set to true.
💻 Technical Criteria
EXCLUDING
A cargo database query has been executed
When
The database status code is not equal to SPACES
Then
The cargo not found flag (WS-CARGO-NOT-FOUND) is set to TRUE
R-GCX126-cbl-00488
Set Flag: Cargo Found
Validation Rules
📊 Business Logic Narrative
When the process 'Set Flag: Cargo Found' is invoked, and assuming that a cargo database query has been executed, when the database status code equals spaces, the desired outcome is that the cargo found flag (ws-cargo-found) is set to true.
💻 Technical Criteria
Given
A cargo database query has been executed
When
The database status code equals SPACES
Then
The cargo found flag (WS-CARGO-FOUND) is set to TRUE