🔍

GCCE358 - 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: GCCE358

177 Validations & Rules
Module Objective: No description provided from architecture analysis.
⚙️ General Logic & Formats 10 logic blocks
R-GCCE358-cbl-00041 Set M10 Identifier
Definitional Rules
📊 Business Logic Narrative
When the process 'Set M10 Identifier' is invoked, and assuming that an m10 manifest segment is being created, when the segment identifier needs to be set, the desired outcome is that the identifier is set to 'm10'.
💻 Technical Criteria
Given An M10 manifest segment is being created
When The segment identifier needs to be set
Then The identifier is set to 'M10'
R-GCCE358-cbl-00045 Set Vessel Name from Train ID
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Vessel Name from Train ID' is invoked, and assuming that an m10 manifest segment is being created and customer train id is available, when the vessel name needs to be assigned, the desired outcome is that the vessel name is set to the customer train id from the train list.
💻 Technical Criteria
Given An M10 manifest segment is being created and customer train ID is available
When The vessel name needs to be assigned
Then The vessel name is set to the customer train ID from the train list
R-GCCE358-cbl-00048 Set Manifest Type Code to 'S' for Standard
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Manifest Type Code to 'S' for Standard' is invoked, and assuming that an m10 manifest segment is being created, when the manifest type code needs to be assigned, the desired outcome is that the manifest type code is set to 's' for standard manifest.
💻 Technical Criteria
Given An M10 manifest segment is being created
When The manifest type code needs to be assigned
Then The manifest type code is set to 'S' for standard manifest
R-GCCE358-cbl-00095 Set Automated Response to 'Y' or 'N'
Decision Rules
📊 Business Logic Narrative
When the process 'Set Automated Response to 'Y' or 'N'' is invoked, and assuming that a carrier table lookup has been performed for a non-cprs carrier, when the lookup is successful and the carrier's automated flag equals 'y', the desired outcome is that the automated response code is set to 'y', otherwise it is set to 'n'.
💻 Technical Criteria
Given A carrier table lookup has been performed for a non-CPRS carrier
When The lookup is successful and the carrier's automated flag equals 'Y'
Then The automated response code is set to 'Y', otherwise it is set to 'N'
R-GCCE358-cbl-00167 Retrieve SS Segment Data
Process Rules
📊 Business Logic Narrative
When the process 'Retrieve SS Segment Data' is invoked, and assuming that a successful ss table lookup has been completed, when the system processes the lookup result, the desired outcome is that the ss segment data should be moved from the table buffer to the working storage area.
💻 Technical Criteria
Given A successful SS table lookup has been completed
When The system processes the lookup result
Then The SS segment data should be moved from the table buffer to the working storage area
R-GCCE358-cbl-00108 Is SCAC Code 'CPRS'?
Decision Rules
📊 Business Logic Narrative
When the process 'Is SCAC Code 'CPRS'?' is invoked, and assuming that an mbl segment is being created with a scac code, when the scac code equals 'cprs', the desired outcome is that the response code is set to 'y' indicating automated processing for cp rail.
💻 Technical Criteria
Given An MBL segment is being created with a SCAC code
When The SCAC code equals 'CPRS'
Then The response code is set to 'Y' indicating automated processing for CP Rail
R-GCCE358-cbl-00110 SCAC Found and Automated?
Decision Rules
📊 Business Logic Narrative
When the process 'SCAC Found and Automated?' is invoked, and assuming that a scac table lookup has been performed for an external carrier, when the lookup is successful and the carrier's automated flag is 'y', the desired outcome is that the response code is set to 'y' indicating automated processing.
💻 Technical Criteria
Given A SCAC table lookup has been performed for an external carrier
When The lookup is successful AND the carrier's automated flag is 'Y'
Then The response code is set to 'Y' indicating automated processing
R-GCCE358-cbl-00111 Set Response Code to 'N' - Manual
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Response Code to 'N' - Manual', assuming that a scac table lookup has been performed for an external carrier, when the lookup fails or the carrier's automated flag is not 'y', the desired outcome is that the response code is set to 'n' indicating manual processing required.
💻 Technical Criteria
EXCLUDING A SCAC table lookup has been performed for an external carrier
When The lookup fails OR the carrier's automated flag is not 'Y'
Then The response code is set to 'N' indicating manual processing required
R-GCCE358-cbl-00175 Is Carrier Automated?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Carrier Automated?' is invoked, and assuming that scac table lookup has been successfully completed, when the carrier's automated flag equals 'y' in the table, the desired outcome is that set the response code to 'y' indicating automated processing is available.
💻 Technical Criteria
Given SCAC table lookup has been successfully completed
When The carrier's automated flag equals 'Y' in the table
Then Set the response code to 'Y' indicating automated processing is available
R-GCCE358-cbl-00176 Set Response Code to 'N'
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Response Code to 'N'', assuming that scac table lookup has been performed, when the carrier is not found in the table or the carrier's automated flag is not 'y', the desired outcome is that set the response code to 'n' indicating manual processing is required.
💻 Technical Criteria
EXCLUDING SCAC table lookup has been performed
When The carrier is not found in the table OR the carrier's automated flag is not 'Y'
Then Set the response code to 'N' indicating manual processing is required

🏷️ CCN & Waybill Identification 56 logic blocks
R-GCCE358-cbl-00004 4:Count Bill of Lading Records
Computation Rules
📊 Business Logic Narrative
When the process '4:Count Bill of Lading Records' is invoked, and assuming that train equipment list is available, when counting bill of lading records, the desired outcome is that increment count for each equipment item where us-ccn-key is not spaces.
💻 Technical Criteria
Given train equipment list is available
When counting bill of lading records
Then increment count for each equipment item where US-CCN-KEY is not spaces
R-GCCE358-cbl-00005 5:Process M10 Manifest Header
Definitional Rules
📊 Business Logic Narrative
When the process '5:Process M10 Manifest Header' is invoked, and assuming that bill of lading count is calculated, when creating m10 manifest header, the desired outcome is that set scac to 'cprs', transport type to 'r', country to 'ca', vessel name to customer train id, voyage number to train creation date, quantity to bol count, manifest type to 's', condition response to 'y', record type to 'train', and record number to customer train id.
💻 Technical Criteria
Given bill of lading count is calculated
When creating M10 manifest header
Then set SCAC to 'CPRS', transport type to 'R', country to 'CA', vessel name to customer train ID, voyage number to train creation date, quantity to BOL count, manifest type to 'S', condition response to 'Y', record type to 'TRAIN', and record number to customer train ID
R-GCCE358-cbl-00009 7:Process Equipment Records
Decision Rules
📊 Business Logic Narrative
When the process '7:Process Equipment Records' is invoked, and assuming that equipment record is being created, when assigning equipment number, the desired outcome is that if us-ccn-key starts with 'cprs' or car number is spaces, use equipment number from train list, otherwise use car number from cargo record.
💻 Technical Criteria
Given equipment record is being created
When assigning equipment number
Then if US-CCN-KEY starts with 'CPRS' or car number is spaces, use equipment number from train list, otherwise use car number from cargo record
R-GCCE358-cbl-00010 8:Determine Equipment Load Status
Decision Rules
📊 Business Logic Narrative
When the process '8:Determine Equipment Load Status' is invoked, and assuming that equipment load/empty status and cargo information is available, when determining final load status, the desired outcome is that if status is 'h' change to 'e', if status is 'e' and ccn key exists and cargo weight greater than 1 change to 'l', otherwise keep original status.
💻 Technical Criteria
Given equipment load/empty status and cargo information is available
When determining final load status
Then if status is 'H' change to 'E', if status is 'E' and CCN key exists and cargo weight greater than 1 change to 'L', otherwise keep original status
R-GCCE358-cbl-00011 9:Lookup Foreign Carrier Information
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '9:Lookup Foreign Carrier Information', assuming that equipment has us-ccn-key that is not spaces, when processing equipment records, the desired outcome is that lookup cargo information using the ccn key to retrieve additional equipment details.
💻 Technical Criteria
EXCLUDING equipment has US-CCN-KEY that is not spaces
When processing equipment records
Then lookup cargo information using the CCN key to retrieve additional equipment details
R-GCCE358-cbl-00013 Equipment Has Bill of Lading?
Decision Rules
📊 Business Logic Narrative
When the process 'Equipment Has Bill of Lading?' is invoked, and assuming that equipment item is being processed, when checking for bill of lading information, the desired outcome is that if us-ccn-key is not spaces, process mbl bill of lading record.
💻 Technical Criteria
Given equipment item is being processed
When checking for bill of lading information
Then if US-CCN-KEY is not spaces, process MBL bill of lading record
R-GCCE358-cbl-00014 11:Process Bill of Lading Records
Process Rules
📊 Business Logic Narrative
When the process '11:Process Bill of Lading Records' is invoked, and assuming that equipment has bill of lading information, when processing bill of lading records, the desired outcome is that extract scac and bol/waybill information from equipment data for mbl segment creation.
💻 Technical Criteria
Given equipment has bill of lading information
When processing bill of lading records
Then extract SCAC and BOL/Waybill information from equipment data for MBL segment creation
R-GCCE358-cbl-00016 13:Apply Special ER Processing Rules
Policy Rules
📊 Business Logic Narrative
When the process '13:Apply Special ER Processing Rules' is invoked, and assuming that equipment and bill of lading information is processed, when applying special er processing rules, the desired outcome is that if equipment status is 'e' and ccn key exists and bol type is 23, override response code to 'y'.
💻 Technical Criteria
Given equipment and bill of lading information is processed
When applying special ER processing rules
Then if equipment status is 'E' and CCN key exists and BOL type is 23, override response code to 'Y'
R-GCCE358-cbl-00017 14:Create MBL Bill Segment
Process Rules
📊 Business Logic Narrative
When the process '14:Create MBL Bill Segment' is invoked, and assuming that bill of lading information and automated carrier status is determined, when creating mbl bill segment, the desired outcome is that populate mbl segment with scac, bol/waybill number, and determined response code.
💻 Technical Criteria
Given bill of lading information and automated carrier status is determined
When creating MBL bill segment
Then populate MBL segment with SCAC, BOL/Waybill number, and determined response code
R-GCCE358-cbl-00034 Initialize Bill of Lading Counter to Zero
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Bill of Lading Counter to Zero' is invoked, and assuming that the system is ready to count bill of lading records, when the counting process begins, the desired outcome is that the bill of lading counter is set to zero.
💻 Technical Criteria
Given The system is ready to count bill of lading records
When The counting process begins
Then The bill of lading counter is set to zero
R-GCCE358-cbl-00037 Equipment Has US CCN Key?
Validation Rules
📊 Business Logic Narrative
When the process 'Equipment Has US CCN Key?' is invoked, and assuming that an equipment record at the current index position, when the system evaluates the equipment's us ccn key field, the desired outcome is that if the us ccn key is not equal to spaces, the equipment has a valid key, otherwise it does not.
💻 Technical Criteria
Given An equipment record at the current index position
When The system evaluates the equipment's US CCN key field
Then If the US CCN key is not equal to spaces, the equipment has a valid key, otherwise it does not
R-GCCE358-cbl-00038 Increment Bill of Lading Counter
Computation Rules
📊 Business Logic Narrative
When the process 'Increment Bill of Lading Counter' is invoked, and assuming that an equipment record with a valid us ccn key (not spaces), when the system processes this equipment record, the desired outcome is that the bill of lading counter is increased by 1.
💻 Technical Criteria
Given An equipment record with a valid US CCN key (not spaces)
When The system processes this equipment record
Then The bill of lading counter is increased by 1
R-GCCE358-cbl-00047 Set Quantity from Bill of Lading Count
Computation Rules
📊 Business Logic Narrative
When the process 'Set Quantity from Bill of Lading Count' is invoked, and assuming that an m10 manifest segment is being created and bill of lading count is calculated, when the quantity needs to be assigned, the desired outcome is that the quantity is set to the total count of bills of lading.
💻 Technical Criteria
Given An M10 manifest segment is being created and bill of lading count is calculated
When The quantity needs to be assigned
Then The quantity is set to the total count of bills of lading
R-GCCE358-cbl-00052 Insert M10 Segment into EDI Database
Action Rules
📊 Business Logic Narrative
When the process 'Insert M10 Segment into EDI Database' is invoked, and assuming that an m10 manifest segment is fully populated with all required data, when the segment needs to be stored for edi transmission, the desired outcome is that the m10 segment is inserted into the edi database with proper sequence numbering.
💻 Technical Criteria
Given An M10 manifest segment is fully populated with all required data
When The segment needs to be stored for EDI transmission
Then The M10 segment is inserted into the EDI database with proper sequence numbering
R-GCCE358-cbl-00136 Initialize Bill of Lading Count to Zero
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Bill of Lading Count to Zero' is invoked, and assuming that the system is ready to process equipment records for quantity calculation, when the bill of lading counting process begins, the desired outcome is that the bill of lading quantity counter is set to zero.
💻 Technical Criteria
Given The system is ready to process equipment records for quantity calculation
When The bill of lading counting process begins
Then The bill of lading quantity counter is set to zero
R-GCCE358-cbl-00137 Start Equipment Loop
Process Rules
📊 Business Logic Narrative
When the process 'Start Equipment Loop' is invoked, and assuming that a train list contains multiple equipment records, when the system processes equipment for bill of lading counting, the desired outcome is that the system loops through each equipment record from position 1 to the total equipment quantity.
💻 Technical Criteria
Given A train list contains multiple equipment records
When The system processes equipment for bill of lading counting
Then The system loops through each equipment record from position 1 to the total equipment quantity
R-GCCE358-cbl-00139 Equipment Has US CCN Key?
Validation Rules
📊 Business Logic Narrative
When the process 'Equipment Has US CCN Key?' is invoked, and assuming that an equipment record is being processed for bill of lading counting, when the system checks the us ccn key field for the equipment, the desired outcome is that if the us ccn key is not equal to spaces, the equipment qualifies for bill of lading counting.
💻 Technical Criteria
Given An equipment record is being processed for bill of lading counting
When The system checks the US CCN key field for the equipment
Then If the US CCN key is not equal to spaces, the equipment qualifies for bill of lading counting
R-GCCE358-cbl-00140 Increment Bill of Lading Count by 1
Computation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Increment Bill of Lading Count by 1', assuming that an equipment record has a valid us ccn key that is not spaces, when the system processes this equipment for counting, the desired outcome is that the bill of lading quantity counter is increased by 1.
💻 Technical Criteria
EXCLUDING An equipment record has a valid US CCN key that is not spaces
When The system processes this equipment for counting
Then The bill of lading quantity counter is increased by 1
R-GCCE358-cbl-00141 Apply Count to M10 Manifest Quantity
Definitional Rules
📊 Business Logic Narrative
When the process 'Apply Count to M10 Manifest Quantity' is invoked, and assuming that the bill of lading count has been calculated from all equipment records, when the system creates the m10 manifest record, the desired outcome is that the m10 quantity field is set to the calculated bill of lading count.
💻 Technical Criteria
Given The bill of lading count has been calculated from all equipment records
When The system creates the M10 manifest record
Then The M10 quantity field is set to the calculated bill of lading count
R-GCCE358-cbl-00142 Apply Count to P4 Port Quantity
Definitional Rules
📊 Business Logic Narrative
When the process 'Apply Count to P4 Port Quantity' is invoked, and assuming that the bill of lading count has been calculated from all equipment records, when the system creates the p4 port record, the desired outcome is that the p4 quantity field is set to the calculated bill of lading count.
💻 Technical Criteria
Given The bill of lading count has been calculated from all equipment records
When The system creates the P4 port record
Then The P4 quantity field is set to the calculated bill of lading count
R-GCCE358-cbl-00058 Set Quantity from Bill of Lading Count
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Quantity from Bill of Lading Count' is invoked, and assuming that bill of lading count has been calculated from equipment processing, when p4 segment quantity field needs to be populated, the desired outcome is that the quantity is set to the bill of lading count value.
💻 Technical Criteria
Given Bill of lading count has been calculated from equipment processing
When P4 segment quantity field needs to be populated
Then The quantity is set to the bill of lading count value
R-GCCE358-cbl-00061 Insert P4 Segment into EDI Database
Action Rules
📊 Business Logic Narrative
When the process 'Insert P4 Segment into EDI Database' is invoked, and assuming that p4 segment has been fully populated with all required port information, when p4 segment is ready for edi transmission, the desired outcome is that the p4 segment is inserted into the edi transmission database with proper sequence numbering.
💻 Technical Criteria
Given P4 segment has been fully populated with all required port information
When P4 segment is ready for EDI transmission
Then The P4 segment is inserted into the EDI transmission database with proper sequence numbering
R-GCCE358-cbl-00067 Is Equipment CP or Has No Car Number?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Equipment CP or Has No Car Number?' is invoked, and assuming that an equipment item has a us-ccn-key and cargo data has been retrieved, when the system needs to determine the equipment number for the vid segment, the desired outcome is that if the us-ccn-key starts with 'cprs' or the cargo car number is spaces, then use the train list equipment number, otherwise use the cargo database car number.
💻 Technical Criteria
Given An equipment item has a US-CCN-KEY and cargo data has been retrieved
When The system needs to determine the equipment number for the VID segment
Then If the US-CCN-KEY starts with 'CPRS' OR the cargo car number is spaces, then use the train list equipment number, otherwise use the cargo database car number
R-GCCE358-cbl-00070 Apply Load/Empty Status Logic
Decision Rules
📊 Business Logic Narrative
When the process 'Apply Load/Empty Status Logic' is invoked, and assuming that an equipment item has a load/empty status from the train list, when the vid load/empty status needs to be determined, the desired outcome is that if status is 'h' then set to 'e', else if status is 'e' and ccn key exists and cargo weight > 1 then set to 'l', else if status is 'e' and ccn key exists and bol type is 23 then keep as 'e', otherwise keep original status.
💻 Technical Criteria
Given An equipment item has a load/empty status from the train list
When The VID load/empty status needs to be determined
Then If status is 'H' then set to 'E', else if status is 'E' and CCN key exists and cargo weight > 1 then set to 'L', else if status is 'E' and CCN key exists and BOL type is 23 then keep as 'E', otherwise keep original status
R-GCCE358-cbl-00071 Insert VID Segment to EDI Data
Action Rules
📊 Business Logic Narrative
When the process 'Insert VID Segment to EDI Data' is invoked, and assuming that a vid segment has been fully populated with equipment data, when the segment needs to be added to the edi transmission, the desired outcome is that the system should insert the vid segment into the transmission data with an incremented sequence number.
💻 Technical Criteria
Given A VID segment has been fully populated with equipment data
When The segment needs to be added to the EDI transmission
Then The system should insert the VID segment into the transmission data with an incremented sequence number
R-GCCE358-cbl-00074 Cargo Weight > 1?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Cargo Weight > 1?', assuming that an equipment item has status 'e' (empty) and has a bill number (us-ccn-key is not spaces), when the cargo weight is greater than 1, the desired outcome is that the system sets the equipment status to 'l' (loaded).
💻 Technical Criteria
EXCLUDING An equipment item has status 'E' (Empty) and has a bill number (US-CCN-KEY is not spaces)
When The cargo weight is greater than 1
Then The system sets the equipment status to 'L' (Loaded)
R-GCCE358-cbl-00075 Keep Original Status
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Keep Original Status', assuming that an equipment item has status 'e' (empty) and has a bill number (us-ccn-key is not spaces), when the cargo weight is 1 or less, the desired outcome is that the system keeps the original equipment status 'e' (empty).
💻 Technical Criteria
EXCLUDING An equipment item has status 'E' (Empty) and has a bill number (US-CCN-KEY is not spaces)
When The cargo weight is 1 or less
Then The system keeps the original equipment status 'E' (Empty)
R-GCCE358-cbl-00076 Keep Original Status
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Keep Original Status', assuming that an equipment item has any status other than 'h' (hold), when the equipment does not have a bill number (us-ccn-key is spaces), the desired outcome is that the system keeps the original equipment load/empty status unchanged.
💻 Technical Criteria
EXCLUDING An equipment item has any status other than 'H' (Hold)
When The equipment does not have a bill number (US-CCN-KEY is spaces)
Then The system keeps the original equipment load/empty status unchanged
R-GCCE358-cbl-00147 Cargo Weight > 1?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Cargo Weight > 1?', assuming that an equipment item with status 'e' (empty) and an associated bill of lading (us-ccn-key is not spaces), when the cargo weight from the database is greater than 1, the desired outcome is that the equipment status should be overridden to 'l' (loaded).
💻 Technical Criteria
EXCLUDING An equipment item with status 'E' (Empty) and an associated bill of lading (US-CCN-KEY is not spaces)
When The cargo weight from the database is greater than 1
Then The equipment status should be overridden to 'L' (Loaded)
R-GCCE358-cbl-00148 Cargo Weight > 1?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Cargo Weight > 1?', assuming that an equipment item with status 'e' (empty) and an associated bill of lading (us-ccn-key is not spaces), when the cargo weight from the database is 1 or less, the desired outcome is that the equipment status should remain 'e' (empty).
💻 Technical Criteria
EXCLUDING An equipment item with status 'E' (Empty) and an associated bill of lading (US-CCN-KEY is not spaces)
When The cargo weight from the database is 1 or less
Then The equipment status should remain 'E' (Empty)
R-GCCE358-cbl-00149 Equipment Has Bill of Lading?
Decision Rules
📊 Business Logic Narrative
When the process 'Equipment Has Bill of Lading?' is invoked, and assuming that an equipment item with status 'e' (empty), when the equipment has no associated bill of lading (us-ccn-key is spaces), the desired outcome is that the equipment status should remain 'e' (empty).
💻 Technical Criteria
Given An equipment item with status 'E' (Empty)
When The equipment has no associated bill of lading (US-CCN-KEY is spaces)
Then The equipment status should remain 'E' (Empty)
R-GCCE358-cbl-00077 Is Equipment CP Owned?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Equipment CP Owned?' is invoked, and assuming that an equipment record is being processed with a us-ccn-key, when the us-ccn-key starts with 'cprs' indicating cp ownership, the desired outcome is that use the original equipment number from the train list without performing cargo lookup.
💻 Technical Criteria
Given An equipment record is being processed with a US-CCN-KEY
When The US-CCN-KEY starts with 'CPRS' indicating CP ownership
Then Use the original equipment number from the train list without performing cargo lookup
R-GCCE358-cbl-00079 Lookup Cargo Information in Database
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Lookup Cargo Information in Database', assuming that equipment is not cp-owned (us-ccn-key does not start with 'cprs'), when equipment number determination is required, the desired outcome is that perform cargo database lookup using the us-ccn-key to retrieve foreign carrier information.
💻 Technical Criteria
EXCLUDING Equipment is not CP-owned (US-CCN-KEY does not start with 'CPRS')
When Equipment number determination is required
Then Perform cargo database lookup using the US-CCN-KEY to retrieve foreign carrier information
R-GCCE358-cbl-00151 Lookup Cargo Information in Database - Retrieve and validate foreign carrier equipment details
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Cargo Information in Database - Retrieve and validate foreign carrier equipment details' is invoked, and assuming that a cargo lookup request with us ccn key from equipment data, when the system searches the cargo database using the ccn key, the desired outcome is that the system returns cargo found status if record exists or cargo not found status if record does not exist.
💻 Technical Criteria
Given A cargo lookup request with US CCN key from equipment data
When The system searches the cargo database using the CCN key
Then The system returns cargo found status if record exists or cargo not found status if record does not exist
R-GCCE358-cbl-00086 Is Equipment CP-owned or No Foreign Car Number?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Equipment CP-owned or No Foreign Car Number?' is invoked, and assuming that equipment data is being processed for vid segment creation, when the system needs to determine the equipment number source, the desired outcome is that if the us-ccn-key starts with 'cprs' or the 350-car-number is spaces, use equipment number from train list, otherwise use the foreign car number from cargo database.
💻 Technical Criteria
Given Equipment data is being processed for VID segment creation
When The system needs to determine the equipment number source
Then If the US-CCN-KEY starts with 'CPRS' OR the 350-CAR-NUMBER is spaces, use equipment number from train list, otherwise use the foreign car number from cargo database
R-GCCE358-cbl-00087 Use Equipment Number from Train List
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Equipment Number from Train List', assuming that equipment is cp-owned (us-ccn-key starts with 'cprs') or foreign car number is not available (350-car-number is spaces), when the system sets the equipment number in vid segment, the desired outcome is that the equipment number is set from the train list vid03 equipment number field.
💻 Technical Criteria
EXCLUDING Equipment is CP-owned (US-CCN-KEY starts with 'CPRS') OR foreign car number is not available (350-CAR-NUMBER is spaces)
When The system sets the equipment number in VID segment
Then The equipment number is set from the train list VID03 equipment number field
R-GCCE358-cbl-00088 Use Foreign Car Number from Cargo Database
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Foreign Car Number from Cargo Database', assuming that equipment is not cp-owned (us-ccn-key does not start with 'cprs') and foreign car number is available (350-car-number is not spaces), when the system sets the equipment number in vid segment, the desired outcome is that the equipment number is set from the cargo database 350-car-number field.
💻 Technical Criteria
EXCLUDING Equipment is not CP-owned (US-CCN-KEY does not start with 'CPRS') AND foreign car number is available (350-CAR-NUMBER is not spaces)
When The system sets the equipment number in VID segment
Then The equipment number is set from the cargo database 350-CAR-NUMBER field
R-GCCE358-cbl-00090 Initialize MBL Segment
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Initialize MBL Segment', assuming that equipment has an associated bill of lading (us-ccn-key is not spaces), when the system begins mbl processing for the equipment, the desired outcome is that a new mbl segment structure is initialized and the mbl identifier is set to 'mbl'.
💻 Technical Criteria
EXCLUDING Equipment has an associated bill of lading (US-CCN-KEY is not spaces)
When The system begins MBL processing for the equipment
Then A new MBL segment structure is initialized and the MBL identifier is set to 'MBL'
R-GCCE358-cbl-00091 Extract Carrier SCAC Code from Equipment
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract Carrier SCAC Code from Equipment' is invoked, and assuming that equipment has bill of lading information, when processing mbl segment creation, the desired outcome is that the carrier scac code is extracted from the equipment's mbl01-m1309-us-ccn-scac field and assigned to mbl-01-scac.
💻 Technical Criteria
Given Equipment has bill of lading information
When Processing MBL segment creation
Then The carrier SCAC code is extracted from the equipment's MBL01-M1309-US-CCN-SCAC field and assigned to MBL-01-SCAC
R-GCCE358-cbl-00092 Extract Bill of Lading Number from Equipment
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract Bill of Lading Number from Equipment' is invoked, and assuming that equipment has bill of lading information, when processing mbl segment creation, the desired outcome is that the bill of lading number is extracted from the equipment's mbl02-m1304-us-ccn-id field and assigned to mbl-02-bol-waybill.
💻 Technical Criteria
Given Equipment has bill of lading information
When Processing MBL segment creation
Then The bill of lading number is extracted from the equipment's MBL02-M1304-US-CCN-ID field and assigned to MBL-02-BOL-WAYBILL
R-GCCE358-cbl-00093 Set Automated Response to 'Y'
Decision Rules
📊 Business Logic Narrative
When the process 'Set Automated Response to 'Y'' is invoked, and assuming that a bill of lading with carrier information, when the carrier scac code equals 'cprs', the desired outcome is that the automated response code (mbl-04-yes-no-resp-code) is set to 'y' indicating automated processing.
💻 Technical Criteria
Given A bill of lading with carrier information
When The carrier SCAC code equals 'CPRS'
Then The automated response code (MBL-04-YES-NO-RESP-CODE) is set to 'Y' indicating automated processing
R-GCCE358-cbl-00094 Lookup Carrier in SS Table by SCAC and Port
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Lookup Carrier in SS Table by SCAC and Port', assuming that a bill of lading with a non-cprs carrier, when the carrier scac code is not 'cprs', the desired outcome is that the system queries the ss table using the carrier scac code and origin port to determine automation capabilities.
💻 Technical Criteria
EXCLUDING A bill of lading with a non-CPRS carrier
When The carrier SCAC code is not 'CPRS'
Then The system queries the SS table using the carrier SCAC code and origin port to determine automation capabilities
R-GCCE358-cbl-00096 Override Response to 'Y' for Electronic Reporting
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Override Response to 'Y' for Electronic Reporting', assuming that equipment with a bill of lading, when the equipment load status is 'e' (empty) and the us-ccn-key is not spaces and the bill of lading type code equals 23, the desired outcome is that the automated response code is overridden to 'y' regardless of previous carrier lookup results.
💻 Technical Criteria
EXCLUDING Equipment with a bill of lading
When The equipment load status is 'E' (Empty) AND the US-CCN-KEY is not spaces AND the bill of lading type code equals 23
Then The automated response code is overridden to 'Y' regardless of previous carrier lookup results
R-GCCE358-cbl-00156 Is Carrier CPRS?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Carrier CPRS?' is invoked, and assuming that a bill of lading record is being processed with carrier scac code, when the carrier scac code equals 'cprs', the desired outcome is that set the automated response code to 'y' indicating yes for automated processing.
💻 Technical Criteria
Given A bill of lading record is being processed with carrier SCAC code
When The carrier SCAC code equals 'CPRS'
Then Set the automated response code to 'Y' indicating yes for automated processing
R-GCCE358-cbl-00157 Initialize SS Table Key
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Initialize SS Table Key', assuming that a bill of lading record with a non-cprs carrier scac code needs automated status determination, when the carrier scac code is not 'cprs', the desired outcome is that initialize the ss table lookup key structure with table id 'ss', the carrier scac code, and departure port location.
💻 Technical Criteria
EXCLUDING A bill of lading record with a non-CPRS carrier SCAC code needs automated status determination
When The carrier SCAC code is not 'CPRS'
Then Initialize the SS table lookup key structure with table ID 'SS', the carrier SCAC code, and departure port location
R-GCCE358-cbl-00098 Is Carrier SCAC = 'CPRS'?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Carrier SCAC = 'CPRS'?' is invoked, and assuming that a bill of lading record is being processed with carrier scac code, when the carrier scac code equals 'cprs', the desired outcome is that set the response code to 'y' indicating automated carrier processing.
💻 Technical Criteria
Given A bill of lading record is being processed with carrier SCAC code
When The carrier SCAC code equals 'CPRS'
Then Set the response code to 'Y' indicating automated carrier processing
R-GCCE358-cbl-00099 Build SS Table Lookup Key
Process Rules
📊 Business Logic Narrative
When the process 'Build SS Table Lookup Key' is invoked, and assuming that a bill of lading record with a non-cprs carrier scac code, when the carrier automation status needs to be determined, the desired outcome is that initialize the ss table lookup with table id 'ss', the carrier scac code, and the origin port.
💻 Technical Criteria
Given A bill of lading record with a non-CPRS carrier SCAC code
When The carrier automation status needs to be determined
Then Initialize the SS table lookup with table ID 'SS', the carrier SCAC code, and the origin port
R-GCCE358-cbl-00103 Apply Special ER Processing Rules - For empty cars with bill type 23, override response code to 'Y' for electronic reporting
Decision Rules
📊 Business Logic Narrative
When the process 'Apply Special ER Processing Rules - For empty cars with bill type 23, override response code to 'Y' for electronic reporting' is invoked, and assuming that an equipment item is being processed for mbl record creation, when the equipment status is 'e' (empty) and the equipment has a us ccn key (not spaces) and the bill of lading type code is 23, the desired outcome is that the mbl response code is set to 'y' for electronic reporting regardless of other response code logic.
💻 Technical Criteria
Given An equipment item is being processed for MBL record creation
When The equipment status is 'E' (Empty) AND the equipment has a US CCN key (not spaces) AND the bill of lading type code is 23
Then The MBL response code is set to 'Y' for electronic reporting regardless of other response code logic
R-GCCE358-cbl-00104 Initialize MBL Segment Structure
Process Rules
📊 Business Logic Narrative
When the process 'Initialize MBL Segment Structure' is invoked, and assuming that a bill of lading processing request is initiated, when the system begins mbl segment creation, the desired outcome is that the mbl segment structure is initialized to clear any previous data.
💻 Technical Criteria
Given A bill of lading processing request is initiated
When The system begins MBL segment creation
Then The MBL segment structure is initialized to clear any previous data
R-GCCE358-cbl-00105 Set MBL Identifier to 'MBL'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set MBL Identifier to 'MBL'' is invoked, and assuming that an mbl segment is being created, when the segment identifier needs to be set, the desired outcome is that the identifier is set to 'mbl' to indicate this is a master bill of lading segment.
💻 Technical Criteria
Given An MBL segment is being created
When The segment identifier needs to be set
Then The identifier is set to 'MBL' to indicate this is a Master Bill of Lading segment
R-GCCE358-cbl-00106 Extract SCAC Code from Equipment Record
Process Rules
📊 Business Logic Narrative
When the process 'Extract SCAC Code from Equipment Record' is invoked, and assuming that an equipment item is being processed for mbl creation, when the scac code is needed for the mbl segment, the desired outcome is that the scac code is extracted from the equipment record's ccn scac field.
💻 Technical Criteria
Given An equipment item is being processed for MBL creation
When The SCAC code is needed for the MBL segment
Then The SCAC code is extracted from the equipment record's CCN SCAC field
R-GCCE358-cbl-00107 Extract Bill of Lading Number from Equipment Record
Process Rules
📊 Business Logic Narrative
When the process 'Extract Bill of Lading Number from Equipment Record' is invoked, and assuming that an equipment item is being processed for mbl creation, when the bill of lading number is needed for the mbl segment, the desired outcome is that the bill of lading number is extracted from the equipment record's ccn id field.
💻 Technical Criteria
Given An equipment item is being processed for MBL creation
When The bill of lading number is needed for the MBL segment
Then The bill of lading number is extracted from the equipment record's CCN ID field
R-GCCE358-cbl-00112 Is Equipment Empty with Bill Type 23?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is Equipment Empty with Bill Type 23?', assuming that an mbl segment response code has been determined, when the equipment load/empty status is 'e' and the ccn key is not spaces and the bill type code is 23, the desired outcome is that the response code is overridden to 'y' for special er processing requirements.
💻 Technical Criteria
EXCLUDING An MBL segment response code has been determined
When The equipment load/empty status is 'E' AND the CCN key is not spaces AND the bill type code is 23
Then The response code is overridden to 'Y' for special ER processing requirements
R-GCCE358-cbl-00172 Is Carrier CPRS?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Carrier CPRS?' is invoked, and assuming that a bill of lading record is being processed with carrier scac code, when the carrier scac code equals 'cprs', the desired outcome is that set the automated response code to 'y' indicating automated processing is available.
💻 Technical Criteria
Given A bill of lading record is being processed with carrier SCAC code
When The carrier SCAC code equals 'CPRS'
Then Set the automated response code to 'Y' indicating automated processing is available
R-GCCE358-cbl-00173 Initialize SS Table Key
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Initialize SS Table Key', assuming that a bill of lading record is being processed for a non-cprs carrier, when the carrier scac code is not 'cprs', the desired outcome is that initialize the table lookup key structure and set table id to 'ss' for scac automation lookup.
💻 Technical Criteria
EXCLUDING A bill of lading record is being processed for a non-CPRS carrier
When The carrier SCAC code is not 'CPRS'
Then Initialize the table lookup key structure and set table ID to 'SS' for SCAC automation lookup
R-GCCE358-cbl-00177 Set Response Code to 'Y'
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Response Code to 'Y'', assuming that a bill of lading record is being processed with equipment and cargo information, when the equipment load status is 'e' (empty) and the ccn key is not spaces and the bol type code equals 23, the desired outcome is that set the response code to 'y' overriding any previous automation determination.
💻 Technical Criteria
EXCLUDING A bill of lading record is being processed with equipment and cargo information
When The equipment load status is 'E' (Empty) AND the CCN key is not spaces AND the BOL type code equals 23
Then Set the response code to 'Y' overriding any previous automation determination

💰 Bond & Financial Auth 4 logic blocks
R-GCCE358-cbl-00018 15:Start EDI Send Function
Action Rules
📊 Business Logic Narrative
When the process '15:Start EDI Send Function' is invoked, and assuming that all edi segments are created successfully, when starting edi send function, the desired outcome is that invoke edi send function with transmission number and high-values security setting.
💻 Technical Criteria
Given all EDI segments are created successfully
When starting EDI send function
Then invoke EDI send function with transmission number and high-values security setting
R-GCCE358-cbl-00028 Set Transmission Number from Generated Value
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Transmission Number from Generated Value' is invoked, and assuming that a transmission number has been generated based on machine time, when creating the edi root segment, the desired outcome is that the transmission number is assigned to the a9rt transmission number field.
💻 Technical Criteria
Given A transmission number has been generated based on machine time
When Creating the EDI root segment
Then The transmission number is assigned to the A9RT transmission number field
R-GCCE358-cbl-00115 Set Security Authorization
Authorization Rules
📊 Business Logic Narrative
When the process 'Set Security Authorization' is invoked, and assuming that an edi message is being prepared for transmission, when security authorization is being configured, the desired outcome is that the system sets the security byte to high-values to enforce maximum security protection.
💻 Technical Criteria
Given An EDI message is being prepared for transmission
When Security authorization is being configured
Then The system sets the security byte to high-values to enforce maximum security protection
R-GCCE358-cbl-00121 Initialize Security Parameters
Policy Rules
📊 Business Logic Narrative
When the process 'Initialize Security Parameters' is invoked, and assuming that a log entry needs to be created for edi transmission, when security parameters are being configured, the desired outcome is that the system sets the security byte to high-values for secure transmission.
💻 Technical Criteria
Given A log entry needs to be created for EDI transmission
When Security parameters are being configured
Then The system sets the security byte to HIGH-VALUES for secure transmission

📍 Routing, Border & Port 17 logic blocks
R-GCCE358-cbl-00006 6:Process P4 Port Information
Decision Rules
📊 Business Logic Narrative
When the process '6:Process P4 Port Information' is invoked, and assuming that port and timing information is available, when creating p4 port information, the desired outcome is that set location to origin service center, quantity to bol count, time to eta, id code to firms code, and for eta date: if year less than 70 use century 20, if year 70 or greater use century 19, if date is spaces or zeros use century 0.
💻 Technical Criteria
Given port and timing information is available
When creating P4 port information
Then set location to origin service center, quantity to BOL count, time to ETA, ID code to FIRMS code, and for ETA date: if year less than 70 use century 20, if year 70 or greater use century 19, if date is spaces or zeros use century 0
R-GCCE358-cbl-00015 12:Determine Automated Carrier Status
Decision Rules
📊 Business Logic Narrative
When the process '12:Determine Automated Carrier Status' is invoked, and assuming that scac and port information is available, when determining automated carrier status, the desired outcome is that if scac is 'cprs' set response to 'y', otherwise lookup scac in table and if automated carrier flag is 'y' set response to 'y', else set to 'n'.
💻 Technical Criteria
Given SCAC and port information is available
When determining automated carrier status
Then if SCAC is 'CPRS' set response to 'Y', otherwise lookup SCAC in table and if automated carrier flag is 'Y' set response to 'Y', else set to 'N'
R-GCCE358-cbl-00042 Set SCAC Code to 'CPRS'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set SCAC Code to 'CPRS'' is invoked, and assuming that an m10 manifest segment is being created for rail transport, when the scac code needs to be assigned, the desired outcome is that the scac code is set to 'cprs' for canadian pacific railway.
💻 Technical Criteria
Given An M10 manifest segment is being created for rail transport
When The SCAC code needs to be assigned
Then The SCAC code is set to 'CPRS' for Canadian Pacific Railway
R-GCCE358-cbl-00043 Set Transport Type Code to 'R' for Rail
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Transport Type Code to 'R' for Rail' is invoked, and assuming that an m10 manifest segment is being created, when the transport type code needs to be assigned, the desired outcome is that the transport type code is set to 'r' to indicate rail transport.
💻 Technical Criteria
Given An M10 manifest segment is being created
When The transport type code needs to be assigned
Then The transport type code is set to 'R' to indicate rail transport
R-GCCE358-cbl-00044 Set Country Code to 'CA' for Canada
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Country Code to 'CA' for Canada' is invoked, and assuming that an m10 manifest segment is being created for canadian rail operations, when the country code needs to be assigned, the desired outcome is that the country code is set to 'ca' for canada.
💻 Technical Criteria
Given An M10 manifest segment is being created for Canadian rail operations
When The country code needs to be assigned
Then The country code is set to 'CA' for Canada
R-GCCE358-cbl-00053 Initialize P4 Segment Structure
Process Rules
📊 Business Logic Narrative
When the process 'Initialize P4 Segment Structure' is invoked, and assuming that the system is processing port information for edi transmission, when p4 segment processing begins, the desired outcome is that the p4 segment structure is initialized and the identifier is set to 'p4'.
💻 Technical Criteria
Given The system is processing port information for EDI transmission
When P4 segment processing begins
Then The P4 segment structure is initialized and the identifier is set to 'P4'
R-GCCE358-cbl-00054 Set Departure Location ID from Train Data
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Departure Location ID from Train Data' is invoked, and assuming that train data contains origin service center information, when p4 segment is being populated with location details, the desired outcome is that the departure location id is set from the train's origin service center.
💻 Technical Criteria
Given Train data contains origin service center information
When P4 segment is being populated with location details
Then The departure location ID is set from the train's origin service center
R-GCCE358-cbl-00158 Call SS Table Lookup Function
Action Rules
📊 Business Logic Narrative
When the process 'Call SS Table Lookup Function' is invoked, and assuming that ss table lookup parameters are properly initialized with table id, scac code, and port location, when the table lookup function is called, the desired outcome is that query the ss table and return the carrier automation configuration data.
💻 Technical Criteria
Given SS table lookup parameters are properly initialized with table ID, SCAC code, and port location
When The table lookup function is called
Then Query the SS table and return the carrier automation configuration data
R-GCCE358-cbl-00100 Search SS Table with SCAC Code and Port
Action Rules
📊 Business Logic Narrative
When the process 'Search SS Table with SCAC Code and Port' is invoked, and assuming that ss table lookup key is prepared with scac code and port, when carrier automation status lookup is performed, the desired outcome is that search the ss table using the prepared key to retrieve carrier automation information.
💻 Technical Criteria
Given SS table lookup key is prepared with SCAC code and port
When Carrier automation status lookup is performed
Then Search the SS table using the prepared key to retrieve carrier automation information
R-GCCE358-cbl-00102 Set Response Code to 'N' - Carrier Not Automated
Decision Rules
📊 Business Logic Narrative
When the process 'Set Response Code to 'N' - Carrier Not Automated' is invoked, and assuming that a carrier scac code and port combination, when the ss table lookup fails to find a matching carrier record, the desired outcome is that set the response code to 'n' indicating non-automated carrier processing.
💻 Technical Criteria
Given A carrier SCAC code and port combination
When The SS table lookup fails to find a matching carrier record
Then Set the response code to 'N' indicating non-automated carrier processing
R-GCCE358-cbl-00164 Set Port from Departure Location
Process Rules
📊 Business Logic Narrative
When the process 'Set Port from Departure Location' is invoked, and assuming that a train departure location is available, when the system prepares the port parameter for table lookup, the desired outcome is that the departure service center should be used as the port identifier.
💻 Technical Criteria
Given A train departure location is available
When The system prepares the port parameter for table lookup
Then The departure service center should be used as the port identifier
R-GCCE358-cbl-00165 Call Table Lookup Function GCCTBIO
Action Rules
📊 Business Logic Narrative
When the process 'Call Table Lookup Function GCCTBIO' is invoked, and assuming that table lookup parameters are prepared with scac code and port, when the system calls the gcctbio table lookup function, the desired outcome is that the function should be invoked with the prepared parameters to search the ss table.
💻 Technical Criteria
Given Table lookup parameters are prepared with SCAC code and port
When The system calls the GCCTBIO table lookup function
Then The function should be invoked with the prepared parameters to search the SS table
R-GCCE358-cbl-00168 Automated Carrier Flag = 'Y'?
Decision Rules
📊 Business Logic Narrative
When the process 'Automated Carrier Flag = 'Y'?' is invoked, and assuming that ss segment data has been retrieved from the table, when the system checks the automated carrier flag, the desired outcome is that if the automated carrier flag equals 'y', the carrier supports automation; otherwise, it does not.
💻 Technical Criteria
Given SS segment data has been retrieved from the table
When The system checks the automated carrier flag
Then If the automated carrier flag equals 'Y', the carrier supports automation; otherwise, it does not
R-GCCE358-cbl-00169 Set Carrier as Automated
Process Rules
📊 Business Logic Narrative
When the process 'Set Carrier as Automated' is invoked, and assuming that the ss table record shows automated carrier flag as 'y', when the system processes the automation status, the desired outcome is that the carrier should be classified as supporting automated processing.
💻 Technical Criteria
Given The SS table record shows automated carrier flag as 'Y'
When The system processes the automation status
Then The carrier should be classified as supporting automated processing
R-GCCE358-cbl-00170 Set Carrier as Not Automated
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Carrier as Not Automated', assuming that the ss table record shows automated carrier flag is not 'y', when the system processes the automation status, the desired outcome is that the carrier should be classified as not supporting automated processing.
💻 Technical Criteria
EXCLUDING The SS table record shows automated carrier flag is not 'Y'
When The system processes the automation status
Then The carrier should be classified as not supporting automated processing
R-GCCE358-cbl-00109 Look up SCAC in SS Table for Port
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Look up SCAC in SS Table for Port', assuming that an mbl segment is being created with a non-cprs scac code, when the scac code is not 'cprs', the desired outcome is that the system performs a table lookup using table id 'ss', the scac code, and the origin port to determine carrier automation status.
💻 Technical Criteria
EXCLUDING An MBL segment is being created with a non-CPRS SCAC code
When The SCAC code is not 'CPRS'
Then The system performs a table lookup using table ID 'SS', the SCAC code, and the origin port to determine carrier automation status
R-GCCE358-cbl-00174 Lookup SCAC in SS Table
Action Rules
📊 Business Logic Narrative
When the process 'Lookup SCAC in SS Table' is invoked, and assuming that table lookup parameters are initialized with scac code and departure port, when the scac table lookup is performed, the desired outcome is that retrieve the automation status for the carrier at the specified port.
💻 Technical Criteria
Given Table lookup parameters are initialized with SCAC code and departure port
When The SCAC table lookup is performed
Then Retrieve the automation status for the carrier at the specified port

🔁 EDI, Status & Database 49 logic blocks
R-GCCE358-cbl-00001 1:Validate Processing Mode
Validation Rules
📊 Business Logic Narrative
When the process '1:Validate Processing Mode' is invoked, and assuming that edi 358 processing is initiated, when the processing mode is checked, the desired outcome is that processing continues only if mode is foreground or background, otherwise sets wrong mode indicator.
💻 Technical Criteria
Given EDI 358 processing is initiated
When the processing mode is checked
Then processing continues only if mode is FOREGROUND or BACKGROUND, otherwise sets wrong mode indicator
R-GCCE358-cbl-00002 2:Generate Transmission Number
Computation Rules
📊 Business Logic Narrative
When the process '2:Generate Transmission Number' is invoked, and assuming that a valid processing mode is confirmed, when generating transmission number, the desired outcome is that use prefix 106 for foreground mode or prefix 110 for background mode, combined with machine time.
💻 Technical Criteria
Given a valid processing mode is confirmed
When generating transmission number
Then use prefix 106 for FOREGROUND mode or prefix 110 for BACKGROUND mode, combined with machine time
R-GCCE358-cbl-00003 3:Insert EDI Root Segment
Validation Rules
📊 Business Logic Narrative
When the process '3:Insert EDI Root Segment' is invoked, and assuming that a transmission number is generated, when attempting to insert edi root segment, the desired outcome is that if transmission number already exists, increment by 1 and retry until unique number is found.
💻 Technical Criteria
Given a transmission number is generated
When attempting to insert EDI root segment
Then if transmission number already exists, increment by 1 and retry until unique number is found
R-GCCE358-cbl-00019 16:Start Log Update Function
Action Rules
📊 Business Logic Narrative
When the process '16:Start Log Update Function' is invoked, and assuming that edi processing is completed, when starting log update function, the desired outcome is that if foreground mode use foreground action code and transaction name, if background mode use background action code and transaction name, include user id, current date and time.
💻 Technical Criteria
Given EDI processing is completed
When starting log update function
Then if FOREGROUND mode use foreground action code and transaction name, if BACKGROUND mode use background action code and transaction name, include user ID, current date and time
R-GCCE358-cbl-00021 Set Success Flag - Continue Processing
Action Rules
📊 Business Logic Narrative
When the process 'Set Success Flag - Continue Processing' is invoked, and assuming that the processing mode has been validated as either foreground or background, when the validation check passes, the desired outcome is that set the success flag to true to allow continued processing.
💻 Technical Criteria
Given The processing mode has been validated as either foreground or background
When The validation check passes
Then Set the success flag to true to allow continued processing
R-GCCE358-cbl-00022 Set Wrong Mode Error Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Wrong Mode Error Flag' is invoked, and assuming that the processing mode is neither foreground nor background, when the validation check fails, the desired outcome is that set the wrong mode error flag to true to prevent continued processing.
💻 Technical Criteria
Given The processing mode is neither foreground nor background
When The validation check fails
Then Set the wrong mode error flag to true to prevent continued processing
R-GCCE358-cbl-00024 Get Current Machine Time
Computation Rules
📊 Business Logic Narrative
When the process 'Get Current Machine Time' is invoked, and assuming that the transmission prefix has been determined based on processing mode, when the system needs to create a transmission number, the desired outcome is that retrieve the current machine time and use it as the base transmission number.
💻 Technical Criteria
Given The transmission prefix has been determined based on processing mode
When The system needs to create a transmission number
Then Retrieve the current machine time and use it as the base transmission number
R-GCCE358-cbl-00025 Combine Prefix + Machine Time to Create Transmission Number
Computation Rules
📊 Business Logic Narrative
When the process 'Combine Prefix + Machine Time to Create Transmission Number' is invoked, and assuming that a transmission prefix (106 or 110) and machine time are available, when the system creates the transmission number, the desired outcome is that combine the prefix with the machine time to form the complete transmission number.
💻 Technical Criteria
Given A transmission prefix (106 or 110) and machine time are available
When The system creates the transmission number
Then Combine the prefix with the machine time to form the complete transmission number
R-GCCE358-cbl-00026 Transmission Number Generated
Validation Rules
📊 Business Logic Narrative
When the process 'Transmission Number Generated' is invoked, and assuming that a transmission number has been generated, when the system attempts to create a transmission record, the desired outcome is that if the transmission number already exists, increment the number by 1 and retry until a unique number is found.
💻 Technical Criteria
Given A transmission number has been generated
When The system attempts to create a transmission record
Then If the transmission number already exists, increment the number by 1 and retry until a unique number is found
R-GCCE358-cbl-00030 Attempt to Insert Root Segment into EDI Database
Action Rules
📊 Business Logic Narrative
When the process 'Attempt to Insert Root Segment into EDI Database' is invoked, and assuming that a complete edi root segment with transmission number and transaction set, when inserting the segment into the edi database, the desired outcome is that the system attempts to insert the a9rt segment using database insert operation.
💻 Technical Criteria
Given A complete EDI root segment with transmission number and transaction set
When Inserting the segment into the EDI database
Then The system attempts to insert the A9RT segment using database insert operation
R-GCCE358-cbl-00031 Insert Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Insert Successful?' is invoked, and assuming that an edi root segment insertion has been attempted, when the database insert operation completes, the desired outcome is that if the status code is not blank, the insertion failed due to duplicate transmission number.
💻 Technical Criteria
Given An EDI root segment insertion has been attempted
When The database insert operation completes
Then If the status code is not blank, the insertion failed due to duplicate transmission number
R-GCCE358-cbl-00032 Increment Transmission Number by 1
Computation Rules
📊 Business Logic Narrative
When the process 'Increment Transmission Number by 1' is invoked, and assuming that an edi root segment insertion failed due to duplicate transmission number, when resolving the transmission number collision, the desired outcome is that the transmission number is incremented by 1 and assigned to the root segment.
💻 Technical Criteria
Given An EDI root segment insertion failed due to duplicate transmission number
When Resolving the transmission number collision
Then The transmission number is incremented by 1 and assigned to the root segment
R-GCCE358-cbl-00033 Root Segment Successfully Created
Process Rules
📊 Business Logic Narrative
When the process 'Root Segment Successfully Created' is invoked, and assuming that a transmission number collision has been detected and resolved by incrementing, when attempting to insert the root segment again, the desired outcome is that the system continues the insertion retry loop until the status code is blank indicating success.
💻 Technical Criteria
Given A transmission number collision has been detected and resolved by incrementing
When Attempting to insert the root segment again
Then The system continues the insertion retry loop until the status code is blank indicating success
R-GCCE358-cbl-00131 Initialize Root Segment with Transmission Number and Transaction Set '358'
Definitional Rules
📊 Business Logic Narrative
When the process 'Initialize Root Segment with Transmission Number and Transaction Set '358'' is invoked, and assuming that a transmission needs to be created for edi processing, when the system initializes the root segment, the desired outcome is that the transmission number is set from machine time, transaction set is set to '358', and the root segment is prepared for insertion.
💻 Technical Criteria
Given A transmission needs to be created for EDI processing
When The system initializes the root segment
Then The transmission number is set from machine time, transaction set is set to '358', and the root segment is prepared for insertion
R-GCCE358-cbl-00132 Attempt to Insert Root Segment into EDI Database
Action Rules
📊 Business Logic Narrative
When the process 'Attempt to Insert Root Segment into EDI Database' is invoked, and assuming that a root segment has been initialized with transmission number and transaction set, when the system attempts to insert the root segment into the edi database, the desired outcome is that the insertion is attempted and the result status is captured for evaluation.
💻 Technical Criteria
Given A root segment has been initialized with transmission number and transaction set
When The system attempts to insert the root segment into the EDI database
Then The insertion is attempted and the result status is captured for evaluation
R-GCCE358-cbl-00133 Insert Successful?
Decision Rules
📊 Business Logic Narrative
When the process 'Insert Successful?' is invoked, and assuming that a root segment insertion has been attempted, when the insertion fails due to duplicate transmission number, the desired outcome is that the system detects the failure and initiates the duplicate resolution process.
💻 Technical Criteria
Given A root segment insertion has been attempted
When The insertion fails due to duplicate transmission number
Then The system detects the failure and initiates the duplicate resolution process
R-GCCE358-cbl-00134 Increment Transmission Number by 1
Process Rules
📊 Business Logic Narrative
When the process 'Increment Transmission Number by 1' is invoked, and assuming that a duplicate transmission number conflict has been detected, when the system needs to resolve the conflict, the desired outcome is that the transmission number is incremented by 1 and the insertion process is retried.
💻 Technical Criteria
Given A duplicate transmission number conflict has been detected
When The system needs to resolve the conflict
Then The transmission number is incremented by 1 and the insertion process is retried
R-GCCE358-cbl-00135 Root Segment Successfully Inserted
Validation Rules
📊 Business Logic Narrative
When the process 'Root Segment Successfully Inserted' is invoked, and assuming that a root segment insertion has been attempted, when the insertion is successful without conflicts, the desired outcome is that the root segment is successfully stored in the edi database and the process continues.
💻 Technical Criteria
Given A root segment insertion has been attempted
When The insertion is successful without conflicts
Then The root segment is successfully stored in the EDI database and the process continues
R-GCCE358-cbl-00040 Initialize M10 Segment Structure
Process Rules
📊 Business Logic Narrative
When the process 'Initialize M10 Segment Structure' is invoked, and assuming that the system needs to create a new m10 manifest segment, when m10 manifest processing begins, the desired outcome is that the m10 segment structure is initialized to clear any previous data.
💻 Technical Criteria
Given The system needs to create a new M10 manifest segment
When M10 manifest processing begins
Then The M10 segment structure is initialized to clear any previous data
R-GCCE358-cbl-00046 Set Voyage Number from Train Creation Date
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Voyage Number from Train Creation Date' is invoked, and assuming that an m10 manifest segment is being created and train creation date is available, when the voyage number needs to be assigned, the desired outcome is that the voyage number is set to the train creation date from the train list.
💻 Technical Criteria
Given An M10 manifest segment is being created and train creation date is available
When The voyage number needs to be assigned
Then The voyage number is set to the train creation date from the train list
R-GCCE358-cbl-00049 Set Conditional Response Code to 'Y'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Conditional Response Code to 'Y'' is invoked, and assuming that an m10 manifest segment is being created, when the conditional response code needs to be assigned, the desired outcome is that the conditional response code is set to 'y' to indicate response is required.
💻 Technical Criteria
Given An M10 manifest segment is being created
When The conditional response code needs to be assigned
Then The conditional response code is set to 'Y' to indicate response is required
R-GCCE358-cbl-00050 Set Record Type to 'TRAIN'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Record Type to 'TRAIN'' is invoked, and assuming that an m10 manifest segment is being created for train operations, when the record type needs to be assigned, the desired outcome is that the record type is set to 'train'.
💻 Technical Criteria
Given An M10 manifest segment is being created for train operations
When The record type needs to be assigned
Then The record type is set to 'TRAIN'
R-GCCE358-cbl-00051 Set Record Number from Train ID
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Record Number from Train ID' is invoked, and assuming that an m10 manifest segment is being created and customer train id is available, when the record number needs to be assigned, the desired outcome is that the record number is set to the customer train id from the train list.
💻 Technical Criteria
Given An M10 manifest segment is being created and customer train ID is available
When The record number needs to be assigned
Then The record number is set to the customer train ID from the train list
R-GCCE358-cbl-00055 Extract Estimated Departure Date
Process Rules
📊 Business Logic Narrative
When the process 'Extract Estimated Departure Date' is invoked, and assuming that train data contains estimated departure date information, when p4 segment requires departure date information, the desired outcome is that the estimated departure date is extracted and moved to temporary date field for processing.
💻 Technical Criteria
Given Train data contains estimated departure date information
When P4 segment requires departure date information
Then The estimated departure date is extracted and moved to temporary date field for processing
R-GCCE358-cbl-00059 Set Estimated Time of Arrival
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Estimated Time of Arrival' is invoked, and assuming that train data contains estimated time of arrival information, when p4 segment time field needs to be populated, the desired outcome is that the time field is set from the train's estimated time of arrival.
💻 Technical Criteria
Given Train data contains estimated time of arrival information
When P4 segment time field needs to be populated
Then The time field is set from the train's estimated time of arrival
R-GCCE358-cbl-00060 Set FIRMS Code from Train Data
Definitional Rules
📊 Business Logic Narrative
When the process 'Set FIRMS Code from Train Data' is invoked, and assuming that train data contains firms code information, when p4 segment id code field needs to be populated, the desired outcome is that the id code field is set from the train's firms code.
💻 Technical Criteria
Given Train data contains FIRMS code information
When P4 segment ID code field needs to be populated
Then The ID code field is set from the train's FIRMS code
R-GCCE358-cbl-00097 Insert MBL Segment into EDI Data
Process Rules
📊 Business Logic Narrative
When the process 'Insert MBL Segment into EDI Data' is invoked, and assuming that a fully populated mbl segment with carrier and bill information, when all mbl processing is complete, the desired outcome is that the mbl segment is moved to the transmission data structure and inserted into the edi data stream.
💻 Technical Criteria
Given A fully populated MBL segment with carrier and bill information
When All MBL processing is complete
Then The MBL segment is moved to the transmission data structure and inserted into the EDI data stream
R-GCCE358-cbl-00159 Is Carrier Automated in Table?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Carrier Automated in Table?' is invoked, and assuming that ss table lookup was successful and returned carrier configuration data, when the automated carrier flag in the table data equals 'y', the desired outcome is that set the response code to 'y' for automated processing, otherwise set to 'n' for manual processing.
💻 Technical Criteria
Given SS table lookup was successful and returned carrier configuration data
When The automated carrier flag in the table data equals 'Y'
Then Set the response code to 'Y' for automated processing, otherwise set to 'N' for manual processing
R-GCCE358-cbl-00160 Set Automated Status to 'N'
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Automated Status to 'N'', assuming that ss table lookup was attempted for a non-cprs carrier, when the table lookup fails or the carrier automated flag is not 'y', the desired outcome is that set the response code to 'n' indicating manual processing is required.
💻 Technical Criteria
EXCLUDING SS table lookup was attempted for a non-CPRS carrier
When The table lookup fails or the carrier automated flag is not 'Y'
Then Set the response code to 'N' indicating manual processing is required
R-GCCE358-cbl-00101 Is Carrier Marked as Automated in SS Table?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Carrier Marked as Automated in SS Table?' is invoked, and assuming that ss table lookup was successful and carrier record is found, when the automated carrier flag is evaluated, the desired outcome is that if the automated carrier flag equals 'y', set response code to 'y', otherwise set response code to 'n'.
💻 Technical Criteria
Given SS table lookup was successful and carrier record is found
When The automated carrier flag is evaluated
Then If the automated carrier flag equals 'Y', set response code to 'Y', otherwise set response code to 'N'
R-GCCE358-cbl-00161 Initialize Table Search Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Table Search Parameters' is invoked, and assuming that a request to lookup carrier automation status, when the system initializes the table search parameters, the desired outcome is that the return flag should be cleared to prepare for the lookup operation.
💻 Technical Criteria
Given A request to lookup carrier automation status
When The system initializes the table search parameters
Then The return flag should be cleared to prepare for the lookup operation
R-GCCE358-cbl-00162 Set Table ID to 'SS'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Table ID to 'SS'' is invoked, and assuming that a table lookup operation is being prepared, when the system sets the table identifier, the desired outcome is that the table id should be set to 'ss' to target the scac service table.
💻 Technical Criteria
Given A table lookup operation is being prepared
When The system sets the table identifier
Then The table ID should be set to 'SS' to target the SCAC Service table
R-GCCE358-cbl-00166 Table Record Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Table Record Found?' is invoked, and assuming that a table lookup operation has been completed, when the system evaluates the lookup result, the desired outcome is that if the return flag indicates success, the record was found; otherwise, no matching record exists.
💻 Technical Criteria
Given A table lookup operation has been completed
When The system evaluates the lookup result
Then If the return flag indicates success, the record was found; otherwise, no matching record exists
R-GCCE358-cbl-00171 Clear SS Segment Data
Process Rules
📊 Business Logic Narrative
When the process 'Clear SS Segment Data' is invoked, and assuming that the ss table lookup operation failed to find a matching record, when the system handles the lookup failure, the desired outcome is that the ss segment data area should be cleared to spaces to indicate no data available.
💻 Technical Criteria
Given The SS table lookup operation failed to find a matching record
When The system handles the lookup failure
Then The SS segment data area should be cleared to spaces to indicate no data available
R-GCCE358-cbl-00113 Insert MBL Segment into EDI Data
Process Rules
📊 Business Logic Narrative
When the process 'Insert MBL Segment into EDI Data' is invoked, and assuming that an mbl segment has been fully populated with all required data, when the segment is ready for transmission, the desired outcome is that the mbl segment is inserted into the edi transmission data structure.
💻 Technical Criteria
Given An MBL segment has been fully populated with all required data
When The segment is ready for transmission
Then The MBL segment is inserted into the EDI transmission data structure
R-GCCE358-cbl-00114 Set EDI Send Function Name
Action Rules
📊 Business Logic Narrative
When the process 'Set EDI Send Function Name' is invoked, and assuming that the system needs to initiate edi message transmission, when the edi send process is started, the desired outcome is that the system sets the edi send function name flag to true to identify the correct processing function.
💻 Technical Criteria
Given The system needs to initiate EDI message transmission
When The EDI send process is started
Then The system sets the EDI send function name flag to true to identify the correct processing function
R-GCCE358-cbl-00116 Add Transmission Number to Message
Process Rules
📊 Business Logic Narrative
When the process 'Add Transmission Number to Message' is invoked, and assuming that a transmission number has been generated for the current edi process, when the edi message is being prepared, the desired outcome is that the system adds the transmission number to the message structure for identification.
💻 Technical Criteria
Given A transmission number has been generated for the current EDI process
When The EDI message is being prepared
Then The system adds the transmission number to the message structure for identification
R-GCCE358-cbl-00117 Prepare EDI Message for Transmission
Process Rules
📊 Business Logic Narrative
When the process 'Prepare EDI Message for Transmission' is invoked, and assuming that all edi message components including security, transmission number, and function name are configured, when the message preparation process is executed, the desired outcome is that the system moves the complete input structure to the message output text for transmission.
💻 Technical Criteria
Given All EDI message components including security, transmission number, and function name are configured
When The message preparation process is executed
Then The system moves the complete input structure to the message output text for transmission
R-GCCE358-cbl-00118 Send Message to EDI Queue
Process Rules
📊 Business Logic Narrative
When the process 'Send Message to EDI Queue' is invoked, and assuming that an edi message is ready for transmission, when the message is being sent to the edi queue, the desired outcome is that the system sets the edi send function length flag to ensure proper message sizing.
💻 Technical Criteria
Given An EDI message is ready for transmission
When The message is being sent to the EDI queue
Then The system sets the EDI send function length flag to ensure proper message sizing
R-GCCE358-cbl-00119 Send Message to EDI Queue
Action Rules
📊 Business Logic Narrative
When the process 'Send Message to EDI Queue' is invoked, and assuming that an edi message is formatted and ready with proper length specification, when the message insertion process is initiated, the desired outcome is that the system performs the insert purge message operation to queue the message for transmission.
💻 Technical Criteria
Given An EDI message is formatted and ready with proper length specification
When The message insertion process is initiated
Then The system performs the insert purge message operation to queue the message for transmission
R-GCCE358-cbl-00120 Set Log Update Function Name
Action Rules
📊 Business Logic Narrative
When the process 'Set Log Update Function Name' is invoked, and assuming that the system needs to log an edi transmission activity, when the log update process is initiated, the desired outcome is that the system sets the function name to log-updt-func-name to identify the logging service.
💻 Technical Criteria
Given The system needs to log an EDI transmission activity
When The log update process is initiated
Then The system sets the function name to LOG-UPDT-FUNC-NAME to identify the logging service
R-GCCE358-cbl-00122 Set Train ID from Train List
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Train ID from Train List' is invoked, and assuming that an edi transmission log entry is being created, when train identification is required for the log, the desired outcome is that the system sets the train identifier using the us customer train id from the train list.
💻 Technical Criteria
Given An EDI transmission log entry is being created
When Train identification is required for the log
Then The system sets the train identifier using the US customer train ID from the train list
R-GCCE358-cbl-00123 Mark as US Train Type
Definitional Rules
📊 Business Logic Narrative
When the process 'Mark as US Train Type' is invoked, and assuming that a train-related log entry is being created, when the train type needs to be specified, the desired outcome is that the system marks the record as us-train type.
💻 Technical Criteria
Given A train-related log entry is being created
When The train type needs to be specified
Then The system marks the record as US-TRAIN type
R-GCCE358-cbl-00124 Processing Mode?
Decision Rules
📊 Business Logic Narrative
When the process 'Processing Mode?' is invoked, and assuming that an edi transmission log entry requires an action code, when the processing mode is background, the desired outcome is that the system uses the background action code.
💻 Technical Criteria
Given An EDI transmission log entry requires an action code
When The processing mode is background
Then The system uses the background action code
R-GCCE358-cbl-00125 Set Foreground Action Code and Transaction Name / Set Background Action Code and Transaction Name
Decision Rules
📊 Business Logic Narrative
When the process 'Set Foreground Action Code and Transaction Name / Set Background Action Code and Transaction Name' is invoked, and assuming that an edi transmission log entry requires a transaction name, when the processing mode is background, the desired outcome is that the system uses the background transaction name.
💻 Technical Criteria
Given An EDI transmission log entry requires a transaction name
When The processing mode is background
Then The system uses the background transaction name
R-GCCE358-cbl-00126 Set User ID from System
Authorization Rules
📊 Business Logic Narrative
When the process 'Set User ID from System' is invoked, and assuming that an edi transmission log entry is being created, when user identification is required for audit purposes, the desired outcome is that the system captures and records the acf2 user id from the system.
💻 Technical Criteria
Given An EDI transmission log entry is being created
When User identification is required for audit purposes
Then The system captures and records the ACF2 user ID from the system
R-GCCE358-cbl-00127 Set Current Date from System
Process Rules
📊 Business Logic Narrative
When the process 'Set Current Date from System' is invoked, and assuming that an edi transmission log entry requires a date stamp, when the current date needs to be recorded, the desired outcome is that the system concatenates the machine century and machine date to create a complete date stamp.
💻 Technical Criteria
Given An EDI transmission log entry requires a date stamp
When The current date needs to be recorded
Then The system concatenates the machine century and machine date to create a complete date stamp
R-GCCE358-cbl-00128 Set Current Time from System
Process Rules
📊 Business Logic Narrative
When the process 'Set Current Time from System' is invoked, and assuming that an edi transmission log entry requires a time stamp, when the current time needs to be recorded, the desired outcome is that the system records the machine time from the system.
💻 Technical Criteria
Given An EDI transmission log entry requires a time stamp
When The current time needs to be recorded
Then The system records the machine time from the system
R-GCCE358-cbl-00130 Submit Log Entry to GCT1051E
Action Rules
📊 Business Logic Narrative
When the process 'Submit Log Entry to GCT1051E' is invoked, and assuming that a complete log entry has been prepared with all required fields, when the log entry needs to be submitted for processing, the desired outcome is that the system calls the gct1051e logging function with the prepared log entry data.
💻 Technical Criteria
Given A complete log entry has been prepared with all required fields
When The log entry needs to be submitted for processing
Then The system calls the GCT1051E logging function with the prepared log entry data

🚂 Equipment & Cargo Specs 41 logic blocks
R-GCCE358-cbl-00007 More Equipment to Process?
Process Rules
📊 Business Logic Narrative
When the process 'More Equipment to Process?' is invoked, and assuming that train equipment list contains multiple items, when processing equipment items, the desired outcome is that continue processing while equipment index is less than or equal to total equipment quantity.
💻 Technical Criteria
Given train equipment list contains multiple items
When processing equipment items
Then continue processing while equipment index is less than or equal to total equipment quantity
R-GCCE358-cbl-00008 Equipment ID Changed?
Decision Rules
📊 Business Logic Narrative
When the process 'Equipment ID Changed?' is invoked, and assuming that equipment items are being processed sequentially, when checking current equipment id, the desired outcome is that if current equipment id is different from last processed equipment id, process vid record and update last equipment id.
💻 Technical Criteria
Given equipment items are being processed sequentially
When checking current equipment ID
Then if current equipment ID is different from last processed equipment ID, process VID record and update last equipment ID
R-GCCE358-cbl-00012 10:Create VID Equipment Segment
Process Rules
📊 Business Logic Narrative
When the process '10:Create VID Equipment Segment' is invoked, and assuming that equipment information is processed and validated, when creating vid equipment segment, the desired outcome is that populate vid segment with equipment type, initial, processed equipment number, and determined load status.
💻 Technical Criteria
Given equipment information is processed and validated
When creating VID equipment segment
Then populate VID segment with equipment type, initial, processed equipment number, and determined load status
R-GCCE358-cbl-00020 Validate Processing Mode - Check if the processing mode is foreground or background, return error if invalid
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Processing Mode - Check if the processing mode is foreground or background, return error if invalid' is invoked, and assuming that a train equipment processing request is initiated, when the system checks the processing mode indicator, the desired outcome is that if the mode is foreground or background, set success flag and continue processing, otherwise set wrong mode error flag.
💻 Technical Criteria
Given A train equipment processing request is initiated
When The system checks the processing mode indicator
Then If the mode is foreground OR background, set success flag and continue processing, otherwise set wrong mode error flag
R-GCCE358-cbl-00023 Check Processing Mode
Decision Rules
📊 Business Logic Narrative
When the process 'Check Processing Mode' is invoked, and assuming that a train equipment processing request is initiated, when the system checks the processing mode indicator, the desired outcome is that if the mode is foreground, set transmission prefix to 106, otherwise if the mode is background, set transmission prefix to 110.
💻 Technical Criteria
Given A train equipment processing request is initiated
When The system checks the processing mode indicator
Then If the mode is foreground, set transmission prefix to 106, otherwise if the mode is background, set transmission prefix to 110
R-GCCE358-cbl-00027 Initialize Root Segment Structure
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Root Segment Structure' is invoked, and assuming that an edi transmission needs to be created, when the root segment creation process begins, the desired outcome is that the a9rt transmission segment structure is initialized to empty values.
💻 Technical Criteria
Given An EDI transmission needs to be created
When The root segment creation process begins
Then The A9RT transmission segment structure is initialized to empty values
R-GCCE358-cbl-00029 Set Transaction Set to '358'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Transaction Set to '358'' is invoked, and assuming that an edi root segment is being created for train equipment data, when setting the transaction set identifier, the desired outcome is that the transaction set code is set to '358'.
💻 Technical Criteria
Given An EDI root segment is being created for train equipment data
When Setting the transaction set identifier
Then The transaction set code is set to '358'
R-GCCE358-cbl-00035 Start Equipment Loop - Index = 1
Process Rules
📊 Business Logic Narrative
When the process 'Start Equipment Loop - Index = 1' is invoked, and assuming that equipment records are available for processing, when the equipment loop begins, the desired outcome is that the equipment index is set to 1 to start from the first record.
💻 Technical Criteria
Given Equipment records are available for processing
When The equipment loop begins
Then The equipment index is set to 1 to start from the first record
R-GCCE358-cbl-00036 More Equipment Records to Process?
Decision Rules
📊 Business Logic Narrative
When the process 'More Equipment Records to Process?' is invoked, and assuming that an equipment index and total equipment quantity are available, when the system checks for more records to process, the desired outcome is that continue processing if index is less than or equal to total equipment quantity, otherwise stop processing.
💻 Technical Criteria
Given An equipment index and total equipment quantity are available
When The system checks for more records to process
Then Continue processing if index is less than or equal to total equipment quantity, otherwise stop processing
R-GCCE358-cbl-00039 Move to Next Equipment Record
Process Rules
📊 Business Logic Narrative
When the process 'Move to Next Equipment Record' is invoked, and assuming that the current equipment record has been processed, when the system moves to the next record, the desired outcome is that the equipment index is incremented by 1.
💻 Technical Criteria
Given The current equipment record has been processed
When The system moves to the next record
Then The equipment index is incremented by 1
R-GCCE358-cbl-00138 More Equipment Records?
Decision Rules
📊 Business Logic Narrative
When the process 'More Equipment Records?' is invoked, and assuming that the system is processing equipment records in a loop, when the current equipment index is compared against the total equipment quantity, the desired outcome is that if the index is less than or equal to the total quantity, continue processing, otherwise stop the loop.
💻 Technical Criteria
Given The system is processing equipment records in a loop
When The current equipment index is compared against the total equipment quantity
Then If the index is less than or equal to the total quantity, continue processing, otherwise stop the loop
R-GCCE358-cbl-00056 Apply Century Logic for Date
Computation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Apply Century Logic for Date', assuming that the departure date is valid and not empty or zero, when century calculation is required for the departure date, the desired outcome is that if the year is less than 70, century is set to 20 (2000s), otherwise century is set to 19 (1900s).
💻 Technical Criteria
EXCLUDING The departure date is valid and not empty or zero
When Century calculation is required for the departure date
Then If the year is less than 70, century is set to 20 (2000s), otherwise century is set to 19 (1900s)
R-GCCE358-cbl-00057 Set Century to 0 for Invalid Date
Validation Rules
📊 Business Logic Narrative
When the process 'Set Century to 0 for Invalid Date' is invoked, and assuming that the departure date is empty, spaces, or zero, when date validation is performed, the desired outcome is that the century component is set to 0 to indicate invalid date.
💻 Technical Criteria
Given The departure date is empty, spaces, or zero
When Date validation is performed
Then The century component is set to 0 to indicate invalid date
R-GCCE358-cbl-00143 Is Date Empty or Zero?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Date Empty or Zero?' is invoked, and assuming that an estimated departure date (eda) from the train list data, when the eda date is either spaces or zeroes, the desired outcome is that set the century component to 0 to indicate invalid date.
💻 Technical Criteria
Given An Estimated Departure Date (EDA) from the train list data
When The EDA date is either spaces or zeroes
Then Set the century component to 0 to indicate invalid date
R-GCCE358-cbl-00144 Is Year < 70?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is Year < 70?', assuming that a valid 2-digit year from the eda date that is not empty or zero, when the 2-digit year is less than 70, the desired outcome is that set the century to 20 to create years in the range 2000-2069.
💻 Technical Criteria
EXCLUDING A valid 2-digit year from the EDA date that is not empty or zero
When The 2-digit year is less than 70
Then Set the century to 20 to create years in the range 2000-2069
R-GCCE358-cbl-00145 Set Century to 19
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Century to 19', assuming that a valid 2-digit year from the eda date that is not empty or zero, when the 2-digit year is 70 or greater, the desired outcome is that set the century to 19 to create years in the range 1970-1999.
💻 Technical Criteria
EXCLUDING A valid 2-digit year from the EDA date that is not empty or zero
When The 2-digit year is 70 or greater
Then Set the century to 19 to create years in the range 1970-1999
R-GCCE358-cbl-00062 Start Equipment Processing Loop
Process Rules
📊 Business Logic Narrative
When the process 'Start Equipment Processing Loop' is invoked, and assuming that a train list contains multiple equipment items with a total equipment quantity, when the equipment processing begins, the desired outcome is that the system should initialize the equipment index to 1 and process each equipment item sequentially until all equipment in the train list has been processed.
💻 Technical Criteria
Given A train list contains multiple equipment items with a total equipment quantity
When The equipment processing begins
Then The system should initialize the equipment index to 1 and process each equipment item sequentially until all equipment in the train list has been processed
R-GCCE358-cbl-00063 Equipment ID Different from Last Processed?
Decision Rules
📊 Business Logic Narrative
When the process 'Equipment ID Different from Last Processed?' is invoked, and assuming that an equipment item is being processed and there is a record of the last processed equipment id, when the system compares the current equipment id with the last processed equipment id, the desired outcome is that if the equipment ids are different, the system should proceed to create a new vid segment, otherwise skip vid creation for this equipment.
💻 Technical Criteria
Given An equipment item is being processed and there is a record of the last processed equipment ID
When The system compares the current equipment ID with the last processed equipment ID
Then If the equipment IDs are different, the system should proceed to create a new VID segment, otherwise skip VID creation for this equipment
R-GCCE358-cbl-00064 Store Current Equipment ID as Last Processed
Process Rules
📊 Business Logic Narrative
When the process 'Store Current Equipment ID as Last Processed' is invoked, and assuming that a new unique equipment id has been identified for vid processing, when the system begins processing this equipment, the desired outcome is that the current equipment id should be stored as the last processed equipment id for future duplicate detection.
💻 Technical Criteria
Given A new unique equipment ID has been identified for VID processing
When The system begins processing this equipment
Then The current equipment ID should be stored as the last processed equipment ID for future duplicate detection
R-GCCE358-cbl-00065 Set Equipment Description Code
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Equipment Description Code' is invoked, and assuming that a vid segment is being created for an equipment item, when the equipment description code needs to be populated, the desired outcome is that the system should copy the equipment type from the train list equipment data to the vid equipment description code field.
💻 Technical Criteria
Given A VID segment is being created for an equipment item
When The equipment description code needs to be populated
Then The system should copy the equipment type from the train list equipment data to the VID equipment description code field
R-GCCE358-cbl-00066 Set Equipment Initial
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Equipment Initial' is invoked, and assuming that a vid segment is being created for an equipment item, when the equipment initial needs to be populated, the desired outcome is that the system should copy the equipment initial from the train list equipment data to the vid equipment initial field.
💻 Technical Criteria
Given A VID segment is being created for an equipment item
When The equipment initial needs to be populated
Then The system should copy the equipment initial from the train list equipment data to the VID equipment initial field
R-GCCE358-cbl-00068 Use Train List Equipment Number
Action Rules
📊 Business Logic Narrative
When the process 'Use Train List Equipment Number' is invoked, and assuming that the equipment belongs to cp rail (cprs) or no car number exists in cargo data, when the vid equipment number field needs to be populated, the desired outcome is that the system should use the equipment number from the train list data.
💻 Technical Criteria
Given The equipment belongs to CP Rail (CPRS) or no car number exists in cargo data
When The VID equipment number field needs to be populated
Then The system should use the equipment number from the train list data
R-GCCE358-cbl-00069 Use Cargo Database Car Number
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Cargo Database Car Number', assuming that the equipment does not belong to cp rail and a car number exists in the cargo database, when the vid equipment number field needs to be populated, the desired outcome is that the system should use the car number from the cargo database.
💻 Technical Criteria
EXCLUDING The equipment does not belong to CP Rail and a car number exists in the cargo database
When The VID equipment number field needs to be populated
Then The system should use the car number from the cargo database
R-GCCE358-cbl-00072 More Equipment in Train List?
Process Rules
📊 Business Logic Narrative
When the process 'More Equipment in Train List?' is invoked, and assuming that the current equipment item has been processed, when the system checks for more equipment to process, the desired outcome is that if the equipment index is less than or equal to the total equipment quantity, continue processing the next equipment item, otherwise end the equipment processing loop.
💻 Technical Criteria
Given The current equipment item has been processed
When The system checks for more equipment to process
Then If the equipment index is less than or equal to the total equipment quantity, continue processing the next equipment item, otherwise end the equipment processing loop
R-GCCE358-cbl-00073 Set Status to 'E' - Empty
Decision Rules
📊 Business Logic Narrative
When the process 'Set Status to 'E' - Empty' is invoked, and assuming that an equipment item exists in the train list, when the equipment load/empty status is 'h' (hold), the desired outcome is that the system sets the equipment status to 'e' (empty).
💻 Technical Criteria
Given An equipment item exists in the train list
When The equipment load/empty status is 'H' (Hold)
Then The system sets the equipment status to 'E' (Empty)
R-GCCE358-cbl-00146 Status Code = 'H'?
Decision Rules
📊 Business Logic Narrative
When the process 'Status Code = 'H'?' is invoked, and assuming that an equipment item with load/empty status code from the train list, when the equipment load/empty status code is 'h' (hold), the desired outcome is that the status code should be converted to 'e' (empty) for the edi transmission.
💻 Technical Criteria
Given An equipment item with load/empty status code from the train list
When The equipment load/empty status code is 'H' (Hold)
Then The status code should be converted to 'E' (Empty) for the EDI transmission
R-GCCE358-cbl-00150 Keep Original Status Code
Decision Rules
📊 Business Logic Narrative
When the process 'Keep Original Status Code' is invoked, and assuming that an equipment item with load/empty status code from the train list, when the equipment load/empty status code is neither 'h' (hold) nor 'e' (empty), the desired outcome is that the original status code should be preserved without modification.
💻 Technical Criteria
Given An equipment item with load/empty status code from the train list
When The equipment load/empty status code is neither 'H' (Hold) nor 'E' (Empty)
Then The original status code should be preserved without modification
R-GCCE358-cbl-00078 Use Original Equipment Number from Train List
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Original Equipment Number from Train List', assuming that equipment is identified as cp-owned or cargo record lookup fails or foreign carrier number is not available, when equipment number needs to be determined for vid record, the desired outcome is that assign the equipment number from the train list to the vid equipment number field.
💻 Technical Criteria
EXCLUDING Equipment is identified as CP-owned OR cargo record lookup fails OR foreign carrier number is not available
When Equipment number needs to be determined for VID record
Then Assign the equipment number from the train list to the VID equipment number field
R-GCCE358-cbl-00080 Foreign Carrier Number Available?
Validation Rules
📊 Business Logic Narrative
When the process 'Foreign Carrier Number Available?' is invoked, and assuming that cargo record has been successfully retrieved from database, when determining which equipment number to use, the desired outcome is that check if the foreign carrier equipment number field contains valid data (not spaces).
💻 Technical Criteria
Given Cargo record has been successfully retrieved from database
When Determining which equipment number to use
Then Check if the foreign carrier equipment number field contains valid data (not spaces)
R-GCCE358-cbl-00081 Use Foreign Carrier Equipment Number
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Foreign Carrier Equipment Number', assuming that cargo record exists and foreign carrier equipment number is not spaces, when equipment number needs to be assigned to vid record, the desired outcome is that use the foreign carrier equipment number from the cargo record.
💻 Technical Criteria
EXCLUDING Cargo record exists AND foreign carrier equipment number is not spaces
When Equipment number needs to be assigned to VID record
Then Use the foreign carrier equipment number from the cargo record
R-GCCE358-cbl-00082 Use Original Equipment Number as Fallback
Action Rules
📊 Business Logic Narrative
When the process 'Use Original Equipment Number as Fallback' is invoked, and assuming that cargo record exists but foreign carrier equipment number is spaces or empty, when equipment number assignment is required, the desired outcome is that use the original equipment number from the train list as fallback.
💻 Technical Criteria
Given Cargo record exists BUT foreign carrier equipment number is spaces or empty
When Equipment number assignment is required
Then Use the original equipment number from the train list as fallback
R-GCCE358-cbl-00152 Set Database Access Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Set Database Access Parameters' is invoked, and assuming that a cargo lookup operation is initiated, when the system prepares to access the cargo database, the desired outcome is that the system sets segment type to gcsusrt, function type to gu (get unique), and index usage to not used.
💻 Technical Criteria
Given A cargo lookup operation is initiated
When The system prepares to access the cargo database
Then The system sets segment type to GCSUSRT, function type to GU (Get Unique), and index usage to not used
R-GCCE358-cbl-00153 Cargo Record Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Cargo Record Found?' is invoked, and assuming that a database lookup operation has been completed, when the system evaluates the database operation status code, the desired outcome is that if status code is spaces then cargo is found, otherwise cargo is not found.
💻 Technical Criteria
Given A database lookup operation has been completed
When The system evaluates the database operation status code
Then If status code is spaces then cargo is found, otherwise cargo is not found
R-GCCE358-cbl-00154 Set Cargo Found Status
Decision Rules
📊 Business Logic Narrative
When the process 'Set Cargo Found Status' is invoked, and assuming that database operation completed with successful status, when the system processes the successful lookup result, the desired outcome is that the system sets cargo found status to true.
💻 Technical Criteria
Given Database operation completed with successful status
When The system processes the successful lookup result
Then The system sets cargo found status to true
R-GCCE358-cbl-00155 Set Cargo Not Found Status
Decision Rules
📊 Business Logic Narrative
When the process 'Set Cargo Not Found Status' is invoked, and assuming that database operation completed with unsuccessful status, when the system processes the unsuccessful lookup result, the desired outcome is that the system sets cargo not found status to true.
💻 Technical Criteria
Given Database operation completed with unsuccessful status
When The system processes the unsuccessful lookup result
Then The system sets cargo not found status to true
R-GCCE358-cbl-00083 Initialize VID Segment Structure
Process Rules
📊 Business Logic Narrative
When the process 'Initialize VID Segment Structure' is invoked, and assuming that a vid equipment segment needs to be created, when the system starts processing equipment data, the desired outcome is that the vid segment structure is initialized and the identifier is set to 'vid'.
💻 Technical Criteria
Given A VID equipment segment needs to be created
When The system starts processing equipment data
Then The VID segment structure is initialized and the identifier is set to 'VID'
R-GCCE358-cbl-00084 Set Equipment Description Code from Train List
Action Rules
📊 Business Logic Narrative
When the process 'Set Equipment Description Code from Train List' is invoked, and assuming that equipment data exists in the train list for the current equipment index, when the system processes vid segment creation, the desired outcome is that the equipment description code is set from the train list vid01 equipment type field.
💻 Technical Criteria
Given Equipment data exists in the train list for the current equipment index
When The system processes VID segment creation
Then The equipment description code is set from the train list VID01 equipment type field
R-GCCE358-cbl-00085 Set Equipment Initial from Train List
Action Rules
📊 Business Logic Narrative
When the process 'Set Equipment Initial from Train List' is invoked, and assuming that equipment data exists in the train list for the current equipment index, when the system processes vid segment creation, the desired outcome is that the equipment initial is set from the train list vid02 equipment initial field.
💻 Technical Criteria
Given Equipment data exists in the train list for the current equipment index
When The system processes VID segment creation
Then The equipment initial is set from the train list VID02 equipment initial field
R-GCCE358-cbl-00089 Insert VID Segment into EDI Data
Action Rules
📊 Business Logic Narrative
When the process 'Insert VID Segment into EDI Data' is invoked, and assuming that vid segment has been populated with equipment data, when the system completes vid segment creation, the desired outcome is that the vid segment is moved to transmission data and inserted into the edi data structure.
💻 Technical Criteria
Given VID segment has been populated with equipment data
When The system completes VID segment creation
Then The VID segment is moved to transmission data and inserted into the EDI data structure
R-GCCE358-cbl-00163 Set SCAC Code from Equipment Record
Process Rules
📊 Business Logic Narrative
When the process 'Set SCAC Code from Equipment Record' is invoked, and assuming that an equipment record with scac information is being processed, when the system prepares the table lookup key, the desired outcome is that the scac code should be extracted from the equipment record and set as the lookup key.
💻 Technical Criteria
Given An equipment record with SCAC information is being processed
When The system prepares the table lookup key
Then The SCAC code should be extracted from the equipment record and set as the lookup key
R-GCCE358-cbl-00129 Initialize Message as Empty
Definitional Rules
📊 Business Logic Narrative
When the process 'Initialize Message as Empty' is invoked, and assuming that a log entry message field needs to be set, when no specific message content is required, the desired outcome is that the system initializes the message field to spaces.
💻 Technical Criteria
Given A log entry message field needs to be set
When No specific message content is required
Then The system initializes the message field to spaces

Module Tracker: GCCS358C

381 Validations & Rules
Module Objective: No description provided from architecture analysis.
⚙️ General Logic & Formats 27 logic blocks
R-GCCS358C-cbl-00044 Initialize M10 Segment Structure
Definitional Rules
📊 Business Logic Narrative
When the process 'Initialize M10 Segment Structure' is invoked, and assuming that a new m10 manifest segment needs to be created, when the system starts building the m10 segment, the desired outcome is that the m10 segment is initialized and the identifier is set to 'm10'.
💻 Technical Criteria
Given A new M10 manifest segment needs to be created
When The system starts building the M10 segment
Then The M10 segment is initialized and the identifier is set to 'M10'
R-GCCS358C-cbl-00045 Set SCAC Code to 'CPRS'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set SCAC Code to 'CPRS'' is invoked, and assuming that an m10 manifest segment is being created, when the scac code needs to be assigned, the desired outcome is that the scac code is set to 'cprs'.
💻 Technical Criteria
Given An M10 manifest segment is being created
When The SCAC code needs to be assigned
Then The SCAC code is set to 'CPRS'
R-GCCS358C-cbl-00047 Set Country Code to 'US'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Country Code to 'US'' is invoked, and assuming that an m10 manifest segment is being created, when the country code needs to be assigned, the desired outcome is that the country code is set to 'us'.
💻 Technical Criteria
Given An M10 manifest segment is being created
When The country code needs to be assigned
Then The country code is set to 'US'
R-GCCS358C-cbl-00051 Set Manifest Type Code to 'S'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Manifest Type Code to 'S'' is invoked, and assuming that an m10 manifest segment is being created, when the manifest type code needs to be assigned, the desired outcome is that the manifest type code is set to 's' for ship manifest.
💻 Technical Criteria
Given An M10 manifest segment is being created
When The manifest type code needs to be assigned
Then The manifest type code is set to 'S' for ship manifest
R-GCCS358C-cbl-00288 Set MBL Identifier to 'MBL'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set MBL Identifier to 'MBL'' is invoked, and assuming that a dummy mbl segment is being created, when the system initializes the mbl segment structure, the desired outcome is that the mbl identifier field should be set to 'mbl'.
💻 Technical Criteria
Given A dummy MBL segment is being created
When The system initializes the MBL segment structure
Then The MBL identifier field should be set to 'MBL'
R-GCCS358C-cbl-00289 Set SCAC Code to 'CPRS'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set SCAC Code to 'CPRS'' is invoked, and assuming that a dummy mbl segment is being created, when the system sets the scac (standard carrier alpha code), the desired outcome is that the scac code should be set to 'cprs' for canadian pacific railway.
💻 Technical Criteria
Given A dummy MBL segment is being created
When The system sets the SCAC (Standard Carrier Alpha Code)
Then The SCAC code should be set to 'CPRS' for Canadian Pacific Railway
R-GCCS358C-cbl-00294 Set M13 Identifier to 'M13'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set M13 Identifier to 'M13'' is invoked, and assuming that an m13 amendment segment is being created, when the system initializes the m13 segment structure, the desired outcome is that the m13 identifier field should be set to 'm13'.
💻 Technical Criteria
Given An M13 amendment segment is being created
When The system initializes the M13 segment structure
Then The M13 identifier field should be set to 'M13'
R-GCCS358C-cbl-00295 Set SCAC Code to 'CPRS'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set SCAC Code to 'CPRS'' is invoked, and assuming that an m13 amendment segment is being created, when the system sets the scac (standard carrier alpha code) for the amendment, the desired outcome is that the scac code should be set to 'cprs' for canadian pacific railway.
💻 Technical Criteria
Given An M13 amendment segment is being created
When The system sets the SCAC (Standard Carrier Alpha Code) for the amendment
Then The SCAC code should be set to 'CPRS' for Canadian Pacific Railway
R-GCCS358C-cbl-00298 Set Amendment Code to '60'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Amendment Code to '60'' is invoked, and assuming that an m13 amendment segment is being created, when the system sets the amendment code, the desired outcome is that the amendment code should be set to '60' to indicate the specific type of manifest amendment.
💻 Technical Criteria
Given An M13 amendment segment is being created
When The system sets the amendment code
Then The amendment code should be set to '60' to indicate the specific type of manifest amendment
R-GCCS358C-cbl-00300 Amendment MBL Processing Complete
Process Rules
📊 Business Logic Narrative
When the process 'Amendment MBL Processing Complete' is invoked, and assuming that all amendment-specific mbl and m13 segments have been processed, when the system completes the amendment processing workflow, the desired outcome is that the amendment mbl processing should be marked as complete and control should return to the main processing flow.
💻 Technical Criteria
Given All amendment-specific MBL and M13 segments have been processed
When The system completes the amendment processing workflow
Then The amendment MBL processing should be marked as complete and control should return to the main processing flow
R-GCCS358C-cbl-00324 Set MBL Identifier to 'MBL'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set MBL Identifier to 'MBL'' is invoked, and assuming that a dummy mbl segment is being created, when the segment identifier needs to be set, the desired outcome is that the mbl identifier is set to 'mbl'.
💻 Technical Criteria
Given A dummy MBL segment is being created
When The segment identifier needs to be set
Then The MBL identifier is set to 'MBL'
R-GCCS358C-cbl-00325 Set SCAC Code to 'CPRS'
Policy Rules
📊 Business Logic Narrative
When the process 'Set SCAC Code to 'CPRS'' is invoked, and assuming that a dummy mbl segment is being created for amendment processing, when the scac code needs to be assigned, the desired outcome is that the scac code is set to 'cprs'.
💻 Technical Criteria
Given A dummy MBL segment is being created for amendment processing
When The SCAC code needs to be assigned
Then The SCAC code is set to 'CPRS'
R-GCCS358C-cbl-00327 Clear Load Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Clear Load Found Flag' is invoked, and assuming that a dummy mbl segment is being processed, when the load found flag needs to be reset, the desired outcome is that the load found flag is cleared to spaces.
💻 Technical Criteria
Given A dummy MBL segment is being processed
When The load found flag needs to be reset
Then The load found flag is cleared to spaces
R-GCCS358C-cbl-00369 Set MBL Identifier to 'MBL'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set MBL Identifier to 'MBL'' is invoked, and assuming that a dummy mbl segment is being created, when the segment identifier needs to be set, the desired outcome is that the mbl identifier is set to 'mbl'.
💻 Technical Criteria
Given A dummy MBL segment is being created
When The segment identifier needs to be set
Then The MBL identifier is set to 'MBL'
R-GCCS358C-cbl-00370 Assign Standard CPRS SCAC Code
Policy Rules
📊 Business Logic Narrative
When the process 'Assign Standard CPRS SCAC Code' is invoked, and assuming that a dummy mbl segment is being processed, when the scac code needs to be assigned, the desired outcome is that the scac code is set to 'cprs'.
💻 Technical Criteria
Given A dummy MBL segment is being processed
When The SCAC code needs to be assigned
Then The SCAC code is set to 'CPRS'
R-GCCS358C-cbl-00372 Clear Load Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Clear Load Found Flag' is invoked, and assuming that a dummy mbl segment is being processed, when the load found flag needs to be reset, the desired outcome is that the load found flag is set to spaces.
💻 Technical Criteria
Given A dummy MBL segment is being processed
When The load found flag needs to be reset
Then The load found flag is set to spaces
R-GCCS358C-cbl-00332 Set M13 Identifier
Definitional Rules
📊 Business Logic Narrative
When the process 'Set M13 Identifier' is invoked, and assuming that an m13 amendment segment is being created, when the segment identifier needs to be set, the desired outcome is that the m13 identifier is set to 'm13'.
💻 Technical Criteria
Given An M13 amendment segment is being created
When The segment identifier needs to be set
Then The M13 identifier is set to 'M13'
R-GCCS358C-cbl-00333 Set SCAC Code to CPRS
Definitional Rules
📊 Business Logic Narrative
When the process 'Set SCAC Code to CPRS' is invoked, and assuming that an m13 amendment segment is being populated, when the scac code field needs to be set, the desired outcome is that the scac code is set to 'cprs'.
💻 Technical Criteria
Given An M13 amendment segment is being populated
When The SCAC code field needs to be set
Then The SCAC code is set to 'CPRS'
R-GCCS358C-cbl-00336 Set Amendment Code to 60
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Amendment Code to 60' is invoked, and assuming that an m13 amendment segment is being created, when the amendment code field needs to be set, the desired outcome is that the amendment code is set to '60'.
💻 Technical Criteria
Given An M13 amendment segment is being created
When The amendment code field needs to be set
Then The amendment code is set to '60'
R-GCCS358C-cbl-00144 Set Reference Qualifier to '76'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Reference Qualifier to '76'' is invoked, and assuming that an n9 reference segment is being created, when the reference qualifier needs to be assigned, the desired outcome is that the reference qualifier is set to '76'.
💻 Technical Criteria
Given An N9 reference segment is being created
When The reference qualifier needs to be assigned
Then The reference qualifier is set to '76'
R-GCCS358C-cbl-00145 Set Reference Number to 'EDT'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Reference Number to 'EDT'' is invoked, and assuming that an n9 reference segment is being populated, when the reference number field needs to be assigned, the desired outcome is that the reference number is set to 'edt'.
💻 Technical Criteria
Given An N9 reference segment is being populated
When The reference number field needs to be assigned
Then The reference number is set to 'EDT'
R-GCCS358C-cbl-00168 Set MBL Identifier to 'MBL'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set MBL Identifier to 'MBL'' is invoked, and assuming that a dummy mbl segment is being created, when the segment identifier needs to be set, the desired outcome is that the mbl identifier should be set to 'mbl'.
💻 Technical Criteria
Given A dummy MBL segment is being created
When The segment identifier needs to be set
Then The MBL identifier should be set to 'MBL'
R-GCCS358C-cbl-00169 Set SCAC Code to 'CPRS'
Policy Rules
📊 Business Logic Narrative
When the process 'Set SCAC Code to 'CPRS'' is invoked, and assuming that a dummy mbl segment is being created for a train amendment, when the scac code needs to be assigned, the desired outcome is that the scac code should be set to 'cprs'.
💻 Technical Criteria
Given A dummy MBL segment is being created for a train amendment
When The SCAC code needs to be assigned
Then The SCAC code should be set to 'CPRS'
R-GCCS358C-cbl-00175 Set M13 Identifier
Definitional Rules
📊 Business Logic Narrative
When the process 'Set M13 Identifier' is invoked, and assuming that an m13 segment structure is initialized, when the segment identifier needs to be set, the desired outcome is that the m13 identifier field is populated with 'm13'.
💻 Technical Criteria
Given An M13 segment structure is initialized
When The segment identifier needs to be set
Then The M13 identifier field is populated with 'M13'
R-GCCS358C-cbl-00176 Set SCAC Code to CPRS
Definitional Rules
📊 Business Logic Narrative
When the process 'Set SCAC Code to CPRS' is invoked, and assuming that an m13 segment with identifier set, when the scac code needs to be assigned, the desired outcome is that the scac code field is populated with 'cprs'.
💻 Technical Criteria
Given An M13 segment with identifier set
When The SCAC code needs to be assigned
Then The SCAC code field is populated with 'CPRS'
R-GCCS358C-cbl-00203 Clear Message Field
Validation Rules
📊 Business Logic Narrative
When the process 'Clear Message Field' is invoked, and assuming that a log entry is being prepared, when the message field needs to be initialized, the desired outcome is that the message field should be set to spaces to ensure clean data.
💻 Technical Criteria
Given A log entry is being prepared
When The message field needs to be initialized
Then The message field should be set to spaces to ensure clean data
R-GCCS358C-cbl-00207 Processing Mode Valid?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Processing Mode Valid?', assuming that a manifest processing request is initiated, when the processing mode is not foreground and not background and not foreground-02, the desired outcome is that set wrong fb indicator to true and exit processing.
💻 Technical Criteria
EXCLUDING A manifest processing request is initiated
When The processing mode is not foreground AND not background AND not foreground-02
Then Set wrong FB indicator to true and exit processing

🏷️ CCN & Waybill Identification 92 logic blocks
R-GCCS358C-cbl-00009 Set Equipment Load Status
Policy Rules
📊 Business Logic Narrative
When the process 'Set Equipment Load Status' is invoked, and assuming that equipment processing is being performed, when the cargo ccn key starts with '6105i', the desired outcome is that override the equipment load status to 'e' (empty) regardless of other load status determinations.
💻 Technical Criteria
Given Equipment processing is being performed
When The cargo CCN key starts with '6105I'
Then Override the equipment load status to 'E' (empty) regardless of other load status determinations
R-GCCS358C-cbl-00012 Handle Special SCAC Assignment
Decision Rules
📊 Business Logic Narrative
When the process 'Handle Special SCAC Assignment' is invoked, and assuming that a master bill of lading segment is being created, when the system evaluates the ccn key prefix, the desired outcome is that if ccn key starts with '2156', set scac to 'cffo', otherwise set scac to 'cprs'.
💻 Technical Criteria
Given A Master Bill of Lading segment is being created
When The system evaluates the CCN key prefix
Then If CCN key starts with '2156', set SCAC to 'CFFO', otherwise set SCAC to 'CPRS'
R-GCCS358C-cbl-00013 Handle Revenue Transit Status
Decision Rules
📊 Business Logic Narrative
When the process 'Handle Revenue Transit Status' is invoked, and assuming that cargo information indicates in-transit status of 'r' (revenue), when the system processes the master bill of lading segment, the desired outcome is that set bol/waybill to 'na', set response code to 'n', and if post-emanifest, set exception code to '08'.
💻 Technical Criteria
Given Cargo information indicates in-transit status of 'R' (revenue)
When The system processes the Master Bill of Lading segment
Then Set BOL/Waybill to 'NA', set response code to 'N', and if post-emanifest, set exception code to '08'
R-GCCS358C-cbl-00014 Process Haulage Rights
Decision Rules
📊 Business Logic Narrative
When the process 'Process Haulage Rights' is invoked, and assuming that cargo information indicates haulage rights exist, when the system processes the master bill of lading segment, the desired outcome is that set scac to the haulage rights scac code and set response code to 'n'.
💻 Technical Criteria
Given Cargo information indicates haulage rights exist
When The system processes the Master Bill of Lading segment
Then Set SCAC to the haulage rights SCAC code and set response code to 'N'
R-GCCS358C-cbl-00015 Build Dummy MBL Segment
Process Rules
📊 Business Logic Narrative
When the process 'Build Dummy MBL Segment' is invoked, and assuming that processing is for the first equipment in an amendment scenario, when no cargo key exists for the equipment but amendment processing is required, the desired outcome is that create a dummy mbl segment with scac 'cprs', bol/waybill 'na', and exception code '06'.
💻 Technical Criteria
Given Processing is for the first equipment in an amendment scenario
When No cargo key exists for the equipment but amendment processing is required
Then Create a dummy MBL segment with SCAC 'CPRS', BOL/Waybill 'NA', and exception code '06'
R-GCCS358C-cbl-00020 Retrieve Cargo Information
Validation Rules
📊 Business Logic Narrative
When the process 'Retrieve Cargo Information' is invoked, and assuming that equipment has a non-empty cargo ccn key, when the system attempts to retrieve cargo information, the desired outcome is that if cargo root is not found, generate error message indicating cargo not found for ccn. otherwise, set cargo flag to true and use retrieved cargo information.
💻 Technical Criteria
Given Equipment has a non-empty cargo CCN key
When The system attempts to retrieve cargo information
Then If cargo root is not found, generate error message indicating cargo not found for CCN. Otherwise, set cargo flag to true and use retrieved cargo information
R-GCCS358C-cbl-00079 Determine Load/Empty Status
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Load/Empty Status' is invoked, and assuming that equipment record with load indicator and cargo key information, when equipment load status needs to be determined for standard processing, the desired outcome is that status is 'l' if equipment is loaded, 'e' if equipment is empty, with special handling for loaded equipment without cargo key (set to 'e') and ccn starting with '6105i' (set to 'e').
💻 Technical Criteria
Given Equipment record with load indicator and cargo key information
When Equipment load status needs to be determined for standard processing
Then Status is 'L' if equipment is loaded, 'E' if equipment is empty, with special handling for loaded equipment without cargo key (set to 'E') and CCN starting with '6105I' (set to 'E')
R-GCCS358C-cbl-00080 Determine Load/Empty Status with Revenue Empty Logic
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Load/Empty Status with Revenue Empty Logic' is invoked, and assuming that equipment record with load indicator, empty indicator, and cargo key information in post-emanifest mode, when equipment load status needs to be determined for post-emanifest processing, the desired outcome is that status is 'l' if equipment is loaded or (equipment is empty and has cargo key), otherwise 'e', with special handling for loaded equipment without cargo key (set to 'e') and ccn starting with '6105i' (set to 'e').
💻 Technical Criteria
Given Equipment record with load indicator, empty indicator, and cargo key information in post-emanifest mode
When Equipment load status needs to be determined for post-emanifest processing
Then Status is 'L' if equipment is loaded OR (equipment is empty AND has cargo key), otherwise 'E', with special handling for loaded equipment without cargo key (set to 'E') and CCN starting with '6105I' (set to 'E')
R-GCCS358C-cbl-00085 Process Bill of Lading if Loaded
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Process Bill of Lading if Loaded', assuming that equipment that is loaded and has a cargo key (cda-ccn-key is not spaces), when equipment processing requires bill of lading information, the desired outcome is that process mbl segment with cargo details, scac code, bill of lading number, and response codes.
💻 Technical Criteria
EXCLUDING Equipment that is loaded and has a cargo key (CDA-CCN-KEY is not spaces)
When Equipment processing requires bill of lading information
Then Process MBL segment with cargo details, SCAC code, bill of lading number, and response codes
R-GCCS358C-cbl-00086 Process Bill of Lading or Dummy MBL
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Process Bill of Lading or Dummy MBL', assuming that post-emanifest processing mode with equipment that may or may not have cargo, when equipment has cargo key, the desired outcome is that process regular mbl segment, otherwise if this is the first equipment and an amendment, create dummy mbl with exception code '06' and m13 amendment segment.
💻 Technical Criteria
EXCLUDING Post-emanifest processing mode with equipment that may or may not have cargo
When Equipment has cargo key
Then Process regular MBL segment, otherwise if this is the first equipment and an amendment, create dummy MBL with exception code '06' and M13 amendment segment
R-GCCS358C-cbl-00216 Equipment Marked as Load?
Decision Rules
📊 Business Logic Narrative
When the process 'Equipment Marked as Load?' is invoked, and assuming that an equipment record with a load flag indicator and optional cargo control number key, when the equipment is marked as loaded and a cargo control number key is present, the desired outcome is that set the equipment status to 'l' for loaded.
💻 Technical Criteria
Given An equipment record with a load flag indicator and optional cargo control number key
When The equipment is marked as loaded AND a cargo control number key is present
Then Set the equipment status to 'L' for Loaded
R-GCCS358C-cbl-00217 Set Status to 'E' - Empty
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Status to 'E' - Empty', assuming that an equipment record being processed for load/empty status, when the equipment is not marked as loaded or no cargo control number key is present, the desired outcome is that set the equipment status to 'e' for empty.
💻 Technical Criteria
EXCLUDING An equipment record being processed for load/empty status
When The equipment is NOT marked as loaded OR no cargo control number key is present
Then Set the equipment status to 'E' for Empty
R-GCCS358C-cbl-00218 CCN Starts with '6105I'?
Policy Rules
📊 Business Logic Narrative
When the process 'CCN Starts with '6105I'?' is invoked, and assuming that an equipment record with a cargo control number that has been assigned a load/empty status, when the cargo control number starts with '6105i', the desired outcome is that override the equipment status to 'e' for empty regardless of previous status determination.
💻 Technical Criteria
Given An equipment record with a cargo control number that has been assigned a load/empty status
When The cargo control number starts with '6105I'
Then Override the equipment status to 'E' for Empty regardless of previous status determination
R-GCCS358C-cbl-00219 Equipment Empty but CCN Present?
Decision Rules
📊 Business Logic Narrative
When the process 'Equipment Empty but CCN Present?' is invoked, and assuming that equipment marked as empty with a cargo control number key present during post-emanifest processing (5040 version), when the equipment is empty and a cargo control number key is present and processing is in 5040 version mode, the desired outcome is that set the equipment status to 'l' for loaded to indicate revenue empty status.
💻 Technical Criteria
Given Equipment marked as empty with a cargo control number key present during post-emanifest processing (5040 version)
When The equipment is empty AND a cargo control number key is present AND processing is in 5040 version mode
Then Set the equipment status to 'L' for Loaded to indicate revenue empty status
R-GCCS358C-cbl-00223 Is Container Loaded or Has Cargo?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Container Loaded or Has Cargo?' is invoked, and assuming that a container car positioned on a flat car, when the container's load status is evaluated, the desired outcome is that the container is considered loaded if it has a load indicator set to true or if it is empty but has a non-space cargo key (cda-ccn-key).
💻 Technical Criteria
Given A container car positioned on a flat car
When The container's load status is evaluated
Then The container is considered loaded if it has a load indicator set to true OR if it is empty but has a non-space cargo key (CDA-CCN-KEY)
R-GCCS358C-cbl-00267 Equipment is Loaded OR Empty with CCN?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Equipment is Loaded OR Empty with CCN?', assuming that a container type equipment is positioned on a flat car, when the equipment is marked as loaded or the equipment is marked as empty but has a cargo control number (ccn) that is not spaces, the desired outcome is that the container is considered to have cargo and affects the flat car's load status.
💻 Technical Criteria
EXCLUDING A container type equipment is positioned on a flat car
When The equipment is marked as loaded OR the equipment is marked as empty but has a cargo control number (CCN) that is not spaces
Then The container is considered to have cargo and affects the flat car's load status
R-GCCS358C-cbl-00268 Set Flat Car Load Status to 'L'
Action Rules
📊 Business Logic Narrative
When the process 'Set Flat Car Load Status to 'L'' is invoked, and assuming that a flat car has at least one container with cargo, when a loaded container or empty container with ccn is found on the flat car, the desired outcome is that the flat car's load/empty status is set to 'l' (loaded) and the load found flag is set to true.
💻 Technical Criteria
Given A flat car has at least one container with cargo
When A loaded container or empty container with CCN is found on the flat car
Then The flat car's load/empty status is set to 'L' (loaded) and the load found flag is set to true
R-GCCS358C-cbl-00275 Is Container Car Empty with CCN?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Container Car Empty with CCN?' is invoked, and assuming that a container car that is marked as empty, when the container car has a non-blank cargo control number (ccn) key, the desired outcome is that the container is treated as loaded for flat car status determination.
💻 Technical Criteria
Given A container car that is marked as empty
When The container car has a non-blank cargo control number (CCN) key
Then The container is treated as loaded for flat car status determination
R-GCCS358C-cbl-00276 Set Flat Car Status to Loaded
Action Rules
📊 Business Logic Narrative
When the process 'Set Flat Car Status to Loaded' is invoked, and assuming that a flat car with associated container cars being searched, when any container car on the flat car is loaded or empty with a cargo control number, the desired outcome is that the flat car load status is set to 'l' (loaded) and the search is terminated.
💻 Technical Criteria
Given A flat car with associated container cars being searched
When Any container car on the flat car is loaded or empty with a cargo control number
Then The flat car load status is set to 'L' (loaded) and the search is terminated
R-GCCS358C-cbl-00277 Move to Next Car in Sequence
Process Rules
📊 Business Logic Narrative
When the process 'Move to Next Car in Sequence' is invoked, and assuming that a container car that is empty without a cargo control number, when the container search is still active, the desired outcome is that move to the next car in the sequence and continue the container type validation.
💻 Technical Criteria
Given A container car that is empty without a cargo control number
When The container search is still active
Then Move to the next car in the sequence and continue the container type validation
R-GCCS358C-cbl-00320 Equipment Has Load OR Empty with CCN?
Decision Rules
📊 Business Logic Narrative
When the process 'Equipment Has Load OR Empty with CCN?' is invoked, and assuming that a container equipment item on a flat car, when the system checks if the equipment is loaded or if it's empty but has a cargo control number (ccn), the desired outcome is that the system identifies whether the container has cargo that affects the flat car's load status.
💻 Technical Criteria
Given A container equipment item on a flat car
When The system checks if the equipment is loaded OR if it's empty but has a cargo control number (CCN)
Then The system identifies whether the container has cargo that affects the flat car's load status
R-GCCS358C-cbl-00321 Set Flat Car Load Status to 'L'
Decision Rules
📊 Business Logic Narrative
When the process 'Set Flat Car Load Status to 'L'' is invoked, and assuming that a flat car with containers where at least one container has cargo, when the system finds a container that is loaded or empty with a cargo control number, the desired outcome is that the system sets the flat car's load/empty status to 'l' (loaded) and marks the load as found.
💻 Technical Criteria
Given A flat car with containers where at least one container has cargo
When The system finds a container that is loaded or empty with a cargo control number
Then The system sets the flat car's load/empty status to 'L' (Loaded) and marks the load as found
R-GCCS358C-cbl-00234 Override Load Status to 'E'
Policy Rules
📊 Business Logic Narrative
When the process 'Override Load Status to 'E'' is invoked, and assuming that equipment load status has been determined, when cargo control number starts with '6105i', the desired outcome is that load status is overridden to 'e' (empty) regardless of previous determination.
💻 Technical Criteria
Given Equipment load status has been determined
When Cargo control number starts with '6105I'
Then Load status is overridden to 'E' (Empty) regardless of previous determination
R-GCCS358C-cbl-00279 CCN Key starts with '6105I'?
Decision Rules
📊 Business Logic Narrative
When the process 'CCN Key starts with '6105I'?' is invoked, and assuming that an equipment record is being processed with a ccn key, when the ccn key starts with '6105i', the desired outcome is that the equipment load status is set to empty ('e').
💻 Technical Criteria
Given An equipment record is being processed with a CCN key
When The CCN key starts with '6105I'
Then The equipment load status is set to Empty ('E')
R-GCCS358C-cbl-00280 Equipment marked as Loaded AND CCN Key is blank?
Decision Rules
📊 Business Logic Narrative
When the process 'Equipment marked as Loaded AND CCN Key is blank?' is invoked, and assuming that an equipment record is being processed, when the equipment is marked as loaded and the ccn key is blank or spaces, the desired outcome is that the equipment load status is set to empty ('e').
💻 Technical Criteria
Given An equipment record is being processed
When The equipment is marked as loaded AND the CCN key is blank or spaces
Then The equipment load status is set to Empty ('E')
R-GCCS358C-cbl-00281 Equipment is Empty AND has CCN Key?
Decision Rules
📊 Business Logic Narrative
When the process 'Equipment is Empty AND has CCN Key?' is invoked, and assuming that equipment is being processed in post-emanifest mode, when the equipment is marked as empty and has a non-blank ccn key, the desired outcome is that the equipment load status is set to loaded ('l') for revenue empty handling.
💻 Technical Criteria
Given Equipment is being processed in post-emanifest mode
When The equipment is marked as empty AND has a non-blank CCN key
Then The equipment load status is set to Loaded ('L') for revenue empty handling
R-GCCS358C-cbl-00241 CCN Key = '6105I'?
Decision Rules
📊 Business Logic Narrative
When the process 'CCN Key = '6105I'?' is invoked, and assuming that an equipment record is being processed for master bill of lading creation, when the cargo ccn key starts with '6105i', the desired outcome is that the system skips all mbl segment processing and proceeds to the next step.
💻 Technical Criteria
Given An equipment record is being processed for Master Bill of Lading creation
When The cargo CCN key starts with '6105I'
Then The system skips all MBL segment processing and proceeds to the next step
R-GCCS358C-cbl-00242 CCN starts with '2156'?
Decision Rules
📊 Business Logic Narrative
When the process 'CCN starts with '2156'?' is invoked, and assuming that a master bill of lading segment is being created for equipment with a ccn key, when the ccn key starts with '2156', the desired outcome is that the system sets the scac code to 'cffo', otherwise sets it to 'cprs'.
💻 Technical Criteria
Given A Master Bill of Lading segment is being created for equipment with a CCN key
When The CCN key starts with '2156'
Then The system sets the SCAC code to 'CFFO', otherwise sets it to 'CPRS'
R-GCCS358C-cbl-00243 Set CCN as Bill of Lading Number
Definitional Rules
📊 Business Logic Narrative
When the process 'Set CCN as Bill of Lading Number' is invoked, and assuming that a master bill of lading segment is being initialized, when the equipment has a valid ccn key, the desired outcome is that the system assigns the ccn key as the bill of lading/waybill number.
💻 Technical Criteria
Given A Master Bill of Lading segment is being initialized
When The equipment has a valid CCN key
Then The system assigns the CCN key as the Bill of Lading/Waybill number
R-GCCS358C-cbl-00244 Set Condition Response Code
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Condition Response Code' is invoked, and assuming that a master bill of lading segment is being populated, when the equipment record contains a condition response code, the desired outcome is that the system copies the condition response code to the mbl segment.
💻 Technical Criteria
Given A Master Bill of Lading segment is being populated
When The equipment record contains a condition response code
Then The system copies the condition response code to the MBL segment
R-GCCS358C-cbl-00245 Response Code Empty?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Response Code Empty?', assuming that a master bill of lading segment has an empty condition response code, when the bill of lading number is not empty, the desired outcome is that the system sets the response code to 'y', otherwise sets it to 'n'.
💻 Technical Criteria
EXCLUDING A Master Bill of Lading segment has an empty condition response code
When The Bill of Lading number is not empty
Then The system sets the response code to 'Y', otherwise sets it to 'N'
R-GCCS358C-cbl-00246 Cargo Status = 'R' Revenue Transit?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Status = 'R' Revenue Transit?' is invoked, and assuming that equipment has associated cargo with in-transit status, when the cargo in-transit status is 'r' (revenue transit), the desired outcome is that the system sets bill of lading to 'na' and response code to 'n'.
💻 Technical Criteria
Given Equipment has associated cargo with in-transit status
When The cargo in-transit status is 'R' (Revenue Transit)
Then The system sets Bill of Lading to 'NA' and response code to 'N'
R-GCCS358C-cbl-00247 Set Exception Code to '08'
Decision Rules
📊 Business Logic Narrative
When the process 'Set Exception Code to '08'' is invoked, and assuming that cargo is in revenue transit status with bill of lading set to 'na', when the processing mode is post-emanifest, the desired outcome is that the system sets the exception code to '08'.
💻 Technical Criteria
Given Cargo is in revenue transit status with Bill of Lading set to 'NA'
When The processing mode is post-emanifest
Then The system sets the exception code to '08'
R-GCCS358C-cbl-00250 No CCN and Amendment?
Process Rules
📊 Business Logic Narrative
When the process 'No CCN and Amendment?' is invoked, and assuming that equipment is being processed in amendment mode, when the equipment has no ccn key and this is the first equipment, the desired outcome is that the system creates a dummy mbl segment with bill of lading 'na', exception code '06', and follows with m13 amendment segment.
💻 Technical Criteria
Given Equipment is being processed in amendment mode
When The equipment has no CCN key and this is the first equipment
Then The system creates a dummy MBL segment with Bill of Lading 'NA', exception code '06', and follows with M13 amendment segment
R-GCCS358C-cbl-00282 CCN Key Starts with '2156'?
Decision Rules
📊 Business Logic Narrative
When the process 'CCN Key Starts with '2156'?' is invoked, and assuming that a train list equipment record with a cda ccn key, when the system processes the mbl segment for scac code assignment, the desired outcome is that if the ccn key starts with '2156', assign scac code 'cffo', otherwise assign scac code 'cprs'.
💻 Technical Criteria
Given A train list equipment record with a CDA CCN key
When The system processes the MBL segment for SCAC code assignment
Then If the CCN key starts with '2156', assign SCAC code 'CFFO', otherwise assign SCAC code 'CPRS'
R-GCCS358C-cbl-00285 Equipment has CCN?
Validation Rules
📊 Business Logic Narrative
When the process 'Equipment has CCN?' is invoked, and assuming that an equipment item is being processed for mbl segment creation, when the system checks the cda-ccn-key field for the equipment, the desired outcome is that if the ccn key is not spaces, the equipment has cargo data, otherwise it has no cargo data.
💻 Technical Criteria
Given An equipment item is being processed for MBL segment creation
When The system checks the CDA-CCN-KEY field for the equipment
Then If the CCN key is not spaces, the equipment has cargo data, otherwise it has no cargo data
R-GCCS358C-cbl-00286 Process Regular MBL Segment
Action Rules
📊 Business Logic Narrative
When the process 'Process Regular MBL Segment' is invoked, and assuming that an equipment item has a valid ccn key (not spaces), when the system processes the mbl segment for this equipment, the desired outcome is that the regular mbl processing function (b240-load-mbl-seg) should be invoked.
💻 Technical Criteria
Given An equipment item has a valid CCN key (not spaces)
When The system processes the MBL segment for this equipment
Then The regular MBL processing function (B240-LOAD-MBL-SEG) should be invoked
R-GCCS358C-cbl-00287 Create Dummy MBL Segment
Decision Rules
📊 Business Logic Narrative
When the process 'Create Dummy MBL Segment' is invoked, and assuming that this is the first equipment item (sub-tl = 1) and amendment processing is required and the equipment has no ccn key (spaces), when the system determines that a dummy mbl is needed for amendment purposes, the desired outcome is that the dummy mbl creation process (b250-load-dummy-mbl-seg) should be initiated.
💻 Technical Criteria
Given This is the first equipment item (SUB-TL = 1) and amendment processing is required and the equipment has no CCN key (spaces)
When The system determines that a dummy MBL is needed for amendment purposes
Then The dummy MBL creation process (B250-LOAD-DUMMY-MBL-SEG) should be initiated
R-GCCS358C-cbl-00290 Set Bill of Lading to 'NA'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Bill of Lading to 'NA'' is invoked, and assuming that a dummy mbl segment is being created for equipment without cargo, when the system sets the bill of lading/waybill number, the desired outcome is that the bill of lading field should be set to 'na' indicating not applicable.
💻 Technical Criteria
Given A dummy MBL segment is being created for equipment without cargo
When The system sets the bill of lading/waybill number
Then The bill of lading field should be set to 'NA' indicating not applicable
R-GCCS358C-cbl-00297 Set Bill/Waybill Number from Train Key
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Bill/Waybill Number from Train Key' is invoked, and assuming that an m13 amendment segment is being created and train information is available, when the system sets the bill/waybill number for the amendment, the desired outcome is that the bill/waybill number should be set to the train key (gcwb4tl-key).
💻 Technical Criteria
Given An M13 amendment segment is being created and train information is available
When The system sets the bill/waybill number for the amendment
Then The bill/waybill number should be set to the train key (GCWB4TL-KEY)
R-GCCS358C-cbl-00326 Set Bill of Lading to 'NA'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Bill of Lading to 'NA'' is invoked, and assuming that a dummy mbl segment is being created, when the bill of lading waybill number needs to be set, the desired outcome is that the bill of lading waybill is set to 'na'.
💻 Technical Criteria
Given A dummy MBL segment is being created
When The bill of lading waybill number needs to be set
Then The bill of lading waybill is set to 'NA'
R-GCCS358C-cbl-00371 Set Bill of Lading to 'NA'
Policy Rules
📊 Business Logic Narrative
When the process 'Set Bill of Lading to 'NA'' is invoked, and assuming that a dummy mbl segment is being created for amendment purposes, when the bill of lading waybill field needs to be populated, the desired outcome is that the bill of lading waybill is set to 'na'.
💻 Technical Criteria
Given A dummy MBL segment is being created for amendment purposes
When The bill of lading waybill field needs to be populated
Then The bill of lading waybill is set to 'NA'
R-GCCS358C-cbl-00335 Set Bill of Lading/Waybill Number from Train Key
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Bill of Lading/Waybill Number from Train Key' is invoked, and assuming that an m13 amendment segment is being created and train information is available, when the bill of lading/waybill number field needs to be populated, the desired outcome is that the bill of lading/waybill number is set to the train key from gcwb4tl.
💻 Technical Criteria
Given An M13 amendment segment is being created and train information is available
When The bill of lading/waybill number field needs to be populated
Then The bill of lading/waybill number is set to the train key from GCWB4TL
R-GCCS358C-cbl-00091 Get Cargo Information for Equipment
Action Rules
📊 Business Logic Narrative
When the process 'Get Cargo Information for Equipment' is invoked, and assuming that an equipment unit exists in the train list with a ccn key, when the system processes the equipment for manifest creation, the desired outcome is that the system retrieves the corresponding cargo information using the ccn key and sets cargo found flag to true, or initializes empty cargo segment if no cargo exists.
💻 Technical Criteria
Given An equipment unit exists in the train list with a CCN key
When The system processes the equipment for manifest creation
Then The system retrieves the corresponding cargo information using the CCN key and sets cargo found flag to true, or initializes empty cargo segment if no cargo exists
R-GCCS358C-cbl-00097 Loaded but No CCN Key?
Validation Rules
📊 Business Logic Narrative
When the process 'Loaded but No CCN Key?' is invoked, and assuming that equipment is marked as loaded in the train list, when the equipment has no ccn key (cargo control number) associated with it, the desired outcome is that the system overrides the load status to 'e' (empty) regardless of the original load flag.
💻 Technical Criteria
Given Equipment is marked as loaded in the train list
When The equipment has no CCN key (cargo control number) associated with it
Then The system overrides the load status to 'E' (empty) regardless of the original load flag
R-GCCS358C-cbl-00098 CCN Key starts with '6105I'?
Policy Rules
📊 Business Logic Narrative
When the process 'CCN Key starts with '6105I'?' is invoked, and assuming that equipment has an associated cargo control number key, when the ccn key starts with '6105i', the desired outcome is that the system forces the equipment load status to 'e' (empty) regardless of other load indicators.
💻 Technical Criteria
Given Equipment has an associated cargo control number key
When The CCN key starts with '6105I'
Then The system forces the equipment load status to 'E' (empty) regardless of other load indicators
R-GCCS358C-cbl-00106 Equipment Has CCN and is Loaded?
Decision Rules
📊 Business Logic Narrative
When the process 'Equipment Has CCN and is Loaded?' is invoked, and assuming that equipment vid segment has been created, when the system evaluates mbl processing requirements, the desired outcome is that the system creates an mbl segment if the equipment is loaded and has an associated ccn key (cargo control number).
💻 Technical Criteria
Given Equipment VID segment has been created
When The system evaluates MBL processing requirements
Then The system creates an MBL segment if the equipment is loaded and has an associated CCN key (cargo control number)
R-GCCS358C-cbl-00307 Generate MBL Segment for Pair
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate MBL Segment for Pair', assuming that flat car-container pair is processed and container has cargo information, when container is loaded and has valid cargo key (cda-ccn-key not equal to spaces), the desired outcome is that mbl segment is generated for the paired equipment unit.
💻 Technical Criteria
EXCLUDING Flat car-container pair is processed and container has cargo information
When Container is loaded and has valid cargo key (CDA-CCN-KEY not equal to spaces)
Then MBL segment is generated for the paired equipment unit
R-GCCS358C-cbl-00349 Equipment Has CCN and is Loaded?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Equipment Has CCN and is Loaded?', assuming that a container equipment in a flat car-container pair, when the equipment is loaded and has a cargo control number (ccn) that is not spaces, the desired outcome is that process the mbl segment for the container.
💻 Technical Criteria
EXCLUDING A container equipment in a flat car-container pair
When The equipment is loaded and has a cargo control number (CCN) that is not spaces
Then Process the MBL segment for the container
R-GCCS358C-cbl-00350 Process MBL Segment for Container
Action Rules
📊 Business Logic Narrative
When the process 'Process MBL Segment for Container' is invoked, and assuming that container equipment is loaded and has a valid cargo control number, when mbl processing is required for the container, the desired outcome is that execute mbl segment loading procedure for the container.
💻 Technical Criteria
Given Container equipment is loaded and has a valid cargo control number
When MBL processing is required for the container
Then Execute MBL segment loading procedure for the container
R-GCCS358C-cbl-00353 Equipment Has CCN and is Loaded?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Equipment Has CCN and is Loaded?', assuming that a single equipment item that is not part of flat car-container pairing, when the equipment is loaded and has a cargo control number (ccn) that is not spaces, the desired outcome is that process the mbl segment for the equipment.
💻 Technical Criteria
EXCLUDING A single equipment item that is not part of flat car-container pairing
When The equipment is loaded and has a cargo control number (CCN) that is not spaces
Then Process the MBL segment for the equipment
R-GCCS358C-cbl-00354 Process MBL Segment
Action Rules
📊 Business Logic Narrative
When the process 'Process MBL Segment' is invoked, and assuming that single equipment is loaded and has a valid cargo control number, when mbl processing is required for the equipment, the desired outcome is that execute mbl segment loading procedure for the equipment.
💻 Technical Criteria
Given Single equipment is loaded and has a valid cargo control number
When MBL processing is required for the equipment
Then Execute MBL segment loading procedure for the equipment
R-GCCS358C-cbl-00355 CCN Key = '6105I'?
Decision Rules
📊 Business Logic Narrative
When the process 'CCN Key = '6105I'?' is invoked, and assuming that an equipment record is being processed for mbl segment generation, when the ccn key starts with '6105i', the desired outcome is that skip mbl segment generation and check if first equipment requires amendment processing.
💻 Technical Criteria
Given An equipment record is being processed for MBL segment generation
When The CCN key starts with '6105I'
Then Skip MBL segment generation and check if first equipment requires amendment processing
R-GCCS358C-cbl-00356 CCN starts with '2156'?
Decision Rules
📊 Business Logic Narrative
When the process 'CCN starts with '2156'?' is invoked, and assuming that an mbl segment is being created for equipment with a valid ccn, when the ccn starts with '2156', the desired outcome is that set scac code to 'cffo', otherwise set scac code to 'cprs'.
💻 Technical Criteria
Given An MBL segment is being created for equipment with a valid CCN
When The CCN starts with '2156'
Then Set SCAC code to 'CFFO', otherwise set SCAC code to 'CPRS'
R-GCCS358C-cbl-00357 Set CCN as Bill of Lading Number
Definitional Rules
📊 Business Logic Narrative
When the process 'Set CCN as Bill of Lading Number' is invoked, and assuming that an mbl segment is being initialized, when the equipment has a valid ccn key, the desired outcome is that set the ccn key as the bill of lading waybill number in the mbl segment.
💻 Technical Criteria
Given An MBL segment is being initialized
When The equipment has a valid CCN key
Then Set the CCN key as the bill of lading waybill number in the MBL segment
R-GCCS358C-cbl-00359 Response Code Empty?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Response Code Empty?', assuming that an mbl segment has an empty response code, when the bill of lading waybill number is not empty, the desired outcome is that set response code to 'y', otherwise set response code to 'n'.
💻 Technical Criteria
EXCLUDING An MBL segment has an empty response code
When The bill of lading waybill number is not empty
Then Set response code to 'Y', otherwise set response code to 'N'
R-GCCS358C-cbl-00360 Cargo Status = 'R' 'Revenue'?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Status = 'R' 'Revenue'?' is invoked, and assuming that an mbl segment is being processed for cargo with in-transit status, when the cargo in-transit status is 'r' (revenue), the desired outcome is that set bill of lading to 'na', set response code to 'n', and if post-emanifest then set exception code to '08'.
💻 Technical Criteria
Given An MBL segment is being processed for cargo with in-transit status
When The cargo in-transit status is 'R' (Revenue)
Then Set bill of lading to 'NA', set response code to 'N', and if post-emanifest then set exception code to '08'
R-GCCS358C-cbl-00376 Check CCN Key Prefix
Decision Rules
📊 Business Logic Narrative
When the process 'Check CCN Key Prefix' is invoked, and assuming that a cargo record with a ccn key exists for processing, when the system evaluates the ccn key prefix during mbl segment creation, the desired outcome is that cffo scac code is assigned if ccn starts with '2156', otherwise cprs scac code is assigned.
💻 Technical Criteria
Given A cargo record with a CCN key exists for processing
When The system evaluates the CCN key prefix during MBL segment creation
Then CFFO SCAC code is assigned if CCN starts with '2156', otherwise CPRS SCAC code is assigned
R-GCCS358C-cbl-00377 Haulage Rights Exist?
Decision Rules
📊 Business Logic Narrative
When the process 'Haulage Rights Exist?' is invoked, and assuming that a cargo record is being processed for mbl segment creation, when the cargo has haulage rights defined with a specific scac code, the desired outcome is that the haulage rights scac code overrides the standard ccn-based scac assignment and response code is set to 'n'.
💻 Technical Criteria
Given A cargo record is being processed for MBL segment creation
When The cargo has haulage rights defined with a specific SCAC code
Then The haulage rights SCAC code overrides the standard CCN-based SCAC assignment and response code is set to 'N'
R-GCCS358C-cbl-00378 Check Cargo In-Transit Status
Decision Rules
📊 Business Logic Narrative
When the process 'Check Cargo In-Transit Status' is invoked, and assuming that a cargo shipment exists with in-transit status, when the cargo in-transit status is 'r' (revenue), the desired outcome is that the bill of lading should be overridden to 'na' and response code should be set to 'n'.
💻 Technical Criteria
Given A cargo shipment exists with in-transit status
When The cargo in-transit status is 'R' (Revenue)
Then The bill of lading should be overridden to 'NA' and response code should be set to 'N'
R-GCCS358C-cbl-00380 Override Bill of Lading to 'NA'
Action Rules
📊 Business Logic Narrative
When the process 'Override Bill of Lading to 'NA'' is invoked, and assuming that a cargo shipment with in-transit status 'r' (revenue), when the system processes the mbl segment, the desired outcome is that the bill of lading waybill field should be set to 'na' regardless of the original cargo ccn key.
💻 Technical Criteria
Given A cargo shipment with in-transit status 'R' (Revenue)
When The system processes the MBL segment
Then The bill of lading waybill field should be set to 'NA' regardless of the original cargo CCN key
R-GCCS358C-cbl-00113 Equipment Loaded OR Empty with CCN?
Decision Rules
📊 Business Logic Narrative
When the process 'Equipment Loaded OR Empty with CCN?' is invoked, and assuming that equipment is being processed for 5040 version, when equipment is loaded or equipment is empty and has a cargo control number, the desired outcome is that load empty status code is set to 'l' for loaded.
💻 Technical Criteria
Given Equipment is being processed for 5040 version
When Equipment is loaded OR equipment is empty AND has a cargo control number
Then Load empty status code is set to 'L' for loaded
R-GCCS358C-cbl-00114 Set Load Status to 'E'
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Load Status to 'E'', assuming that equipment is being processed for 5040 version, when equipment is not loaded and (equipment is not empty or has no cargo control number), the desired outcome is that load empty status code is set to 'e' for empty.
💻 Technical Criteria
EXCLUDING Equipment is being processed for 5040 version
When Equipment is NOT loaded AND (equipment is NOT empty OR has no cargo control number)
Then Load empty status code is set to 'E' for empty
R-GCCS358C-cbl-00115 Equipment Loaded AND No CCN?
Validation Rules
📊 Business Logic Narrative
When the process 'Equipment Loaded AND No CCN?' is invoked, and assuming that equipment is marked as loaded, when equipment has no cargo control number (ccn is spaces), the desired outcome is that load empty status code is overridden to 'e' for empty.
💻 Technical Criteria
Given Equipment is marked as loaded
When Equipment has no cargo control number (CCN is spaces)
Then Load empty status code is overridden to 'E' for empty
R-GCCS358C-cbl-00116 CCN Key starts with '6105I'?
Policy Rules
📊 Business Logic Narrative
When the process 'CCN Key starts with '6105I'?' is invoked, and assuming that equipment has an associated cargo control number, when ccn key starts with '6105i', the desired outcome is that load empty status code is overridden to 'e' for empty regardless of other conditions.
💻 Technical Criteria
Given Equipment has an associated cargo control number
When CCN key starts with '6105I'
Then Load empty status code is overridden to 'E' for empty regardless of other conditions
R-GCCS358C-cbl-00121 Insert VID Segment to Database
Action Rules
📊 Business Logic Narrative
When the process 'Insert VID Segment to Database' is invoked, and assuming that vid segment is fully populated with equipment data, when vid segment insertion is performed, the desired outcome is that vid segment is stored in transmission database with proper sequence number.
💻 Technical Criteria
Given VID segment is fully populated with equipment data
When VID segment insertion is performed
Then VID segment is stored in transmission database with proper sequence number
R-GCCS358C-cbl-00122 Process N9 and MBL Segments
Process Rules
📊 Business Logic Narrative
When the process 'Process N9 and MBL Segments' is invoked, and assuming that vid equipment segment has been processed, when associated segment processing is required, the desired outcome is that n9 reference segments and mbl bill of lading segments are processed based on equipment and cargo conditions.
💻 Technical Criteria
Given VID equipment segment has been processed
When Associated segment processing is required
Then N9 reference segments and MBL bill of lading segments are processed based on equipment and cargo conditions
R-GCCS358C-cbl-00126 Is Container Equipment Loaded?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Container Equipment Loaded?' is invoked, and assuming that a container equipment is found on a flat car, when the container is marked as loaded or the container is marked as empty but has a cargo key (cda-ccn-key), the desired outcome is that the container is considered loaded.
💻 Technical Criteria
Given A container equipment is found on a flat car
When The container is marked as loaded OR the container is marked as empty but has a cargo key (CDA-CCN-KEY)
Then The container is considered loaded
R-GCCS358C-cbl-00130 Retrieve Cargo Information - Get cargo details from Canadian cargo database using CCN key
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Cargo Information - Get cargo details from Canadian cargo database using CCN key' is invoked, and assuming that a train equipment record contains a ccn key for cargo identification, when the system needs to retrieve cargo information for manifest processing, the desired outcome is that the system queries the canadian cargo database using the ccn key and sets cargo availability flag based on successful retrieval.
💻 Technical Criteria
Given A train equipment record contains a CCN key for cargo identification
When The system needs to retrieve cargo information for manifest processing
Then The system queries the Canadian cargo database using the CCN key and sets cargo availability flag based on successful retrieval
R-GCCS358C-cbl-00132 Initialize Empty Cargo Structure
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Empty Cargo Structure' is invoked, and assuming that no cargo record exists in the database for the provided ccn key, when the cargo retrieval process completes without finding matching records, the desired outcome is that the system initializes an empty cargo structure to prevent processing errors.
💻 Technical Criteria
Given No cargo record exists in the database for the provided CCN key
When The cargo retrieval process completes without finding matching records
Then The system initializes an empty cargo structure to prevent processing errors
R-GCCS358C-cbl-00135 CCN Key Present?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'CCN Key Present?', assuming that equipment is marked as loaded, when cargo control number key is present and not empty, the desired outcome is that set equipment status to 'l' for loaded.
💻 Technical Criteria
EXCLUDING Equipment is marked as loaded
When Cargo control number key is present and not empty
Then Set equipment status to 'L' for loaded
R-GCCS358C-cbl-00136 Set Status to 'E' - Empty
Decision Rules
📊 Business Logic Narrative
When the process 'Set Status to 'E' - Empty' is invoked, and assuming that equipment is marked as loaded, when cargo control number key is empty or spaces, the desired outcome is that override equipment status to 'e' for empty despite load indicator.
💻 Technical Criteria
Given Equipment is marked as loaded
When Cargo control number key is empty or spaces
Then Override equipment status to 'E' for empty despite load indicator
R-GCCS358C-cbl-00137 Override Status to 'E' - Empty
Policy Rules
📊 Business Logic Narrative
When the process 'Override Status to 'E' - Empty' is invoked, and assuming that equipment is being processed for any manifest, when the cargo control number starts with '6105i', the desired outcome is that override equipment status to 'e' for empty regardless of load indicator or cargo presence.
💻 Technical Criteria
Given Equipment is being processed for any manifest
When The cargo control number starts with '6105I'
Then Override equipment status to 'E' for empty regardless of load indicator or cargo presence
R-GCCS358C-cbl-00138 Set Status to 'L' - Loaded for Revenue Empty
Decision Rules
📊 Business Logic Narrative
When the process 'Set Status to 'L' - Loaded for Revenue Empty' is invoked, and assuming that equipment is marked as empty and post-emanifest processing is active, when equipment has cargo control number documentation present, the desired outcome is that set equipment status to 'l' for loaded to indicate revenue empty movement.
💻 Technical Criteria
Given Equipment is marked as empty and post-emanifest processing is active
When Equipment has cargo control number documentation present
Then Set equipment status to 'L' for loaded to indicate revenue empty movement
R-GCCS358C-cbl-00152 CCN Key starts with '6105I'?
Decision Rules
📊 Business Logic Narrative
When the process 'CCN Key starts with '6105I'?' is invoked, and assuming that an equipment item is being processed for mbl segment creation, when the cargo control number (ccn) key starts with '6105i', the desired outcome is that the system skips mbl segment creation and proceeds to check for amendment processing requirements.
💻 Technical Criteria
Given An equipment item is being processed for MBL segment creation
When The cargo control number (CCN) key starts with '6105I'
Then The system skips MBL segment creation and proceeds to check for amendment processing requirements
R-GCCS358C-cbl-00153 CCN starts with '2156'?
Decision Rules
📊 Business Logic Narrative
When the process 'CCN starts with '2156'?' is invoked, and assuming that a master bill of lading segment is being created for equipment, when the cargo control number starts with '2156', the desired outcome is that the system sets the scac code to 'cffo', otherwise it sets the scac code to 'cprs'.
💻 Technical Criteria
Given A Master Bill of Lading segment is being created for equipment
When The cargo control number starts with '2156'
Then The system sets the SCAC code to 'CFFO', otherwise it sets the SCAC code to 'CPRS'
R-GCCS358C-cbl-00154 Set CCN as Bill of Lading Number
Definitional Rules
📊 Business Logic Narrative
When the process 'Set CCN as Bill of Lading Number' is invoked, and assuming that a master bill of lading segment is being initialized, when the equipment has an associated cargo control number, the desired outcome is that the system sets the ccn as the bill of lading waybill number.
💻 Technical Criteria
Given A Master Bill of Lading segment is being initialized
When The equipment has an associated cargo control number
Then The system sets the CCN as the bill of lading waybill number
R-GCCS358C-cbl-00155 Set Condition Response Code from Equipment
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Condition Response Code from Equipment' is invoked, and assuming that a master bill of lading segment is being populated, when equipment data contains a condition response code, the desired outcome is that the system transfers the equipment condition response code to the mbl segment.
💻 Technical Criteria
Given A Master Bill of Lading segment is being populated
When Equipment data contains a condition response code
Then The system transfers the equipment condition response code to the MBL segment
R-GCCS358C-cbl-00156 Response Code Empty?
Decision Rules
📊 Business Logic Narrative
When the process 'Response Code Empty?' is invoked, and assuming that a master bill of lading segment has an empty condition response code, when the bill of lading waybill number is present, the desired outcome is that the system sets the response code to 'y', otherwise it sets the response code to 'n'.
💻 Technical Criteria
Given A Master Bill of Lading segment has an empty condition response code
When The bill of lading waybill number is present
Then The system sets the response code to 'Y', otherwise it sets the response code to 'N'
R-GCCS358C-cbl-00157 Cargo Status is Revenue Transit 'R'?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Status is Revenue Transit 'R'?' is invoked, and assuming that equipment has associated cargo with in-transit status, when the cargo in-transit status is 'r' (revenue transit), the desired outcome is that the system sets the bill of lading waybill number to 'na' and the response code to 'n'.
💻 Technical Criteria
Given Equipment has associated cargo with in-transit status
When The cargo in-transit status is 'R' (Revenue Transit)
Then The system sets the bill of lading waybill number to 'NA' and the response code to 'N'
R-GCCS358C-cbl-00158 Post-Emanifest Processing?
Decision Rules
📊 Business Logic Narrative
When the process 'Post-Emanifest Processing?' is invoked, and assuming that cargo is in revenue transit status with bill of lading set to 'na', when the processing mode is post-emanifest, the desired outcome is that the system sets the exception code to '08'.
💻 Technical Criteria
Given Cargo is in revenue transit status with bill of lading set to 'NA'
When The processing mode is post-emanifest
Then The system sets the exception code to '08'
R-GCCS358C-cbl-00257 Response Code Already Set?
Decision Rules
📊 Business Logic Narrative
When the process 'Response Code Already Set?' is invoked, and assuming that a bill of lading response code field is empty or spaces, when the system processes the bill of lading information, the desired outcome is that if bill of lading number exists and is not spaces, set response code to 'y', otherwise set response code to 'n'.
💻 Technical Criteria
Given A bill of lading response code field is empty or spaces
When The system processes the bill of lading information
Then If bill of lading number exists and is not spaces, set response code to 'Y', otherwise set response code to 'N'
R-GCCS358C-cbl-00258 Cargo Status is Revenue Transit?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo Status is Revenue Transit?' is invoked, and assuming that a cargo record with in-transit status, when the cargo in-transit status equals 'r' (revenue transit), the desired outcome is that override the bill of lading number to 'na' and set response code to 'n'.
💻 Technical Criteria
Given A cargo record with in-transit status
When The cargo in-transit status equals 'R' (Revenue Transit)
Then Override the bill of lading number to 'NA' and set response code to 'N'
R-GCCS358C-cbl-00260 Revenue Transit Status = 'R'?
Decision Rules
📊 Business Logic Narrative
When the process 'Revenue Transit Status = 'R'?' is invoked, and assuming that a cargo record exists with in-transit status, when the cargo in-transit status equals 'r' (revenue transit), the desired outcome is that set mbl bol-waybill to 'na' and set mbl yes-no-resp-code to 'n'.
💻 Technical Criteria
Given A cargo record exists with in-transit status
When The cargo in-transit status equals 'R' (Revenue Transit)
Then Set MBL BOL-WAYBILL to 'NA' and set MBL YES-NO-RESP-CODE to 'N'
R-GCCS358C-cbl-00310 Continue MBL Processing
Decision Rules
📊 Business Logic Narrative
When the process 'Continue MBL Processing' is invoked, and assuming that a cargo record has in-transit status 'r', when the mbl segment is being processed, the desired outcome is that the system sets the bol waybill field to 'na'.
💻 Technical Criteria
Given A cargo record has in-transit status 'R'
When The MBL segment is being processed
Then The system sets the BOL waybill field to 'NA'
R-GCCS358C-cbl-00161 Handle Special SCAC Assignment - Assign CFFO SCAC for CCN starting with 2156, otherwise use CPRS
Decision Rules
📊 Business Logic Narrative
When the process 'Handle Special SCAC Assignment - Assign CFFO SCAC for CCN starting with 2156, otherwise use CPRS' is invoked, and assuming that a train list equipment entry with a ccn key is being processed for mbl segment creation, when the system evaluates the ccn prefix to determine the appropriate scac code, the desired outcome is that if the ccn starts with '2156', assign cffo scac code, otherwise assign cprs scac code to the mbl segment.
💻 Technical Criteria
Given A train list equipment entry with a CCN key is being processed for MBL segment creation
When The system evaluates the CCN prefix to determine the appropriate SCAC code
Then If the CCN starts with '2156', assign CFFO SCAC code, otherwise assign CPRS SCAC code to the MBL segment
R-GCCS358C-cbl-00164 Set Bill of Lading to 'NA'
Decision Rules
📊 Business Logic Narrative
When the process 'Set Bill of Lading to 'NA'' is invoked, and assuming that a cargo record exists with in-transit status, when the cargo in-transit status is 'r' (revenue), the desired outcome is that the bill of lading number should be set to 'na'.
💻 Technical Criteria
Given A cargo record exists with in-transit status
When The cargo in-transit status is 'R' (Revenue)
Then The bill of lading number should be set to 'NA'
R-GCCS358C-cbl-00167 Initialize MBL Segment Structure
Process Rules
📊 Business Logic Narrative
When the process 'Initialize MBL Segment Structure' is invoked, and assuming that a train amendment is being processed and the first equipment position has no cargo control number, when the system needs to create a dummy mbl segment, the desired outcome is that the mbl segment structure should be initialized to empty values.
💻 Technical Criteria
Given A train amendment is being processed and the first equipment position has no cargo control number
When The system needs to create a dummy MBL segment
Then The MBL segment structure should be initialized to empty values
R-GCCS358C-cbl-00170 Set Bill of Lading to 'NA'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Bill of Lading to 'NA'' is invoked, and assuming that a dummy mbl segment is being created, when the bill of lading number needs to be set, the desired outcome is that the bill of lading should be set to 'na' to indicate not applicable.
💻 Technical Criteria
Given A dummy MBL segment is being created
When The bill of lading number needs to be set
Then The bill of lading should be set to 'NA' to indicate not applicable
R-GCCS358C-cbl-00178 Set Bill of Lading/Waybill Number from Train Key
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Bill of Lading/Waybill Number from Train Key' is invoked, and assuming that an m13 segment with location id set and train key available, when the bill of lading/waybill number needs to be assigned, the desired outcome is that the bill of lading/waybill number field is populated with the train key identifier.
💻 Technical Criteria
Given An M13 segment with location ID set and train key available
When The bill of lading/waybill number needs to be assigned
Then The bill of lading/waybill number field is populated with the train key identifier
R-GCCS358C-cbl-00179 Set Amendment Code to 60
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Amendment Code to 60' is invoked, and assuming that an m13 segment with bill of lading number set, when the amendment code needs to be assigned, the desired outcome is that the amendment code field is populated with '60' to indicate train amendment.
💻 Technical Criteria
Given An M13 segment with bill of lading number set
When The amendment code needs to be assigned
Then The amendment code field is populated with '60' to indicate train amendment
R-GCCS358C-cbl-00210 Cargo Record Found?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Cargo Record Found?', assuming that a cargo lookup is performed for equipment with a cargo key, when the cargo record is not found in the database, the desired outcome is that build error message with the cargo control number and terminate processing with error handler.
💻 Technical Criteria
EXCLUDING A cargo lookup is performed for equipment with a cargo key
When The cargo record is not found in the database
Then Build error message with the cargo control number and terminate processing with error handler

💰 Bond & Financial Auth 7 logic blocks
R-GCCS358C-cbl-00048 Set Vessel Name from Train Key
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Vessel Name from Train Key' is invoked, and assuming that an m10 manifest segment is being created and a train key exists, when the vessel name needs to be assigned, the desired outcome is that the vessel name is set to the value from the train key.
💻 Technical Criteria
Given An M10 manifest segment is being created and a train key exists
When The vessel name needs to be assigned
Then The vessel name is set to the value from the train key
R-GCCS358C-cbl-00050 Set Flight/Voyage Number from Julian Date
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Flight/Voyage Number from Julian Date' is invoked, and assuming that the current date has been converted to julian format, when the flight/voyage number needs to be assigned, the desired outcome is that the flight/voyage number is set to the julian date value.
💻 Technical Criteria
Given The current date has been converted to Julian format
When The flight/voyage number needs to be assigned
Then The flight/voyage number is set to the Julian date value
R-GCCS358C-cbl-00329 Insert MBL Segment into Transmission
Action Rules
📊 Business Logic Narrative
When the process 'Insert MBL Segment into Transmission' is invoked, and assuming that a dummy mbl segment has been configured with all required values, when the segment needs to be added to the transmission, the desired outcome is that the mbl segment is inserted into the transmission data structure.
💻 Technical Criteria
Given A dummy MBL segment has been configured with all required values
When The segment needs to be added to the transmission
Then The MBL segment is inserted into the transmission data structure
R-GCCS358C-cbl-00149 Add '00' Seconds to Time
Definitional Rules
📊 Business Logic Narrative
When the process 'Add '00' Seconds to Time' is invoked, and assuming that the n9 time field has been populated with hours and minutes, when the time format needs to be completed, the desired outcome is that the value '00' is added to positions 5-6 of the n9 time field for seconds.
💻 Technical Criteria
Given The N9 time field has been populated with hours and minutes
When The time format needs to be completed
Then The value '00' is added to positions 5-6 of the N9 time field for seconds
R-GCCS358C-cbl-00185 Valid Station Code?
Validation Rules
📊 Business Logic Narrative
When the process 'Valid Station Code?' is invoked, and assuming that a canadian station code has been retrieved from the station table, when the system validates the station code value, the desired outcome is that if the canadian station code equals '0000', it is considered invalid and an error is generated.
💻 Technical Criteria
Given A Canadian station code has been retrieved from the station table
When The system validates the station code value
Then If the Canadian station code equals '0000', it is considered invalid and an error is generated
R-GCCS358C-cbl-00189 Set Security Parameters
Policy Rules
📊 Business Logic Narrative
When the process 'Set Security Parameters' is invoked, and assuming that an edi transmission is being prepared for sending, when security parameters need to be configured, the desired outcome is that the system sets the security byte to high-values to establish maximum security level.
💻 Technical Criteria
Given An EDI transmission is being prepared for sending
When Security parameters need to be configured
Then The system sets the security byte to high-values to establish maximum security level
R-GCCS358C-cbl-00195 Set Security Parameters
Policy Rules
📊 Business Logic Narrative
When the process 'Set Security Parameters' is invoked, and assuming that a log entry is being prepared for transmission, when security parameters need to be established, the desired outcome is that the security byte should be set to high-values for maximum security.
💻 Technical Criteria
Given A log entry is being prepared for transmission
When Security parameters need to be established
Then The security byte should be set to high-values for maximum security

📍 Routing, Border & Port 17 logic blocks
R-GCCS358C-cbl-00002 Build ST Header Segment
Decision Rules
📊 Business Logic Narrative
When the process 'Build ST Header Segment' is invoked, and assuming that an st header segment needs to be created for edi transmission, when the system evaluates the post-emanifest flag in the train list, the desired outcome is that if post-emanifest is true, set destination to 'cacustoms2-st-o', otherwise set destination to 'cacustoms-st-o'.
💻 Technical Criteria
Given An ST header segment needs to be created for EDI transmission
When The system evaluates the post-emanifest flag in the train list
Then If post-emanifest is true, set destination to 'CACUSTOMS2-ST-O', otherwise set destination to 'CACUSTOMS-ST-O'
R-GCCS358C-cbl-00036 Set Transaction Set to 358
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Transaction Set to 358' is invoked, and assuming that a root transmission segment has been initialized, when setting up the transmission for customs manifest data, the desired outcome is that the transaction set should be set to '358'.
💻 Technical Criteria
Given A root transmission segment has been initialized
When Setting up the transmission for customs manifest data
Then The transaction set should be set to '358'
R-GCCS358C-cbl-00040 Set Transaction Code to '358'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Transaction Code to '358'' is invoked, and assuming that an st segment is being prepared for transmission, when the transaction code needs to be assigned, the desired outcome is that the transaction code is set to '358' to identify this as a customs manifest transaction.
💻 Technical Criteria
Given An ST segment is being prepared for transmission
When The transaction code needs to be assigned
Then The transaction code is set to '358' to identify this as a customs manifest transaction
R-GCCS358C-cbl-00041 Check Post-Emanifest Flag
Decision Rules
📊 Business Logic Narrative
When the process 'Check Post-Emanifest Flag' is invoked, and assuming that an st segment is being created for transmission, when the post-emanifest flag is evaluated, the desired outcome is that if post-emanifest is true, the destination is set to 'cacustoms2-st-o', otherwise the destination is set to 'cacustoms-st-o'.
💻 Technical Criteria
Given An ST segment is being created for transmission
When The post-emanifest flag is evaluated
Then If post-emanifest is true, the destination is set to 'CACUSTOMS2-ST-O', otherwise the destination is set to 'CACUSTOMS-ST-O'
R-GCCS358C-cbl-00046 Set Transport Type Code to 'R'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Transport Type Code to 'R'' is invoked, and assuming that an m10 manifest segment is being created for rail transport, when the transport type code needs to be assigned, the desired outcome is that the transport type code is set to 'r' for rail.
💻 Technical Criteria
Given An M10 manifest segment is being created for rail transport
When The transport type code needs to be assigned
Then The transport type code is set to 'R' for rail
R-GCCS358C-cbl-00052 Set Reference Number to 'TRAIN'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Reference Number to 'TRAIN'' is invoked, and assuming that an m10 manifest segment is being created for train transport, when the reference number needs to be assigned, the desired outcome is that the reference number is set to 'train'.
💻 Technical Criteria
Given An M10 manifest segment is being created for train transport
When The reference number needs to be assigned
Then The reference number is set to 'TRAIN'
R-GCCS358C-cbl-00065 Initialize P4 Segment Structure
Process Rules
📊 Business Logic Narrative
When the process 'Initialize P4 Segment Structure' is invoked, and assuming that a p4 location segment needs to be created for transmission, when the system begins building the p4 segment, the desired outcome is that the p4 segment structure is initialized and the identifier is set to 'p4'.
💻 Technical Criteria
Given A P4 location segment needs to be created for transmission
When The system begins building the P4 segment
Then The P4 segment structure is initialized and the identifier is set to 'P4'
R-GCCS358C-cbl-00066 Retrieve Canadian Station Information
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Canadian Station Information' is invoked, and assuming that a train departure location needs to be processed, when the system needs to build the p4 location segment, the desired outcome is that the system retrieves station information using the train's departure station code.
💻 Technical Criteria
Given A train departure location needs to be processed
When The system needs to build the P4 location segment
Then The system retrieves station information using the train's departure station code
R-GCCS358C-cbl-00067 Set Canadian Station Code as Location ID
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Canadian Station Code as Location ID' is invoked, and assuming that canadian station information has been retrieved from the station table, when the p4 location segment is being populated, the desired outcome is that the canadian station code is assigned as the location identifier.
💻 Technical Criteria
Given Canadian station information has been retrieved from the station table
When The P4 location segment is being populated
Then The Canadian station code is assigned as the location identifier
R-GCCS358C-cbl-00069 Set Estimated Departure Year, Set Estimated Departure Month, Set Estimated Departure Day
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Estimated Departure Year, Set Estimated Departure Month, Set Estimated Departure Day' is invoked, and assuming that train estimated departure date information is available, when the p4 location segment date fields need to be populated, the desired outcome is that the estimated departure year, month, and day are set from the train list data.
💻 Technical Criteria
Given Train estimated departure date information is available
When The P4 location segment date fields need to be populated
Then The estimated departure year, month, and day are set from the train list data
R-GCCS358C-cbl-00070 Copy Location ID to ID Code Field, Set Time Field to Spaces
Definitional Rules
📊 Business Logic Narrative
When the process 'Copy Location ID to ID Code Field, Set Time Field to Spaces' is invoked, and assuming that the p4 location segment has a populated location identifier, when the remaining p4 segment fields need to be set, the desired outcome is that the location identifier is copied to the id code field and the time field is set to spaces.
💻 Technical Criteria
Given The P4 location segment has a populated location identifier
When The remaining P4 segment fields need to be set
Then The location identifier is copied to the ID code field and the time field is set to spaces
R-GCCS358C-cbl-00071 Insert P4 Segment into Transmission
Action Rules
📊 Business Logic Narrative
When the process 'Insert P4 Segment into Transmission' is invoked, and assuming that a completed p4 location segment is ready for transmission, when the segment needs to be added to the transmission data, the desired outcome is that the p4 segment is inserted into the transmission data structure.
💻 Technical Criteria
Given A completed P4 location segment is ready for transmission
When The segment needs to be added to the transmission data
Then The P4 segment is inserted into the transmission data structure
R-GCCS358C-cbl-00296 Set Location ID from Station Code
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Location ID from Station Code' is invoked, and assuming that an m13 amendment segment is being created and station information is available, when the system sets the location identifier for the amendment, the desired outcome is that the location id should be set to the canadian station code (gcstbrt-sc-cdn-stat-code-x).
💻 Technical Criteria
Given An M13 amendment segment is being created and station information is available
When The system sets the location identifier for the amendment
Then The location ID should be set to the Canadian station code (GCSTBRT-SC-CDN-STAT-CODE-X)
R-GCCS358C-cbl-00334 Set Location ID from Station Code
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Location ID from Station Code' is invoked, and assuming that an m13 amendment segment is being created and station information is available, when the location id field needs to be populated, the desired outcome is that the location id is set to the canadian station code from gcstbrt station table.
💻 Technical Criteria
Given An M13 amendment segment is being created and station information is available
When The location ID field needs to be populated
Then The location ID is set to the Canadian station code from GCSTBRT station table
R-GCCS358C-cbl-00177 Set Location ID from Canadian Station Code
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Location ID from Canadian Station Code' is invoked, and assuming that an m13 segment with scac code set and canadian station code available in station reference, when the location identifier needs to be populated, the desired outcome is that the location id field is populated with the canadian station code from the station reference table.
💻 Technical Criteria
Given An M13 segment with SCAC code set and Canadian station code available in station reference
When The location identifier needs to be populated
Then The location ID field is populated with the Canadian station code from the station reference table
R-GCCS358C-cbl-00181 Extract Train Origin Station from Train List
Process Rules
📊 Business Logic Narrative
When the process 'Extract Train Origin Station from Train List' is invoked, and assuming that a train list record with train origin station information is available, when the system needs to retrieve station information for customs processing, the desired outcome is that the train origin station identifier is extracted and stored for table lookup.
💻 Technical Criteria
Given A train list record with train origin station information is available
When The system needs to retrieve station information for customs processing
Then The train origin station identifier is extracted and stored for table lookup
R-GCCS358C-cbl-00196 Set Train ID from Input
Process Rules
📊 Business Logic Narrative
When the process 'Set Train ID from Input' is invoked, and assuming that a train manifest transaction is being logged, when the train identifier needs to be recorded, the desired outcome is that the canadian customs train id should be copied from the input train list to the log entry.
💻 Technical Criteria
Given A train manifest transaction is being logged
When The train identifier needs to be recorded
Then The Canadian customs train ID should be copied from the input train list to the log entry

🔁 EDI, Status & Database 82 logic blocks
R-GCCS358C-cbl-00001 Valid Processing Mode?
Validation Rules
📊 Business Logic Narrative
When the process 'Valid Processing Mode?' is invoked, and assuming that an edi 358 processing request is initiated, when the system checks the processing mode flags, the desired outcome is that if none of the valid processing modes (foreground, background, or foreground-02) are set, the system sets wrong fb indicator and exits processing.
💻 Technical Criteria
Given An EDI 358 processing request is initiated
When The system checks the processing mode flags
Then If none of the valid processing modes (foreground, background, or foreground-02) are set, the system sets wrong FB indicator and exits processing
R-GCCS358C-cbl-00003 Set Transaction Purpose Code
Decision Rules
📊 Business Logic Narrative
When the process 'Set Transaction Purpose Code' is invoked, and assuming that a manifest transaction is being processed, when the operation type is add, the desired outcome is that set the transaction purpose code to '00'.
💻 Technical Criteria
Given A manifest transaction is being processed
When The operation type is ADD
Then Set the transaction purpose code to '00'
R-GCCS358C-cbl-00004 Set Transaction Purpose Code
Decision Rules
📊 Business Logic Narrative
When the process 'Set Transaction Purpose Code' is invoked, and assuming that a manifest transaction is being processed, when the operation type is delete, the desired outcome is that set the transaction purpose code to '03'.
💻 Technical Criteria
Given A manifest transaction is being processed
When The operation type is DELETE
Then Set the transaction purpose code to '03'
R-GCCS358C-cbl-00018 Generate Transmission Number
Computation Rules
📊 Business Logic Narrative
When the process 'Generate Transmission Number' is invoked, and assuming that a transmission number needs to be generated for edi processing, when the system evaluates the processing mode, the desired outcome is that if foreground mode, use prefix 147. if foreground-02 mode, use prefix 2. if background mode, use prefix 146. append machine time to create unique transmission number.
💻 Technical Criteria
Given A transmission number needs to be generated for EDI processing
When The system evaluates the processing mode
Then If foreground mode, use prefix 147. If foreground-02 mode, use prefix 2. If background mode, use prefix 146. Append machine time to create unique transmission number
R-GCCS358C-cbl-00019 Retrieve Station Information
Validation Rules
📊 Business Logic Narrative
When the process 'Retrieve Station Information' is invoked, and assuming that station information is required for manifest processing, when the system looks up the station code in the station table, the desired outcome is that if station code is not found or returns '0000', generate error message indicating station not found. otherwise, use the retrieved station information.
💻 Technical Criteria
Given Station information is required for manifest processing
When The system looks up the station code in the station table
Then If station code is not found or returns '0000', generate error message indicating station not found. Otherwise, use the retrieved station information
R-GCCS358C-cbl-00021 Save Current Program Name
Process Rules
📊 Business Logic Narrative
When the process 'Save Current Program Name' is invoked, and assuming that an edi 358 transaction is being initiated, when the system begins processing the transaction, the desired outcome is that the current program name from the control block is saved to a temporary variable.
💻 Technical Criteria
Given An EDI 358 transaction is being initiated
When The system begins processing the transaction
Then The current program name from the control block is saved to a temporary variable
R-GCCS358C-cbl-00022 Set Module Name in Control Block
Process Rules
📊 Business Logic Narrative
When the process 'Set Module Name in Control Block' is invoked, and assuming that the current program name has been saved, when the edi 358 processing begins, the desired outcome is that the module name is assigned to the program field in the control block.
💻 Technical Criteria
Given The current program name has been saved
When The EDI 358 processing begins
Then The module name is assigned to the program field in the control block
R-GCCS358C-cbl-00023 Check Processing Mode
Validation Rules
📊 Business Logic Narrative
When the process 'Check Processing Mode' is invoked, and assuming that an edi 358 transaction is being processed, when the system checks the processing mode configuration, the desired outcome is that the transaction must be set for foreground, background, or foreground-02 mode, otherwise processing is terminated with an error indicator.
💻 Technical Criteria
Given An EDI 358 transaction is being processed
When The system checks the processing mode configuration
Then The transaction must be set for foreground, background, or foreground-02 mode, otherwise processing is terminated with an error indicator
R-GCCS358C-cbl-00024 Set Wrong Mode Indicator
Decision Rules
📊 Business Logic Narrative
When the process 'Set Wrong Mode Indicator' is invoked, and assuming that the processing mode validation has failed, when none of the valid processing modes (foreground, background, foreground-02) are active, the desired outcome is that the wrong fb indicator is set to true and processing is directed to exit.
💻 Technical Criteria
Given The processing mode validation has failed
When None of the valid processing modes (foreground, background, foreground-02) are active
Then The wrong FB indicator is set to true and processing is directed to exit
R-GCCS358C-cbl-00025 Continue to Main Processing
Action Rules
📊 Business Logic Narrative
When the process 'Continue to Main Processing' is invoked, and assuming that the processing mode validation has passed, when a valid processing mode is confirmed, the desired outcome is that the aa200-358-process routine is executed to handle the edi transaction processing.
💻 Technical Criteria
Given The processing mode validation has passed
When A valid processing mode is confirmed
Then The AA200-358-PROCESS routine is executed to handle the EDI transaction processing
R-GCCS358C-cbl-00026 Restore Program Name
Process Rules
📊 Business Logic Narrative
When the process 'Restore Program Name' is invoked, and assuming that edi 358 processing has completed (either successfully or with error), when the system is preparing to return control to the caller, the desired outcome is that the saved program name is restored to the control block program field.
💻 Technical Criteria
Given EDI 358 processing has completed (either successfully or with error)
When The system is preparing to return control to the caller
Then The saved program name is restored to the control block program field
R-GCCS358C-cbl-00027 Set Prefix to 147 Foreground Mode
Decision Rules
📊 Business Logic Narrative
When the process 'Set Prefix to 147 Foreground Mode' is invoked, and assuming that the system is processing a train manifest transaction, when the processing mode is set to foreground (gcws358c-foreground is true), the desired outcome is that the transmission prefix should be set to 147.
💻 Technical Criteria
Given The system is processing a train manifest transaction
When The processing mode is set to foreground (GCWS358C-FOREGROUND is true)
Then The transmission prefix should be set to 147
R-GCCS358C-cbl-00028 Set Prefix to 2 Foreground-02 Mode
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Prefix to 2 Foreground-02 Mode', assuming that the system is processing a train manifest transaction, when the processing mode is set to foreground-02 (gcws358c-foreground-02 is true) and not foreground mode, the desired outcome is that the transmission prefix should be set to 2.
💻 Technical Criteria
EXCLUDING The system is processing a train manifest transaction
When The processing mode is set to foreground-02 (GCWS358C-FOREGROUND-02 is true) and not foreground mode
Then The transmission prefix should be set to 2
R-GCCS358C-cbl-00029 Set Prefix to 146 Background Mode
Decision Rules
📊 Business Logic Narrative
When the process 'Set Prefix to 146 Background Mode' is invoked, and assuming that the system is processing a train manifest transaction, when the processing mode is neither foreground nor foreground-02 (default to background), the desired outcome is that the transmission prefix should be set to 146.
💻 Technical Criteria
Given The system is processing a train manifest transaction
When The processing mode is neither foreground nor foreground-02 (default to background)
Then The transmission prefix should be set to 146
R-GCCS358C-cbl-00030 Get Current Machine Time
Computation Rules
📊 Business Logic Narrative
When the process 'Get Current Machine Time' is invoked, and assuming that a transmission prefix has been determined based on processing mode, when the system needs to create a unique transmission number, the desired outcome is that the current machine time should be retrieved and combined with the prefix to form the transmission number.
💻 Technical Criteria
Given A transmission prefix has been determined based on processing mode
When The system needs to create a unique transmission number
Then The current machine time should be retrieved and combined with the prefix to form the transmission number
R-GCCS358C-cbl-00031 Set Prefix 147 for Foreground
Decision Rules
📊 Business Logic Narrative
When the process 'Set Prefix 147 for Foreground' is invoked, and assuming that a transmission counter needs to be generated for edi processing, when the processing mode is foreground, the desired outcome is that the transmission prefix should be set to 147.
💻 Technical Criteria
Given A transmission counter needs to be generated for EDI processing
When The processing mode is foreground
Then The transmission prefix should be set to 147
R-GCCS358C-cbl-00032 Set Prefix 2 for Foreground-02
Decision Rules
📊 Business Logic Narrative
When the process 'Set Prefix 2 for Foreground-02' is invoked, and assuming that a transmission counter needs to be generated for edi processing, when the processing mode is foreground-02, the desired outcome is that the transmission prefix should be set to 2.
💻 Technical Criteria
Given A transmission counter needs to be generated for EDI processing
When The processing mode is foreground-02
Then The transmission prefix should be set to 2
R-GCCS358C-cbl-00033 Set Prefix 146 for Background
Decision Rules
📊 Business Logic Narrative
When the process 'Set Prefix 146 for Background' is invoked, and assuming that a transmission counter needs to be generated for edi processing, when the processing mode is background, the desired outcome is that the transmission prefix should be set to 146.
💻 Technical Criteria
Given A transmission counter needs to be generated for EDI processing
When The processing mode is background
Then The transmission prefix should be set to 146
R-GCCS358C-cbl-00034 Use Machine Time as Counter
Computation Rules
📊 Business Logic Narrative
When the process 'Use Machine Time as Counter' is invoked, and assuming that a transmission prefix has been determined based on processing mode, when a transmission number needs to be generated, the desired outcome is that the machine time should be used as the transmission number base.
💻 Technical Criteria
Given A transmission prefix has been determined based on processing mode
When A transmission number needs to be generated
Then The machine time should be used as the transmission number base
R-GCCS358C-cbl-00035 Initialize A9RT Transmission Segment
Process Rules
📊 Business Logic Narrative
When the process 'Initialize A9RT Transmission Segment' is invoked, and assuming that a transmission number has been generated, when creating a root transmission segment, the desired outcome is that the a9rt transmission segment should be initialized to clear any previous data.
💻 Technical Criteria
Given A transmission number has been generated
When Creating a root transmission segment
Then The A9RT transmission segment should be initialized to clear any previous data
R-GCCS358C-cbl-00037 Increment Transmission Number
Validation Rules
📊 Business Logic Narrative
When the process 'Increment Transmission Number' is invoked, and assuming that a root transmission segment insertion has failed due to duplicate key, when the transmission number already exists in the database, the desired outcome is that the transmission number should be incremented by 1 and insertion should be retried.
💻 Technical Criteria
Given A root transmission segment insertion has failed due to duplicate key
When The transmission number already exists in the database
Then The transmission number should be incremented by 1 and insertion should be retried
R-GCCS358C-cbl-00038 Insert Root Segment to Database
Action Rules
📊 Business Logic Narrative
When the process 'Insert Root Segment to Database' is invoked, and assuming that a complete root transmission segment with transmission number and transaction set, when the segment is ready for database storage, the desired outcome is that the root segment should be inserted into the gca9rt transmission database.
💻 Technical Criteria
Given A complete root transmission segment with transmission number and transaction set
When The segment is ready for database storage
Then The root segment should be inserted into the GCA9RT transmission database
R-GCCS358C-cbl-00039 Initialize ST Segment Structure
Process Rules
📊 Business Logic Narrative
When the process 'Initialize ST Segment Structure' is invoked, and assuming that a new edi 358 transaction needs to be created, when the st segment initialization process begins, the desired outcome is that the st segment definition structure is initialized and the st identifier is set to 'st'.
💻 Technical Criteria
Given A new EDI 358 transaction needs to be created
When The ST segment initialization process begins
Then The ST segment definition structure is initialized and the ST identifier is set to 'ST'
R-GCCS358C-cbl-00042 Prepare Segment for Transmission
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Segment for Transmission' is invoked, and assuming that an st segment has been fully populated with required data, when the segment needs to be prepared for database insertion, the desired outcome is that the st segment data is moved to the transmission data structure and the dependent segment is initialized.
💻 Technical Criteria
Given An ST segment has been fully populated with required data
When The segment needs to be prepared for database insertion
Then The ST segment data is moved to the transmission data structure and the dependent segment is initialized
R-GCCS358C-cbl-00043 Insert ST Segment into Database
Action Rules
📊 Business Logic Narrative
When the process 'Insert ST Segment into Database' is invoked, and assuming that an st segment is prepared for database insertion, when the database insertion process is invoked, the desired outcome is that the st segment is inserted into the gca9dp transmission database with proper sequencing.
💻 Technical Criteria
Given An ST segment is prepared for database insertion
When The database insertion process is invoked
Then The ST segment is inserted into the GCA9DP transmission database with proper sequencing
R-GCCS358C-cbl-00049 Convert Current Date to Julian Format
Computation Rules
📊 Business Logic Narrative
When the process 'Convert Current Date to Julian Format' is invoked, and assuming that an m10 manifest segment is being created and current machine date is available, when the flight/voyage number needs to be calculated, the desired outcome is that the system converts the current date from gregorian to julian format using date conversion service.
💻 Technical Criteria
Given An M10 manifest segment is being created and current machine date is available
When The flight/voyage number needs to be calculated
Then The system converts the current date from Gregorian to Julian format using date conversion service
R-GCCS358C-cbl-00053 Set Purpose Code to '00' - Add
Decision Rules
📊 Business Logic Narrative
When the process 'Set Purpose Code to '00' - Add' is invoked, and assuming that an m10 manifest segment is being created and the operation type is add, when the transaction purpose code needs to be determined, the desired outcome is that the purpose code is set to '00'.
💻 Technical Criteria
Given An M10 manifest segment is being created and the operation type is ADD
When The transaction purpose code needs to be determined
Then The purpose code is set to '00'
R-GCCS358C-cbl-00057 Set Purpose Code to '03' - Delete
Decision Rules
📊 Business Logic Narrative
When the process 'Set Purpose Code to '03' - Delete' is invoked, and assuming that an m10 manifest segment is being created and the operation type is delete, when the transaction purpose code needs to be determined, the desired outcome is that the purpose code is set to '03'.
💻 Technical Criteria
Given An M10 manifest segment is being created and the operation type is DELETE
When The transaction purpose code needs to be determined
Then The purpose code is set to '03'
R-GCCS358C-cbl-00058 Set Application Type to '27'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Application Type to '27'' is invoked, and assuming that an m10 manifest segment is being created, when the application type needs to be assigned, the desired outcome is that the application type is set to '27'.
💻 Technical Criteria
Given An M10 manifest segment is being created
When The application type needs to be assigned
Then The application type is set to '27'
R-GCCS358C-cbl-00059 Insert M10 Segment into Transmission
Action Rules
📊 Business Logic Narrative
When the process 'Insert M10 Segment into Transmission' is invoked, and assuming that an m10 manifest segment has been fully populated with all required data, when the segment needs to be added to the transmission, the desired outcome is that the m10 segment is inserted into the transmission data queue.
💻 Technical Criteria
Given An M10 manifest segment has been fully populated with all required data
When The segment needs to be added to the transmission
Then The M10 segment is inserted into the transmission data queue
R-GCCS358C-cbl-00060 Set Purpose Code = '00' ADD Operation
Decision Rules
📊 Business Logic Narrative
When the process 'Set Purpose Code = '00' ADD Operation' is invoked, and assuming that a train manifest transaction is being processed, when the operation type is add (gcws358c-add flag is true), the desired outcome is that the m10 transaction purpose code (m10-13-ts-purpose-cde) is set to '00'.
💻 Technical Criteria
Given A train manifest transaction is being processed
When The operation type is ADD (GCWS358C-ADD flag is true)
Then The M10 transaction purpose code (M10-13-TS-PURPOSE-CDE) is set to '00'
R-GCCS358C-cbl-00061 Set Purpose Code = '03' DELETE Operation
Decision Rules
📊 Business Logic Narrative
When the process 'Set Purpose Code = '03' DELETE Operation' is invoked, and assuming that a train manifest transaction is being processed, when the operation type is delete (gcws358c-delete flag is true), the desired outcome is that the m10 transaction purpose code (m10-13-ts-purpose-cde) is set to '03'.
💻 Technical Criteria
Given A train manifest transaction is being processed
When The operation type is DELETE (GCWS358C-DELETE flag is true)
Then The M10 transaction purpose code (M10-13-TS-PURPOSE-CDE) is set to '03'
R-GCCS358C-cbl-00068 Determine Century for Departure Date
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Century for Departure Date' is invoked, and assuming that an estimated departure date year needs century determination, when the estimated departure year is greater than 90, the desired outcome is that the century is set to '19', otherwise the century is set to '20'.
💻 Technical Criteria
Given An estimated departure date year needs century determination
When The estimated departure year is greater than 90
Then The century is set to '19', otherwise the century is set to '20'
R-GCCS358C-cbl-00291 Set Exception Code to '06'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Exception Code to '06'' is invoked, and assuming that a dummy mbl segment is being created, when the system sets the exception code for the mbl, the desired outcome is that the exception code should be set to '06' to indicate this is a dummy mbl for amendment processing.
💻 Technical Criteria
Given A dummy MBL segment is being created
When The system sets the exception code for the MBL
Then The exception code should be set to '06' to indicate this is a dummy MBL for amendment processing
R-GCCS358C-cbl-00292 Insert Dummy MBL into Transmission
Action Rules
📊 Business Logic Narrative
When the process 'Insert Dummy MBL into Transmission' is invoked, and assuming that a dummy mbl segment has been created and populated with required data, when the system processes the mbl for transmission, the desired outcome is that the dummy mbl segment should be inserted into the transmission data structure (a9dp-transmission-data).
💻 Technical Criteria
Given A dummy MBL segment has been created and populated with required data
When The system processes the MBL for transmission
Then The dummy MBL segment should be inserted into the transmission data structure (A9DP-TRANSMISSION-DATA)
R-GCCS358C-cbl-00293 Create M13 Amendment Segment
Process Rules
📊 Business Logic Narrative
When the process 'Create M13 Amendment Segment' is invoked, and assuming that amendment processing is required and dummy mbl has been processed, when the system creates amendment documentation, the desired outcome is that an m13 amendment segment should be created and initialized.
💻 Technical Criteria
Given Amendment processing is required and dummy MBL has been processed
When The system creates amendment documentation
Then An M13 amendment segment should be created and initialized
R-GCCS358C-cbl-00299 Insert M13 Amendment into Transmission
Action Rules
📊 Business Logic Narrative
When the process 'Insert M13 Amendment into Transmission' is invoked, and assuming that an m13 amendment segment has been created and populated with required data, when the system processes the m13 for transmission, the desired outcome is that the m13 amendment segment should be inserted into the transmission data structure (a9dp-transmission-data).
💻 Technical Criteria
Given An M13 amendment segment has been created and populated with required data
When The system processes the M13 for transmission
Then The M13 amendment segment should be inserted into the transmission data structure (A9DP-TRANSMISSION-DATA)
R-GCCS358C-cbl-00323 Initialize MBL Segment Structure
Process Rules
📊 Business Logic Narrative
When the process 'Initialize MBL Segment Structure' is invoked, and assuming that a dummy mbl segment needs to be created for amendment processing, when the system begins dummy mbl segment creation, the desired outcome is that the mbl segment structure is initialized to clear any previous data.
💻 Technical Criteria
Given A dummy MBL segment needs to be created for amendment processing
When The system begins dummy MBL segment creation
Then The MBL segment structure is initialized to clear any previous data
R-GCCS358C-cbl-00328 Set Exception Code to '06'
Policy Rules
📊 Business Logic Narrative
When the process 'Set Exception Code to '06'' is invoked, and assuming that a dummy mbl segment is being created for amendment processing, when the exception code needs to be assigned, the desired outcome is that the exception code is set to '06'.
💻 Technical Criteria
Given A dummy MBL segment is being created for amendment processing
When The exception code needs to be assigned
Then The exception code is set to '06'
R-GCCS358C-cbl-00330 Build M13 Amendment Segment
Action Rules
📊 Business Logic Narrative
When the process 'Build M13 Amendment Segment' is invoked, and assuming that a dummy mbl segment has been successfully created and inserted, when amendment processing continues, the desired outcome is that the m13 amendment segment is built and processed.
💻 Technical Criteria
Given A dummy MBL segment has been successfully created and inserted
When Amendment processing continues
Then The M13 amendment segment is built and processed
R-GCCS358C-cbl-00368 Initialize MBL Segment Structure
Process Rules
📊 Business Logic Narrative
When the process 'Initialize MBL Segment Structure' is invoked, and assuming that an amendment scenario requires a dummy mbl segment, when the dummy mbl processing begins, the desired outcome is that the mbl segment structure is initialized to clear any previous data.
💻 Technical Criteria
Given An amendment scenario requires a dummy MBL segment
When The dummy MBL processing begins
Then The MBL segment structure is initialized to clear any previous data
R-GCCS358C-cbl-00373 Configure Exception Code '06'
Policy Rules
📊 Business Logic Narrative
When the process 'Configure Exception Code '06'' is invoked, and assuming that a dummy mbl segment is created for an amendment scenario, when the exception code needs to be configured, the desired outcome is that the exception code is set to '06'.
💻 Technical Criteria
Given A dummy MBL segment is created for an amendment scenario
When The exception code needs to be configured
Then The exception code is set to '06'
R-GCCS358C-cbl-00374 Insert MBL Segment into Transmission
Action Rules
📊 Business Logic Narrative
When the process 'Insert MBL Segment into Transmission' is invoked, and assuming that a dummy mbl segment has been configured with all required fields, when the segment needs to be added to the transmission, the desired outcome is that the mbl segment is moved to transmission data and inserted into the data stream.
💻 Technical Criteria
Given A dummy MBL segment has been configured with all required fields
When The segment needs to be added to the transmission
Then The MBL segment is moved to transmission data and inserted into the data stream
R-GCCS358C-cbl-00375 Trigger M13 Amendment Segment Creation
Action Rules
📊 Business Logic Narrative
When the process 'Trigger M13 Amendment Segment Creation' is invoked, and assuming that a dummy mbl segment has been successfully inserted into the transmission, when amendment processing is required, the desired outcome is that the m13 amendment segment creation process is triggered.
💻 Technical Criteria
Given A dummy MBL segment has been successfully inserted into the transmission
When Amendment processing is required
Then The M13 amendment segment creation process is triggered
R-GCCS358C-cbl-00331 Initialize M13 Segment Structure
Process Rules
📊 Business Logic Narrative
When the process 'Initialize M13 Segment Structure' is invoked, and assuming that the system needs to create an m13 amendment segment, when the m13 segment initialization is triggered, the desired outcome is that the m13 segment structure is cleared and ready for data population.
💻 Technical Criteria
Given The system needs to create an M13 amendment segment
When The M13 segment initialization is triggered
Then The M13 segment structure is cleared and ready for data population
R-GCCS358C-cbl-00337 Insert M13 Segment into Transmission
Action Rules
📊 Business Logic Narrative
When the process 'Insert M13 Segment into Transmission' is invoked, and assuming that an m13 amendment segment has been fully populated, when the segment needs to be added to the transmission, the desired outcome is that the m13 segment is inserted into the a9dp transmission data structure.
💻 Technical Criteria
Given An M13 amendment segment has been fully populated
When The segment needs to be added to the transmission
Then The M13 segment is inserted into the A9DP transmission data structure
R-GCCS358C-cbl-00087 Check Post-Emanifest Flag
Decision Rules
📊 Business Logic Narrative
When the process 'Check Post-Emanifest Flag' is invoked, and assuming that a train manifest processing request is received, when the system checks the post-emanifest flag (gcwb4tl-post-emanifest), the desired outcome is that the system evaluates the flag to determine routing to appropriate edi version processing.
💻 Technical Criteria
Given A train manifest processing request is received
When The system checks the post-emanifest flag (GCWB4TL-POST-EMANIFEST)
Then The system evaluates the flag to determine routing to appropriate EDI version processing
R-GCCS358C-cbl-00143 Initialize N9 Segment Structure
Process Rules
📊 Business Logic Narrative
When the process 'Initialize N9 Segment Structure' is invoked, and assuming that the system needs to create an n9 reference segment, when the n9 segment creation process begins, the desired outcome is that the n9 segment structure is initialized to clear any previous data.
💻 Technical Criteria
Given The system needs to create an N9 reference segment
When The N9 segment creation process begins
Then The N9 segment structure is initialized to clear any previous data
R-GCCS358C-cbl-00146 Extract Departure Date from Train Data
Computation Rules
📊 Business Logic Narrative
When the process 'Extract Departure Date from Train Data' is invoked, and assuming that train data contains estimated departure date information, when the n9 segment date field needs to be populated, the desired outcome is that the departure date from train data is extracted and assigned to the n9 date field positions 3-8.
💻 Technical Criteria
Given Train data contains estimated departure date information
When The N9 segment date field needs to be populated
Then The departure date from train data is extracted and assigned to the N9 date field positions 3-8
R-GCCS358C-cbl-00147 Format Date with Century Prefix
Computation Rules
📊 Business Logic Narrative
When the process 'Format Date with Century Prefix' is invoked, and assuming that the n9 date field needs century information, when the date is being formatted for the n9 segment, the desired outcome is that the machine century is added to positions 1-2 of the n9 date field.
💻 Technical Criteria
Given The N9 date field needs century information
When The date is being formatted for the N9 segment
Then The machine century is added to positions 1-2 of the N9 date field
R-GCCS358C-cbl-00148 Extract Departure Time from Train Data
Computation Rules
📊 Business Logic Narrative
When the process 'Extract Departure Time from Train Data' is invoked, and assuming that train data contains estimated departure time information, when the n9 segment time field needs to be populated, the desired outcome is that the departure time from train data is extracted and assigned to positions 1-4 of the n9 time field.
💻 Technical Criteria
Given Train data contains estimated departure time information
When The N9 segment time field needs to be populated
Then The departure time from train data is extracted and assigned to positions 1-4 of the N9 time field
R-GCCS358C-cbl-00150 Set Time Code to 'ES' - Eastern Standard
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Time Code to 'ES' - Eastern Standard' is invoked, and assuming that the n9 segment time information needs a time zone indicator, when the time code field is being assigned, the desired outcome is that the time code is set to 'es' for eastern standard time.
💻 Technical Criteria
Given The N9 segment time information needs a time zone indicator
When The time code field is being assigned
Then The time code is set to 'ES' for Eastern Standard time
R-GCCS358C-cbl-00151 Insert N9 Segment into Transmission
Action Rules
📊 Business Logic Narrative
When the process 'Insert N9 Segment into Transmission' is invoked, and assuming that the n9 segment has been fully populated with reference data, when the segment needs to be added to the transmission, the desired outcome is that the n9 segment is inserted into the transmission data structure and the dependent segment insertion process is performed.
💻 Technical Criteria
Given The N9 segment has been fully populated with reference data
When The segment needs to be added to the transmission
Then The N9 segment is inserted into the transmission data structure and the dependent segment insertion process is performed
R-GCCS358C-cbl-00171 Set Exception Code to '06'
Policy Rules
📊 Business Logic Narrative
When the process 'Set Exception Code to '06'' is invoked, and assuming that a dummy mbl segment is being created for a train amendment, when the exception code needs to be assigned, the desired outcome is that the exception code should be set to '06'.
💻 Technical Criteria
Given A dummy MBL segment is being created for a train amendment
When The exception code needs to be assigned
Then The exception code should be set to '06'
R-GCCS358C-cbl-00172 Insert MBL Segment into Transmission Data
Action Rules
📊 Business Logic Narrative
When the process 'Insert MBL Segment into Transmission Data' is invoked, and assuming that a dummy mbl segment has been created with all required fields, when the segment needs to be added to the transmission, the desired outcome is that the mbl segment should be inserted into the transmission data structure.
💻 Technical Criteria
Given A dummy MBL segment has been created with all required fields
When The segment needs to be added to the transmission
Then The MBL segment should be inserted into the transmission data structure
R-GCCS358C-cbl-00173 Build M13 Amendment Segment
Process Rules
📊 Business Logic Narrative
When the process 'Build M13 Amendment Segment' is invoked, and assuming that a dummy mbl segment has been created and inserted, when amendment processing continues, the desired outcome is that an m13 amendment segment should be created.
💻 Technical Criteria
Given A dummy MBL segment has been created and inserted
When Amendment processing continues
Then An M13 amendment segment should be created
R-GCCS358C-cbl-00174 Initialize M13 Segment Structure
Process Rules
📊 Business Logic Narrative
When the process 'Initialize M13 Segment Structure' is invoked, and assuming that the system needs to create an m13 amendment segment, when the m13 segment initialization is triggered, the desired outcome is that the m13 segment structure is cleared and ready for data population.
💻 Technical Criteria
Given The system needs to create an M13 amendment segment
When The M13 segment initialization is triggered
Then The M13 segment structure is cleared and ready for data population
R-GCCS358C-cbl-00180 Insert M13 Segment into Transmission
Action Rules
📊 Business Logic Narrative
When the process 'Insert M13 Segment into Transmission' is invoked, and assuming that a complete m13 segment with all required fields populated, when the m13 segment needs to be added to the transmission, the desired outcome is that the m13 segment is inserted into the transmission data structure for edi processing.
💻 Technical Criteria
Given A complete M13 segment with all required fields populated
When The M13 segment needs to be added to the transmission
Then The M13 segment is inserted into the transmission data structure for EDI processing
R-GCCS358C-cbl-00182 Set Table Access Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Set Table Access Parameters' is invoked, and assuming that a station lookup operation is required, when the system prepares to access the station code table, the desired outcome is that table access parameters are set with 'gu' function code, 'sc' table identifier, and the station identifier as the search key.
💻 Technical Criteria
Given A station lookup operation is required
When The system prepares to access the station code table
Then Table access parameters are set with 'GU' function code, 'SC' table identifier, and the station identifier as the search key
R-GCCS358C-cbl-00183 Access SC Station Table
Action Rules
📊 Business Logic Narrative
When the process 'Access SC Station Table' is invoked, and assuming that station table access parameters are configured with the train origin station, when the system performs a table lookup operation, the desired outcome is that the sc station table is accessed to retrieve the canadian station code information.
💻 Technical Criteria
Given Station table access parameters are configured with the train origin station
When The system performs a table lookup operation
Then The SC station table is accessed to retrieve the Canadian station code information
R-GCCS358C-cbl-00184 Station Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Station Found?' is invoked, and assuming that a station table lookup has been performed, when the system checks the table access return status, the desired outcome is that if the return flag is not '0', the station record is considered not found and an error is generated.
💻 Technical Criteria
Given A station table lookup has been performed
When The system checks the table access return status
Then If the return flag is not '0', the station record is considered not found and an error is generated
R-GCCS358C-cbl-00186 Store Canadian Station Code
Process Rules
📊 Business Logic Narrative
When the process 'Store Canadian Station Code' is invoked, and assuming that a valid canadian station code has been retrieved and validated, when the station lookup operation completes successfully, the desired outcome is that the table segment containing the canadian station code is stored for subsequent processing.
💻 Technical Criteria
Given A valid Canadian station code has been retrieved and validated
When The station lookup operation completes successfully
Then The table segment containing the Canadian station code is stored for subsequent processing
R-GCCS358C-cbl-00187 Generate Station Not Found Error
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Station Not Found Error' is invoked, and assuming that a station table lookup operation has failed to find a matching record, when the system processes the lookup failure, the desired outcome is that an error message is generated containing 'sc table entry for [station] not found rc=' with the station identifier and return code.
💻 Technical Criteria
Given A station table lookup operation has failed to find a matching record
When The system processes the lookup failure
Then An error message is generated containing 'SC TABLE ENTRY FOR [station] NOT FOUND RC=' with the station identifier and return code
R-GCCS358C-cbl-00188 Set EDI Send Function Name
Action Rules
📊 Business Logic Narrative
When the process 'Set EDI Send Function Name' is invoked, and assuming that the system needs to initiate edi transmission processing, when the edi send function is being prepared, the desired outcome is that the system sets the edi send function name flag to true to identify the correct function type.
💻 Technical Criteria
Given The system needs to initiate EDI transmission processing
When The EDI send function is being prepared
Then The system sets the EDI send function name flag to true to identify the correct function type
R-GCCS358C-cbl-00190 Set Transmission Number
Process Rules
📊 Business Logic Narrative
When the process 'Set Transmission Number' is invoked, and assuming that a transmission number has been generated for the edi message, when the edi transmission structure is being populated, the desired outcome is that the system assigns the workspace transmission number to the edi transmission number field.
💻 Technical Criteria
Given A transmission number has been generated for the EDI message
When The EDI transmission structure is being populated
Then The system assigns the workspace transmission number to the EDI transmission number field
R-GCCS358C-cbl-00191 Prepare Message Output
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Message Output' is invoked, and assuming that edi input data has been prepared in the gcx121 structure, when the message needs to be formatted for output transmission, the desired outcome is that the system moves the gcx121 input data to the message output text field.
💻 Technical Criteria
Given EDI input data has been prepared in the GCX121 structure
When The message needs to be formatted for output transmission
Then The system moves the GCX121 input data to the message output text field
R-GCCS358C-cbl-00192 Set Function Length
Process Rules
📊 Business Logic Narrative
When the process 'Set Function Length' is invoked, and assuming that the edi message has been prepared for transmission, when function length parameters need to be configured, the desired outcome is that the system sets the edi send function length flag to true.
💻 Technical Criteria
Given The EDI message has been prepared for transmission
When Function length parameters need to be configured
Then The system sets the EDI send function length flag to true
R-GCCS358C-cbl-00193 Insert Purge Message
Action Rules
📊 Business Logic Narrative
When the process 'Insert Purge Message' is invoked, and assuming that the edi message has been fully prepared with all required parameters, when the message needs to be queued for transmission, the desired outcome is that the system calls the purge message insertion process to queue the message.
💻 Technical Criteria
Given The EDI message has been fully prepared with all required parameters
When The message needs to be queued for transmission
Then The system calls the purge message insertion process to queue the message
R-GCCS358C-cbl-00194 Set Log Update Function Name
Action Rules
📊 Business Logic Narrative
When the process 'Set Log Update Function Name' is invoked, and assuming that a transaction logging process is initiated, when the system needs to specify the logging function, the desired outcome is that the log update function name flag should be set to true.
💻 Technical Criteria
Given A transaction logging process is initiated
When The system needs to specify the logging function
Then The log update function name flag should be set to true
R-GCCS358C-cbl-00197 Mark as New Canadian Train
Definitional Rules
📊 Business Logic Narrative
When the process 'Mark as New Canadian Train' is invoked, and assuming that a canadian train manifest is being processed, when the transaction type needs to be classified, the desired outcome is that the transaction should be marked as a new canadian train entry.
💻 Technical Criteria
Given A Canadian train manifest is being processed
When The transaction type needs to be classified
Then The transaction should be marked as a new Canadian train entry
R-GCCS358C-cbl-00198 Set Foreground Action Code, Set Foreground-02 Action Code, Set Background Action Code
Decision Rules
📊 Business Logic Narrative
When the process 'Set Foreground Action Code, Set Foreground-02 Action Code, Set Background Action Code' is invoked, and assuming that a transaction is being logged with a specific processing mode, when the action code needs to be determined, the desired outcome is that if processing mode is foreground, use foreground action code; if processing mode is foreground-02, use foreground action code; if processing mode is background, use background action code.
💻 Technical Criteria
Given A transaction is being logged with a specific processing mode
When The action code needs to be determined
Then If processing mode is foreground, use foreground action code; if processing mode is foreground-02, use foreground action code; if processing mode is background, use background action code
R-GCCS358C-cbl-00199 Set Foreground Transaction Name, Set Foreground-02 Transaction Name, Set Background Transaction Name
Decision Rules
📊 Business Logic Narrative
When the process 'Set Foreground Transaction Name, Set Foreground-02 Transaction Name, Set Background Transaction Name' is invoked, and assuming that a transaction is being logged with a specific processing mode, when the transaction name needs to be determined, the desired outcome is that if processing mode is foreground, use foreground transaction name; if processing mode is foreground-02, use foreground-02 transaction name; if processing mode is background, use background transaction name.
💻 Technical Criteria
Given A transaction is being logged with a specific processing mode
When The transaction name needs to be determined
Then If processing mode is foreground, use foreground transaction name; if processing mode is foreground-02, use foreground-02 transaction name; if processing mode is background, use background transaction name
R-GCCS358C-cbl-00200 Set User ID from System
Authorization Rules
📊 Business Logic Narrative
When the process 'Set User ID from System' is invoked, and assuming that a transaction is being logged, when user identification is required for audit trail, the desired outcome is that the current user's acf2 user id should be captured from the system and stored in the log entry.
💻 Technical Criteria
Given A transaction is being logged
When User identification is required for audit trail
Then The current user's ACF2 user ID should be captured from the system and stored in the log entry
R-GCCS358C-cbl-00201 Set Current Date
Process Rules
📊 Business Logic Narrative
When the process 'Set Current Date' is invoked, and assuming that a transaction is being logged, when the transaction date needs to be recorded, the desired outcome is that the current machine date including century should be concatenated and stored in the log entry date field.
💻 Technical Criteria
Given A transaction is being logged
When The transaction date needs to be recorded
Then The current machine date including century should be concatenated and stored in the log entry date field
R-GCCS358C-cbl-00202 Set Current Time
Process Rules
📊 Business Logic Narrative
When the process 'Set Current Time' is invoked, and assuming that a transaction is being logged, when the transaction time needs to be recorded, the desired outcome is that the current machine time should be stored in the log entry time field.
💻 Technical Criteria
Given A transaction is being logged
When The transaction time needs to be recorded
Then The current machine time should be stored in the log entry time field
R-GCCS358C-cbl-00204 Prepare Log Entry for Transmission
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Log Entry for Transmission' is invoked, and assuming that all log entry fields have been populated, when the log entry needs to be prepared for transmission, the desired outcome is that the complete log input structure should be moved to the message output text field.
💻 Technical Criteria
Given All log entry fields have been populated
When The log entry needs to be prepared for transmission
Then The complete log input structure should be moved to the message output text field
R-GCCS358C-cbl-00205 Send Log Entry to System
Process Rules
📊 Business Logic Narrative
When the process 'Send Log Entry to System' is invoked, and assuming that a log entry is ready for transmission, when the message length needs to be specified, the desired outcome is that the log update function length flag should be set to true to indicate proper message sizing.
💻 Technical Criteria
Given A log entry is ready for transmission
When The message length needs to be specified
Then The log update function length flag should be set to true to indicate proper message sizing
R-GCCS358C-cbl-00206 Send Log Entry to System
Action Rules
📊 Business Logic Narrative
When the process 'Send Log Entry to System' is invoked, and assuming that a log entry is prepared with correct length specification, when the log entry needs to be transmitted, the desired outcome is that the system should perform the insert purge message operation to send the log entry to the logging system.
💻 Technical Criteria
Given A log entry is prepared with correct length specification
When The log entry needs to be transmitted
Then The system should perform the insert purge message operation to send the log entry to the logging system
R-GCCS358C-cbl-00208 Database Insert Failed?
Process Rules
📊 Business Logic Narrative
When the process 'Database Insert Failed?' is invoked, and assuming that a transmission root segment insert is attempted, when the database insert fails with a non-space status code, the desired outcome is that increment the transmission number by 1 and retry the insert operation until successful.
💻 Technical Criteria
Given A transmission root segment insert is attempted
When The database insert fails with a non-space status code
Then Increment the transmission number by 1 and retry the insert operation until successful
R-GCCS358C-cbl-00209 Station Table Entry Found?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Station Table Entry Found?', assuming that a station lookup is performed for manifest processing, when the station table entry is not found or the canadian station code is '0000', the desired outcome is that build error message with station identifier and terminate processing with error handler.
💻 Technical Criteria
EXCLUDING A station lookup is performed for manifest processing
When The station table entry is not found OR the Canadian station code is '0000'
Then Build error message with station identifier and terminate processing with error handler
R-GCCS358C-cbl-00211 Message Write Failed?
Process Rules
📊 Business Logic Narrative
When the process 'Message Write Failed?' is invoked, and assuming that a message write operation is attempted, when the message write operation fails with a non-zero return code, the desired outcome is that build message write error and terminate processing with error handler.
💻 Technical Criteria
Given A message write operation is attempted
When The message write operation fails with a non-zero return code
Then Build message write error and terminate processing with error handler
R-GCCS358C-cbl-00212 Call Error Handler CERR
Action Rules
📊 Business Logic Narrative
When the process 'Call Error Handler CERR' is invoked, and assuming that a critical error condition has been detected, when error message has been built for the specific error condition, the desired outcome is that call the cerr error handling program to terminate processing.
💻 Technical Criteria
Given A critical error condition has been detected
When Error message has been built for the specific error condition
Then Call the CERR error handling program to terminate processing

🚂 Equipment & Cargo Specs 156 logic blocks
R-GCCS358C-cbl-00005 Set Transaction Purpose Code
Decision Rules
📊 Business Logic Narrative
When the process 'Set Transaction Purpose Code' is invoked, and assuming that a manifest transaction is being processed with operation type change, when the system evaluates arrival date and post-emanifest flag, the desired outcome is that if arrival date is empty, set purpose code to '04' and mark as not amendment. if arrival date exists and post-emanifest is true, set purpose code to 'co' and mark as amendment. if arrival date exists and post-emanifest is false, set purpose code to '04' and mark as not amendment.
💻 Technical Criteria
Given A manifest transaction is being processed with operation type CHANGE
When The system evaluates arrival date and post-emanifest flag
Then If arrival date is empty, set purpose code to '04' and mark as not amendment. If arrival date exists and post-emanifest is true, set purpose code to 'CO' and mark as amendment. If arrival date exists and post-emanifest is false, set purpose code to '04' and mark as not amendment
R-GCCS358C-cbl-00006 Determine EDI Version Processing
Process Rules
📊 Business Logic Narrative
When the process 'Determine EDI Version Processing' is invoked, and assuming that equipment processing needs to be performed for the manifest, when the system evaluates the post-emanifest flag, the desired outcome is that if post-emanifest is true, use 5040 version processing (b231-load-vid-mbl-5040), otherwise use 4040rail version processing (b230-load-vid-mbl).
💻 Technical Criteria
Given Equipment processing needs to be performed for the manifest
When The system evaluates the post-emanifest flag
Then If post-emanifest is true, use 5040 version processing (B231-LOAD-VID-MBL-5040), otherwise use 4040RAIL version processing (B230-LOAD-VID-MBL)
R-GCCS358C-cbl-00007 Set Equipment Load Status
Decision Rules
📊 Business Logic Narrative
When the process 'Set Equipment Load Status' is invoked, and assuming that equipment is being processed in standard 4040rail version, when the system evaluates equipment load status and cargo key, the desired outcome is that if equipment is loaded, set status to 'l'. if equipment is empty, set status to 'e'. if equipment is loaded but has no cargo key, override status to 'e'.
💻 Technical Criteria
Given Equipment is being processed in standard 4040RAIL version
When The system evaluates equipment load status and cargo key
Then If equipment is loaded, set status to 'L'. If equipment is empty, set status to 'E'. If equipment is loaded but has no cargo key, override status to 'E'
R-GCCS358C-cbl-00008 Set Equipment Load Status
Decision Rules
📊 Business Logic Narrative
When the process 'Set Equipment Load Status' is invoked, and assuming that equipment is being processed in 5040 post-emanifest version, when the system evaluates equipment load status and cargo key, the desired outcome is that if equipment is loaded or (equipment is empty and has cargo key), set status to 'l'. otherwise set status to 'e'. if equipment is loaded but has no cargo key, override status to 'e'.
💻 Technical Criteria
Given Equipment is being processed in 5040 post-emanifest version
When The system evaluates equipment load status and cargo key
Then If equipment is loaded OR (equipment is empty AND has cargo key), set status to 'L'. Otherwise set status to 'E'. If equipment is loaded but has no cargo key, override status to 'E'
R-GCCS358C-cbl-00010 Set Location ID for Equipment
Decision Rules
📊 Business Logic Narrative
When the process 'Set Location ID for Equipment' is invoked, and assuming that equipment has associated cargo information, when the system evaluates the cargo in-transit status, the desired outcome is that if in-transit status is 'r', set location id to '0000'. if in-transit status is 't', set location id to the manifest-to-trans-code. for any other status, set location id to spaces.
💻 Technical Criteria
Given Equipment has associated cargo information
When The system evaluates the cargo in-transit status
Then If in-transit status is 'R', set location ID to '0000'. If in-transit status is 'T', set location ID to the manifest-to-trans-code. For any other status, set location ID to spaces
R-GCCS358C-cbl-00011 Handle Flat Car Processing
Decision Rules
📊 Business Logic Narrative
When the process 'Handle Flat Car Processing' is invoked, and assuming that equipment is a possible flatcar type in post-emanifest processing, when the system checks subsequent equipment for container types, the desired outcome is that if any subsequent container equipment is loaded or (empty with cargo key), set the flatcar status to 'l' (loaded).
💻 Technical Criteria
Given Equipment is a possible flatcar type in post-emanifest processing
When The system checks subsequent equipment for container types
Then If any subsequent container equipment is loaded OR (empty with cargo key), set the flatcar status to 'L' (loaded)
R-GCCS358C-cbl-00016 Build M13 Amendment Segment
Process Rules
📊 Business Logic Narrative
When the process 'Build M13 Amendment Segment' is invoked, and assuming that amendment processing is required for the first equipment or dummy mbl scenario, when the system needs to document the amendment, the desired outcome is that create m13 segment with scac 'cprs', location id from station code, bol/wb number from train key, and amendment code '60'.
💻 Technical Criteria
Given Amendment processing is required for the first equipment or dummy MBL scenario
When The system needs to document the amendment
Then Create M13 segment with SCAC 'CPRS', location ID from station code, BOL/WB number from train key, and amendment code '60'
R-GCCS358C-cbl-00017 Build N9 Reference Segment
Process Rules
📊 Business Logic Narrative
When the process 'Build N9 Reference Segment' is invoked, and assuming that processing is post-emanifest version and this is the first equipment, when the system creates reference information, the desired outcome is that create n9 segment with reference qualifier '76', reference number 'edt', date from eda with machine century, time from eta with '00' seconds, and time code 'es'.
💻 Technical Criteria
Given Processing is post-emanifest version and this is the first equipment
When The system creates reference information
Then Create N9 segment with reference qualifier '76', reference number 'EDT', date from EDA with machine century, time from ETA with '00' seconds, and time code 'ES'
R-GCCS358C-cbl-00054 Set Purpose Code to '04' - Change
Decision Rules
📊 Business Logic Narrative
When the process 'Set Purpose Code to '04' - Change' is invoked, and assuming that an m10 manifest segment is being created and the operation type is change and the arrival date is empty, when the transaction purpose code needs to be determined, the desired outcome is that the purpose code is set to '04' and amendment flag is set to false.
💻 Technical Criteria
Given An M10 manifest segment is being created and the operation type is CHANGE and the arrival date is empty
When The transaction purpose code needs to be determined
Then The purpose code is set to '04' and amendment flag is set to false
R-GCCS358C-cbl-00055 Set Purpose Code to 'CO' - Amendment
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Purpose Code to 'CO' - Amendment', assuming that an m10 manifest segment is being created and the operation type is change and arrival date is not empty and it's a post-emanifest transaction, when the transaction purpose code needs to be determined, the desired outcome is that the purpose code is set to 'co' and amendment flag is set to true.
💻 Technical Criteria
EXCLUDING An M10 manifest segment is being created and the operation type is CHANGE and arrival date is not empty and it's a post-emanifest transaction
When The transaction purpose code needs to be determined
Then The purpose code is set to 'CO' and amendment flag is set to true
R-GCCS358C-cbl-00056 Set Purpose Code to '04' - Change
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Purpose Code to '04' - Change', assuming that an m10 manifest segment is being created and the operation type is change and arrival date is not empty and it's not a post-emanifest transaction, when the transaction purpose code needs to be determined, the desired outcome is that the purpose code is set to '04' and amendment flag is set to false.
💻 Technical Criteria
EXCLUDING An M10 manifest segment is being created and the operation type is CHANGE and arrival date is not empty and it's not a post-emanifest transaction
When The transaction purpose code needs to be determined
Then The purpose code is set to '04' and amendment flag is set to false
R-GCCS358C-cbl-00062 Set Purpose Code = '04' Regular Change
Decision Rules
📊 Business Logic Narrative
When the process 'Set Purpose Code = '04' Regular Change' is invoked, and assuming that a train manifest transaction is being processed with change operation type, when the arrival date (gcwb4tl-arrival-date) is empty or contains spaces, the desired outcome is that the m10 transaction purpose code (m10-13-ts-purpose-cde) is set to '04' and the ws-not-amendment flag is set to true.
💻 Technical Criteria
Given A train manifest transaction is being processed with CHANGE operation type
When The arrival date (GCWB4TL-ARRIVAL-DATE) is empty or contains spaces
Then The M10 transaction purpose code (M10-13-TS-PURPOSE-CDE) is set to '04' and the WS-NOT-AMENDMENT flag is set to true
R-GCCS358C-cbl-00063 Set Purpose Code = 'CO' Post-Emanifest Amendment
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Purpose Code = 'CO' Post-Emanifest Amendment', assuming that a train manifest transaction is being processed with change operation type and arrival date is not empty, when the post-emanifest flag (gcwb4tl-post-emanifest) is true, the desired outcome is that the m10 transaction purpose code (m10-13-ts-purpose-cde) is set to 'co' and the ws-amendment flag is set to true.
💻 Technical Criteria
EXCLUDING A train manifest transaction is being processed with CHANGE operation type and arrival date is not empty
When The post-emanifest flag (GCWB4TL-POST-EMANIFEST) is true
Then The M10 transaction purpose code (M10-13-TS-PURPOSE-CDE) is set to 'CO' and the WS-AMENDMENT flag is set to true
R-GCCS358C-cbl-00064 Set Purpose Code = '04' Regular Change
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Purpose Code = '04' Regular Change', assuming that a train manifest transaction is being processed with change operation type and arrival date is not empty, when the post-emanifest flag (gcwb4tl-post-emanifest) is false, the desired outcome is that the m10 transaction purpose code (m10-13-ts-purpose-cde) is set to '04' and the ws-not-amendment flag is set to true.
💻 Technical Criteria
EXCLUDING A train manifest transaction is being processed with CHANGE operation type and arrival date is not empty
When The post-emanifest flag (GCWB4TL-POST-EMANIFEST) is false
Then The M10 transaction purpose code (M10-13-TS-PURPOSE-CDE) is set to '04' and the WS-NOT-AMENDMENT flag is set to true
R-GCCS358C-cbl-00072 Initialize Equipment Counter SUB-TL = 1
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Equipment Counter SUB-TL = 1' is invoked, and assuming that a train list with equipment records needs to be processed, when equipment processing begins, the desired outcome is that the equipment counter sub-tl is set to 1 to start with the first equipment.
💻 Technical Criteria
Given A train list with equipment records needs to be processed
When Equipment processing begins
Then The equipment counter SUB-TL is set to 1 to start with the first equipment
R-GCCS358C-cbl-00073 Equipment ID Empty?
Decision Rules
📊 Business Logic Narrative
When the process 'Equipment ID Empty?' is invoked, and assuming that equipment processing is in progress with current equipment counter sub-tl, when the equipment id at the current position is empty or spaces, the desired outcome is that equipment processing terminates and exits the loop.
💻 Technical Criteria
Given Equipment processing is in progress with current equipment counter SUB-TL
When The equipment ID at the current position is empty or spaces
Then Equipment processing terminates and exits the loop
R-GCCS358C-cbl-00074 Post-Emanifest Processing?
Decision Rules
📊 Business Logic Narrative
When the process 'Post-Emanifest Processing?' is invoked, and assuming that an equipment record needs to be processed, when the processing mode is post-emanifest (gcwb4tl-post-emanifest is true), the desired outcome is that use the 5040 version processing method (b231-load-vid-mbl-5040).
💻 Technical Criteria
Given An equipment record needs to be processed
When The processing mode is post-emanifest (GCWB4TL-POST-EMANIFEST is true)
Then Use the 5040 version processing method (B231-LOAD-VID-MBL-5040)
R-GCCS358C-cbl-00075 Process Equipment - 4040RAIL Version
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Process Equipment - 4040RAIL Version', assuming that an equipment record needs to be processed, when the processing mode is not post-emanifest (gcwb4tl-post-emanifest is false), the desired outcome is that use the standard processing method (b230-load-vid-mbl).
💻 Technical Criteria
EXCLUDING An equipment record needs to be processed
When The processing mode is not post-emanifest (GCWB4TL-POST-EMANIFEST is false)
Then Use the standard processing method (B230-LOAD-VID-MBL)
R-GCCS358C-cbl-00076 Process Equipment - 5040 Version
Action Rules
📊 Business Logic Narrative
When the process 'Process Equipment - 5040 Version' is invoked, and assuming that an equipment record needs to be processed, when the processing mode is post-emanifest (gcwb4tl-post-emanifest is true), the desired outcome is that use the 5040 version processing method (b231-load-vid-mbl-5040).
💻 Technical Criteria
Given An equipment record needs to be processed
When The processing mode is post-emanifest (GCWB4TL-POST-EMANIFEST is true)
Then Use the 5040 version processing method (B231-LOAD-VID-MBL-5040)
R-GCCS358C-cbl-00077 Increment Equipment Counter
Process Rules
📊 Business Logic Narrative
When the process 'Increment Equipment Counter' is invoked, and assuming that current equipment processing is complete, when moving to process the next equipment, the desired outcome is that the equipment counter sub-tl is incremented by 1.
💻 Technical Criteria
Given Current equipment processing is complete
When Moving to process the next equipment
Then The equipment counter SUB-TL is incremented by 1
R-GCCS358C-cbl-00078 Extract Equipment Type, Initial, Number
Process Rules
📊 Business Logic Narrative
When the process 'Extract Equipment Type, Initial, Number' is invoked, and assuming that an equipment record at position sub-tl in the train list, when equipment data needs to be extracted for vid segment creation, the desired outcome is that equipment type, initial, and number are extracted from gcwb4tl fields at sub-tl position.
💻 Technical Criteria
Given An equipment record at position SUB-TL in the train list
When Equipment data needs to be extracted for VID segment creation
Then Equipment type, initial, and number are extracted from GCWB4TL fields at SUB-TL position
R-GCCS358C-cbl-00081 Handle Flat Car Logic for Container Cars
Decision Rules
📊 Business Logic Narrative
When the process 'Handle Flat Car Logic for Container Cars' is invoked, and assuming that equipment with specific car types that form flat car and container combinations, when current equipment is a flat car type (bg, ca, et, gs, id, lo, rr, sk, tn) and next equipment is a container type (cc, ch, cm, cn, cx, cz, ls, ot, pl, pt, rl, rt, tl), the desired outcome is that store flat car information and process both flat car and container as a combined unit with special vid segment handling.
💻 Technical Criteria
Given Equipment with specific car types that form flat car and container combinations
When Current equipment is a flat car type (BG, CA, ET, GS, ID, LO, RR, SK, TN) and next equipment is a container type (CC, CH, CM, CN, CX, CZ, LS, OT, PL, PT, RL, RT, TL)
Then Store flat car information and process both flat car and container as a combined unit with special VID segment handling
R-GCCS358C-cbl-00082 Check Flat Car for Loaded Containers
Decision Rules
📊 Business Logic Narrative
When the process 'Check Flat Car for Loaded Containers' is invoked, and assuming that a flat car type equipment in post-emanifest processing, when the equipment is a possible flat car type, the desired outcome is that check subsequent container cars on the flat car and if any container is loaded or (empty with cargo key), set the flat car status to 'l'.
💻 Technical Criteria
Given A flat car type equipment in post-emanifest processing
When The equipment is a possible flat car type
Then Check subsequent container cars on the flat car and if any container is loaded or (empty with cargo key), set the flat car status to 'L'
R-GCCS358C-cbl-00083 Create VID Segment
Process Rules
📊 Business Logic Narrative
When the process 'Create VID Segment' is invoked, and assuming that equipment data including type, initial, number, and determined load/empty status, when vid segment needs to be created for the equipment, the desired outcome is that vid segment is initialized and populated with equipment identifier 'vid', equipment description code, equipment initial, equipment number, and load/empty status code.
💻 Technical Criteria
Given Equipment data including type, initial, number, and determined load/empty status
When VID segment needs to be created for the equipment
Then VID segment is initialized and populated with equipment identifier 'VID', equipment description code, equipment initial, equipment number, and load/empty status code
R-GCCS358C-cbl-00084 Create N9 Reference Segment for First Equipment
Process Rules
📊 Business Logic Narrative
When the process 'Create N9 Reference Segment for First Equipment' is invoked, and assuming that post-emanifest processing mode and equipment counter sub-tl equals 1, when processing the first equipment in the list, the desired outcome is that create n9 segment with identifier 'n9', reference number qualifier '76', reference number 'edt', estimated departure date, estimated time of arrival, and time code 'es'.
💻 Technical Criteria
Given Post-emanifest processing mode and equipment counter SUB-TL equals 1
When Processing the first equipment in the list
Then Create N9 segment with identifier 'N9', reference number qualifier '76', reference number 'EDT', estimated departure date, estimated time of arrival, and time code 'ES'
R-GCCS358C-cbl-00213 Extract Equipment Type from GCWB4TL-VID01-EQUIPMENT-TYPE
Process Rules
📊 Business Logic Narrative
When the process 'Extract Equipment Type from GCWB4TL-VID01-EQUIPMENT-TYPE' is invoked, and assuming that a train list entry exists with equipment type information, when processing equipment data for vid segment creation, the desired outcome is that the equipment type code should be extracted from the train list and stored in the vid equipment description code field.
💻 Technical Criteria
Given A train list entry exists with equipment type information
When Processing equipment data for VID segment creation
Then The equipment type code should be extracted from the train list and stored in the VID equipment description code field
R-GCCS358C-cbl-00214 Extract Equipment Initial from GCWB4TL-VID02-EQUIPMENT-INIT
Process Rules
📊 Business Logic Narrative
When the process 'Extract Equipment Initial from GCWB4TL-VID02-EQUIPMENT-INIT' is invoked, and assuming that a train list entry exists with equipment initial information, when processing equipment data for vid segment creation, the desired outcome is that the equipment initial should be extracted from the train list and stored in the vid equipment initial field.
💻 Technical Criteria
Given A train list entry exists with equipment initial information
When Processing equipment data for VID segment creation
Then The equipment initial should be extracted from the train list and stored in the VID equipment initial field
R-GCCS358C-cbl-00215 Extract Equipment Number from GCWB4TL-VID03-EQUIPMENT-NUM
Process Rules
📊 Business Logic Narrative
When the process 'Extract Equipment Number from GCWB4TL-VID03-EQUIPMENT-NUM' is invoked, and assuming that a train list entry exists with equipment number information, when processing equipment data for vid segment creation, the desired outcome is that the equipment number should be extracted from the train list and stored in the vid equipment number field.
💻 Technical Criteria
Given A train list entry exists with equipment number information
When Processing equipment data for VID segment creation
Then The equipment number should be extracted from the train list and stored in the VID equipment number field
R-GCCS358C-cbl-00220 Is Current Equipment a Flat Car?
Definitional Rules
📊 Business Logic Narrative
When the process 'Is Current Equipment a Flat Car?' is invoked, and assuming that an equipment item with a specific equipment type code, when the equipment type code is evaluated against flat car classifications, the desired outcome is that the equipment is identified as a flat car if the type code matches bg, ca, et, gs, id, lo, rr, sk, or tn.
💻 Technical Criteria
Given An equipment item with a specific equipment type code
When The equipment type code is evaluated against flat car classifications
Then The equipment is identified as a flat car if the type code matches BG, CA, ET, GS, ID, LO, RR, SK, or TN
R-GCCS358C-cbl-00221 Is Equipment a Container Car?
Definitional Rules
📊 Business Logic Narrative
When the process 'Is Equipment a Container Car?' is invoked, and assuming that an equipment item with a specific equipment type code, when the equipment type code is evaluated against container car classifications, the desired outcome is that the equipment is identified as a container car if the type code matches cc, ch, cm, cn, cx, cz, ls, ot, pl, pt, rl, rt, or tl.
💻 Technical Criteria
Given An equipment item with a specific equipment type code
When The equipment type code is evaluated against container car classifications
Then The equipment is identified as a container car if the type code matches CC, CH, CM, CN, CX, CZ, LS, OT, PL, PT, RL, RT, or TL
R-GCCS358C-cbl-00222 Initialize Search Variables
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Search Variables' is invoked, and assuming that a flat car equipment that needs load status verification, when the flat car load check process begins, the desired outcome is that the search position is set to the current equipment position, search index is incremented by 1, and load found flag is reset to spaces.
💻 Technical Criteria
Given A flat car equipment that needs load status verification
When The flat car load check process begins
Then The search position is set to the current equipment position, search index is incremented by 1, and load found flag is reset to spaces
R-GCCS358C-cbl-00224 Mark Flat Car as Loaded
Action Rules
📊 Business Logic Narrative
When the process 'Mark Flat Car as Loaded' is invoked, and assuming that a flat car with at least one loaded container, when a loaded container is identified on the flat car, the desired outcome is that the flat car's load-empty status code is set to 'l' (loaded) and the load found flag is set to true.
💻 Technical Criteria
Given A flat car with at least one loaded container
When A loaded container is identified on the flat car
Then The flat car's load-empty status code is set to 'L' (Loaded) and the load found flag is set to true
R-GCCS358C-cbl-00225 Move to Next Equipment Position
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Move to Next Equipment Position', assuming that a flat car with multiple equipment positions to check, when the current container position does not contain a loaded container, the desired outcome is that the search index is incremented by 1 and the next equipment type is retrieved for evaluation.
💻 Technical Criteria
EXCLUDING A flat car with multiple equipment positions to check
When The current container position does not contain a loaded container
Then The search index is incremented by 1 and the next equipment type is retrieved for evaluation
R-GCCS358C-cbl-00226 More Equipment to Check?
Process Rules
📊 Business Logic Narrative
When the process 'More Equipment to Check?' is invoked, and assuming that a flat car load status check in progress, when the search process evaluates continuation criteria, the desired outcome is that the search continues if the search index is less than or equal to 2500 and the current equipment type is a container car type and no loaded container has been found yet.
💻 Technical Criteria
Given A flat car load status check in progress
When The search process evaluates continuation criteria
Then The search continues if the search index is less than or equal to 2500 AND the current equipment type is a container car type AND no loaded container has been found yet
R-GCCS358C-cbl-00264 Is Equipment a Possible Flat Car?
Definitional Rules
📊 Business Logic Narrative
When the process 'Is Equipment a Possible Flat Car?' is invoked, and assuming that an equipment type code is provided for classification, when the equipment type is one of bg, ca, et, gs, id, lo, rr, sk, or tn, the desired outcome is that the equipment is classified as a possible flat car type.
💻 Technical Criteria
Given An equipment type code is provided for classification
When The equipment type is one of BG, CA, ET, GS, ID, LO, RR, SK, or TN
Then The equipment is classified as a possible flat car type
R-GCCS358C-cbl-00265 Set Index to Next Equipment Position
Process Rules
📊 Business Logic Narrative
When the process 'Set Index to Next Equipment Position' is invoked, and assuming that a flat car type equipment has been identified, when the system needs to check for loaded containers on the flat car, the desired outcome is that the index is set to the next equipment position and the load found flag is initialized to spaces.
💻 Technical Criteria
Given A flat car type equipment has been identified
When The system needs to check for loaded containers on the flat car
Then The index is set to the next equipment position and the load found flag is initialized to spaces
R-GCCS358C-cbl-00266 More Equipment to Check AND Still Container Type?
Validation Rules
📊 Business Logic Narrative
When the process 'More Equipment to Check AND Still Container Type?' is invoked, and assuming that a flat car is being examined for loaded containers, when the current position is within the equipment list (position <= 2500) and the equipment type is one of cc, ch, cm, cn, cx, cz, ls, ot, pl, pt, rl, rt, or tl, the desired outcome is that continue the load status check process for the current equipment position.
💻 Technical Criteria
Given A flat car is being examined for loaded containers
When The current position is within the equipment list (position <= 2500) AND the equipment type is one of CC, CH, CM, CN, CX, CZ, LS, OT, PL, PT, RL, RT, or TL
Then Continue the load status check process for the current equipment position
R-GCCS358C-cbl-00269 Move to Next Equipment
Process Rules
📊 Business Logic Narrative
When the process 'Move to Next Equipment' is invoked, and assuming that the current container position on the flat car has been evaluated, when no cargo is found at the current position and more positions need to be checked, the desired outcome is that the index is incremented to examine the next equipment position and its type is retrieved.
💻 Technical Criteria
Given The current container position on the flat car has been evaluated
When No cargo is found at the current position and more positions need to be checked
Then The index is incremented to examine the next equipment position and its type is retrieved
R-GCCS358C-cbl-00312 Is Current Equipment a Flat Car Type?
Definitional Rules
📊 Business Logic Narrative
When the process 'Is Current Equipment a Flat Car Type?' is invoked, and assuming that an equipment item with a specific equipment type code, when the equipment type code is one of bg, ca, et, gs, id, lo, rr, sk, or tn, the desired outcome is that the equipment is classified as a flat car type.
💻 Technical Criteria
Given An equipment item with a specific equipment type code
When The equipment type code is one of BG, CA, ET, GS, ID, LO, RR, SK, or TN
Then The equipment is classified as a flat car type
R-GCCS358C-cbl-00313 Is Next Equipment a Container Type?
Definitional Rules
📊 Business Logic Narrative
When the process 'Is Next Equipment a Container Type?' is invoked, and assuming that the next equipment item in the sequence with a specific equipment type code, when the next equipment type code is one of cc, ch, cm, cn, cx, cz, ls, ot, pl, pt, rl, rt, or tl, the desired outcome is that the next equipment is classified as a container type.
💻 Technical Criteria
Given The next equipment item in the sequence with a specific equipment type code
When The next equipment type code is one of CC, CH, CM, CN, CX, CZ, LS, OT, PL, PT, RL, RT, or TL
Then The next equipment is classified as a container type
R-GCCS358C-cbl-00314 Initialize Flat Car Processing Variables
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Flat Car Processing Variables' is invoked, and assuming that a flat car type equipment followed by a container type equipment, when the flat car and container combination is identified, the desired outcome is that initialize flatcar-vid-segment, im-unit-vid-segment, and im-unit-vid12-element variables and store the current vid segment as flat car data.
💻 Technical Criteria
Given A flat car type equipment followed by a container type equipment
When The flat car and container combination is identified
Then Initialize FLATCAR-VID-SEGMENT, IM-UNIT-VID-SEGMENT, and IM-UNIT-VID12-ELEMENT variables and store the current VID segment as flat car data
R-GCCS358C-cbl-00315 Does Flat Car Data Exist?
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Does Flat Car Data Exist?', assuming that a container type equipment and existing flat car segment data, when the current equipment is a container type and flatcar-vid-segment is not equal to spaces, the desired outcome is that store current vid segment as container unit, preserve location id, process flat car segment first, then process container unit segment, and generate mbl segment if equipment is loaded with cargo.
💻 Technical Criteria
EXCLUDING A container type equipment and existing flat car segment data
When The current equipment is a container type and FLATCAR-VID-SEGMENT is not equal to spaces
Then Store current VID segment as container unit, preserve location ID, process flat car segment first, then process container unit segment, and generate MBL segment if equipment is loaded with cargo
R-GCCS358C-cbl-00316 Process Equipment Normally
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Process Equipment Normally', assuming that an equipment item that does not fit flat car-container combination patterns, when the equipment is not part of a flat car-container sequence or is processed individually, the desired outcome is that generate vid segment using standard processing and create mbl segment if equipment is loaded with cargo.
💻 Technical Criteria
EXCLUDING An equipment item that does not fit flat car-container combination patterns
When The equipment is not part of a flat car-container sequence or is processed individually
Then Generate VID segment using standard processing and create MBL segment if equipment is loaded with cargo
R-GCCS358C-cbl-00363 Current Equipment is Flat Car Type?
Definitional Rules
📊 Business Logic Narrative
When the process 'Current Equipment is Flat Car Type?' is invoked, and assuming that an equipment item with a specific equipment type code, when the equipment type code is one of bg, ca, et, gs, id, lo, rr, sk, or tn, the desired outcome is that the equipment is classified as a flat car type.
💻 Technical Criteria
Given An equipment item with a specific equipment type code
When The equipment type code is one of BG, CA, ET, GS, ID, LO, RR, SK, or TN
Then The equipment is classified as a flat car type
R-GCCS358C-cbl-00364 Next Equipment is Container Type?
Definitional Rules
📊 Business Logic Narrative
When the process 'Next Equipment is Container Type?' is invoked, and assuming that an equipment item with a specific equipment type code, when the equipment type code is one of cc, ch, cm, cn, cx, cz, ls, ot, pl, pt, rl, rt, or tl, the desired outcome is that the equipment is classified as a container type.
💻 Technical Criteria
Given An equipment item with a specific equipment type code
When The equipment type code is one of CC, CH, CM, CN, CX, CZ, LS, OT, PL, PT, RL, RT, or TL
Then The equipment is classified as a container type
R-GCCS358C-cbl-00365 Current Equipment is Flat Car Type? AND Next Equipment is Container Type?
Validation Rules
📊 Business Logic Narrative
When the process 'Current Equipment is Flat Car Type? AND Next Equipment is Container Type?' is invoked, and assuming that a current equipment that is classified as flat car type and a next equipment in sequence, when the current equipment type is bg, ca, et, gs, id, lo, rr, sk, or tn and the next equipment type is cc, ch, cm, cn, cx, cz, ls, ot, pl, pt, rl, rt, or tl, the desired outcome is that initialize flat car processing variables and store current vid as flat car segment for paired processing.
💻 Technical Criteria
Given A current equipment that is classified as flat car type and a next equipment in sequence
When The current equipment type is BG, CA, ET, GS, ID, LO, RR, SK, or TN AND the next equipment type is CC, CH, CM, CN, CX, CZ, LS, OT, PL, PT, RL, RT, or TL
Then Initialize flat car processing variables and store current VID as flat car segment for paired processing
R-GCCS358C-cbl-00366 Current Equipment is Container Type? AND Flat Car Segment Exists?
Process Rules
📊 Business Logic Narrative
When the process 'Current Equipment is Container Type? AND Flat Car Segment Exists?' is invoked, and assuming that a current equipment that is classified as container type and an existing flat car segment, when the current equipment type is cc, ch, cm, cn, cx, cz, ls, ot, pl, pt, rl, rt, or tl and a flat car segment has been previously stored, the desired outcome is that store current vid as container unit segment, copy container location id to flat car, and process both flat car and container unit vid segments.
💻 Technical Criteria
Given A current equipment that is classified as container type and an existing flat car segment
When The current equipment type is CC, CH, CM, CN, CX, CZ, LS, OT, PL, PT, RL, RT, or TL AND a flat car segment has been previously stored
Then Store current VID as container unit segment, copy container location ID to flat car, and process both flat car and container unit VID segments
R-GCCS358C-cbl-00367 Process Equipment Normally
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Process Equipment Normally', assuming that an equipment item that does not meet flat car-container pairing criteria, when the equipment is not part of a flat car-container combination or is the last equipment in the list, the desired outcome is that process the equipment using standard vid segment processing and load mbl segment if equipment is loaded with cargo.
💻 Technical Criteria
EXCLUDING An equipment item that does not meet flat car-container pairing criteria
When The equipment is not part of a flat car-container combination OR is the last equipment in the list
Then Process the equipment using standard VID segment processing and load MBL segment if equipment is loaded with cargo
R-GCCS358C-cbl-00270 Is Current Car a Flat Car Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Current Car a Flat Car Type?' is invoked, and assuming that a train equipment car with a specific equipment type code, when the equipment type code is bg, ca, et, gs, id, lo, rr, sk, or tn, the desired outcome is that the car is identified as a possible flat car type and container search is initiated.
💻 Technical Criteria
Given A train equipment car with a specific equipment type code
When The equipment type code is BG, CA, ET, GS, ID, LO, RR, SK, or TN
Then The car is identified as a possible flat car type and container search is initiated
R-GCCS358C-cbl-00271 Set Search Index to Next Car Position
Process Rules
📊 Business Logic Narrative
When the process 'Set Search Index to Next Car Position' is invoked, and assuming that a flat car has been identified in the equipment sequence, when container search is initiated, the desired outcome is that the search index is set to the next car position after the flat car and the load found flag is reset.
💻 Technical Criteria
Given A flat car has been identified in the equipment sequence
When Container search is initiated
Then The search index is set to the next car position after the flat car and the load found flag is reset
R-GCCS358C-cbl-00272 Is Next Car a Container Type?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Next Car a Container Type?' is invoked, and assuming that a car in the equipment sequence following a flat car, when the car type code is cc, ch, cm, cn, cx, cz, ls, ot, pl, pt, rl, rt, or tl, the desired outcome is that the car is identified as a container type and load status checking continues.
💻 Technical Criteria
Given A car in the equipment sequence following a flat car
When The car type code is CC, CH, CM, CN, CX, CZ, LS, OT, PL, PT, RL, RT, or TL
Then The car is identified as a container type and load status checking continues
R-GCCS358C-cbl-00273 More Cars to Check?
Process Rules
📊 Business Logic Narrative
When the process 'More Cars to Check?' is invoked, and assuming that a container search is in progress through the equipment sequence, when the current search index is less than or equal to 2500 and the current car is a container type and no load has been found yet, the desired outcome is that continue searching through the remaining cars in the sequence.
💻 Technical Criteria
Given A container search is in progress through the equipment sequence
When The current search index is less than or equal to 2500 and the current car is a container type and no load has been found yet
Then Continue searching through the remaining cars in the sequence
R-GCCS358C-cbl-00274 Is Container Car Loaded?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Container Car Loaded?' is invoked, and assuming that a container car in the equipment sequence, when the container car has a load indicator set to loaded, the desired outcome is that the container is considered loaded and affects the flat car load status.
💻 Technical Criteria
Given A container car in the equipment sequence
When The container car has a load indicator set to loaded
Then The container is considered loaded and affects the flat car load status
R-GCCS358C-cbl-00278 Keep Flat Car Status as Empty
Decision Rules
📊 Business Logic Narrative
When the process 'Keep Flat Car Status as Empty' is invoked, and assuming that a flat car with no loaded container cars found in the search, when the container search is completed without finding any loaded containers, the desired outcome is that the flat car retains its original empty load status.
💻 Technical Criteria
Given A flat car with no loaded container cars found in the search
When The container search is completed without finding any loaded containers
Then The flat car retains its original empty load status
R-GCCS358C-cbl-00317 Is Current Car a Flat Car Type?
Definitional Rules
📊 Business Logic Narrative
When the process 'Is Current Car a Flat Car Type?' is invoked, and assuming that an equipment item with a specific car type code, when the system checks if the car type is one of the flat car types (bg, ca, et, gs, id, lo, rr, sk, tn), the desired outcome is that the system determines whether container sequence validation should be performed for subsequent equipment.
💻 Technical Criteria
Given An equipment item with a specific car type code
When The system checks if the car type is one of the flat car types (BG, CA, ET, GS, ID, LO, RR, SK, TN)
Then The system determines whether container sequence validation should be performed for subsequent equipment
R-GCCS358C-cbl-00318 Set Index to Next Equipment Position
Process Rules
📊 Business Logic Narrative
When the process 'Set Index to Next Equipment Position' is invoked, and assuming that a flat car type equipment at a specific position in the equipment list, when the system needs to validate container sequence for the flat car, the desired outcome is that the system sets the index to the next equipment position and initializes the load found flag.
💻 Technical Criteria
Given A flat car type equipment at a specific position in the equipment list
When The system needs to validate container sequence for the flat car
Then The system sets the index to the next equipment position and initializes the load found flag
R-GCCS358C-cbl-00319 Within Equipment List AND Next Car is Container Type?
Validation Rules
📊 Business Logic Narrative
When the process 'Within Equipment List AND Next Car is Container Type?' is invoked, and assuming that a flat car followed by subsequent equipment in the list, when the system checks each subsequent equipment position up to the maximum limit of 2500, the desired outcome is that the system continues validation only if the position is within bounds and the equipment is a container type (cc, ch, cm, cn, cx, cz, ls, ot, pl, pt, rl, rt, tl).
💻 Technical Criteria
Given A flat car followed by subsequent equipment in the list
When The system checks each subsequent equipment position up to the maximum limit of 2500
Then The system continues validation only if the position is within bounds and the equipment is a container type (CC, CH, CM, CN, CX, CZ, LS, OT, PL, PT, RL, RT, TL)
R-GCCS358C-cbl-00322 Move to Next Equipment
Process Rules
📊 Business Logic Narrative
When the process 'Move to Next Equipment' is invoked, and assuming that a flat car with multiple containers in sequence, when the system has checked one container and needs to validate the next one, the desired outcome is that the system increments the equipment index and updates the car type for the next validation cycle.
💻 Technical Criteria
Given A flat car with multiple containers in sequence
When The system has checked one container and needs to validate the next one
Then The system increments the equipment index and updates the car type for the next validation cycle
R-GCCS358C-cbl-00227 Initialize VID Segment Structure
Process Rules
📊 Business Logic Narrative
When the process 'Initialize VID Segment Structure' is invoked, and assuming that a vid segment needs to be created for equipment processing, when the vid segment initialization is performed, the desired outcome is that the vid segment structure is initialized and the identifier is set to 'vid'.
💻 Technical Criteria
Given A VID segment needs to be created for equipment processing
When The VID segment initialization is performed
Then The VID segment structure is initialized and the identifier is set to 'VID'
R-GCCS358C-cbl-00228 Set Equipment Description Code from Train List
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Equipment Description Code from Train List' is invoked, and assuming that a vid segment is being created for equipment, when equipment description code needs to be set, the desired outcome is that the equipment description code from the train list is assigned to vid-01-equip-desc-cde.
💻 Technical Criteria
Given A VID segment is being created for equipment
When Equipment description code needs to be set
Then The equipment description code from the train list is assigned to VID-01-EQUIP-DESC-CDE
R-GCCS358C-cbl-00229 Set Equipment Initial from Train List
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Equipment Initial from Train List' is invoked, and assuming that a vid segment is being created for equipment, when equipment initial needs to be set, the desired outcome is that the equipment initial from the train list is assigned to vid-02-equip-init.
💻 Technical Criteria
Given A VID segment is being created for equipment
When Equipment initial needs to be set
Then The equipment initial from the train list is assigned to VID-02-EQUIP-INIT
R-GCCS358C-cbl-00230 Set Equipment Number from Train List
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Equipment Number from Train List' is invoked, and assuming that a vid segment is being created for equipment, when equipment number needs to be set, the desired outcome is that the equipment number from the train list is assigned to vid-03-equip-num.
💻 Technical Criteria
Given A VID segment is being created for equipment
When Equipment number needs to be set
Then The equipment number from the train list is assigned to VID-03-EQUIP-NUM
R-GCCS358C-cbl-00231 Equipment Marked as Loaded?
Decision Rules
📊 Business Logic Narrative
When the process 'Equipment Marked as Loaded?' is invoked, and assuming that equipment is being processed for vid segment creation, when equipment is marked as loaded and cargo key is present, the desired outcome is that load status is set to 'l' (loaded).
💻 Technical Criteria
Given Equipment is being processed for VID segment creation
When Equipment is marked as loaded AND cargo key is present
Then Load status is set to 'L' (Loaded)
R-GCCS358C-cbl-00232 Set Load Status to 'E'
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Load Status to 'E'', assuming that equipment is being processed for vid segment creation, when equipment is not marked as loaded or cargo key is not present, the desired outcome is that load status is set to 'e' (empty).
💻 Technical Criteria
EXCLUDING Equipment is being processed for VID segment creation
When Equipment is not marked as loaded OR cargo key is not present
Then Load status is set to 'E' (Empty)
R-GCCS358C-cbl-00233 Equipment Marked as Loaded?
Decision Rules
📊 Business Logic Narrative
When the process 'Equipment Marked as Loaded?' is invoked, and assuming that post-emanifest processing is active for equipment, when equipment is marked as loaded or (equipment is empty and cargo key is present), the desired outcome is that load status is set to 'l' (loaded).
💻 Technical Criteria
Given Post-emanifest processing is active for equipment
When Equipment is marked as loaded OR (equipment is empty AND cargo key is present)
Then Load status is set to 'L' (Loaded)
R-GCCS358C-cbl-00235 Set Location ID to '0000'
Decision Rules
📊 Business Logic Narrative
When the process 'Set Location ID to '0000'' is invoked, and assuming that cargo exists for the equipment, when cargo in-transit status is 'r' (received), the desired outcome is that location id is set to '0000'.
💻 Technical Criteria
Given Cargo exists for the equipment
When Cargo in-transit status is 'R' (Received)
Then Location ID is set to '0000'
R-GCCS358C-cbl-00236 Set Location ID to Manifest Code
Decision Rules
📊 Business Logic Narrative
When the process 'Set Location ID to Manifest Code' is invoked, and assuming that cargo exists for the equipment, when cargo in-transit status is 't' (transit), the desired outcome is that location id is set to the manifest-to-trans code from cargo.
💻 Technical Criteria
Given Cargo exists for the equipment
When Cargo in-transit status is 'T' (Transit)
Then Location ID is set to the manifest-to-trans code from cargo
R-GCCS358C-cbl-00237 Set Location ID to Spaces
Decision Rules
📊 Business Logic Narrative
When the process 'Set Location ID to Spaces' is invoked, and assuming that equipment is being processed for location id, when no cargo exists or cargo in-transit status is neither 'r' nor 't', the desired outcome is that location id is set to spaces.
💻 Technical Criteria
Given Equipment is being processed for location ID
When No cargo exists OR cargo in-transit status is neither 'R' nor 'T'
Then Location ID is set to spaces
R-GCCS358C-cbl-00238 Check for Flat Car Configuration
Validation Rules
📊 Business Logic Narrative
When the process 'Check for Flat Car Configuration' is invoked, and assuming that post-emanifest processing is active, when equipment type indicates a possible flat car (bg, ca, et, gs, id, lo, rr, sk, tn), the desired outcome is that system checks subsequent equipment for container types and determines flat car configuration.
💻 Technical Criteria
Given Post-emanifest processing is active
When Equipment type indicates a possible flat car (BG, CA, ET, GS, ID, LO, RR, SK, TN)
Then System checks subsequent equipment for container types and determines flat car configuration
R-GCCS358C-cbl-00239 Process Flat Car and Container Units
Decision Rules
📊 Business Logic Narrative
When the process 'Process Flat Car and Container Units' is invoked, and assuming that equipment is identified as a possible flat car, when subsequent equipment includes loaded containers (cc, ch, cm, cn, cx, cz, ls, ot, pl, pt, rl, rt, tl), the desired outcome is that flat car load status is set to 'l' if any container on the flat car is loaded or has cargo key.
💻 Technical Criteria
Given Equipment is identified as a possible flat car
When Subsequent equipment includes loaded containers (CC, CH, CM, CN, CX, CZ, LS, OT, PL, PT, RL, RT, TL)
Then Flat car load status is set to 'L' if any container on the flat car is loaded or has cargo key
R-GCCS358C-cbl-00240 Insert VID Segment to Database
Action Rules
📊 Business Logic Narrative
When the process 'Insert VID Segment to Database' is invoked, and assuming that vid segment has been fully populated with equipment data, when vid segment is ready for transmission, the desired outcome is that vid segment is inserted into the transmission database for edi processing.
💻 Technical Criteria
Given VID segment has been fully populated with equipment data
When VID segment is ready for transmission
Then VID segment is inserted into the transmission database for EDI processing
R-GCCS358C-cbl-00248 Haulage Rights Exist?
Decision Rules
📊 Business Logic Narrative
When the process 'Haulage Rights Exist?' is invoked, and assuming that equipment has associated cargo being processed for mbl, when the cargo has haulage rights defined, the desired outcome is that the system sets the scac to the haulage rights scac and response code to 'n'.
💻 Technical Criteria
Given Equipment has associated cargo being processed for MBL
When The cargo has haulage rights defined
Then The system sets the SCAC to the haulage rights SCAC and response code to 'N'
R-GCCS358C-cbl-00249 First Equipment and Amendment?
Process Rules
📊 Business Logic Narrative
When the process 'First Equipment and Amendment?' is invoked, and assuming that equipment is being processed in amendment mode, when this is the first equipment item being processed, the desired outcome is that the system creates an m13 amendment segment with amendment code '60'.
💻 Technical Criteria
Given Equipment is being processed in amendment mode
When This is the first equipment item being processed
Then The system creates an M13 amendment segment with amendment code '60'
R-GCCS358C-cbl-00283 Check if Amendment Processing Required
Decision Rules
📊 Business Logic Narrative
When the process 'Check if Amendment Processing Required' is invoked, and assuming that a train manifest is being processed with equipment items, when the system checks if this is the first equipment item (sub-tl = 1) and the amendment flag is set to true, the desired outcome is that amendment processing should be initiated for mbl segment creation.
💻 Technical Criteria
Given A train manifest is being processed with equipment items
When The system checks if this is the first equipment item (SUB-TL = 1) and the amendment flag is set to true
Then Amendment processing should be initiated for MBL segment creation
R-GCCS358C-cbl-00284 First Equipment in List?
Validation Rules
📊 Business Logic Narrative
When the process 'First Equipment in List?' is invoked, and assuming that equipment items are being processed sequentially with a position counter (sub-tl), when the system checks the equipment position counter, the desired outcome is that if sub-tl equals 1, the equipment is identified as the first in the list, otherwise it is not the first.
💻 Technical Criteria
Given Equipment items are being processed sequentially with a position counter (SUB-TL)
When The system checks the equipment position counter
Then If SUB-TL equals 1, the equipment is identified as the first in the list, otherwise it is not the first
R-GCCS358C-cbl-00088 Route to 5040 Version Processing
Action Rules
📊 Business Logic Narrative
When the process 'Route to 5040 Version Processing' is invoked, and assuming that a train manifest processing request is being evaluated for edi version routing, when the post-emanifest flag (gcwb4tl-post-emanifest) is set to true, the desired outcome is that the system routes processing to b231-load-vid-mbl-5040 for enhanced equipment processing with 5040 version capabilities.
💻 Technical Criteria
Given A train manifest processing request is being evaluated for EDI version routing
When The post-emanifest flag (GCWB4TL-POST-EMANIFEST) is set to true
Then The system routes processing to B231-LOAD-VID-MBL-5040 for enhanced equipment processing with 5040 version capabilities
R-GCCS358C-cbl-00089 Route to 4040RAIL Version Processing
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Route to 4040RAIL Version Processing', assuming that a train manifest processing request is being evaluated for edi version routing, when the post-emanifest flag (gcwb4tl-post-emanifest) is not set or is false, the desired outcome is that the system routes processing to b230-load-vid-mbl for standard equipment processing with 4040rail version capabilities.
💻 Technical Criteria
EXCLUDING A train manifest processing request is being evaluated for EDI version routing
When The post-emanifest flag (GCWB4TL-POST-EMANIFEST) is not set or is false
Then The system routes processing to B230-LOAD-VID-MBL for standard equipment processing with 4040RAIL version capabilities
R-GCCS358C-cbl-00090 Process All Equipment in Train List
Process Rules
📊 Business Logic Narrative
When the process 'Process All Equipment in Train List' is invoked, and assuming that the edi version processing route has been determined, when the system begins equipment processing, the desired outcome is that the system iterates through all equipment entries (sub-tl) in the train list until an empty equipment id is encountered, processing each equipment entry using the selected processing method.
💻 Technical Criteria
Given The EDI version processing route has been determined
When The system begins equipment processing
Then The system iterates through all equipment entries (SUB-TL) in the train list until an empty equipment ID is encountered, processing each equipment entry using the selected processing method
R-GCCS358C-cbl-00092 Initialize VID Segment
Process Rules
📊 Business Logic Narrative
When the process 'Initialize VID Segment' is invoked, and assuming that equipment processing is initiated for manifest creation, when a new vid segment needs to be created, the desired outcome is that the system initializes the vid segment and sets the identifier to 'vid'.
💻 Technical Criteria
Given Equipment processing is initiated for manifest creation
When A new VID segment needs to be created
Then The system initializes the VID segment and sets the identifier to 'VID'
R-GCCS358C-cbl-00093 Set Equipment Type from Train List
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Equipment Type from Train List' is invoked, and assuming that a vid segment is being populated for an equipment unit, when equipment type information is available in the train list, the desired outcome is that the system copies the equipment type code from the train list to the vid equipment description code field.
💻 Technical Criteria
Given A VID segment is being populated for an equipment unit
When Equipment type information is available in the train list
Then The system copies the equipment type code from the train list to the VID equipment description code field
R-GCCS358C-cbl-00094 Set Equipment Initial from Train List
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Equipment Initial from Train List' is invoked, and assuming that a vid segment is being populated for an equipment unit, when equipment initial information is available in the train list, the desired outcome is that the system copies the equipment initial from the train list to the vid equipment initial field.
💻 Technical Criteria
Given A VID segment is being populated for an equipment unit
When Equipment initial information is available in the train list
Then The system copies the equipment initial from the train list to the VID equipment initial field
R-GCCS358C-cbl-00095 Set Equipment Number from Train List
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Equipment Number from Train List' is invoked, and assuming that a vid segment is being populated for an equipment unit, when equipment number information is available in the train list, the desired outcome is that the system copies the equipment number from the train list to the vid equipment number field.
💻 Technical Criteria
Given A VID segment is being populated for an equipment unit
When Equipment number information is available in the train list
Then The system copies the equipment number from the train list to the VID equipment number field
R-GCCS358C-cbl-00096 Equipment Marked as Loaded?
Decision Rules
📊 Business Logic Narrative
When the process 'Equipment Marked as Loaded?' is invoked, and assuming that equipment is being processed for manifest creation, when the train list indicates the equipment load status, the desired outcome is that the system sets load status to 'l' if equipment is marked as loaded, otherwise sets status to 'e' for empty.
💻 Technical Criteria
Given Equipment is being processed for manifest creation
When The train list indicates the equipment load status
Then The system sets load status to 'L' if equipment is marked as loaded, otherwise sets status to 'E' for empty
R-GCCS358C-cbl-00099 Cargo In-Transit Status?
Decision Rules
📊 Business Logic Narrative
When the process 'Cargo In-Transit Status?' is invoked, and assuming that equipment has associated cargo with an in-transit status, when the cargo in-transit status is evaluated, the desired outcome is that the system sets location id to '0000' if status is 'r' (received), sets location id to manifest-to-trans-code if status is 't' (in-transit), or sets location id to spaces for any other status.
💻 Technical Criteria
Given Equipment has associated cargo with an in-transit status
When The cargo in-transit status is evaluated
Then The system sets location ID to '0000' if status is 'R' (received), sets location ID to manifest-to-trans-code if status is 'T' (in-transit), or sets location ID to spaces for any other status
R-GCCS358C-cbl-00100 Current Equipment is Flat Car?
Definitional Rules
📊 Business Logic Narrative
When the process 'Current Equipment is Flat Car?' is invoked, and assuming that equipment is being processed for manifest creation, when the equipment type is evaluated, the desired outcome is that the system identifies the equipment as a flat car if the type is bg, ca, et, gs, id, lo, rr, sk, or tn.
💻 Technical Criteria
Given Equipment is being processed for manifest creation
When The equipment type is evaluated
Then The system identifies the equipment as a flat car if the type is BG, CA, ET, GS, ID, LO, RR, SK, or TN
R-GCCS358C-cbl-00101 Next Equipment is Container?
Definitional Rules
📊 Business Logic Narrative
When the process 'Next Equipment is Container?' is invoked, and assuming that current equipment is identified as a flat car type, when the next equipment in the sequence is evaluated, the desired outcome is that the system identifies the next equipment as a container if the type is cc, ch, cm, cn, cx, cz, ls, ot, pl, pt, rl, rt, or tl.
💻 Technical Criteria
Given Current equipment is identified as a flat car type
When The next equipment in the sequence is evaluated
Then The system identifies the next equipment as a container if the type is CC, CH, CM, CN, CX, CZ, LS, OT, PL, PT, RL, RT, or TL
R-GCCS358C-cbl-00102 Store Flat Car VID Data
Process Rules
📊 Business Logic Narrative
When the process 'Store Flat Car VID Data' is invoked, and assuming that current equipment is a flat car and next equipment is a container, when the flat car vid segment is created, the desired outcome is that the system stores the flat car vid segment data and initializes container vid structures for subsequent processing.
💻 Technical Criteria
Given Current equipment is a flat car and next equipment is a container
When The flat car VID segment is created
Then The system stores the flat car VID segment data and initializes container VID structures for subsequent processing
R-GCCS358C-cbl-00103 Current Equipment is Container?
Definitional Rules
📊 Business Logic Narrative
When the process 'Current Equipment is Container?' is invoked, and assuming that equipment is being processed for manifest creation, when the equipment type is evaluated, the desired outcome is that the system identifies the equipment as a container if the type is cc, ch, cm, cn, cx, cz, ls, ot, pl, pt, rl, rt, or tl.
💻 Technical Criteria
Given Equipment is being processed for manifest creation
When The equipment type is evaluated
Then The system identifies the equipment as a container if the type is CC, CH, CM, CN, CX, CZ, LS, OT, PL, PT, RL, RT, or TL
R-GCCS358C-cbl-00104 Create Flat Car VID with Container Location
Process Rules
📊 Business Logic Narrative
When the process 'Create Flat Car VID with Container Location' is invoked, and assuming that current equipment is a container and flat car vid data exists from previous processing, when container vid segment is being created, the desired outcome is that the system creates a flat car vid segment with container location information, then creates the container vid segment, and processes mbl segment if equipment is loaded with cargo.
💻 Technical Criteria
Given Current equipment is a container and flat car VID data exists from previous processing
When Container VID segment is being created
Then The system creates a flat car VID segment with container location information, then creates the container VID segment, and processes MBL segment if equipment is loaded with cargo
R-GCCS358C-cbl-00105 Create Standard VID Segment
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Create Standard VID Segment', assuming that equipment is not part of a flat car-container combination, when vid segment processing is performed, the desired outcome is that the system creates a standard vid segment and processes mbl segment if equipment is loaded with cargo.
💻 Technical Criteria
EXCLUDING Equipment is not part of a flat car-container combination
When VID segment processing is performed
Then The system creates a standard VID segment and processes MBL segment if equipment is loaded with cargo
R-GCCS358C-cbl-00107 More Equipment to Process?
Process Rules
📊 Business Logic Narrative
When the process 'More Equipment to Process?' is invoked, and assuming that current equipment vid processing is complete, when the system checks for additional equipment in the train list, the desired outcome is that the system continues processing the next equipment unit if more equipment exists, otherwise completes vid processing.
💻 Technical Criteria
Given Current equipment VID processing is complete
When The system checks for additional equipment in the train list
Then The system continues processing the next equipment unit if more equipment exists, otherwise completes VID processing
R-GCCS358C-cbl-00251 Is Current Car a Flat Car Type?
Definitional Rules
📊 Business Logic Narrative
When the process 'Is Current Car a Flat Car Type?' is invoked, and assuming that an equipment item with a specific equipment type code, when the equipment type code is bg, ca, et, gs, id, lo, rr, sk, or tn, the desired outcome is that the equipment is classified as a flat car type.
💻 Technical Criteria
Given An equipment item with a specific equipment type code
When The equipment type code is BG, CA, ET, GS, ID, LO, RR, SK, or TN
Then The equipment is classified as a flat car type
R-GCCS358C-cbl-00252 Is Next Car a Container Car Type?
Definitional Rules
📊 Business Logic Narrative
When the process 'Is Next Car a Container Car Type?' is invoked, and assuming that the next equipment item with a specific equipment type code, when the equipment type code is cc, ch, cm, cn, cx, cz, ls, ot, pl, pt, rl, rt, or tl, the desired outcome is that the equipment is classified as a container car type.
💻 Technical Criteria
Given The next equipment item with a specific equipment type code
When The equipment type code is CC, CH, CM, CN, CX, CZ, LS, OT, PL, PT, RL, RT, or TL
Then The equipment is classified as a container car type
R-GCCS358C-cbl-00253 Store Flat Car Information
Process Rules
📊 Business Logic Narrative
When the process 'Store Flat Car Information' is invoked, and assuming that a flat car equipment type followed by a container car equipment type, when the flat car and container car pairing is identified, the desired outcome is that the flat car vid segment is stored for later processing with the container car's location information.
💻 Technical Criteria
Given A flat car equipment type followed by a container car equipment type
When The flat car and container car pairing is identified
Then The flat car VID segment is stored for later processing with the container car's location information
R-GCCS358C-cbl-00254 Create VID Segment for Flat Car
Process Rules
📊 Business Logic Narrative
When the process 'Create VID Segment for Flat Car' is invoked, and assuming that a stored flat car vid segment and a current container car being processed, when the container car is processed and has location information, the desired outcome is that two vid segments are created - one for the flat car using the container's location id and one for the container car.
💻 Technical Criteria
Given A stored flat car VID segment and a current container car being processed
When The container car is processed and has location information
Then Two VID segments are created - one for the flat car using the container's location ID and one for the container car
R-GCCS358C-cbl-00255 Process as Regular Equipment
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Process as Regular Equipment', assuming that an equipment item that is not a flat car followed by a container or a container with stored flat car information, when the equipment is processed individually, the desired outcome is that a single vid segment is created for the equipment and mbl segment is created if the equipment is loaded with cargo.
💻 Technical Criteria
EXCLUDING An equipment item that is not a flat car followed by a container or a container with stored flat car information
When The equipment is processed individually
Then A single VID segment is created for the equipment and MBL segment is created if the equipment is loaded with cargo
R-GCCS358C-cbl-00256 Create MBL Segment if Loaded
Process Rules
📊 Business Logic Narrative
When the process 'Create MBL Segment if Loaded' is invoked, and assuming that equipment in a flat car-container pairing that is loaded and has cargo information, when the equipment vid segments are created for the pairing, the desired outcome is that an mbl segment is created for the loaded equipment with cargo details.
💻 Technical Criteria
Given Equipment in a flat car-container pairing that is loaded and has cargo information
When The equipment VID segments are created for the pairing
Then An MBL segment is created for the loaded equipment with cargo details
R-GCCS358C-cbl-00301 Is Current Equipment a Flat Car?
Definitional Rules
📊 Business Logic Narrative
When the process 'Is Current Equipment a Flat Car?' is invoked, and assuming that equipment processing is in progress and current equipment type is available, when current equipment type is bg, ca, et, gs, id, lo, rr, sk, or tn, the desired outcome is that equipment is classified as a flat car and system proceeds to check for container pairing.
💻 Technical Criteria
Given Equipment processing is in progress and current equipment type is available
When Current equipment type is BG, CA, ET, GS, ID, LO, RR, SK, or TN
Then Equipment is classified as a flat car and system proceeds to check for container pairing
R-GCCS358C-cbl-00302 Is Next Equipment a Container?
Definitional Rules
📊 Business Logic Narrative
When the process 'Is Next Equipment a Container?' is invoked, and assuming that current equipment is identified as a flat car and next equipment type is available, when next equipment type is cc, ch, cm, cn, cx, cz, ls, ot, pl, pt, rl, rt, or tl, the desired outcome is that next equipment is classified as a container and flat car-container pairing is initiated.
💻 Technical Criteria
Given Current equipment is identified as a flat car and next equipment type is available
When Next equipment type is CC, CH, CM, CN, CX, CZ, LS, OT, PL, PT, RL, RT, or TL
Then Next equipment is classified as a container and flat car-container pairing is initiated
R-GCCS358C-cbl-00303 Store Flat Car Information in FLATCAR-VID-SEGMENT
Process Rules
📊 Business Logic Narrative
When the process 'Store Flat Car Information in FLATCAR-VID-SEGMENT' is invoked, and assuming that current equipment is a flat car and next equipment is a container, when flat car-container pairing condition is met, the desired outcome is that current vid segment information is stored in flatcar-vid-segment for later retrieval and container information storage areas are initialized.
💻 Technical Criteria
Given Current equipment is a flat car and next equipment is a container
When Flat car-container pairing condition is met
Then Current VID segment information is stored in FLATCAR-VID-SEGMENT for later retrieval and container information storage areas are initialized
R-GCCS358C-cbl-00304 Is Current Equipment a Container?
Definitional Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is Current Equipment a Container?', assuming that equipment processing is in progress and current equipment is not a flat car, when current equipment type is cc, ch, cm, cn, cx, cz, ls, ot, pl, pt, rl, rt, or tl, the desired outcome is that equipment is classified as a container and system checks for available stored flat car information.
💻 Technical Criteria
EXCLUDING Equipment processing is in progress and current equipment is not a flat car
When Current equipment type is CC, CH, CM, CN, CX, CZ, LS, OT, PL, PT, RL, RT, or TL
Then Equipment is classified as a container and system checks for available stored flat car information
R-GCCS358C-cbl-00305 Is Stored Flat Car Available?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Stored Flat Car Available?' is invoked, and assuming that current equipment is identified as a container, when flatcar-vid-segment contains previously stored flat car information (not equal to spaces), the desired outcome is that stored flat car is available for pairing and container pairing process is initiated.
💻 Technical Criteria
Given Current equipment is identified as a container
When FLATCAR-VID-SEGMENT contains previously stored flat car information (not equal to spaces)
Then Stored flat car is available for pairing and container pairing process is initiated
R-GCCS358C-cbl-00306 Process Flat Car with Container Location
Process Rules
📊 Business Logic Narrative
When the process 'Process Flat Car with Container Location' is invoked, and assuming that stored flat car information is available and current equipment is a container, when container location information is captured and flat car data is retrieved from storage, the desired outcome is that flat car vid segment is processed with container location id and both segments are transmitted as a paired unit.
💻 Technical Criteria
Given Stored flat car information is available and current equipment is a container
When Container location information is captured and flat car data is retrieved from storage
Then Flat car VID segment is processed with container location ID and both segments are transmitted as a paired unit
R-GCCS358C-cbl-00308 Process as Regular Equipment
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Process as Regular Equipment', assuming that equipment does not meet flat car-container pairing criteria, when equipment is not a flat car followed by container, or is not a container with stored flat car, or is at end of equipment list, the desired outcome is that equipment vid segment is transmitted as individual unit and mbl is generated if equipment has loaded cargo.
💻 Technical Criteria
EXCLUDING Equipment does not meet flat car-container pairing criteria
When Equipment is not a flat car followed by container, or is not a container with stored flat car, or is at end of equipment list
Then Equipment VID segment is transmitted as individual unit and MBL is generated if equipment has loaded cargo
R-GCCS358C-cbl-00338 Is Current Equipment a Flat Car?
Definitional Rules
📊 Business Logic Narrative
When the process 'Is Current Equipment a Flat Car?' is invoked, and assuming that an equipment item with a specific equipment type code, when the equipment type code is one of bg, ca, et, gs, id, lo, rr, sk, or tn, the desired outcome is that the equipment is classified as a flat car type.
💻 Technical Criteria
Given An equipment item with a specific equipment type code
When The equipment type code is one of BG, CA, ET, GS, ID, LO, RR, SK, or TN
Then The equipment is classified as a flat car type
R-GCCS358C-cbl-00339 Is Next Equipment a Container?
Definitional Rules
📊 Business Logic Narrative
When the process 'Is Next Equipment a Container?' is invoked, and assuming that an equipment item with a specific equipment type code, when the equipment type code is one of cc, ch, cm, cn, cx, cz, ls, ot, pl, pt, rl, rt, or tl, the desired outcome is that the equipment is classified as a container type.
💻 Technical Criteria
Given An equipment item with a specific equipment type code
When The equipment type code is one of CC, CH, CM, CN, CX, CZ, LS, OT, PL, PT, RL, RT, or TL
Then The equipment is classified as a container type
R-GCCS358C-cbl-00340 Initialize Flat Car VID Segment
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Flat Car VID Segment' is invoked, and assuming that a flat car equipment type is followed by a container equipment type, when the flat car and container pairing is identified, the desired outcome is that initialize flat car vid segment, container vid segment, and container location element to prepare for data storage.
💻 Technical Criteria
Given A flat car equipment type is followed by a container equipment type
When The flat car and container pairing is identified
Then Initialize flat car VID segment, container VID segment, and container location element to prepare for data storage
R-GCCS358C-cbl-00341 Store Current VID as Flat Car
Process Rules
📊 Business Logic Narrative
When the process 'Store Current VID as Flat Car' is invoked, and assuming that a vid segment is populated with current equipment data and flat car pairing is identified, when the current equipment is a flat car type, the desired outcome is that copy the current vid segment data to the flat car vid segment storage.
💻 Technical Criteria
Given A VID segment is populated with current equipment data and flat car pairing is identified
When The current equipment is a flat car type
Then Copy the current VID segment data to the flat car VID segment storage
R-GCCS358C-cbl-00342 Does Flat Car VID Exist?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Does Flat Car VID Exist?', assuming that current equipment is a container type and flat car vid segment storage exists, when the flat car vid segment is not empty, the desired outcome is that process the container as part of a flat car-container pair.
💻 Technical Criteria
EXCLUDING Current equipment is a container type and flat car VID segment storage exists
When The flat car VID segment is not empty
Then Process the container as part of a flat car-container pair
R-GCCS358C-cbl-00343 Initialize Container VID Segment
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Container VID Segment' is invoked, and assuming that a container equipment is being processed and an existing flat car vid segment is available, when container vid segment needs to be paired with flat car, the desired outcome is that initialize container vid segment, store container location id, and prepare for flat car data transfer.
💻 Technical Criteria
Given A container equipment is being processed and an existing flat car VID segment is available
When Container VID segment needs to be paired with flat car
Then Initialize container VID segment, store container location ID, and prepare for flat car data transfer
R-GCCS358C-cbl-00344 Copy Flat Car VID to Current VID
Process Rules
📊 Business Logic Narrative
When the process 'Copy Flat Car VID to Current VID' is invoked, and assuming that flat car vid segment data is stored and container location information is preserved, when processing flat car-container pair, the desired outcome is that copy flat car vid segment data to current vid segment.
💻 Technical Criteria
Given Flat car VID segment data is stored and container location information is preserved
When Processing flat car-container pair
Then Copy flat car VID segment data to current VID segment
R-GCCS358C-cbl-00345 Apply Container Location ID to Flat Car
Process Rules
📊 Business Logic Narrative
When the process 'Apply Container Location ID to Flat Car' is invoked, and assuming that container location id is stored and flat car vid data is in current vid segment, when processing flat car-container pair, the desired outcome is that move the stored container location id to the vid location field.
💻 Technical Criteria
Given Container location ID is stored and flat car VID data is in current VID segment
When Processing flat car-container pair
Then Move the stored container location ID to the VID location field
R-GCCS358C-cbl-00346 Insert Flat Car VID Segment
Action Rules
📊 Business Logic Narrative
When the process 'Insert Flat Car VID Segment' is invoked, and assuming that flat car vid segment is populated with equipment data and container location, when flat car-container pair processing is complete, the desired outcome is that insert the flat car vid segment into the transmission data.
💻 Technical Criteria
Given Flat car VID segment is populated with equipment data and container location
When Flat car-container pair processing is complete
Then Insert the flat car VID segment into the transmission data
R-GCCS358C-cbl-00347 Reset VID to Container Data
Process Rules
📊 Business Logic Narrative
When the process 'Reset VID to Container Data' is invoked, and assuming that flat car vid segment has been inserted and container vid segment data is stored, when processing the container portion of flat car-container pair, the desired outcome is that initialize current vid segment and copy container vid segment data to current vid segment.
💻 Technical Criteria
Given Flat car VID segment has been inserted and container VID segment data is stored
When Processing the container portion of flat car-container pair
Then Initialize current VID segment and copy container VID segment data to current VID segment
R-GCCS358C-cbl-00348 Insert Container VID Segment
Action Rules
📊 Business Logic Narrative
When the process 'Insert Container VID Segment' is invoked, and assuming that container vid segment data is restored to current vid segment, when container portion of flat car-container pair is ready, the desired outcome is that insert the container vid segment into the transmission data.
💻 Technical Criteria
Given Container VID segment data is restored to current VID segment
When Container portion of flat car-container pair is ready
Then Insert the container VID segment into the transmission data
R-GCCS358C-cbl-00351 Last Equipment in List?
Decision Rules
📊 Business Logic Narrative
When the process 'Last Equipment in List?' is invoked, and assuming that equipment processing is in progress with a current subscript position, when the subscript position is less than 999, the desired outcome is that continue processing with flat car-container pairing logic, otherwise process as single equipment.
💻 Technical Criteria
Given Equipment processing is in progress with a current subscript position
When The subscript position is less than 999
Then Continue processing with flat car-container pairing logic, otherwise process as single equipment
R-GCCS358C-cbl-00352 Insert Single VID Segment
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Insert Single VID Segment', assuming that equipment is the last in the list or does not qualify for flat car-container pairing, when vid segment is populated and not empty, the desired outcome is that insert the vid segment into the transmission data.
💻 Technical Criteria
EXCLUDING Equipment is the last in the list or does not qualify for flat car-container pairing
When VID segment is populated and not empty
Then Insert the VID segment into the transmission data
R-GCCS358C-cbl-00358 Set Condition Response Code
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Condition Response Code' is invoked, and assuming that an mbl segment is being populated, when the equipment record contains a condition response code, the desired outcome is that set the mbl condition response code to the equipment's condition response code value.
💻 Technical Criteria
Given An MBL segment is being populated
When The equipment record contains a condition response code
Then Set the MBL condition response code to the equipment's condition response code value
R-GCCS358C-cbl-00361 Haulage Rights Exist?
Decision Rules
📊 Business Logic Narrative
When the process 'Haulage Rights Exist?' is invoked, and assuming that an mbl segment is being processed for cargo, when the cargo has haulage rights defined, the desired outcome is that set scac code to the haulage rights scac and set response code to 'n'.
💻 Technical Criteria
Given An MBL segment is being processed for cargo
When The cargo has haulage rights defined
Then Set SCAC code to the haulage rights SCAC and set response code to 'N'
R-GCCS358C-cbl-00362 First Equipment & Amendment?
Process Rules
📊 Business Logic Narrative
When the process 'First Equipment & Amendment?' is invoked, and assuming that an mbl segment has been processed, when this is the first equipment (sub-tl = 1) and the transaction is an amendment, the desired outcome is that generate an m13 amendment segment with amendment code '60'.
💻 Technical Criteria
Given An MBL segment has been processed
When This is the first equipment (SUB-TL = 1) and the transaction is an amendment
Then Generate an M13 amendment segment with amendment code '60'
R-GCCS358C-cbl-00379 Set Exception Code '08'
Process Rules
📊 Business Logic Narrative
When the process 'Set Exception Code '08'' is invoked, and assuming that a cargo shipment has revenue transit status 'r' and the processing is post-emanifest, when the system processes the mbl segment for this revenue transit cargo, the desired outcome is that the exception code should be set to '08' to indicate post-emanifest revenue transit processing.
💻 Technical Criteria
Given A cargo shipment has revenue transit status 'R' and the processing is post-emanifest
When The system processes the MBL segment for this revenue transit cargo
Then The exception code should be set to '08' to indicate post-emanifest revenue transit processing
R-GCCS358C-cbl-00381 Set Response Code to 'N'
Action Rules
📊 Business Logic Narrative
When the process 'Set Response Code to 'N'' is invoked, and assuming that a cargo shipment with in-transit status 'r' (revenue), when the system processes the mbl segment, the desired outcome is that the yes/no response code should be set to 'n' to indicate negative response.
💻 Technical Criteria
Given A cargo shipment with in-transit status 'R' (Revenue)
When The system processes the MBL segment
Then The yes/no response code should be set to 'N' to indicate negative response
R-GCCS358C-cbl-00108 Initialize VID Segment Structure
Process Rules
📊 Business Logic Narrative
When the process 'Initialize VID Segment Structure' is invoked, and assuming that equipment processing is starting for 5040 version, when vid segment initialization is required, the desired outcome is that vid segment structure is cleared and ready for data population.
💻 Technical Criteria
Given Equipment processing is starting for 5040 version
When VID segment initialization is required
Then VID segment structure is cleared and ready for data population
R-GCCS358C-cbl-00109 Set Equipment Identifier to 'VID'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Equipment Identifier to 'VID'' is invoked, and assuming that vid segment is being created, when equipment identifier needs to be set, the desired outcome is that vid identifier is set to 'vid'.
💻 Technical Criteria
Given VID segment is being created
When Equipment identifier needs to be set
Then VID identifier is set to 'VID'
R-GCCS358C-cbl-00110 Copy Equipment Type from Train List
Process Rules
📊 Business Logic Narrative
When the process 'Copy Equipment Type from Train List' is invoked, and assuming that equipment data exists in train list, when vid segment requires equipment type, the desired outcome is that equipment type is copied from train list vid01 field to vid equipment description code.
💻 Technical Criteria
Given Equipment data exists in train list
When VID segment requires equipment type
Then Equipment type is copied from train list VID01 field to VID equipment description code
R-GCCS358C-cbl-00111 Copy Equipment Initial from Train List
Process Rules
📊 Business Logic Narrative
When the process 'Copy Equipment Initial from Train List' is invoked, and assuming that equipment data exists in train list, when vid segment requires equipment initial, the desired outcome is that equipment initial is copied from train list vid02 field to vid equipment initial.
💻 Technical Criteria
Given Equipment data exists in train list
When VID segment requires equipment initial
Then Equipment initial is copied from train list VID02 field to VID equipment initial
R-GCCS358C-cbl-00112 Copy Equipment Number from Train List
Process Rules
📊 Business Logic Narrative
When the process 'Copy Equipment Number from Train List' is invoked, and assuming that equipment data exists in train list, when vid segment requires equipment number, the desired outcome is that equipment number is copied from train list vid03 field to vid equipment number.
💻 Technical Criteria
Given Equipment data exists in train list
When VID segment requires equipment number
Then Equipment number is copied from train list VID03 field to VID equipment number
R-GCCS358C-cbl-00117 In-Transit Status = 'R'?
Decision Rules
📊 Business Logic Narrative
When the process 'In-Transit Status = 'R'?' is invoked, and assuming that equipment has associated cargo information, when cargo in-transit status is 'r' for refused, the desired outcome is that vid location id is set to '0000'.
💻 Technical Criteria
Given Equipment has associated cargo information
When Cargo in-transit status is 'R' for refused
Then VID location ID is set to '0000'
R-GCCS358C-cbl-00118 In-Transit Status = 'T'?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'In-Transit Status = 'T'?', assuming that equipment has associated cargo information and in-transit status is not 'r', when cargo in-transit status is 't' for transit, the desired outcome is that vid location id is set to manifest-to-trans-code from cargo data.
💻 Technical Criteria
EXCLUDING Equipment has associated cargo information AND in-transit status is not 'R'
When Cargo in-transit status is 'T' for transit
Then VID location ID is set to manifest-to-trans-code from cargo data
R-GCCS358C-cbl-00119 Set Location ID to Spaces
Decision Rules
📊 Business Logic Narrative
When the process 'Set Location ID to Spaces' is invoked, and assuming that equipment has associated cargo information, when cargo in-transit status is neither 'r' nor 't', the desired outcome is that vid location id is set to spaces.
💻 Technical Criteria
Given Equipment has associated cargo information
When Cargo in-transit status is neither 'R' nor 'T'
Then VID location ID is set to spaces
R-GCCS358C-cbl-00120 Check Equipment for Flat Car Processing
Process Rules
📊 Business Logic Narrative
When the process 'Check Equipment for Flat Car Processing' is invoked, and assuming that equipment is identified as a possible flat car type, when flat car processing is initiated, the desired outcome is that system checks subsequent container equipment for load status and updates flat car status accordingly.
💻 Technical Criteria
Given Equipment is identified as a possible flat car type
When Flat car processing is initiated
Then System checks subsequent container equipment for load status and updates flat car status accordingly
R-GCCS358C-cbl-00123 Is Equipment a Flat Car Type?
Definitional Rules
📊 Business Logic Narrative
When the process 'Is Equipment a Flat Car Type?' is invoked, and assuming that an equipment type code is provided, when the equipment type is one of bg, ca, et, gs, id, lo, rr, sk, or tn, the desired outcome is that the equipment is classified as a flat car type.
💻 Technical Criteria
Given An equipment type code is provided
When The equipment type is one of BG, CA, ET, GS, ID, LO, RR, SK, or TN
Then The equipment is classified as a flat car type
R-GCCS358C-cbl-00124 Set Search Position to Next Equipment
Process Rules
📊 Business Logic Narrative
When the process 'Set Search Position to Next Equipment' is invoked, and assuming that a flat car equipment is identified at position sub-tl, when the flat car load search process begins, the desired outcome is that the search position is set to sub-tl + 1 and load found flag is initialized to spaces.
💻 Technical Criteria
Given A flat car equipment is identified at position SUB-TL
When The flat car load search process begins
Then The search position is set to SUB-TL + 1 and load found flag is initialized to spaces
R-GCCS358C-cbl-00125 Is Next Equipment a Container Type?
Definitional Rules
📊 Business Logic Narrative
When the process 'Is Next Equipment a Container Type?' is invoked, and assuming that an equipment type code is being examined, when the equipment type is one of cc, ch, cm, cn, cx, cz, ls, ot, pl, pt, rl, rt, or tl, the desired outcome is that the equipment is classified as a container type.
💻 Technical Criteria
Given An equipment type code is being examined
When The equipment type is one of CC, CH, CM, CN, CX, CZ, LS, OT, PL, PT, RL, RT, or TL
Then The equipment is classified as a container type
R-GCCS358C-cbl-00127 Set Flat Car as Loaded
Decision Rules
📊 Business Logic Narrative
When the process 'Set Flat Car as Loaded' is invoked, and assuming that a flat car has at least one loaded container, when a loaded container is found during the search process, the desired outcome is that the flat car load/empty status is set to 'l' (loaded) and the load found flag is set to true.
💻 Technical Criteria
Given A flat car has at least one loaded container
When A loaded container is found during the search process
Then The flat car load/empty status is set to 'L' (Loaded) and the load found flag is set to true
R-GCCS358C-cbl-00128 More Equipment to Check?
Process Rules
📊 Business Logic Narrative
When the process 'More Equipment to Check?' is invoked, and assuming that the flat car container search is in progress, when the search position is less than or equal to 2500 and the current equipment is still a container type and no loaded container has been found yet, the desired outcome is that continue searching through the next equipment item.
💻 Technical Criteria
Given The flat car container search is in progress
When The search position is less than or equal to 2500 AND the current equipment is still a container type AND no loaded container has been found yet
Then Continue searching through the next equipment item
R-GCCS358C-cbl-00129 Keep Flat Car as Empty
Decision Rules
📊 Business Logic Narrative
When the process 'Keep Flat Car as Empty' is invoked, and assuming that a flat car has been searched for loaded containers, when no loaded containers are found on the flat car, the desired outcome is that the flat car retains its original empty status.
💻 Technical Criteria
Given A flat car has been searched for loaded containers
When No loaded containers are found on the flat car
Then The flat car retains its original empty status
R-GCCS358C-cbl-00131 Set Cargo Available Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Cargo Available Flag' is invoked, and assuming that the system has attempted to retrieve cargo information from the database, when cargo record is successfully found and retrieved, the desired outcome is that the system sets the cargo available flag to true to enable cargo-related processing.
💻 Technical Criteria
Given The system has attempted to retrieve cargo information from the database
When Cargo record is successfully found and retrieved
Then The system sets the cargo available flag to true to enable cargo-related processing
R-GCCS358C-cbl-00133 Generate Error Message
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Error Message' is invoked, and assuming that a database error occurs during cargo information retrieval, when the system cannot access the canadian cargo database or encounters retrieval failures, the desired outcome is that the system generates an error message indicating cargo retrieval failure and terminates processing.
💻 Technical Criteria
Given A database error occurs during cargo information retrieval
When The system cannot access the Canadian cargo database or encounters retrieval failures
Then The system generates an error message indicating cargo retrieval failure and terminates processing
R-GCCS358C-cbl-00134 Equipment Marked as Loaded?
Decision Rules
📊 Business Logic Narrative
When the process 'Equipment Marked as Loaded?' is invoked, and assuming that an equipment item is being processed for manifest transmission, when the equipment load indicator shows loaded status, the desired outcome is that check for cargo documentation to confirm load status.
💻 Technical Criteria
Given An equipment item is being processed for manifest transmission
When The equipment load indicator shows loaded status
Then Check for cargo documentation to confirm load status
R-GCCS358C-cbl-00139 Set Status to 'E' - Empty
Decision Rules
📊 Business Logic Narrative
When the process 'Set Status to 'E' - Empty' is invoked, and assuming that equipment is being processed for manifest transmission, when equipment load indicator shows empty status, the desired outcome is that set equipment status to 'e' for empty.
💻 Technical Criteria
Given Equipment is being processed for manifest transmission
When Equipment load indicator shows empty status
Then Set equipment status to 'E' for empty
R-GCCS358C-cbl-00140 Set Location ID for Equipment - Assign location ID based on cargo in-transit status (0000 for R status, manifest code for T status)
Decision Rules
📊 Business Logic Narrative
When the process 'Set Location ID for Equipment - Assign location ID based on cargo in-transit status (0000 for R status, manifest code for T status)' is invoked, and assuming that an equipment record is being processed for manifest reporting, when the system needs to determine the location id and cargo data is available with in-transit status 'r', the desired outcome is that the location id should be set to '0000'.
💻 Technical Criteria
Given An equipment record is being processed for manifest reporting
When The system needs to determine the location ID and cargo data is available with in-transit status 'R'
Then The location ID should be set to '0000'
R-GCCS358C-cbl-00141 Set Location ID for Equipment - Assign location ID based on cargo in-transit status (0000 for R status, manifest code for T status)
Decision Rules
📊 Business Logic Narrative
When the process 'Set Location ID for Equipment - Assign location ID based on cargo in-transit status (0000 for R status, manifest code for T status)' is invoked, and assuming that an equipment record is being processed for manifest reporting and cargo data is available, when the cargo has in-transit status 't', the desired outcome is that the location id should be set to the manifest transfer code from the cargo data.
💻 Technical Criteria
Given An equipment record is being processed for manifest reporting and cargo data is available
When The cargo has in-transit status 'T'
Then The location ID should be set to the manifest transfer code from the cargo data
R-GCCS358C-cbl-00142 Set Location ID for Equipment - Assign location ID based on cargo in-transit status (0000 for R status, manifest code for T status)
Decision Rules
📊 Business Logic Narrative
When the process 'Set Location ID for Equipment - Assign location ID based on cargo in-transit status (0000 for R status, manifest code for T status)' is invoked, and assuming that an equipment record is being processed for manifest reporting, when either no cargo data is available or the cargo in-transit status is neither 'r' nor 't', the desired outcome is that the location id should be set to spaces (empty).
💻 Technical Criteria
Given An equipment record is being processed for manifest reporting
When Either no cargo data is available or the cargo in-transit status is neither 'R' nor 'T'
Then The location ID should be set to spaces (empty)
R-GCCS358C-cbl-00159 Haulage Rights Exist?
Decision Rules
📊 Business Logic Narrative
When the process 'Haulage Rights Exist?' is invoked, and assuming that equipment has associated cargo being processed for mbl segment, when the cargo has haulage rights with a haulage rights scac code, the desired outcome is that the system overrides the scac code with the haulage rights scac and sets the response code to 'n'.
💻 Technical Criteria
Given Equipment has associated cargo being processed for MBL segment
When The cargo has haulage rights with a haulage rights SCAC code
Then The system overrides the SCAC code with the haulage rights SCAC and sets the response code to 'N'
R-GCCS358C-cbl-00160 First Equipment and Amendment?
Process Rules
📊 Business Logic Narrative
When the process 'First Equipment and Amendment?' is invoked, and assuming that an mbl segment has been processed and inserted, when this is the first equipment item being processed and the transaction is an amendment, the desired outcome is that the system creates an m13 amendment segment with amendment code '60'.
💻 Technical Criteria
Given An MBL segment has been processed and inserted
When This is the first equipment item being processed and the transaction is an amendment
Then The system creates an M13 amendment segment with amendment code '60'
R-GCCS358C-cbl-00259 Haulage Rights Exist?
Decision Rules
📊 Business Logic Narrative
When the process 'Haulage Rights Exist?' is invoked, and assuming that a cargo record that may have haulage rights, when the cargo has haulage rights (gccc-haulage is true), the desired outcome is that set the scac code to the haulage rights scac and override response code to 'n'.
💻 Technical Criteria
Given A cargo record that may have haulage rights
When The cargo has haulage rights (GCCC-HAULAGE is true)
Then Set the SCAC code to the haulage rights SCAC and override response code to 'N'
R-GCCS358C-cbl-00261 Set Exception Code to '08'
Decision Rules
📊 Business Logic Narrative
When the process 'Set Exception Code to '08'' is invoked, and assuming that cargo has revenue transit status 'r' and processing is in post-emanifest mode, when the transaction is post-emanifest (gcwb4tl-post-emanifest is true), the desired outcome is that set mbl exception code to '08'.
💻 Technical Criteria
Given Cargo has revenue transit status 'R' and processing is in post-emanifest mode
When The transaction is post-emanifest (GCWB4TL-POST-EMANIFEST is true)
Then Set MBL exception code to '08'
R-GCCS358C-cbl-00262 Set SCAC to Haulage Rights SCAC
Decision Rules
📊 Business Logic Narrative
When the process 'Set SCAC to Haulage Rights SCAC' is invoked, and assuming that a cargo record with haulage rights information, when the cargo has haulage rights (gccc-haulage is true), the desired outcome is that set mbl scac to the haulage rights scac (gccc-haulage-rights-scac).
💻 Technical Criteria
Given A cargo record with haulage rights information
When The cargo has haulage rights (GCCC-HAULAGE is true)
Then Set MBL SCAC to the haulage rights SCAC (GCCC-HAULAGE-RIGHTS-SCAC)
R-GCCS358C-cbl-00263 Set Response Code to 'N'
Decision Rules
📊 Business Logic Narrative
When the process 'Set Response Code to 'N'' is invoked, and assuming that a cargo record with haulage rights information, when the cargo has haulage rights (gccc-haulage is true), the desired outcome is that set mbl yes-no-resp-code to 'n'.
💻 Technical Criteria
Given A cargo record with haulage rights information
When The cargo has haulage rights (GCCC-HAULAGE is true)
Then Set MBL YES-NO-RESP-CODE to 'N'
R-GCCS358C-cbl-00309 Set Exception Code '08'
Decision Rules
📊 Business Logic Narrative
When the process 'Set Exception Code '08'' is invoked, and assuming that a cargo record exists with in-transit status 'r' and the system is performing post-emanifest processing, when the mbl segment is being created for the cargo, the desired outcome is that the system sets exception code '08' in the mbl segment.
💻 Technical Criteria
Given A cargo record exists with in-transit status 'R' and the system is performing post-emanifest processing
When The MBL segment is being created for the cargo
Then The system sets exception code '08' in the MBL segment
R-GCCS358C-cbl-00311 Continue MBL Processing
Decision Rules
📊 Business Logic Narrative
When the process 'Continue MBL Processing' is invoked, and assuming that a cargo record has in-transit status 'r', when the mbl segment response code is being determined, the desired outcome is that the system sets the yes/no response code to 'n'.
💻 Technical Criteria
Given A cargo record has in-transit status 'R'
When The MBL segment response code is being determined
Then The system sets the yes/no response code to 'N'
R-GCCS358C-cbl-00162 Set SCAC to Haulage Rights SCAC
Decision Rules
📊 Business Logic Narrative
When the process 'Set SCAC to Haulage Rights SCAC' is invoked, and assuming that a cargo record exists with haulage rights information, when the cargo has haulage rights (gccc-haulage is true), the desired outcome is that the mbl scac code should be set to the haulage rights scac code (gccc-haulage-rights-scac).
💻 Technical Criteria
Given A cargo record exists with haulage rights information
When The cargo has haulage rights (GCCC-HAULAGE is true)
Then The MBL SCAC code should be set to the haulage rights SCAC code (GCCC-HAULAGE-RIGHTS-SCAC)
R-GCCS358C-cbl-00163 Set Manual Haulage Indicator to N
Decision Rules
📊 Business Logic Narrative
When the process 'Set Manual Haulage Indicator to N' is invoked, and assuming that a cargo record exists with haulage rights information, when the cargo has haulage rights (gccc-haulage is true), the desired outcome is that the mbl response code should be set to 'n' to indicate manual processing.
💻 Technical Criteria
Given A cargo record exists with haulage rights information
When The cargo has haulage rights (GCCC-HAULAGE is true)
Then The MBL response code should be set to 'N' to indicate manual processing
R-GCCS358C-cbl-00165 Set Response Code to 'N'
Decision Rules
📊 Business Logic Narrative
When the process 'Set Response Code to 'N'' is invoked, and assuming that a cargo record exists with in-transit status, when the cargo in-transit status is 'r' (revenue), the desired outcome is that the response code should be set to 'n'.
💻 Technical Criteria
Given A cargo record exists with in-transit status
When The cargo in-transit status is 'R' (Revenue)
Then The response code should be set to 'N'
R-GCCS358C-cbl-00166 Set Exception Code to '08'
Decision Rules
📊 Business Logic Narrative
When the process 'Set Exception Code to '08'' is invoked, and assuming that a cargo record has revenue in-transit status and the processing is post-emanifest, when the cargo in-transit status is 'r' (revenue) and post-emanifest flag is true, the desired outcome is that the exception code should be set to '08'.
💻 Technical Criteria
Given A cargo record has revenue in-transit status and the processing is post-emanifest
When The cargo in-transit status is 'R' (Revenue) and post-emanifest flag is true
Then The exception code should be set to '08'

Module Tracker: GCCU358T

279 Validations & Rules
Module Objective: No description provided from architecture analysis.
⚙️ General Logic & Formats 12 logic blocks
R-GCCU358T-cbl-00001 1:Validate Foreground/Background Indicator
Validation Rules
📊 Business Logic Narrative
When the process '1:Validate Foreground/Background Indicator' is invoked, and assuming that a train processing request is initiated, when the system checks the processing mode indicator, the desired outcome is that processing continues if mode is foreground or background, otherwise sets wrong indicator error.
💻 Technical Criteria
Given A train processing request is initiated
When The system checks the processing mode indicator
Then Processing continues if mode is foreground or background, otherwise sets wrong indicator error
R-GCCU358T-cbl-00024 Is Mode Foreground?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Mode Foreground?' is invoked, and assuming that a processing request is received with a foreground/background indicator, when the system checks if gcwu358t-foreground is true, the desired outcome is that the system identifies the mode as foreground and allows continued processing.
💻 Technical Criteria
Given A processing request is received with a foreground/background indicator
When The system checks if GCWU358T-FOREGROUND is true
Then The system identifies the mode as foreground and allows continued processing
R-GCCU358T-cbl-00025 Is Mode Background?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is Mode Background?', assuming that a processing request is not in foreground mode, when the system checks if gcwu358t-background is true, the desired outcome is that the system identifies the mode as background and allows continued processing.
💻 Technical Criteria
EXCLUDING A processing request is not in foreground mode
When The system checks if GCWU358T-BACKGROUND is true
Then The system identifies the mode as background and allows continued processing
R-GCCU358T-cbl-00027 Set Wrong FB Indicator Error
Validation Rules
📊 Business Logic Narrative
When the process 'Set Wrong FB Indicator Error' is invoked, and assuming that a processing request is received with an invalid foreground/background indicator, when the processing mode is neither gcwu358t-foreground nor gcwu358t-background, the desired outcome is that the system sets gcwu358t-wrong-fb-ind to true and stops processing.
💻 Technical Criteria
Given A processing request is received with an invalid foreground/background indicator
When The processing mode is neither GCWU358T-FOREGROUND nor GCWU358T-BACKGROUND
Then The system sets GCWU358T-WRONG-FB-IND to TRUE and stops processing
R-GCCU358T-cbl-00033 Initialize BOL Count to Zero
Process Rules
📊 Business Logic Narrative
When the process 'Initialize BOL Count to Zero' is invoked, and assuming that the system is starting to count bills of lading for a train, when the counting process begins, the desired outcome is that the bol counter is set to zero.
💻 Technical Criteria
Given The system is starting to count bills of lading for a train
When The counting process begins
Then The BOL counter is set to zero
R-GCCU358T-cbl-00069 Date Available?
Validation Rules
📊 Business Logic Narrative
When the process 'Date Available?' is invoked, and assuming that the estimated departure date is either spaces or zeros, when the system checks for date availability, the desired outcome is that the century component is set to 0 to indicate no date available.
💻 Technical Criteria
Given The estimated departure date is either spaces or zeros
When The system checks for date availability
Then The century component is set to 0 to indicate no date available
R-GCCU358T-cbl-00077 Set VID Identifier to 'VID'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set VID Identifier to 'VID'' is invoked, and assuming that vid segment is being created, when segment identifier needs to be set, the desired outcome is that vid identifier is set to 'vid'.
💻 Technical Criteria
Given VID segment is being created
When Segment identifier needs to be set
Then VID identifier is set to 'VID'
R-GCCU358T-cbl-00090 SCAC Found and Automated?
Decision Rules
📊 Business Logic Narrative
When the process 'SCAC Found and Automated?' is invoked, and assuming that the system has performed scac table lookup for a carrier, when the scac lookup is successful and the carrier is marked as automated with 'y', the desired outcome is that the system sets the automated carrier response code to 'y'.
💻 Technical Criteria
Given The system has performed SCAC table lookup for a carrier
When The SCAC lookup is successful and the carrier is marked as automated with 'Y'
Then The system sets the automated carrier response code to 'Y'
R-GCCU358T-cbl-00091 Set Automated Carrier = 'N'
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Automated Carrier = 'N'', assuming that the system has performed scac table lookup for a carrier, when the scac lookup fails or the carrier is not marked as automated, the desired outcome is that the system sets the automated carrier response code to 'n'.
💻 Technical Criteria
EXCLUDING The system has performed SCAC table lookup for a carrier
When The SCAC lookup fails or the carrier is not marked as automated
Then The system sets the automated carrier response code to 'N'
R-GCCU358T-cbl-00220 Is Carrier CPRS?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Carrier CPRS?' is invoked, and assuming that a carrier scac code is being processed for mbl segment, when the carrier scac code equals 'cprs', the desired outcome is that set the mbl response code to 'y' for automated processing.
💻 Technical Criteria
Given A carrier SCAC code is being processed for MBL segment
When The carrier SCAC code equals 'CPRS'
Then Set the MBL response code to 'Y' for automated processing
R-GCCU358T-cbl-00195 Set Automated Carrier = 'N'
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Automated Carrier = 'N'', assuming that a carrier scac lookup has been performed, when either the carrier is not found in the scac table or the automated carrier flag is not equal to 'y', the desired outcome is that set the automated carrier response code to 'n' indicating manual processing required.
💻 Technical Criteria
EXCLUDING A carrier SCAC lookup has been performed
When Either the carrier is not found in the SCAC table OR the automated carrier flag is not equal to 'Y'
Then Set the automated carrier response code to 'N' indicating manual processing required
R-GCCU358T-cbl-00248 Set Table ID to 'SS'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Table ID to 'SS'' is invoked, and assuming that a scac table lookup needs to be performed, when the system sets up the table query, the desired outcome is that the table id is set to 'ss' to identify the scac table.
💻 Technical Criteria
Given A SCAC table lookup needs to be performed
When The system sets up the table query
Then The table ID is set to 'SS' to identify the SCAC table

🏷️ CCN & Waybill Identification 23 logic blocks
R-GCCU358T-cbl-00003 3:Count Bills of Lading
Computation Rules
📊 Business Logic Narrative
When the process '3:Count Bills of Lading' is invoked, and assuming that a train has equipment with us ccn keys, when the system evaluates each equipment's cargo type, the desired outcome is that increments bol count if in-bond type is 'tr' or if cargo is export type and port is valid.
💻 Technical Criteria
Given A train has equipment with US CCN keys
When The system evaluates each equipment's cargo type
Then Increments BOL count if in-bond type is 'TR' or if cargo is export type and port is valid
R-GCCU358T-cbl-00011 10:Process Bill of Lading MBL Segments
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '10:Process Bill of Lading MBL Segments', assuming that equipment has associated cargo (us ccn key not spaces), when the system creates mbl segment, the desired outcome is that uses cargo-derived scac and bol for valid ports, otherwise uses train list values, and sets automated response based on scac table lookup or special handling for empty cars with bol type '23'.
💻 Technical Criteria
EXCLUDING Equipment has associated cargo (US CCN key not spaces)
When The system creates MBL segment
Then Uses cargo-derived SCAC and BOL for valid ports, otherwise uses train list values, and sets automated response based on SCAC table lookup or special handling for empty cars with BOL type '23'
R-GCCU358T-cbl-00035 Equipment Has Cargo Key?
Validation Rules
📊 Business Logic Narrative
When the process 'Equipment Has Cargo Key?' is invoked, and assuming that an equipment item is being processed, when checking for associated cargo, the desired outcome is that if the us ccn key is not spaces, the equipment has cargo; otherwise it does not.
💻 Technical Criteria
Given An equipment item is being processed
When Checking for associated cargo
Then If the US CCN key is not spaces, the equipment has cargo; otherwise it does not
R-GCCU358T-cbl-00036 Read Cargo Information from Database
Action Rules
📊 Business Logic Narrative
When the process 'Read Cargo Information from Database' is invoked, and assuming that an equipment item has a valid cargo key, when cargo information is needed, the desired outcome is that the system retrieves cargo details using the us ccn key.
💻 Technical Criteria
Given An equipment item has a valid cargo key
When Cargo information is needed
Then The system retrieves cargo details using the US CCN key
R-GCCU358T-cbl-00202 Get Cargo Information from Database
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Get Cargo Information from Database', assuming that a train equipment has a us ccn key that is not spaces, when the system processes the equipment for cargo validation, the desired outcome is that the system retrieves cargo information from gcsusrt database using the us ccn key.
💻 Technical Criteria
EXCLUDING A train equipment has a US CCN key that is not spaces
When The system processes the equipment for cargo validation
Then The system retrieves cargo information from GCSUSRT database using the US CCN key
R-GCCU358T-cbl-00259 Cargo Qualifies for Export Processing
Computation Rules
📊 Business Logic Narrative
When the process 'Cargo Qualifies for Export Processing' is invoked, and assuming that a cargo record has been evaluated against export criteria, when the cargo meets any of the qualifying conditions (tr in-bond type or valid export types with valid port), the desired outcome is that the bill of lading quantity counter (ws-bol-qte) is incremented by 1 and export train indicator is set if port is valid.
💻 Technical Criteria
Given A cargo record has been evaluated against export criteria
When The cargo meets any of the qualifying conditions (TR in-bond type OR valid export types with valid port)
Then The bill of lading quantity counter (WS-BOL-QTE) is incremented by 1 and export train indicator is set if port is valid
R-GCCU358T-cbl-00060 Set Bill of Lading Quantity
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Bill of Lading Quantity' is invoked, and assuming that an m10 manifest header is being populated with cargo information, when the system sets the quantity field, the desired outcome is that the bill of lading quantity (count of valid cargo entries) is assigned to the m10 quantity field.
💻 Technical Criteria
Given An M10 manifest header is being populated with cargo information
When The system sets the quantity field
Then The bill of lading quantity (count of valid cargo entries) is assigned to the M10 quantity field
R-GCCU358T-cbl-00064 Insert M10 Segment into EDI Transmission
Action Rules
📊 Business Logic Narrative
When the process 'Insert M10 Segment into EDI Transmission' is invoked, and assuming that an m10 manifest header segment has been fully populated with train and cargo information, when the system processes the segment for edi transmission, the desired outcome is that the m10 segment is inserted into the edi transmission data with an incremented sequence number.
💻 Technical Criteria
Given An M10 manifest header segment has been fully populated with train and cargo information
When The system processes the segment for EDI transmission
Then The M10 segment is inserted into the EDI transmission data with an incremented sequence number
R-GCCU358T-cbl-00072 Set Bill of Lading Quantity
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Bill of Lading Quantity' is invoked, and assuming that the system has calculated the total number of valid bills of lading for the train, when the p4 segment quantity field needs to be populated, the desired outcome is that the quantity is set to the calculated bill of lading count.
💻 Technical Criteria
Given The system has calculated the total number of valid bills of lading for the train
When The P4 segment quantity field needs to be populated
Then The quantity is set to the calculated bill of lading count
R-GCCU358T-cbl-00218 Has Cargo AND Current Status = 'E' AND Weight > 1?
Decision Rules
📊 Business Logic Narrative
When the process 'Has Cargo AND Current Status = 'E' AND Weight > 1?' is invoked, and assuming that an equipment piece with cargo information and current load/empty status of 'e' (empty), when the equipment has a us ccn key (cargo exists) and the cargo weight is greater than 1, the desired outcome is that the equipment load/empty status should be overridden to 'l' (loaded).
💻 Technical Criteria
Given An equipment piece with cargo information and current load/empty status of 'E' (Empty)
When The equipment has a US CCN key (cargo exists) and the cargo weight is greater than 1
Then The equipment load/empty status should be overridden to 'L' (Loaded)
R-GCCU358T-cbl-00261 Set Status to 'L' 'Loaded'
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Status to 'L' 'Loaded'', assuming that an equipment piece has cargo associated with it and the train list shows empty status and the equipment's load/empty indicator is not 'h', when the equipment has a us ccn key (cargo present) and the train list load/empty indicator is 'e' (empty) and the cargo weight is greater than 1, the desired outcome is that the equipment's load/empty status code is set to 'l' (loaded).
💻 Technical Criteria
EXCLUDING An equipment piece has cargo associated with it and the train list shows empty status and the equipment's load/empty indicator is not 'H'
When The equipment has a US CCN key (cargo present) and the train list load/empty indicator is 'E' (Empty) and the cargo weight is greater than 1
Then The equipment's load/empty status code is set to 'L' (Loaded)
R-GCCU358T-cbl-00087 Extract SCAC and BOL from Equipment Data
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Extract SCAC and BOL from Equipment Data', assuming that the system is processing mbl segment for cargo equipment, when the port is not valid, the desired outcome is that the system extracts scac code from equipment scac field and bol number from equipment ccn id field.
💻 Technical Criteria
EXCLUDING The system is processing MBL segment for cargo equipment
When The port is not valid
Then The system extracts SCAC code from equipment SCAC field and BOL number from equipment CCN ID field
R-GCCU358T-cbl-00225 Set MBL Response Code to 'Y'
Decision Rules
📊 Business Logic Narrative
When the process 'Set MBL Response Code to 'Y'' is invoked, and assuming that an equipment piece has load/empty status of 'e' and associated cargo with bol type '23', when the equipment has a valid us ccn key, the desired outcome is that set mbl response code to 'y' regardless of carrier automation settings.
💻 Technical Criteria
Given An equipment piece has load/empty status of 'E' and associated cargo with BOL type '23'
When The equipment has a valid US CCN key
Then Set MBL response code to 'Y' regardless of carrier automation settings
R-GCCU358T-cbl-00094 Is Bill Transportation Export?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Bill Transportation Export?' is invoked, and assuming that a cargo record exists with a specific bill of lading type, when the system processes the cargo record and the bill of lading type is transportation export (88-gcusrt-m1201-transp-export condition is true), the desired outcome is that the system should proceed to create an n9 reference segment.
💻 Technical Criteria
Given A cargo record exists with a specific bill of lading type
When The system processes the cargo record and the bill of lading type is transportation export (88-GCUSRT-M1201-TRANSP-EXPORT condition is true)
Then The system should proceed to create an N9 reference segment
R-GCCU358T-cbl-00113 Has Valid Bills of Lading OR Valid Port?
Decision Rules
📊 Business Logic Narrative
When the process 'Has Valid Bills of Lading OR Valid Port?' is invoked, and assuming that a train record with bill of lading count and port validation status, when the system evaluates transmission requirements, the desired outcome is that the system proceeds with edi transmission if bill of lading count is greater than zero or port is valid.
💻 Technical Criteria
Given A train record with bill of lading count and port validation status
When The system evaluates transmission requirements
Then The system proceeds with EDI transmission if bill of lading count is greater than zero OR port is valid
R-GCCU358T-cbl-00146 Has Valid Bills or Valid Port?
Decision Rules
📊 Business Logic Narrative
When the process 'Has Valid Bills or Valid Port?' is invoked, and assuming that date and time have been set for transaction, when message type needs to be determined for logging, the desired outcome is that system should check if bill of lading quantity is greater than zero or if port is valid.
💻 Technical Criteria
Given Date and time have been set for transaction
When Message type needs to be determined for logging
Then System should check if bill of lading quantity is greater than zero or if port is valid
R-GCCU358T-cbl-00176 Set Train ID in Delete Message
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Train ID in Delete Message' is invoked, and assuming that a delete message structure is being prepared, when setting the train identifier in the delete message, the desired outcome is that the train's us customer train id is moved to the gcx112-train-or-us-ccn field.
💻 Technical Criteria
Given A delete message structure is being prepared
When Setting the train identifier in the delete message
Then The train's US customer train ID is moved to the GCX112-TRAIN-OR-US-CCN field
R-GCCU358T-cbl-00184 Retrieve Cargo Record by CCN Key
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Retrieve Cargo Record by CCN Key', assuming that an equipment entry exists with a us ccn key that is not spaces, when the system processes the equipment entry, the desired outcome is that the system retrieves the cargo record using the us ccn key as the search criteria.
💻 Technical Criteria
EXCLUDING An equipment entry exists with a US CCN key that is not spaces
When The system processes the equipment entry
Then The system retrieves the cargo record using the US CCN key as the search criteria
R-GCCU358T-cbl-00185 Cargo Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Cargo Found?' is invoked, and assuming that a cargo record search has been performed using the us ccn key, when the system evaluates the search results, the desired outcome is that the system determines if cargo was found and sets the cargo found indicator accordingly.
💻 Technical Criteria
Given A cargo record search has been performed using the US CCN key
When The system evaluates the search results
Then The system determines if cargo was found and sets the cargo found indicator accordingly
R-GCCU358T-cbl-00191 Is SCAC = 'CPRS'?
Decision Rules
📊 Business Logic Narrative
When the process 'Is SCAC = 'CPRS'?' is invoked, and assuming that a bill of lading is being processed with a carrier scac code, when the scac code equals 'cprs', the desired outcome is that set the automated carrier response code to 'y' indicating automated processing.
💻 Technical Criteria
Given A bill of lading is being processed with a carrier SCAC code
When The SCAC code equals 'CPRS'
Then Set the automated carrier response code to 'Y' indicating automated processing
R-GCCU358T-cbl-00192 Setup SCAC Table Lookup
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Setup SCAC Table Lookup', assuming that a bill of lading is being processed with a non-cprs carrier scac code, when the scac code is not equal to 'cprs', the desired outcome is that initialize scac table lookup parameters with table id 'ss', the carrier scac code, and the origin port code.
💻 Technical Criteria
EXCLUDING A bill of lading is being processed with a non-CPRS carrier SCAC code
When The SCAC code is not equal to 'CPRS'
Then Initialize SCAC table lookup parameters with table ID 'SS', the carrier SCAC code, and the origin port code
R-GCCU358T-cbl-00196 Set Automated Carrier = 'Y'
Policy Rules
📊 Business Logic Narrative
When the process 'Set Automated Carrier = 'Y'' is invoked, and assuming that an equipment piece is being processed with associated cargo information, when the equipment load/empty status is 'e' and there is a us ccn key and the bill of lading type code is '23', the desired outcome is that set the automated carrier response code to 'y' for automated processing.
💻 Technical Criteria
Given An equipment piece is being processed with associated cargo information
When The equipment load/empty status is 'E' AND there is a US CCN key AND the bill of lading type code is '23'
Then Set the automated carrier response code to 'Y' for automated processing
R-GCCU358T-cbl-00198 Has Cargo AND Status = 'E' AND Weight > 1?
Decision Rules
📊 Business Logic Narrative
When the process 'Has Cargo AND Status = 'E' AND Weight > 1?' is invoked, and assuming that an equipment piece has a us ccn key (cargo reference) and the train list shows load/empty status as 'e' (empty), when the associated cargo record shows a weight greater than 1, the desired outcome is that the vid segment load/empty status code is set to 'l' (loaded).
💻 Technical Criteria
Given An equipment piece has a US CCN key (cargo reference) and the train list shows load/empty status as 'E' (Empty)
When The associated cargo record shows a weight greater than 1
Then The VID segment load/empty status code is set to 'L' (Loaded)

💰 Bond & Financial Auth 9 logic blocks
R-GCCU358T-cbl-00016 15:Start EDI Send Function
Action Rules
📊 Business Logic Narrative
When the process '15:Start EDI Send Function' is invoked, and assuming that edi segments have been created successfully, when the system starts edi send function, the desired outcome is that calls edi send function with high-value security and generated transmission number.
💻 Technical Criteria
Given EDI segments have been created successfully
When The system starts EDI send function
Then Calls EDI send function with high-value security and generated transmission number
R-GCCU358T-cbl-00029 Setup SE Table Lookup Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Setup SE Table Lookup Parameters' is invoked, and assuming that a train record requiring station code validation, when the system initiates the se table lookup process, the desired outcome is that the system sets the function code to 'gu', clears all key values and flags, sets table id to 'se', and moves the train's origin station code to the search key field.
💻 Technical Criteria
Given A train record requiring station code validation
When The system initiates the SE table lookup process
Then The system sets the function code to 'GU', clears all key values and flags, sets table ID to 'SE', and moves the train's origin station code to the search key field
R-GCCU358T-cbl-00073 Set Estimated Departure Time
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Estimated Departure Time' is invoked, and assuming that a train has estimated departure time information, when the p4 segment time field needs to be populated, the desired outcome is that the time is set to the train's estimated time of arrival (eta) value.
💻 Technical Criteria
Given A train has estimated departure time information
When The P4 segment time field needs to be populated
Then The time is set to the train's estimated time of arrival (ETA) value
R-GCCU358T-cbl-00074 Set FIRMS Code
Definitional Rules
📊 Business Logic Narrative
When the process 'Set FIRMS Code' is invoked, and assuming that a train has firms code information, when the p4 segment id code field needs to be populated, the desired outcome is that the id code is set to the train's firms code value.
💻 Technical Criteria
Given A train has FIRMS code information
When The P4 segment ID code field needs to be populated
Then The ID code is set to the train's FIRMS code value
R-GCCU358T-cbl-00095 Initialize N9 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Initialize N9 Segment' is invoked, and assuming that the system has determined that an n9 segment needs to be created for a transportation export bill, when the n9 segment processing begins, the desired outcome is that the system should initialize the n9 data structure to clear any previous values.
💻 Technical Criteria
Given The system has determined that an N9 segment needs to be created for a transportation export bill
When The N9 segment processing begins
Then The system should initialize the N9 data structure to clear any previous values
R-GCCU358T-cbl-00096 Set Reference Number Qualifier to 'IB'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Reference Number Qualifier to 'IB'' is invoked, and assuming that an n9 segment is being created for a transportation export bill, when the system populates the reference number qualifier field, the desired outcome is that the reference number qualifier should be set to 'ib' to indicate in-bond reference.
💻 Technical Criteria
Given An N9 segment is being created for a transportation export bill
When The system populates the reference number qualifier field
Then The reference number qualifier should be set to 'IB' to indicate in-bond reference
R-GCCU358T-cbl-00133 Set Security to High Values
Authorization Rules
📊 Business Logic Narrative
When the process 'Set Security to High Values' is invoked, and assuming that the system is preparing an edi transmission, when security parameters need to be established, the desired outcome is that the system sets the security byte to high-values for maximum security.
💻 Technical Criteria
Given The system is preparing an EDI transmission
When Security parameters need to be established
Then The system sets the security byte to HIGH-VALUES for maximum security
R-GCCU358T-cbl-00139 Initialize Security Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Security Parameters' is invoked, and assuming that log update function has been configured, when security parameters need to be established for logging, the desired outcome is that security byte should be set to high-values for secure transaction logging.
💻 Technical Criteria
Given Log update function has been configured
When Security parameters need to be established for logging
Then Security byte should be set to high-values for secure transaction logging
R-GCCU358T-cbl-00177 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 a delete message is being prepared, when setting security authorization for the delete transaction, the desired outcome is that the security byte gcx112-security-byte is set to high-value for maximum authorization.
💻 Technical Criteria
Given A delete message is being prepared
When Setting security authorization for the delete transaction
Then The security byte GCX112-SECURITY-BYTE is set to HIGH-VALUE for maximum authorization

📍 Routing, Border & Port 41 logic blocks
R-GCCU358T-cbl-00002 2:Check Station Code Validity
Validation Rules
📊 Business Logic Narrative
When the process '2:Check Station Code Validity' is invoked, and assuming that a train has an origin station code, when the system looks up the station code in the se table, the desired outcome is that sets valid port flag to true if found, false if not found.
💻 Technical Criteria
Given A train has an origin station code
When The system looks up the station code in the SE table
Then Sets valid port flag to true if found, false if not found
R-GCCU358T-cbl-00004 4:Determine Train Type
Decision Rules
📊 Business Logic Narrative
When the process '4:Determine Train Type' is invoked, and assuming that a train has a valid port and train id, when the system examines position 23 of the train id, the desired outcome is that sets train type to export if position 23 is 't', otherwise sets to transit.
💻 Technical Criteria
Given A train has a valid port and train ID
When The system examines position 23 of the train ID
Then Sets train type to export if position 23 is 'T', otherwise sets to transit
R-GCCU358T-cbl-00005 Valid Bills or Valid Port?
Decision Rules
📊 Business Logic Narrative
When the process 'Valid Bills or Valid Port?' is invoked, and assuming that a train has been validated for processing mode and station code, when the system checks if bol quantity is greater than 0 or if port is valid, the desired outcome is that proceeds with edi processing if either condition is true, otherwise skips to logging.
💻 Technical Criteria
Given A train has been validated for processing mode and station code
When The system checks if BOL quantity is greater than 0 or if port is valid
Then Proceeds with EDI processing if either condition is true, otherwise skips to logging
R-GCCU358T-cbl-00008 7:Build M10 Manifest Header
Process Rules
📊 Business Logic Narrative
When the process '7:Build M10 Manifest Header' is invoked, and assuming that edi root segment has been created and train type determined, when the system builds the m10 segment, the desired outcome is that sets scac to 'cprs', transport type to 'r', country to 'ca', manifest type to 'k' for export trains with valid port or 's' for others, and application type '28' for export trains with valid port.
💻 Technical Criteria
Given EDI root segment has been created and train type determined
When The system builds the M10 segment
Then Sets SCAC to 'CPRS', transport type to 'R', country to 'CA', manifest type to 'K' for export trains with valid port or 'S' for others, and application type '28' for export trains with valid port
R-GCCU358T-cbl-00009 8:Build P4 Port Information
Process Rules
📊 Business Logic Narrative
When the process '8:Build P4 Port Information' is invoked, and assuming that m10 segment has been created, when the system builds the p4 segment, the desired outcome is that includes origin station code, estimated arrival date with century calculation, bol quantity, arrival time, and firms code.
💻 Technical Criteria
Given M10 segment has been created
When The system builds the P4 segment
Then Includes origin station code, estimated arrival date with century calculation, BOL quantity, arrival time, and FIRMS code
R-GCCU358T-cbl-00018 17:Process AEI Train Send
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '17:Process AEI Train Send', assuming that train is in background mode, has ack status, aei send is enabled, edi is not being sent, and train id position 23 is 't', when the system processes aei train send, the desired outcome is that initiates customs transaction with train information for aei processing.
💻 Technical Criteria
EXCLUDING Train is in background mode, has ACK status, AEI send is enabled, EDI is not being sent, and train ID position 23 is 'T'
When The system processes AEI train send
Then Initiates customs transaction with train information for AEI processing
R-GCCU358T-cbl-00028 Check Station Code Validity - Validate the station code against the SE table to determine if it's a valid port
Validation Rules
📊 Business Logic Narrative
When the process 'Check Station Code Validity - Validate the station code against the SE table to determine if it's a valid port' is invoked, and assuming that a train record with an origin station code in field p401-m1302-us-from-sc, when the system performs a lookup in the se table using the station code as the search key, the desired outcome is that the system sets a valid port indicator flag to true if the station code is found in the se table, otherwise sets the flag to false.
💻 Technical Criteria
Given A train record with an origin station code in field P401-M1302-US-FROM-SC
When The system performs a lookup in the SE table using the station code as the search key
Then The system sets a valid port indicator flag to TRUE if the station code is found in the SE table, otherwise sets the flag to FALSE
R-GCCU358T-cbl-00031 Set Valid Port Flag
Decision Rules
📊 Business Logic Narrative
When the process 'Set Valid Port Flag' is invoked, and assuming that an se table lookup has been completed with a return status, when the return flag equals '0' indicating successful record retrieval, the desired outcome is that the system sets the valid port switch to true to indicate the station is a recognized valid port.
💻 Technical Criteria
Given An SE table lookup has been completed with a return status
When The return flag equals '0' indicating successful record retrieval
Then The system sets the valid port switch to TRUE to indicate the station is a recognized valid port
R-GCCU358T-cbl-00032 Set Invalid Port Flag
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Invalid Port Flag', assuming that an se table lookup has been completed with a return status, when the return flag does not equal '0' indicating the record was not found, the desired outcome is that the system sets the valid port switch to false to indicate the station is not a recognized valid port.
💻 Technical Criteria
EXCLUDING An SE table lookup has been completed with a return status
When The return flag does not equal '0' indicating the record was not found
Then The system sets the valid port switch to FALSE to indicate the station is not a recognized valid port
R-GCCU358T-cbl-00252 Valid Port?
Validation Rules
📊 Business Logic Narrative
When the process 'Valid Port?' is invoked, and assuming that a train has an origin station code in p401-m1302-us-from-sc, when the origin station code is found in the se table with successful lookup, the desired outcome is that the port is considered valid and sw-valid-port is set to true.
💻 Technical Criteria
Given A train has an origin station code in P401-M1302-US-FROM-SC
When The origin station code is found in the SE table with successful lookup
Then The port is considered valid and SW-VALID-PORT is set to true
R-GCCU358T-cbl-00042 Check 23rd Character of Train ID
Decision Rules
📊 Business Logic Narrative
When the process 'Check 23rd Character of Train ID' is invoked, and assuming that a train record exists with a valid train id in the train list, when the system examines the 23rd character of the train id (m1005-us-cust-train-id), the desired outcome is that if the 23rd character equals 't', the train is classified as an export train, otherwise it is classified as a transit train.
💻 Technical Criteria
Given A train record exists with a valid train ID in the train list
When The system examines the 23rd character of the train ID (M1005-US-CUST-TRAIN-ID)
Then If the 23rd character equals 'T', the train is classified as an export train, otherwise it is classified as a transit train
R-GCCU358T-cbl-00043 Set Train Type as Export Train
Action Rules
📊 Business Logic Narrative
When the process 'Set Train Type as Export Train' is invoked, and assuming that a train record exists and the system is determining train type for a valid port, when the 23rd character of the train id equals 't', the desired outcome is that the system sets the train type indicator to export train (ws-export-train).
💻 Technical Criteria
Given A train record exists and the system is determining train type for a valid port
When The 23rd character of the train ID equals 'T'
Then The system sets the train type indicator to export train (WS-EXPORT-TRAIN)
R-GCCU358T-cbl-00044 Set Train Type as Transit Train
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Train Type as Transit Train', assuming that a train record exists and the system is determining train type for a valid port, when the 23rd character of the train id does not equal 't', the desired outcome is that the system sets the train type indicator to transit train (ws-transit-train).
💻 Technical Criteria
EXCLUDING A train record exists and the system is determining train type for a valid port
When The 23rd character of the train ID does not equal 'T'
Then The system sets the train type indicator to transit train (WS-TRANSIT-TRAIN)
R-GCCU358T-cbl-00056 Set Standard M10 Fields - Identifier: M10, SCAC: CPRS, Transport Type: R, Country: CA
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Standard M10 Fields - Identifier: M10, SCAC: CPRS, Transport Type: R, Country: CA' is invoked, and assuming that an m10 manifest header segment is being created, when the system sets the standard transport fields, the desired outcome is that the identifier is set to 'm10', scac code is set to 'cprs', transport type code is set to 'r' for rail, and country code is set to 'ca' for canada.
💻 Technical Criteria
Given An M10 manifest header segment is being created
When The system sets the standard transport fields
Then The identifier is set to 'M10', SCAC code is set to 'CPRS', transport type code is set to 'R' for rail, and country code is set to 'CA' for Canada
R-GCCU358T-cbl-00058 Check Train ID Character 23
Decision Rules
📊 Business Logic Narrative
When the process 'Check Train ID Character 23' is invoked, and assuming that a train is being processed for a valid port and train type needs to be determined, when the system examines the 23rd character of the train id, the desired outcome is that if the character is 't' then the train is classified as an export train, otherwise it is classified as a transit train.
💻 Technical Criteria
Given A train is being processed for a valid port and train type needs to be determined
When The system examines the 23rd character of the train ID
Then If the character is 'T' then the train is classified as an export train, otherwise it is classified as a transit train
R-GCCU358T-cbl-00061 Set Manifest Type: K, Application Type: 28
Decision Rules
📊 Business Logic Narrative
When the process 'Set Manifest Type: K, Application Type: 28' is invoked, and assuming that a train is classified as an export train and is being processed for a valid port, when the system determines the manifest type and application type, the desired outcome is that the manifest type code is set to 'k' and the application type is set to '28'.
💻 Technical Criteria
Given A train is classified as an export train and is being processed for a valid port
When The system determines the manifest type and application type
Then The manifest type code is set to 'K' and the application type is set to '28'
R-GCCU358T-cbl-00062 Set Manifest Type: S
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Manifest Type: S', assuming that a train is either not an export train or not processing for a valid port, when the system determines the manifest type, the desired outcome is that the manifest type code is set to 's'.
💻 Technical Criteria
EXCLUDING A train is either not an export train or not processing for a valid port
When The system determines the manifest type
Then The manifest type code is set to 'S'
R-GCCU358T-cbl-00065 Initialize P4 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Initialize P4 Segment' is invoked, and assuming that the system needs to create a p4 port information segment, when the p4 processing begins, the desired outcome is that the p4 segment structure is initialized to clear any previous data.
💻 Technical Criteria
Given The system needs to create a P4 port information segment
When The P4 processing begins
Then The P4 segment structure is initialized to clear any previous data
R-GCCU358T-cbl-00066 Set P4 Identifier
Definitional Rules
📊 Business Logic Narrative
When the process 'Set P4 Identifier' is invoked, and assuming that a p4 segment is being created, when the segment identifier needs to be set, the desired outcome is that the identifier is set to 'p4' to indicate this is a port information segment.
💻 Technical Criteria
Given A P4 segment is being created
When The segment identifier needs to be set
Then The identifier is set to 'P4' to indicate this is a port information segment
R-GCCU358T-cbl-00067 Set Departure Port Location
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Departure Port Location' is invoked, and assuming that a train has an origin station code in the train list, when the p4 segment departure port needs to be populated, the desired outcome is that the departure port location is set to the train's origin station code.
💻 Technical Criteria
Given A train has an origin station code in the train list
When The P4 segment departure port needs to be populated
Then The departure port location is set to the train's origin station code
R-GCCU358T-cbl-00070 Year < 70?
Decision Rules
📊 Business Logic Narrative
When the process 'Year < 70?' is invoked, and assuming that an estimated departure date is available with a two-digit year, when the year portion is less than 70, the desired outcome is that the century is set to 20 to represent years 2000-2069.
💻 Technical Criteria
Given An estimated departure date is available with a two-digit year
When The year portion is less than 70
Then The century is set to 20 to represent years 2000-2069
R-GCCU358T-cbl-00071 Year < 70?
Decision Rules
📊 Business Logic Narrative
When the process 'Year < 70?' is invoked, and assuming that an estimated departure date is available with a two-digit year, when the year portion is 70 or greater, the desired outcome is that the century is set to 19 to represent years 1970-1999.
💻 Technical Criteria
Given An estimated departure date is available with a two-digit year
When The year portion is 70 or greater
Then The century is set to 19 to represent years 1970-1999
R-GCCU358T-cbl-00075 Insert P4 Segment into EDI
Action Rules
📊 Business Logic Narrative
When the process 'Insert P4 Segment into EDI' is invoked, and assuming that a p4 segment has been fully populated with port information, when the segment needs to be added to the edi transmission, the desired outcome is that the p4 segment is inserted into the transmission data structure.
💻 Technical Criteria
Given A P4 segment has been fully populated with port information
When The segment needs to be added to the EDI transmission
Then The P4 segment is inserted into the transmission data structure
R-GCCU358T-cbl-00221 Initialize SCAC Table Key
Process Rules
📊 Business Logic Narrative
When the process 'Initialize SCAC Table Key' is invoked, and assuming that a non-cprs carrier needs automated response determination, when scac table lookup is required, the desired outcome is that initialize the scac table key structure with table id 'ss', carrier scac code, and port code.
💻 Technical Criteria
Given A non-CPRS carrier needs automated response determination
When SCAC table lookup is required
Then Initialize the SCAC table key structure with table ID 'SS', carrier SCAC code, and port code
R-GCCU358T-cbl-00222 Call Table Lookup Function
Action Rules
📊 Business Logic Narrative
When the process 'Call Table Lookup Function' is invoked, and assuming that scac table key is initialized with carrier and port information, when table lookup function is called, the desired outcome is that query the scac table to retrieve carrier automation settings.
💻 Technical Criteria
Given SCAC table key is initialized with carrier and port information
When Table lookup function is called
Then Query the SCAC table to retrieve carrier automation settings
R-GCCU358T-cbl-00223 Automated Carrier = 'Y'?
Decision Rules
📊 Business Logic Narrative
When the process 'Automated Carrier = 'Y'?' is invoked, and assuming that scac table record is found for the carrier and port combination, when the automated carrier flag in the scac record equals 'y', the desired outcome is that set mbl response code to 'y', otherwise set to 'n'.
💻 Technical Criteria
Given SCAC table record is found for the carrier and port combination
When The automated carrier flag in the SCAC record equals 'Y'
Then Set MBL response code to 'Y', otherwise set to 'N'
R-GCCU358T-cbl-00224 SCAC Record Found?
Decision Rules
📊 Business Logic Narrative
When the process 'SCAC Record Found?' is invoked, and assuming that scac table lookup has been executed, when no scac record is found for the carrier and port combination, the desired outcome is that set mbl response code to 'n' for non-automated processing.
💻 Technical Criteria
Given SCAC table lookup has been executed
When No SCAC record is found for the carrier and port combination
Then Set MBL response code to 'N' for non-automated processing
R-GCCU358T-cbl-00266 Move Port Code to Key
Process Rules
📊 Business Logic Narrative
When the process 'Move Port Code to Key' is invoked, and assuming that a train has an origin port code and a scac table lookup key is being prepared, when the system needs to validate carrier automation at a specific port, the desired outcome is that the train's origin port code is copied to the port field in the lookup key.
💻 Technical Criteria
Given A train has an origin port code and a SCAC table lookup key is being prepared
When The system needs to validate carrier automation at a specific port
Then The train's origin port code is copied to the port field in the lookup key
R-GCCU358T-cbl-00102 Set Train Status to SENT
Process Rules
📊 Business Logic Narrative
When the process 'Set Train Status to SENT' is invoked, and assuming that a train has valid bills of lading or operates through a valid port, when the system processes the train for edi transmission, the desired outcome is that the train status is set to sent to indicate successful processing eligibility.
💻 Technical Criteria
Given A train has valid bills of lading or operates through a valid port
When The system processes the train for EDI transmission
Then The train status is set to SENT to indicate successful processing eligibility
R-GCCU358T-cbl-00104 Set Train Status to ACK
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Train Status to ACK', assuming that a train has no valid bills of lading and does not operate through a valid port, when the system evaluates the train for processing, the desired outcome is that the train status is set to ack to indicate acknowledgment without transmission.
💻 Technical Criteria
EXCLUDING A train has no valid bills of lading and does not operate through a valid port
When The system evaluates the train for processing
Then The train status is set to ACK to indicate acknowledgment without transmission
R-GCCU358T-cbl-00114 Set Train Status to SENT Mark for EDI Transmission
Process Rules
📊 Business Logic Narrative
When the process 'Set Train Status to SENT Mark for EDI Transmission' is invoked, and assuming that a train with valid bills of lading or valid port status, when the system determines edi transmission is required, the desired outcome is that the system sets train status to sent and marks train for edi transmission.
💻 Technical Criteria
Given A train with valid bills of lading OR valid port status
When The system determines EDI transmission is required
Then The system sets train status to SENT and marks train for EDI transmission
R-GCCU358T-cbl-00115 Set Train Status to ACK No Transmission Required
Process Rules
📊 Business Logic Narrative
When the process 'Set Train Status to ACK No Transmission Required' is invoked, and assuming that a train with no valid bills of lading and invalid port status, when the system determines no edi transmission is required, the desired outcome is that the system sets train status to ack indicating no transmission required.
💻 Technical Criteria
Given A train with no valid bills of lading AND invalid port status
When The system determines no EDI transmission is required
Then The system sets train status to ACK indicating no transmission required
R-GCCU358T-cbl-00123 Set Train Status to SENT
Process Rules
📊 Business Logic Narrative
When the process 'Set Train Status to SENT' is invoked, and assuming that a train that has valid bills of lading greater than zero or operates through a valid port, when the system processes the train status update, the desired outcome is that the train status is set to sent, edi sending is enabled, and both train list and train root records are updated accordingly.
💻 Technical Criteria
Given A train that has valid bills of lading greater than zero OR operates through a valid port
When The system processes the train status update
Then The train status is set to SENT, EDI sending is enabled, and both train list and train root records are updated accordingly
R-GCCU358T-cbl-00124 Set Train Status to ACK
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Train Status to ACK', assuming that a train that has no valid bills of lading (zero count) and does not operate through a valid port, when the system processes the train status update, the desired outcome is that the train status is set to ack in both train list and train root records.
💻 Technical Criteria
EXCLUDING A train that has no valid bills of lading (zero count) AND does not operate through a valid port
When The system processes the train status update
Then The train status is set to ACK in both train list and train root records
R-GCCU358T-cbl-00147 Set Success Message - Blank
Process Rules
📊 Business Logic Narrative
When the process 'Set Success Message - Blank' is invoked, and assuming that valid bills of lading exist or port is valid, when success message needs to be set, the desired outcome is that log message should be set to blank spaces indicating successful processing.
💻 Technical Criteria
Given Valid bills of lading exist or port is valid
When Success message needs to be set
Then Log message should be set to blank spaces indicating successful processing
R-GCCU358T-cbl-00155 Train ID ends with 'T' Export Train?
Decision Rules
📊 Business Logic Narrative
When the process 'Train ID ends with 'T' Export Train?' is invoked, and assuming that a train has ack status and aei-send flag is true, when the system checks the train type for canadian customs processing, the desired outcome is that the train id must end with 't' at position 23 to be classified as an export train.
💻 Technical Criteria
Given A train has ACK status and AEI-SEND flag is true
When The system checks the train type for Canadian customs processing
Then The train ID must end with 'T' at position 23 to be classified as an export train
R-GCCU358T-cbl-00156 Set Transaction Code GCT1461E
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Transaction Code GCT1461E' is invoked, and assuming that a train qualifies for aei processing (ack status, aei-send true, export train), when the system prepares the canadian customs transaction, the desired outcome is that the transaction code must be set to 'gct1461e'.
💻 Technical Criteria
Given A train qualifies for AEI processing (ACK status, AEI-SEND true, export train)
When The system prepares the Canadian customs transaction
Then The transaction code must be set to 'GCT1461E'
R-GCCU358T-cbl-00157 Set Train Details ID, Stations, Date, Time
Process Rules
📊 Business Logic Narrative
When the process 'Set Train Details ID, Stations, Date, Time' is invoked, and assuming that a canadian customs transaction is being prepared, when the system sets train details for customs processing, the desired outcome is that the system must populate train id, from/to stations, consist number, estimated departure date, and estimated time of arrival.
💻 Technical Criteria
Given A Canadian customs transaction is being prepared
When The system sets train details for customs processing
Then The system must populate train ID, from/to stations, consist number, estimated departure date, and estimated time of arrival
R-GCCU358T-cbl-00163 Write Message to Queue
Action Rules
📊 Business Logic Narrative
When the process 'Write Message to Queue' is invoked, and assuming that the customs transaction has been sent to canadian customs, when the system queues the message for processing, the desired outcome is that the system must write the message to the queue using writmsgl with message code 's'.
💻 Technical Criteria
Given The customs transaction has been sent to Canadian customs
When The system queues the message for processing
Then The system must write the message to the queue using WRITMSGL with message code 'S'
R-GCCU358T-cbl-00193 Lookup SCAC in SS Table by SCAC Code and Port
Action Rules
📊 Business Logic Narrative
When the process 'Lookup SCAC in SS Table by SCAC Code and Port' is invoked, and assuming that scac table lookup parameters are initialized with table id, scac code, and port code, when the scac table lookup is performed, the desired outcome is that retrieve the carrier record from the ss table and determine if the lookup was successful.
💻 Technical Criteria
Given SCAC table lookup parameters are initialized with table ID, SCAC code, and port code
When The SCAC table lookup is performed
Then Retrieve the carrier record from the SS table and determine if the lookup was successful
R-GCCU358T-cbl-00250 Move Port Code to Key
Process Rules
📊 Business Logic Narrative
When the process 'Move Port Code to Key' is invoked, and assuming that a train has an origin port code that needs carrier validation, when the system sets up scac table lookup parameters, the desired outcome is that the train's origin port code is moved to the table lookup key.
💻 Technical Criteria
Given A train has an origin port code that needs carrier validation
When The system sets up SCAC table lookup parameters
Then The train's origin port code is moved to the table lookup key

🔁 EDI, Status & Database 75 logic blocks
R-GCCU358T-cbl-00006 5:Generate Transmission Number
Computation Rules
📊 Business Logic Narrative
When the process '5:Generate Transmission Number' is invoked, and assuming that edi processing is required, when the system generates a transmission number, the desired outcome is that uses prefix 106 for foreground or 003 for background, combined with machine time.
💻 Technical Criteria
Given EDI processing is required
When The system generates a transmission number
Then Uses prefix 106 for foreground or 003 for background, combined with machine time
R-GCCU358T-cbl-00007 6:Create EDI Root Segment
Process Rules
📊 Business Logic Narrative
When the process '6:Create EDI Root Segment' is invoked, and assuming that a unique transmission number has been generated, when the system creates the root segment, the desired outcome is that inserts transmission record with transaction set '358' and generated transmission number.
💻 Technical Criteria
Given A unique transmission number has been generated
When The system creates the root segment
Then Inserts transmission record with transaction set '358' and generated transmission number
R-GCCU358T-cbl-00015 Delete Required?
Decision Rules
📊 Business Logic Narrative
When the process 'Delete Required?' is invoked, and assuming that train status has been set to ack, when the system checks previous edi send flag, the desired outcome is that sets delete required flag if previously marked to send edi, otherwise sets do not send edi flag.
💻 Technical Criteria
Given Train status has been set to ACK
When The system checks previous EDI send flag
Then Sets delete required flag if previously marked to send EDI, otherwise sets do not send EDI flag
R-GCCU358T-cbl-00020 19:Spawn Delete Transaction
Action Rules
📊 Business Logic Narrative
When the process '19:Spawn Delete Transaction' is invoked, and assuming that train has been marked as delete required, when the system spawns delete transaction, the desired outcome is that calls gct1121e transaction with train id and delete action code 'td'.
💻 Technical Criteria
Given Train has been marked as delete required
When The system spawns delete transaction
Then Calls GCT1121E transaction with train ID and delete action code 'TD'
R-GCCU358T-cbl-00022 AEI Train Send Check?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'AEI Train Send Check?', assuming that train processing has completed and edi is not being sent, when the system checks aei train send eligibility, the desired outcome is that proceeds with aei processing if train is in background mode and meets aei criteria.
💻 Technical Criteria
EXCLUDING Train processing has completed and EDI is not being sent
When The system checks AEI train send eligibility
Then Proceeds with AEI processing if train is in background mode and meets AEI criteria
R-GCCU358T-cbl-00030 Query SE Table with Station Code
Action Rules
📊 Business Logic Narrative
When the process 'Query SE Table with Station Code' is invoked, and assuming that se table lookup parameters are properly configured with station code, when the system calls the table access program gcctbio, the desired outcome is that the system executes the query and returns a status code indicating whether the station code was found.
💻 Technical Criteria
Given SE table lookup parameters are properly configured with station code
When The system calls the table access program GCCTBIO
Then The system executes the query and returns a status code indicating whether the station code was found
R-GCCU358T-cbl-00045 Set Prefix to 106 Foreground Mode / Set Prefix to 003 Background Mode
Decision Rules
📊 Business Logic Narrative
When the process 'Set Prefix to 106 Foreground Mode / Set Prefix to 003 Background Mode' is invoked, and assuming that a train manifest processing request is initiated, when the system determines the processing mode (foreground or background), the desired outcome is that the transmission prefix is set to 106 for foreground mode or 003 for background mode.
💻 Technical Criteria
Given A train manifest processing request is initiated
When The system determines the processing mode (foreground or background)
Then The transmission prefix is set to 106 for foreground mode or 003 for background mode
R-GCCU358T-cbl-00046 Get Current Machine Time as Base Number
Computation Rules
📊 Business Logic Narrative
When the process 'Get Current Machine Time as Base Number' is invoked, and assuming that a transmission prefix has been determined, when the system needs to create a unique transmission number, the desired outcome is that the current machine time is retrieved and used as the base number component.
💻 Technical Criteria
Given A transmission prefix has been determined
When The system needs to create a unique transmission number
Then The current machine time is retrieved and used as the base number component
R-GCCU358T-cbl-00047 Combine Prefix + Time to Create Transmission Number
Computation Rules
📊 Business Logic Narrative
When the process 'Combine Prefix + Time to Create Transmission Number' is invoked, and assuming that a transmission prefix and machine time are available, when the system constructs the transmission number, the desired outcome is that the prefix and machine time are combined to form the complete transmission number.
💻 Technical Criteria
Given A transmission prefix and machine time are available
When The system constructs the transmission number
Then The prefix and machine time are combined to form the complete transmission number
R-GCCU358T-cbl-00048 Attempt to Insert Transmission Number
Action Rules
📊 Business Logic Narrative
When the process 'Attempt to Insert Transmission Number' is invoked, and assuming that a complete transmission number has been generated, when the system attempts to insert the transmission record, the desired outcome is that a new transmission record is created with transaction set '358' and the generated transmission number.
💻 Technical Criteria
Given A complete transmission number has been generated
When The system attempts to insert the transmission record
Then A new transmission record is created with transaction set '358' and the generated transmission number
R-GCCU358T-cbl-00049 Number Already Exists? / Increment Number by 1
Validation Rules
📊 Business Logic Narrative
When the process 'Number Already Exists? / Increment Number by 1' is invoked, and assuming that a transmission number has been generated and insertion attempted, when the transmission number already exists in the system, the desired outcome is that the transmission number is incremented by 1 and insertion is attempted again until a unique number is found.
💻 Technical Criteria
Given A transmission number has been generated and insertion attempted
When The transmission number already exists in the system
Then The transmission number is incremented by 1 and insertion is attempted again until a unique number is found
R-GCCU358T-cbl-00050 Set Transmission Prefix to 106 Foreground Mode / Set Transmission Prefix to 003 Background Mode
Decision Rules
📊 Business Logic Narrative
When the process 'Set Transmission Prefix to 106 Foreground Mode / Set Transmission Prefix to 003 Background Mode' is invoked, and assuming that the system is creating an edi root segment, when the processing mode is foreground, the desired outcome is that the transmission prefix is set to 106, and when the processing mode is background, the transmission prefix is set to 003.
💻 Technical Criteria
Given The system is creating an EDI root segment
When The processing mode is foreground
Then The transmission prefix is set to 106, and when the processing mode is background, the transmission prefix is set to 003
R-GCCU358T-cbl-00051 Generate Transmission Number Using Machine Time
Computation Rules
📊 Business Logic Narrative
When the process 'Generate Transmission Number Using Machine Time' is invoked, and assuming that a transmission prefix has been determined based on processing mode, when the system needs to generate a transmission number, the desired outcome is that the machine time is retrieved and combined with the prefix to create the transmission number.
💻 Technical Criteria
Given A transmission prefix has been determined based on processing mode
When The system needs to generate a transmission number
Then The machine time is retrieved and combined with the prefix to create the transmission number
R-GCCU358T-cbl-00052 Initialize Root Segment Structure / Set Transaction Set to 358
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Root Segment Structure / Set Transaction Set to 358' is invoked, and assuming that a transmission number has been generated, when the system initializes the edi root segment, the desired outcome is that the root segment structure is cleared and the transaction set is set to '358'.
💻 Technical Criteria
Given A transmission number has been generated
When The system initializes the EDI root segment
Then The root segment structure is cleared and the transaction set is set to '358'
R-GCCU358T-cbl-00053 Insert Successful? / Increment Transmission Number / Retry Insert with New Number
Process Rules
📊 Business Logic Narrative
When the process 'Insert Successful? / Increment Transmission Number / Retry Insert with New Number' is invoked, and assuming that an edi root segment is ready for insertion into the database, when the insertion fails due to a duplicate transmission number, the desired outcome is that the transmission number is incremented by 1 and the insertion is retried until a unique number is found.
💻 Technical Criteria
Given An EDI root segment is ready for insertion into the database
When The insertion fails due to a duplicate transmission number
Then The transmission number is incremented by 1 and the insertion is retried until a unique number is found
R-GCCU358T-cbl-00054 Insert Root Segment into EDI Database
Action Rules
📊 Business Logic Narrative
When the process 'Insert Root Segment into EDI Database' is invoked, and assuming that the edi root segment is initialized with transmission number and transaction set 358, when the system attempts to insert the root segment, the desired outcome is that the root segment is stored in the edi work database using the transmission number as the key.
💻 Technical Criteria
Given The EDI root segment is initialized with transmission number and transaction set 358
When The system attempts to insert the root segment
Then The root segment is stored in the EDI work database using the transmission number as the key
R-GCCU358T-cbl-00057 Set Train ID as Vessel Name
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Train ID as Vessel Name' is invoked, and assuming that an m10 manifest header is being populated with train information, when the system assigns the vessel name field, the desired outcome is that the customer train id from the train list is copied to the m10 vessel name field.
💻 Technical Criteria
Given An M10 manifest header is being populated with train information
When The system assigns the vessel name field
Then The customer train ID from the train list is copied to the M10 vessel name field
R-GCCU358T-cbl-00059 Generate Voyage Number from Creation Date
Computation Rules
📊 Business Logic Narrative
When the process 'Generate Voyage Number from Creation Date' is invoked, and assuming that an m10 manifest header requires a voyage number, when the system generates the voyage number, the desired outcome is that the first 2 characters are taken from the train creation year and the next 3 characters are taken from the train creation julian date.
💻 Technical Criteria
Given An M10 manifest header requires a voyage number
When The system generates the voyage number
Then The first 2 characters are taken from the train creation year and the next 3 characters are taken from the train creation Julian date
R-GCCU358T-cbl-00063 Set Standard Response Fields - Condition Response: Y, Record Type: TRAIN, Record Number: Train ID
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Standard Response Fields - Condition Response: Y, Record Type: TRAIN, Record Number: Train ID' is invoked, and assuming that an m10 manifest header is being finalized with response information, when the system sets the standard response fields, the desired outcome is that the condition response code is set to 'y', record type is set to 'train', and record number is set to the customer train id.
💻 Technical Criteria
Given An M10 manifest header is being finalized with response information
When The system sets the standard response fields
Then The condition response code is set to 'Y', record type is set to 'TRAIN', and record number is set to the customer train ID
R-GCCU358T-cbl-00214 Extract Year from Creation Date GCWTL-CREATION-YYMMDD positions 1-2
Computation Rules
📊 Business Logic Narrative
When the process 'Extract Year from Creation Date GCWTL-CREATION-YYMMDD positions 1-2' is invoked, and assuming that a train record exists with a creation date in yymmdd format, when the system processes the train for voyage number generation, the desired outcome is that the first two characters (year) from the creation date should be extracted and stored as the first part of the voyage number.
💻 Technical Criteria
Given A train record exists with a creation date in YYMMDD format
When The system processes the train for voyage number generation
Then The first two characters (year) from the creation date should be extracted and stored as the first part of the voyage number
R-GCCU358T-cbl-00215 Extract Julian Date from Train Creation Date GCWTL-US-TRAIN-CREAT-JDATE positions 2-4
Computation Rules
📊 Business Logic Narrative
When the process 'Extract Julian Date from Train Creation Date GCWTL-US-TRAIN-CREAT-JDATE positions 2-4' is invoked, and assuming that a train record exists with a julian creation date, when the system processes the train for voyage number generation, the desired outcome is that characters 2-4 from the julian creation date should be extracted and stored as the second part of the voyage number.
💻 Technical Criteria
Given A train record exists with a Julian creation date
When The system processes the train for voyage number generation
Then Characters 2-4 from the Julian creation date should be extracted and stored as the second part of the voyage number
R-GCCU358T-cbl-00216 Combine Year and Julian Date to form 5-character Voyage Number
Computation Rules
📊 Business Logic Narrative
When the process 'Combine Year and Julian Date to form 5-character Voyage Number' is invoked, and assuming that year component has been extracted from creation date and julian date component has been extracted from train creation date, when the system combines these components for voyage number generation, the desired outcome is that the year (2 characters) and julian date (3 characters) should be concatenated to form a 5-character voyage number and stored in the m10 flight voyage number field.
💻 Technical Criteria
Given Year component has been extracted from creation date and Julian date component has been extracted from train creation date
When The system combines these components for voyage number generation
Then The year (2 characters) and Julian date (3 characters) should be concatenated to form a 5-character voyage number and stored in the M10 flight voyage number field
R-GCCU358T-cbl-00068 Get Estimated Departure Date
Definitional Rules
📊 Business Logic Narrative
When the process 'Get Estimated Departure Date' is invoked, and assuming that a train has estimated departure date information, when the p4 segment date field needs to be populated, the desired outcome is that the estimated departure date is extracted from the train's eda field.
💻 Technical Criteria
Given A train has estimated departure date information
When The P4 segment date field needs to be populated
Then The estimated departure date is extracted from the train's EDA field
R-GCCU358T-cbl-00088 SCAC = 'CPRS'?
Decision Rules
📊 Business Logic Narrative
When the process 'SCAC = 'CPRS'?' is invoked, and assuming that the system is processing mbl segment with scac code information, when the scac code equals 'cprs', the desired outcome is that the system sets the automated carrier response code to 'y'.
💻 Technical Criteria
Given The system is processing MBL segment with SCAC code information
When The SCAC code equals 'CPRS'
Then The system sets the automated carrier response code to 'Y'
R-GCCU358T-cbl-00093 Insert MBL Segment to EDI
Process Rules
📊 Business Logic Narrative
When the process 'Insert MBL Segment to EDI' is invoked, and assuming that the system has completed processing mbl segment with all required data, when the mbl segment is ready for transmission, the desired outcome is that the system moves the mbl segment to transmission data and inserts it into the edi stream.
💻 Technical Criteria
Given The system has completed processing MBL segment with all required data
When The MBL segment is ready for transmission
Then The system moves the MBL segment to transmission data and inserts it into the EDI stream
R-GCCU358T-cbl-00263 Clear SCAC Table Key Structure
Process Rules
📊 Business Logic Narrative
When the process 'Clear SCAC Table Key Structure' is invoked, and assuming that a scac table key structure exists for carrier validation lookup, when the system needs to prepare the key structure for a new lookup operation, the desired outcome is that all fields in the scac table key structure are cleared to spaces.
💻 Technical Criteria
Given A SCAC table key structure exists for carrier validation lookup
When The system needs to prepare the key structure for a new lookup operation
Then All fields in the SCAC table key structure are cleared to spaces
R-GCCU358T-cbl-00264 Set Table ID to 'SS'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Table ID to 'SS'' is invoked, and assuming that a scac table lookup operation is being prepared, when the system needs to specify which table to query, the desired outcome is that the table id is set to 'ss' to identify the scac table.
💻 Technical Criteria
Given A SCAC table lookup operation is being prepared
When The system needs to specify which table to query
Then The table ID is set to 'SS' to identify the SCAC table
R-GCCU358T-cbl-00098 Insert N9 Segment into EDI Data
Action Rules
📊 Business Logic Narrative
When the process 'Insert N9 Segment into EDI Data' is invoked, and assuming that an n9 segment has been fully populated with reference qualifier and entry number, when the system processes the completed n9 segment, the desired outcome is that the n9 segment should be moved to the transmission data area and inserted into the edi data stream.
💻 Technical Criteria
Given An N9 segment has been fully populated with reference qualifier and entry number
When The system processes the completed N9 segment
Then The N9 segment should be moved to the transmission data area and inserted into the EDI data stream
R-GCCU358T-cbl-00099 Retrieve Train Record
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Train Record' is invoked, and assuming that a train id exists in the system, when the system needs to update train status, the desired outcome is that the train record is retrieved using the train id as the key.
💻 Technical Criteria
Given A train ID exists in the system
When The system needs to update train status
Then The train record is retrieved using the train ID as the key
R-GCCU358T-cbl-00100 Train Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Train Found?' is invoked, and assuming that a train retrieval operation has been performed, when the system checks if the train record was found, the desired outcome is that processing continues only if the train record exists, otherwise the process terminates.
💻 Technical Criteria
Given A train retrieval operation has been performed
When The system checks if the train record was found
Then Processing continues only if the train record exists, otherwise the process terminates
R-GCCU358T-cbl-00103 Set Train Send EDI Flag to TRUE
Process Rules
📊 Business Logic Narrative
When the process 'Set Train Send EDI Flag to TRUE' is invoked, and assuming that a train status has been set to sent, when the system configures transmission settings, the desired outcome is that the edi send flag is set to true to enable electronic data interchange transmission.
💻 Technical Criteria
Given A train status has been set to SENT
When The system configures transmission settings
Then The EDI send flag is set to TRUE to enable electronic data interchange transmission
R-GCCU358T-cbl-00105 Previously Marked to Send?
Decision Rules
📊 Business Logic Narrative
When the process 'Previously Marked to Send?' is invoked, and assuming that a train status has been set to ack, when the system determines final edi configuration, the desired outcome is that the system checks if the train was previously marked to send edi transmissions.
💻 Technical Criteria
Given A train status has been set to ACK
When The system determines final EDI configuration
Then The system checks if the train was previously marked to send EDI transmissions
R-GCCU358T-cbl-00106 Set Delete Required Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Delete Required Flag' is invoked, and assuming that a train status is ack and the train was previously marked to send edi, when the system finalizes train disposition, the desired outcome is that the delete required flag is set to true to trigger train record cleanup.
💻 Technical Criteria
Given A train status is ACK and the train was previously marked to send EDI
When The system finalizes train disposition
Then The delete required flag is set to TRUE to trigger train record cleanup
R-GCCU358T-cbl-00107 Set Do Not Send EDI Flag
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Do Not Send EDI Flag', assuming that a train status is ack and the train was not previously marked to send edi, when the system finalizes edi configuration, the desired outcome is that the do not send edi flag is set to true to prevent transmission attempts.
💻 Technical Criteria
EXCLUDING A train status is ACK and the train was not previously marked to send EDI
When The system finalizes EDI configuration
Then The do not send EDI flag is set to TRUE to prevent transmission attempts
R-GCCU358T-cbl-00108 Update Train Record
Action Rules
📊 Business Logic Narrative
When the process 'Update Train Record' is invoked, and assuming that train status and edi flags have been determined, when the system completes status processing, the desired outcome is that all changes are saved to the train record in the database.
💻 Technical Criteria
Given Train status and EDI flags have been determined
When The system completes status processing
Then All changes are saved to the train record in the database
R-GCCU358T-cbl-00109 Delete Required?
Decision Rules
📊 Business Logic Narrative
When the process 'Delete Required?' is invoked, and assuming that train record has been updated with new status and flags, when the system checks for additional processing requirements, the desired outcome is that deletion process is triggered only if the delete required flag is set to true.
💻 Technical Criteria
Given Train record has been updated with new status and flags
When The system checks for additional processing requirements
Then Deletion process is triggered only if the delete required flag is set to TRUE
R-GCCU358T-cbl-00110 Trigger Train Deletion Process
Action Rules
📊 Business Logic Narrative
When the process 'Trigger Train Deletion Process' is invoked, and assuming that a train has been marked with delete required flag set to true, when the system processes deletion requirements, the desired outcome is that the train deletion process is initiated by calling the appropriate deletion program.
💻 Technical Criteria
Given A train has been marked with delete required flag set to TRUE
When The system processes deletion requirements
Then The train deletion process is initiated by calling the appropriate deletion program
R-GCCU358T-cbl-00111 Retrieve Train Record from Database
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Train Record from Database' is invoked, and assuming that a train processing request with customer train id, when the system needs to update train status, the desired outcome is that the system retrieves the train record from database using the customer train id.
💻 Technical Criteria
Given A train processing request with customer train ID
When The system needs to update train status
Then The system retrieves the train record from database using the customer train ID
R-GCCU358T-cbl-00112 Train Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Train Found?' is invoked, and assuming that a database lookup for train record has been performed, when the system checks if train record was found, the desired outcome is that the system continues processing if train found, otherwise exits the process.
💻 Technical Criteria
Given A database lookup for train record has been performed
When The system checks if train record was found
Then The system continues processing if train found, otherwise exits the process
R-GCCU358T-cbl-00116 Was Train Previously Marked for EDI Send?
Decision Rules
📊 Business Logic Narrative
When the process 'Was Train Previously Marked for EDI Send?' is invoked, and assuming that a train with ack status that requires no edi transmission, when the system evaluates previous edi send configuration, the desired outcome is that the system checks if train was previously marked to send edi.
💻 Technical Criteria
Given A train with ACK status that requires no EDI transmission
When The system evaluates previous EDI send configuration
Then The system checks if train was previously marked to send EDI
R-GCCU358T-cbl-00117 Mark Train for Deletion Set DELETE-REQUIRED Flag
Process Rules
📊 Business Logic Narrative
When the process 'Mark Train for Deletion Set DELETE-REQUIRED Flag' is invoked, and assuming that a train with ack status that was previously marked for edi send, when the system determines train configuration has changed, the desired outcome is that the system sets delete-required flag to mark train for deletion process.
💻 Technical Criteria
Given A train with ACK status that was previously marked for EDI send
When The system determines train configuration has changed
Then The system sets DELETE-REQUIRED flag to mark train for deletion process
R-GCCU358T-cbl-00118 Set Train to DO-NOT-SEND-EDI
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Train to DO-NOT-SEND-EDI', assuming that a train with ack status that was never previously marked for edi send, when the system determines train should not send edi, the desired outcome is that the system sets train configuration to do-not-send-edi.
💻 Technical Criteria
EXCLUDING A train with ACK status that was never previously marked for EDI send
When The system determines train should not send EDI
Then The system sets train configuration to DO-NOT-SEND-EDI
R-GCCU358T-cbl-00119 Update Train Record in Database
Action Rules
📊 Business Logic Narrative
When the process 'Update Train Record in Database' is invoked, and assuming that a train record with updated status and configuration flags, when the system completes status determination logic, the desired outcome is that the system updates the train record in the database with new status and flags.
💻 Technical Criteria
Given A train record with updated status and configuration flags
When The system completes status determination logic
Then The system updates the train record in the database with new status and flags
R-GCCU358T-cbl-00120 Train Marked for Deletion?
Decision Rules
📊 Business Logic Narrative
When the process 'Train Marked for Deletion?' is invoked, and assuming that a train record that has been updated in the database, when the system evaluates post-update processing requirements, the desired outcome is that the system checks if train has delete-required flag set.
💻 Technical Criteria
Given A train record that has been updated in the database
When The system evaluates post-update processing requirements
Then The system checks if train has DELETE-REQUIRED flag set
R-GCCU358T-cbl-00121 Trigger Train Deletion Process
Action Rules
📊 Business Logic Narrative
When the process 'Trigger Train Deletion Process' is invoked, and assuming that a train record marked with delete-required flag, when the system determines deletion process is needed, the desired outcome is that the system triggers external train deletion process.
💻 Technical Criteria
Given A train record marked with DELETE-REQUIRED flag
When The system determines deletion process is needed
Then The system triggers external train deletion process
R-GCCU358T-cbl-00126 Mark Train for Deletion Required
Process Rules
📊 Business Logic Narrative
When the process 'Mark Train for Deletion Required' is invoked, and assuming that a train with ack status that was previously configured to send edi, when the system updates the train's edi configuration, the desired outcome is that the train is marked as deletion required in both train list and train root records.
💻 Technical Criteria
Given A train with ACK status that was previously configured to send EDI
When The system updates the train's EDI configuration
Then The train is marked as deletion required in both train list and train root records
R-GCCU358T-cbl-00127 Set Train to Do Not Send EDI
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Train to Do Not Send EDI', assuming that a train with ack status that was not previously configured to send edi, when the system updates the train's edi configuration, the desired outcome is that the train is marked as do not send edi in both train list and train root records.
💻 Technical Criteria
EXCLUDING A train with ACK status that was not previously configured to send EDI
When The system updates the train's EDI configuration
Then The train is marked as do not send EDI in both train list and train root records
R-GCCU358T-cbl-00128 Update Train Status in Database
Action Rules
📊 Business Logic Narrative
When the process 'Update Train Status in Database' is invoked, and assuming that a train with updated status and edi configuration settings, when the system performs the database update operation, the desired outcome is that the train root segment is replaced in the database with the new status information.
💻 Technical Criteria
Given A train with updated status and EDI configuration settings
When The system performs the database update operation
Then The train root segment is replaced in the database with the new status information
R-GCCU358T-cbl-00129 Is Delete Required?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Delete Required?' is invoked, and assuming that a train that has been updated with new status information, when the system evaluates the train's deletion requirement flag, the desired outcome is that the system determines whether deletion cleanup processes need to be initiated.
💻 Technical Criteria
Given A train that has been updated with new status information
When The system evaluates the train's deletion requirement flag
Then The system determines whether deletion cleanup processes need to be initiated
R-GCCU358T-cbl-00130 Trigger Train Deletion Process
Action Rules
📊 Business Logic Narrative
When the process 'Trigger Train Deletion Process' is invoked, and assuming that a train that has been marked as deletion required, when the system initiates cleanup processes, the desired outcome is that the gct1121e deletion process is spawned to handle removal of associated edi transmission records.
💻 Technical Criteria
Given A train that has been marked as deletion required
When The system initiates cleanup processes
Then The GCT1121E deletion process is spawned to handle removal of associated EDI transmission records
R-GCCU358T-cbl-00131 Set EDI Send Function Name
Action Rules
📊 Business Logic Narrative
When the process 'Set EDI Send Function Name' is invoked, and assuming that the system needs to initiate edi transmission processing, when the edi send function process is started, the desired outcome is that the system sets the edi send function name identifier to true.
💻 Technical Criteria
Given The system needs to initiate EDI transmission processing
When The EDI send function process is started
Then The system sets the EDI send function name identifier to TRUE
R-GCCU358T-cbl-00132 Change to EDI Send Function
Process Rules
📊 Business Logic Narrative
When the process 'Change to EDI Send Function' is invoked, and assuming that the edi send function name has been set, when the system needs to change processing context, the desired outcome is that the system performs the function change operation to switch to edi send context.
💻 Technical Criteria
Given The EDI send function name has been set
When The system needs to change processing context
Then The system performs the function change operation to switch to EDI send context
R-GCCU358T-cbl-00134 Set Transmission Number
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Transmission Number' is invoked, and assuming that a transmission number has been generated during root processing, when the edi message is being prepared for transmission, the desired outcome is that the system assigns the working storage transmission number to the edi message transmission number field.
💻 Technical Criteria
Given A transmission number has been generated during root processing
When The EDI message is being prepared for transmission
Then The system assigns the working storage transmission number to the EDI message transmission number field
R-GCCU358T-cbl-00135 Prepare EDI Send Message
Process Rules
📊 Business Logic Narrative
When the process 'Prepare EDI Send Message' is invoked, and assuming that the transmission number and security parameters have been set, when the edi message needs to be formatted for transmission, the desired outcome is that the system moves the edi input structure to the message output text field.
💻 Technical Criteria
Given The transmission number and security parameters have been set
When The EDI message needs to be formatted for transmission
Then The system moves the EDI input structure to the message output text field
R-GCCU358T-cbl-00136 Set Message Length
Validation Rules
📊 Business Logic Narrative
When the process 'Set Message Length' is invoked, and assuming that the edi message has been prepared, when the message length needs to be established, the desired outcome is that the system sets the edi send function length indicator to true.
💻 Technical Criteria
Given The EDI message has been prepared
When The message length needs to be established
Then The system sets the EDI send function length indicator to TRUE
R-GCCU358T-cbl-00137 Insert and Purge Message
Action Rules
📊 Business Logic Narrative
When the process 'Insert and Purge Message' is invoked, and assuming that the edi message is properly formatted with correct length and security, when the message is ready for transmission, the desired outcome is that the system performs the insert and purge message operation to complete the edi transmission.
💻 Technical Criteria
Given The EDI message is properly formatted with correct length and security
When The message is ready for transmission
Then The system performs the insert and purge message operation to complete the EDI transmission
R-GCCU358T-cbl-00138 Set Log Update Function Name
Action Rules
📊 Business Logic Narrative
When the process 'Set Log Update Function Name' is invoked, and assuming that the system needs to log transaction activity, when log transaction activity process is initiated, the desired outcome is that the log update function name should be set to enable proper logging functionality.
💻 Technical Criteria
Given The system needs to log transaction activity
When Log transaction activity process is initiated
Then The log update function name should be set to enable proper logging functionality
R-GCCU358T-cbl-00140 Set Train ID for Logging
Process Rules
📊 Business Logic Narrative
When the process 'Set Train ID for Logging' is invoked, and assuming that security parameters have been initialized, when train identification is required for logging, the desired outcome is that the train id from the train list should be assigned to the log entry and train type indicator should be set.
💻 Technical Criteria
Given Security parameters have been initialized
When Train identification is required for logging
Then The train ID from the train list should be assigned to the log entry and train type indicator should be set
R-GCCU358T-cbl-00141 Processing Mode?
Decision Rules
📊 Business Logic Narrative
When the process 'Processing Mode?' is invoked, and assuming that train id has been set for logging, when processing mode needs to be determined, the desired outcome is that system should check if transaction is running in foreground mode or background mode.
💻 Technical Criteria
Given Train ID has been set for logging
When Processing mode needs to be determined
Then System should check if transaction is running in foreground mode or background mode
R-GCCU358T-cbl-00142 Set Foreground Action Code and Transaction Name
Process Rules
📊 Business Logic Narrative
When the process 'Set Foreground Action Code and Transaction Name' is invoked, and assuming that processing mode has been determined as foreground, when foreground processing parameters need to be set, the desired outcome is that foreground action code should be assigned to the log entry and foreground transaction name should be set.
💻 Technical Criteria
Given Processing mode has been determined as foreground
When Foreground processing parameters need to be set
Then Foreground action code should be assigned to the log entry and foreground transaction name should be set
R-GCCU358T-cbl-00143 Set Background Action Code and Transaction Name
Process Rules
📊 Business Logic Narrative
When the process 'Set Background Action Code and Transaction Name' is invoked, and assuming that processing mode has been determined as background, when background processing parameters need to be set, the desired outcome is that background action code should be assigned to the log entry and background transaction name should be set.
💻 Technical Criteria
Given Processing mode has been determined as background
When Background processing parameters need to be set
Then Background action code should be assigned to the log entry and background transaction name should be set
R-GCCU358T-cbl-00144 Set User ID from System
Process Rules
📊 Business Logic Narrative
When the process 'Set User ID from System' is invoked, and assuming that processing mode parameters have been set, when user identification is required for audit trail, the desired outcome is that current user id from system should be assigned to the log entry.
💻 Technical Criteria
Given Processing mode parameters have been set
When User identification is required for audit trail
Then Current user ID from system should be assigned to the log entry
R-GCCU358T-cbl-00145 Set Current Date and Time
Process Rules
📊 Business Logic Narrative
When the process 'Set Current Date and Time' is invoked, and assuming that user id has been set for audit trail, when transaction timestamp is required, the desired outcome is that current system date should be formatted and assigned to log entry and current system time should be assigned to log entry.
💻 Technical Criteria
Given User ID has been set for audit trail
When Transaction timestamp is required
Then Current system date should be formatted and assigned to log entry and current system time should be assigned to log entry
R-GCCU358T-cbl-00152 Send Log Message to System
Action Rules
📊 Business Logic Narrative
When the process 'Send Log Message to System' is invoked, and assuming that log message has been prepared with appropriate content, when log message needs to be sent to system, the desired outcome is that log input should be moved to message output and log update function length should be set and message should be sent via purge message process.
💻 Technical Criteria
Given Log message has been prepared with appropriate content
When Log message needs to be sent to system
Then Log input should be moved to message output and log update function length should be set and message should be sent via purge message process
R-GCCU358T-cbl-00153 Train Status is ACK?
Validation Rules
📊 Business Logic Narrative
When the process 'Train Status is ACK?' is invoked, and assuming that a train record exists in the system, when the system checks the train status for aei processing eligibility, the desired outcome is that the train must have ack status to proceed with aei processing.
💻 Technical Criteria
Given A train record exists in the system
When The system checks the train status for AEI processing eligibility
Then The train must have ACK status to proceed with AEI processing
R-GCCU358T-cbl-00154 Train was AEI Sent?
Validation Rules
📊 Business Logic Narrative
When the process 'Train was AEI Sent?' is invoked, and assuming that a train has ack status, when the system validates aei send eligibility, the desired outcome is that the train must have aei-send flag set to true to continue processing.
💻 Technical Criteria
Given A train has ACK status
When The system validates AEI send eligibility
Then The train must have AEI-SEND flag set to true to continue processing
R-GCCU358T-cbl-00175 Initialize Delete Message Structure
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Delete Message Structure' is invoked, and assuming that a train has been marked for deletion required, when the delete transaction process is initiated, the desired outcome is that the delete message structure gcx112-input is initialized to spaces.
💻 Technical Criteria
Given A train has been marked for deletion required
When The delete transaction process is initiated
Then The delete message structure GCX112-INPUT is initialized to spaces
R-GCCU358T-cbl-00178 Set Action Code to 'TD' - Train Delete
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Action Code to 'TD' - Train Delete' is invoked, and assuming that a delete message structure is being prepared, when setting the action code for train deletion, the desired outcome is that the action code gcx112-action-code is set to 'td' to indicate train delete operation.
💻 Technical Criteria
Given A delete message structure is being prepared
When Setting the action code for train deletion
Then The action code GCX112-ACTION-CODE is set to 'TD' to indicate train delete operation
R-GCCU358T-cbl-00179 Set Train Type Indicator to US Train
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Train Type Indicator to US Train' is invoked, and assuming that a delete message is being prepared for a train, when setting the train type indicator, the desired outcome is that the train type indicator gcx112-us-train is set to true.
💻 Technical Criteria
Given A delete message is being prepared for a train
When Setting the train type indicator
Then The train type indicator GCX112-US-TRAIN is set to TRUE
R-GCCU358T-cbl-00180 Prepare Delete Message for GCT1121E
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Delete Message for GCT1121E' is invoked, and assuming that all delete message fields have been populated, when preparing the message for transaction processing, the desired outcome is that the complete gcx112-input structure is moved to gct1121e-msg for processing.
💻 Technical Criteria
Given All delete message fields have been populated
When Preparing the message for transaction processing
Then The complete GCX112-INPUT structure is moved to GCT1121E-MSG for processing
R-GCCU358T-cbl-00181 Change to Alternative PCB
Action Rules
📊 Business Logic Narrative
When the process 'Change to Alternative PCB' is invoked, and assuming that a delete message is ready to be sent, when initiating the delete transaction processing, the desired outcome is that the system changes to the alternative pcb using chng function with alt-pcb.
💻 Technical Criteria
Given A delete message is ready to be sent
When Initiating the delete transaction processing
Then The system changes to the alternative PCB using CHNG function with ALT-PCB
R-GCCU358T-cbl-00182 Send Delete Message to Message Queue
Action Rules
📊 Business Logic Narrative
When the process 'Send Delete Message to Message Queue' is invoked, and assuming that the delete message is prepared and pcb is set to alternative, when sending the delete message for processing, the desired outcome is that the delete message is written to the message queue using writmsgl with the prepared message structure.
💻 Technical Criteria
Given The delete message is prepared and PCB is set to alternative
When Sending the delete message for processing
Then The delete message is written to the message queue using WRITMSGL with the prepared message structure
R-GCCU358T-cbl-00183 Purge Message from Queue
Process Rules
📊 Business Logic Narrative
When the process 'Purge Message from Queue' is invoked, and assuming that the delete message has been written to the message queue, when completing the delete transaction processing, the desired outcome is that the message is purged from the queue using purg function with alt-pcb.
💻 Technical Criteria
Given The delete message has been written to the message queue
When Completing the delete transaction processing
Then The message is purged from the queue using PURG function with ALT-PCB
R-GCCU358T-cbl-00194 Is Automated Carrier Flag = 'Y'?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Automated Carrier Flag = 'Y'?' is invoked, and assuming that a carrier record was successfully found in the scac table, when the automated carrier flag in the table record equals 'y', the desired outcome is that set the automated carrier response code to 'y' for automated processing.
💻 Technical Criteria
Given A carrier record was successfully found in the SCAC table
When The automated carrier flag in the table record equals 'Y'
Then Set the automated carrier response code to 'Y' for automated processing
R-GCCU358T-cbl-00247 Initialize SCAC Table Key Structure
Process Rules
📊 Business Logic Narrative
When the process 'Initialize SCAC Table Key Structure' is invoked, and assuming that a scac table lookup is required for carrier validation, when the system initializes the table query parameters, the desired outcome is that the scac table key structure is cleared to spaces.
💻 Technical Criteria
Given A SCAC table lookup is required for carrier validation
When The system initializes the table query parameters
Then The SCAC table key structure is cleared to spaces

🚂 Equipment & Cargo Specs 119 logic blocks
R-GCCU358T-cbl-00010 9:Process Equipment VID Segments
Process Rules
📊 Business Logic Narrative
When the process '9:Process Equipment VID Segments' is invoked, and assuming that p4 segment has been created and equipment list exists, when the system processes each unique equipment id, the desired outcome is that creates vid segment with equipment type, initial, number (using cargo car number if available), and load/empty status (e if train shows h, l if train shows e but cargo weight > 1, otherwise train value).
💻 Technical Criteria
Given P4 segment has been created and equipment list exists
When The system processes each unique equipment ID
Then Creates VID segment with equipment type, initial, number (using cargo car number if available), and load/empty status (E if train shows H, L if train shows E but cargo weight > 1, otherwise train value)
R-GCCU358T-cbl-00012 11:Process N9 Reference Segments
Process Rules
📊 Business Logic Narrative
When the process '11:Process N9 Reference Segments' is invoked, and assuming that equipment has cargo with transport export type, when the system processes n9 segment, the desired outcome is that creates n9 segment with reference qualifier 'ib' and entry number from cargo record.
💻 Technical Criteria
Given Equipment has cargo with transport export type
When The system processes N9 segment
Then Creates N9 segment with reference qualifier 'IB' and entry number from cargo record
R-GCCU358T-cbl-00013 12:Update Train Status to SENT
Process Rules
📊 Business Logic Narrative
When the process '12:Update Train Status to SENT' is invoked, and assuming that train has valid cargo (bol quantity > 0) or valid port, when the system updates train status, the desired outcome is that sets train status to sent, enables edi sending flag, and updates both train database and train list.
💻 Technical Criteria
Given Train has valid cargo (BOL quantity > 0) or valid port
When The system updates train status
Then Sets train status to SENT, enables EDI sending flag, and updates both train database and train list
R-GCCU358T-cbl-00014 13:Update Train Status to ACK
Process Rules
📊 Business Logic Narrative
When the process '13:Update Train Status to ACK' is invoked, and assuming that train has no valid cargo (bol quantity = 0) and no valid port, when the system updates train status, the desired outcome is that sets train status to ack and determines edi action based on previous edi send flag.
💻 Technical Criteria
Given Train has no valid cargo (BOL quantity = 0) and no valid port
When The system updates train status
Then Sets train status to ACK and determines EDI action based on previous EDI send flag
R-GCCU358T-cbl-00017 16:Log Transaction Activity
Process Rules
📊 Business Logic Narrative
When the process '16:Log Transaction Activity' is invoked, and assuming that train processing has completed, when the system logs the transaction, the desired outcome is that uses foreground or background action codes, includes user id, date, time, and appropriate message based on cargo validity.
💻 Technical Criteria
Given Train processing has completed
When The system logs the transaction
Then Uses foreground or background action codes, includes user ID, date, time, and appropriate message based on cargo validity
R-GCCU358T-cbl-00019 18:Load Car Information for CDN Send
Process Rules
📊 Business Logic Narrative
When the process '18:Load Car Information for CDN Send' is invoked, and assuming that aei train send is being processed, when the system loads car information, the desired outcome is that includes only non-container equipment with car initial, load/empty status, car number, and car kind classification.
💻 Technical Criteria
Given AEI train send is being processed
When The system loads car information
Then Includes only non-container equipment with car initial, load/empty status, car number, and car kind classification
R-GCCU358T-cbl-00021 21:Check Automated Carrier Status
Decision Rules
📊 Business Logic Narrative
When the process '21:Check Automated Carrier Status' is invoked, and assuming that mbl segment is being processed with a scac code, when the system checks automated carrier status, the desired outcome is that sets response to 'y' if scac is 'cprs' or if scac table indicates automated carrier, otherwise sets to 'n', with special 'y' setting for empty cars with bol type '23'.
💻 Technical Criteria
Given MBL segment is being processed with a SCAC code
When The system checks automated carrier status
Then Sets response to 'Y' if SCAC is 'CPRS' or if SCAC table indicates automated carrier, otherwise sets to 'N', with special 'Y' setting for empty cars with BOL type '23'
R-GCCU358T-cbl-00023 Has Valid Cargo?
Decision Rules
📊 Business Logic Narrative
When the process 'Has Valid Cargo?' is invoked, and assuming that edi processing and logging have completed, when the system determines final status, the desired outcome is that updates to sent status if bol quantity > 0 or port is valid, otherwise updates to ack status.
💻 Technical Criteria
Given EDI processing and logging have completed
When The system determines final status
Then Updates to SENT status if BOL quantity > 0 or port is valid, otherwise updates to ACK status
R-GCCU358T-cbl-00026 Set Processing Mode as Valid
Process Rules
📊 Business Logic Narrative
When the process 'Set Processing Mode as Valid' is invoked, and assuming that the processing mode has been validated as either foreground or background, when gcwu358t-foreground or gcwu358t-background is true, the desired outcome is that the system proceeds with edi processing workflow including information gathering, root processing, and equipment processing.
💻 Technical Criteria
Given The processing mode has been validated as either foreground or background
When GCWU358T-FOREGROUND OR GCWU358T-BACKGROUND is true
Then The system proceeds with EDI processing workflow including information gathering, root processing, and equipment processing
R-GCCU358T-cbl-00034 Loop Through Each Equipment Item
Process Rules
📊 Business Logic Narrative
When the process 'Loop Through Each Equipment Item' is invoked, and assuming that a train list contains multiple equipment items, when processing bills of lading, the desired outcome is that the system iterates through each equipment item from position 1 to the total equipment quantity.
💻 Technical Criteria
Given A train list contains multiple equipment items
When Processing bills of lading
Then The system iterates through each equipment item from position 1 to the total equipment quantity
R-GCCU358T-cbl-00037 Cargo Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Cargo Found?' is invoked, and assuming that a cargo lookup has been performed, when validating the lookup result, the desired outcome is that if cargo is found, continue processing; otherwise skip to next equipment.
💻 Technical Criteria
Given A cargo lookup has been performed
When Validating the lookup result
Then If cargo is found, continue processing; otherwise skip to next equipment
R-GCCU358T-cbl-00038 Check Bond Type and Export Criteria
Decision Rules
📊 Business Logic Narrative
When the process 'Check Bond Type and Export Criteria' is invoked, and assuming that cargo information is available for an equipment item, when determining if cargo qualifies for bol counting, the desired outcome is that cargo qualifies if in-bond type is 'tr' or if cargo type is export/returned us goods/empty residue/transport export/immediate export/multi-port and the port is valid.
💻 Technical Criteria
Given Cargo information is available for an equipment item
When Determining if cargo qualifies for BOL counting
Then Cargo qualifies if in-bond type is 'TR' OR if cargo type is export/returned US goods/empty residue/transport export/immediate export/multi-port AND the port is valid
R-GCCU358T-cbl-00039 Increment BOL Count
Computation Rules
📊 Business Logic Narrative
When the process 'Increment BOL Count' is invoked, and assuming that cargo meets the bond type and export criteria, when processing qualified cargo, the desired outcome is that the bol count is increased by one.
💻 Technical Criteria
Given Cargo meets the bond type and export criteria
When Processing qualified cargo
Then The BOL count is increased by one
R-GCCU358T-cbl-00040 Set Train Type to Export
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Train Type to Export' is invoked, and assuming that cargo qualifies for bol counting and the port is valid, when processing qualified cargo, the desired outcome is that the train type indicator is set to export.
💻 Technical Criteria
Given Cargo qualifies for BOL counting and the port is valid
When Processing qualified cargo
Then The train type indicator is set to export
R-GCCU358T-cbl-00041 More Equipment to Process?
Process Rules
📊 Business Logic Narrative
When the process 'More Equipment to Process?' is invoked, and assuming that an equipment item has been processed, when checking for continuation, the desired outcome is that if the current equipment index is less than the total equipment quantity, continue processing; otherwise end the loop.
💻 Technical Criteria
Given An equipment item has been processed
When Checking for continuation
Then If the current equipment index is less than the total equipment quantity, continue processing; otherwise end the loop
R-GCCU358T-cbl-00203 Cargo Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Cargo Found?' is invoked, and assuming that the system has attempted to retrieve cargo information from database, when the database lookup operation completes, the desired outcome is that the system checks if cargo was found and proceeds to bond type validation only if cargo exists.
💻 Technical Criteria
Given The system has attempted to retrieve cargo information from database
When The database lookup operation completes
Then The system checks if cargo was found and proceeds to bond type validation only if cargo exists
R-GCCU358T-cbl-00204 Bond Type = 'TR' Transit?
Decision Rules
📊 Business Logic Narrative
When the process 'Bond Type = 'TR' Transit?' is invoked, and assuming that cargo information has been found in the database, when the system checks the in-bond type code, the desired outcome is that if the in-bond type code equals 'tr', the cargo is accepted for processing regardless of other criteria.
💻 Technical Criteria
Given Cargo information has been found in the database
When The system checks the in-bond type code
Then If the in-bond type code equals 'TR', the cargo is accepted for processing regardless of other criteria
R-GCCU358T-cbl-00205 M1109 Export Type?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'M1109 Export Type?', assuming that cargo does not have transit bond type 'tr', when the system evaluates export criteria, the desired outcome is that if cargo has m1109 export type classification, it qualifies for export processing subject to valid port requirement.
💻 Technical Criteria
EXCLUDING Cargo does not have transit bond type 'TR'
When The system evaluates export criteria
Then If cargo has M1109 export type classification, it qualifies for export processing subject to valid port requirement
R-GCCU358T-cbl-00206 M1109 Returned US Goods?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'M1109 Returned US Goods?', assuming that cargo does not have transit bond type 'tr' and is not m1109 export type, when the system continues evaluating export criteria, the desired outcome is that if cargo is classified as m1109 returned us goods, it qualifies for export processing subject to valid port requirement.
💻 Technical Criteria
EXCLUDING Cargo does not have transit bond type 'TR' and is not M1109 export type
When The system continues evaluating export criteria
Then If cargo is classified as M1109 returned US goods, it qualifies for export processing subject to valid port requirement
R-GCCU358T-cbl-00207 M1109 Empty Residue?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'M1109 Empty Residue?', assuming that cargo does not have transit bond type 'tr', is not m1109 export type, and is not returned us goods, when the system continues evaluating export criteria, the desired outcome is that if cargo is classified as m1109 empty residue, it qualifies for export processing subject to valid port requirement.
💻 Technical Criteria
EXCLUDING Cargo does not have transit bond type 'TR', is not M1109 export type, and is not returned US goods
When The system continues evaluating export criteria
Then If cargo is classified as M1109 empty residue, it qualifies for export processing subject to valid port requirement
R-GCCU358T-cbl-00208 M1201 Transport Export?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'M1201 Transport Export?', assuming that cargo does not meet previous export criteria (m1109 types), when the system continues evaluating m1201 export criteria, the desired outcome is that if cargo has m1201 transport export classification, it qualifies for export processing subject to valid port requirement.
💻 Technical Criteria
EXCLUDING Cargo does not meet previous export criteria (M1109 types)
When The system continues evaluating M1201 export criteria
Then If cargo has M1201 transport export classification, it qualifies for export processing subject to valid port requirement
R-GCCU358T-cbl-00209 M1201 Immediate Export?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'M1201 Immediate Export?', assuming that cargo does not meet previous export criteria including m1201 transport export, when the system continues evaluating m1201 export criteria, the desired outcome is that if cargo has m1201 immediate export classification, it qualifies for export processing subject to valid port requirement.
💻 Technical Criteria
EXCLUDING Cargo does not meet previous export criteria including M1201 transport export
When The system continues evaluating M1201 export criteria
Then If cargo has M1201 immediate export classification, it qualifies for export processing subject to valid port requirement
R-GCCU358T-cbl-00210 M1201 Multi-Port?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'M1201 Multi-Port?', assuming that cargo does not meet any previous export criteria, when the system performs final export criteria check, the desired outcome is that if cargo has m1201 multi-port classification, it qualifies for export processing subject to valid port requirement.
💻 Technical Criteria
EXCLUDING Cargo does not meet any previous export criteria
When The system performs final export criteria check
Then If cargo has M1201 multi-port classification, it qualifies for export processing subject to valid port requirement
R-GCCU358T-cbl-00211 Valid Port Required?
Policy Rules
📊 Business Logic Narrative
When the process 'Valid Port Required?' is invoked, and assuming that cargo meets export criteria (any m1109 or m1201 export types) or has transit bond type 'tr', when the system evaluates port validity requirement, the desired outcome is that for export types, cargo is accepted only if port is valid; for transit bond type 'tr', cargo is accepted regardless of port validity.
💻 Technical Criteria
Given Cargo meets export criteria (any M1109 or M1201 export types) or has transit bond type 'TR'
When The system evaluates port validity requirement
Then For export types, cargo is accepted only if port is valid; for transit bond type 'TR', cargo is accepted regardless of port validity
R-GCCU358T-cbl-00212 Accept Cargo - Increment BOL Count
Computation Rules
📊 Business Logic Narrative
When the process 'Accept Cargo - Increment BOL Count' is invoked, and assuming that cargo meets either transit bond type 'tr' criteria or export criteria with valid port, when the system completes cargo validation, the desired outcome is that the system increments the bol quantity count by 1 and marks the cargo as accepted for processing.
💻 Technical Criteria
Given Cargo meets either transit bond type 'TR' criteria or export criteria with valid port
When The system completes cargo validation
Then The system increments the BOL quantity count by 1 and marks the cargo as accepted for processing
R-GCCU358T-cbl-00213 Reject Cargo - Skip Processing
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Reject Cargo - Skip Processing', assuming that cargo does not meet transit bond type 'tr' criteria and either does not meet export criteria or port is invalid, when the system completes cargo validation, the desired outcome is that the system skips the cargo without incrementing bol count and continues to next equipment.
💻 Technical Criteria
EXCLUDING Cargo does not meet transit bond type 'TR' criteria and either does not meet export criteria or port is invalid
When The system completes cargo validation
Then The system skips the cargo without incrementing BOL count and continues to next equipment
R-GCCU358T-cbl-00251 M1201 In-Bond Type = 'TR'?
Decision Rules
📊 Business Logic Narrative
When the process 'M1201 In-Bond Type = 'TR'?' is invoked, and assuming that a cargo record exists with m1201 in-bond type code, when the m1201 in-bond type code equals 'tr', the desired outcome is that the cargo automatically qualifies for export processing regardless of other conditions.
💻 Technical Criteria
Given A cargo record exists with M1201 in-bond type code
When The M1201 in-bond type code equals 'TR'
Then The cargo automatically qualifies for export processing regardless of other conditions
R-GCCU358T-cbl-00253 M1109 Export Type?
Decision Rules
📊 Business Logic Narrative
When the process 'M1109 Export Type?' is invoked, and assuming that a cargo record has m1109 bol type code and the port is valid, when the m1109 bol type code indicates export (88-gcusrt-m1109-export condition is true), the desired outcome is that the cargo qualifies for export processing.
💻 Technical Criteria
Given A cargo record has M1109 BOL type code and the port is valid
When The M1109 BOL type code indicates export (88-GCUSRT-M1109-EXPORT condition is true)
Then The cargo qualifies for export processing
R-GCCU358T-cbl-00254 M1109 Returned US Goods?
Decision Rules
📊 Business Logic Narrative
When the process 'M1109 Returned US Goods?' is invoked, and assuming that a cargo record has m1109 bol type code and the port is valid, when the m1109 bol type code indicates returned us goods (88-gcusrt-m1109-rtned-us-goods condition is true), the desired outcome is that the cargo qualifies for export processing.
💻 Technical Criteria
Given A cargo record has M1109 BOL type code and the port is valid
When The M1109 BOL type code indicates returned US goods (88-GCUSRT-M1109-RTNED-US-GOODS condition is true)
Then The cargo qualifies for export processing
R-GCCU358T-cbl-00255 M1109 Empty Residue?
Decision Rules
📊 Business Logic Narrative
When the process 'M1109 Empty Residue?' is invoked, and assuming that a cargo record has m1109 bol type code and the port is valid, when the m1109 bol type code indicates empty residue (88-gcusrt-m1109-empty-residue condition is true), the desired outcome is that the cargo qualifies for export processing.
💻 Technical Criteria
Given A cargo record has M1109 BOL type code and the port is valid
When The M1109 BOL type code indicates empty residue (88-GCUSRT-M1109-EMPTY-RESIDUE condition is true)
Then The cargo qualifies for export processing
R-GCCU358T-cbl-00256 M1201 Transport Export?
Decision Rules
📊 Business Logic Narrative
When the process 'M1201 Transport Export?' is invoked, and assuming that a cargo record has m1201 in-bond type code and the port is valid, when the m1201 in-bond type code indicates transport export (88-gcusrt-m1201-transp-export condition is true), the desired outcome is that the cargo qualifies for export processing.
💻 Technical Criteria
Given A cargo record has M1201 in-bond type code and the port is valid
When The M1201 in-bond type code indicates transport export (88-GCUSRT-M1201-TRANSP-EXPORT condition is true)
Then The cargo qualifies for export processing
R-GCCU358T-cbl-00257 M1201 Immediate Export?
Decision Rules
📊 Business Logic Narrative
When the process 'M1201 Immediate Export?' is invoked, and assuming that a cargo record has m1201 in-bond type code and the port is valid, when the m1201 in-bond type code indicates immediate export (88-gcusrt-m1201-imm-export condition is true), the desired outcome is that the cargo qualifies for export processing.
💻 Technical Criteria
Given A cargo record has M1201 in-bond type code and the port is valid
When The M1201 in-bond type code indicates immediate export (88-GCUSRT-M1201-IMM-EXPORT condition is true)
Then The cargo qualifies for export processing
R-GCCU358T-cbl-00258 M1201 Multi-Port?
Decision Rules
📊 Business Logic Narrative
When the process 'M1201 Multi-Port?' is invoked, and assuming that a cargo record has m1201 in-bond type code and the port is valid, when the m1201 in-bond type code indicates multi-port (88-gcusrt-m1201-multi-port condition is true), the desired outcome is that the cargo qualifies for export processing.
💻 Technical Criteria
Given A cargo record has M1201 in-bond type code and the port is valid
When The M1201 in-bond type code indicates multi-port (88-GCUSRT-M1201-MULTI-PORT condition is true)
Then The cargo qualifies for export processing
R-GCCU358T-cbl-00055 Initialize M10 Manifest Header
Process Rules
📊 Business Logic Narrative
When the process 'Initialize M10 Manifest Header' is invoked, and assuming that a train manifest needs to be processed for edi transmission, when the system begins creating the m10 manifest header segment, the desired outcome is that the m10 segment is initialized with empty values to prepare for data population.
💻 Technical Criteria
Given A train manifest needs to be processed for EDI transmission
When The system begins creating the M10 manifest header segment
Then The M10 segment is initialized with empty values to prepare for data population
R-GCCU358T-cbl-00076 Initialize VID Segment
Process Rules
📊 Business Logic Narrative
When the process 'Initialize VID Segment' is invoked, and assuming that equipment processing is required for edi transmission, when vid segment processing begins, the desired outcome is that vid segment structure is cleared and ready for data population.
💻 Technical Criteria
Given Equipment processing is required for EDI transmission
When VID segment processing begins
Then VID segment structure is cleared and ready for data population
R-GCCU358T-cbl-00078 Get Equipment Type from Train List
Action Rules
📊 Business Logic Narrative
When the process 'Get Equipment Type from Train List' is invoked, and assuming that equipment is being processed at a specific index position, when equipment type data is required for vid segment, the desired outcome is that equipment type is retrieved from train list at current equipment index and assigned to vid equipment description code.
💻 Technical Criteria
Given Equipment is being processed at a specific index position
When Equipment type data is required for VID segment
Then Equipment type is retrieved from train list at current equipment index and assigned to VID equipment description code
R-GCCU358T-cbl-00079 Get Equipment Initials from Train List
Action Rules
📊 Business Logic Narrative
When the process 'Get Equipment Initials from Train List' is invoked, and assuming that equipment is being processed at a specific index position, when equipment initials are required for vid segment, the desired outcome is that equipment initials are retrieved from train list at current equipment index and assigned to vid equipment initials.
💻 Technical Criteria
Given Equipment is being processed at a specific index position
When Equipment initials are required for VID segment
Then Equipment initials are retrieved from train list at current equipment index and assigned to VID equipment initials
R-GCCU358T-cbl-00080 Car Number Available in Cargo?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Car Number Available in Cargo?', assuming that equipment number needs to be assigned to vid segment, when car number from cargo record is not empty, the desired outcome is that car number from cargo record is used for vid equipment number.
💻 Technical Criteria
EXCLUDING Equipment number needs to be assigned to VID segment
When Car number from cargo record is not empty
Then Car number from cargo record is used for VID equipment number
R-GCCU358T-cbl-00081 Load/Empty Status = 'H'?
Decision Rules
📊 Business Logic Narrative
When the process 'Load/Empty Status = 'H'?' is invoked, and assuming that equipment load/empty status needs to be determined, when train list shows load/empty status as 'h', the desired outcome is that vid load/empty status is set to 'e' for empty.
💻 Technical Criteria
Given Equipment load/empty status needs to be determined
When Train list shows load/empty status as 'H'
Then VID load/empty status is set to 'E' for empty
R-GCCU358T-cbl-00082 Has Cargo and Status='E' and Weight>1?
Decision Rules
📊 Business Logic Narrative
When the process 'Has Cargo and Status='E' and Weight>1?' is invoked, and assuming that equipment has associated cargo and train list shows empty status 'e', when cargo weight is greater than 1, the desired outcome is that vid load/empty status is set to 'l' for loaded.
💻 Technical Criteria
Given Equipment has associated cargo and train list shows empty status 'E'
When Cargo weight is greater than 1
Then VID load/empty status is set to 'L' for loaded
R-GCCU358T-cbl-00083 Use Original Load/Empty Status
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Original Load/Empty Status', assuming that equipment load/empty status is not 'h' and does not meet weight override conditions, when no special status conversion rules apply, the desired outcome is that original load/empty status from train list is used for vid segment.
💻 Technical Criteria
EXCLUDING Equipment load/empty status is not 'H' and does not meet weight override conditions
When No special status conversion rules apply
Then Original load/empty status from train list is used for VID segment
R-GCCU358T-cbl-00084 Insert VID Segment to EDI Data
Action Rules
📊 Business Logic Narrative
When the process 'Insert VID Segment to EDI Data' is invoked, and assuming that vid segment has been populated with all required equipment data, when vid segment is ready for transmission, the desired outcome is that vid segment is inserted into edi transmission data stream.
💻 Technical Criteria
Given VID segment has been populated with all required equipment data
When VID segment is ready for transmission
Then VID segment is inserted into EDI transmission data stream
R-GCCU358T-cbl-00217 Current Status = 'H' 'Hold'?
Decision Rules
📊 Business Logic Narrative
When the process 'Current Status = 'H' 'Hold'?' is invoked, and assuming that an equipment piece in the train list, when the equipment's load/empty status indicator is 'h' (hold), the desired outcome is that the equipment load/empty status should be set to 'e' (empty).
💻 Technical Criteria
Given An equipment piece in the train list
When The equipment's load/empty status indicator is 'H' (Hold)
Then The equipment load/empty status should be set to 'E' (Empty)
R-GCCU358T-cbl-00219 Keep Current Status
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Keep Current Status', assuming that an equipment piece that does not have hold status, when the equipment either has no cargo, or status is not empty, or cargo weight is 1 or less, the desired outcome is that the equipment load/empty status should remain as specified in the original train list.
💻 Technical Criteria
EXCLUDING An equipment piece that does not have hold status
When The equipment either has no cargo, or status is not empty, or cargo weight is 1 or less
Then The equipment load/empty status should remain as specified in the original train list
R-GCCU358T-cbl-00260 Set Status to 'E' 'Empty'
Decision Rules
📊 Business Logic Narrative
When the process 'Set Status to 'E' 'Empty'' is invoked, and assuming that an equipment piece is being processed for load/empty status determination, when the equipment's load/empty indicator from the train list is 'h' (hold), the desired outcome is that the equipment's load/empty status code is set to 'e' (empty).
💻 Technical Criteria
Given An equipment piece is being processed for load/empty status determination
When The equipment's load/empty indicator from the train list is 'H' (Hold)
Then The equipment's load/empty status code is set to 'E' (Empty)
R-GCCU358T-cbl-00262 Keep Original Status
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Keep Original Status', assuming that an equipment piece is being processed for load/empty status determination and the equipment's load/empty indicator is not 'h', when the equipment does not have cargo or the current status is not 'e' or the cargo weight is not greater than 1, the desired outcome is that the equipment's load/empty status code remains as the original value from the train list.
💻 Technical Criteria
EXCLUDING An equipment piece is being processed for load/empty status determination and the equipment's load/empty indicator is not 'H'
When The equipment does not have cargo or the current status is not 'E' or the cargo weight is not greater than 1
Then The equipment's load/empty status code remains as the original value from the train list
R-GCCU358T-cbl-00085 Initialize MBL Segment
Process Rules
📊 Business Logic Narrative
When the process 'Initialize MBL Segment' is invoked, and assuming that the system is processing cargo equipment for edi transmission, when a new mbl segment needs to be created for cargo, the desired outcome is that the system initializes the mbl segment structure and sets the identifier to 'mbl'.
💻 Technical Criteria
Given The system is processing cargo equipment for EDI transmission
When A new MBL segment needs to be created for cargo
Then The system initializes the MBL segment structure and sets the identifier to 'MBL'
R-GCCU358T-cbl-00086 Valid Port?
Decision Rules
📊 Business Logic Narrative
When the process 'Valid Port?' is invoked, and assuming that the system is processing mbl segment for cargo equipment, when the port is valid, the desired outcome is that the system extracts scac code and bol number from the mbl export key structure.
💻 Technical Criteria
Given The system is processing MBL segment for cargo equipment
When The port is valid
Then The system extracts SCAC code and BOL number from the MBL export key structure
R-GCCU358T-cbl-00089 Lookup SCAC in SS Table
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Lookup SCAC in SS Table', assuming that the system is processing mbl segment with a non-cprs scac code, when the scac code is not 'cprs', the desired outcome is that the system initializes scac table key with 'ss' table id, equipment scac code, and origin port code, then performs scac table lookup.
💻 Technical Criteria
EXCLUDING The system is processing MBL segment with a non-CPRS SCAC code
When The SCAC code is not 'CPRS'
Then The system initializes SCAC table key with 'SS' table ID, equipment SCAC code, and origin port code, then performs SCAC table lookup
R-GCCU358T-cbl-00092 Empty Equipment with BOL Type 23?
Decision Rules
📊 Business Logic Narrative
When the process 'Empty Equipment with BOL Type 23?' is invoked, and assuming that the system is processing mbl segment for equipment with cargo information, when the equipment load/empty status is 'e' and has associated cargo with bol type code '23', the desired outcome is that the system overrides the automated carrier response code to 'y'.
💻 Technical Criteria
Given The system is processing MBL segment for equipment with cargo information
When The equipment load/empty status is 'E' and has associated cargo with BOL type code '23'
Then The system overrides the automated carrier response code to 'Y'
R-GCCU358T-cbl-00265 Move Equipment SCAC Code to Key
Process Rules
📊 Business Logic Narrative
When the process 'Move Equipment SCAC Code to Key' is invoked, and assuming that an equipment record contains a scac code and a table lookup key structure is prepared, when the system needs to identify the carrier for automated processing validation, the desired outcome is that the equipment's scac code is copied to the scac field in the lookup key.
💻 Technical Criteria
Given An equipment record contains a SCAC code and a table lookup key structure is prepared
When The system needs to identify the carrier for automated processing validation
Then The equipment's SCAC code is copied to the SCAC field in the lookup key
R-GCCU358T-cbl-00267 SCAC Table Key Ready for Lookup
Validation Rules
📊 Business Logic Narrative
When the process 'SCAC Table Key Ready for Lookup' is invoked, and assuming that scac table key structure has been initialized with table id, equipment scac code, and port code, when all required lookup parameters have been populated, the desired outcome is that the scac table key is ready for carrier automation validation lookup operation.
💻 Technical Criteria
Given SCAC table key structure has been initialized with table ID, equipment SCAC code, and port code
When All required lookup parameters have been populated
Then The SCAC table key is ready for carrier automation validation lookup operation
R-GCCU358T-cbl-00097 Set Entry Number from Cargo Record
Process Rules
📊 Business Logic Narrative
When the process 'Set Entry Number from Cargo Record' is invoked, and assuming that an n9 segment is being created and the cargo record contains an entry number, when the system populates the reference number field, the desired outcome is that the entry number from the cargo record (gcusrt-m1202-entry-num) should be assigned to the n9 reference number field.
💻 Technical Criteria
Given An N9 segment is being created and the cargo record contains an entry number
When The system populates the reference number field
Then The entry number from the cargo record (GCUSRT-M1202-ENTRY-NUM) should be assigned to the N9 reference number field
R-GCCU358T-cbl-00101 Has Valid Bills or Valid Port?
Decision Rules
📊 Business Logic Narrative
When the process 'Has Valid Bills or Valid Port?' is invoked, and assuming that a train record exists with cargo information and port details, when the system evaluates processing eligibility, the desired outcome is that the train is eligible for processing if it has valid bills of lading (bol quantity > 0) or operates through a valid authorized port.
💻 Technical Criteria
Given A train record exists with cargo information and port details
When The system evaluates processing eligibility
Then The train is eligible for processing if it has valid bills of lading (BOL quantity > 0) OR operates through a valid authorized port
R-GCCU358T-cbl-00122 Has Valid Bills of Lading or Valid Port?
Decision Rules
📊 Business Logic Narrative
When the process 'Has Valid Bills of Lading or Valid Port?' is invoked, and assuming that a train with equipment containing cargo records and port validation status, when the system checks if the train has valid bills of lading greater than zero or operates through a valid port, the desired outcome is that the system determines whether the train qualifies for edi processing.
💻 Technical Criteria
Given A train with equipment containing cargo records and port validation status
When The system checks if the train has valid bills of lading greater than zero OR operates through a valid port
Then The system determines whether the train qualifies for EDI processing
R-GCCU358T-cbl-00125 Was Train Previously Set to Send EDI?
Decision Rules
📊 Business Logic Narrative
When the process 'Was Train Previously Set to Send EDI?' is invoked, and assuming that a train that is being set to ack status due to no valid cargo, when the system evaluates the train's previous edi send configuration, the desired outcome is that the system determines whether the train was previously marked to send edi.
💻 Technical Criteria
Given A train that is being set to ACK status due to no valid cargo
When The system evaluates the train's previous EDI send configuration
Then The system determines whether the train was previously marked to send EDI
R-GCCU358T-cbl-00148 Set No Cargo Action Code
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set No Cargo Action Code', assuming that no valid bills of lading exist and port is not valid, when no cargo action code needs to be set, the desired outcome is that action code should be cleared to spaces and zzz action code should be assigned.
💻 Technical Criteria
EXCLUDING No valid bills of lading exist and port is not valid
When No cargo action code needs to be set
Then Action code should be cleared to spaces and ZZZ action code should be assigned
R-GCCU358T-cbl-00149 Processing Mode for No Cargo?
Decision Rules
📊 Business Logic Narrative
When the process 'Processing Mode for No Cargo?' is invoked, and assuming that no cargo action code has been set, when processing mode needs to be determined for message assignment, the desired outcome is that system should check if transaction is running in foreground mode for no cargo scenario.
💻 Technical Criteria
Given No cargo action code has been set
When Processing mode needs to be determined for message assignment
Then System should check if transaction is running in foreground mode for no cargo scenario
R-GCCU358T-cbl-00150 Set Train Updated Message
Process Rules
📊 Business Logic Narrative
When the process 'Set Train Updated Message' is invoked, and assuming that processing is in foreground mode and no cargo exists, when train updated message needs to be set, the desired outcome is that zzz train update message should be assigned to the log entry.
💻 Technical Criteria
Given Processing is in foreground mode and no cargo exists
When Train updated message needs to be set
Then ZZZ train update message should be assigned to the log entry
R-GCCU358T-cbl-00151 Set Train Added Message
Process Rules
📊 Business Logic Narrative
When the process 'Set Train Added Message' is invoked, and assuming that processing is in background mode and no cargo exists, when train added message needs to be set, the desired outcome is that zzz train added message should be assigned to the log entry.
💻 Technical Criteria
Given Processing is in background mode and no cargo exists
When Train added message needs to be set
Then ZZZ train added message should be assigned to the log entry
R-GCCU358T-cbl-00158 Equipment is Container?
Decision Rules
📊 Business Logic Narrative
When the process 'Equipment is Container?' is invoked, and assuming that equipment records are being processed for canadian customs, when the system encounters equipment with container indicator 'c', the desired outcome is that the container equipment must be skipped and not included in the car loading process.
💻 Technical Criteria
Given Equipment records are being processed for Canadian customs
When The system encounters equipment with container indicator 'C'
Then The container equipment must be skipped and not included in the car loading process
R-GCCU358T-cbl-00159 Load Car Initials and Number
Computation Rules
📊 Business Logic Narrative
When the process 'Load Car Initials and Number' is invoked, and assuming that non-container equipment is being processed for canadian customs, when the system loads car identification information, the desired outcome is that the system must extract equipment initials and convert equipment number to 6-digit car number format.
💻 Technical Criteria
Given Non-container equipment is being processed for Canadian customs
When The system loads car identification information
Then The system must extract equipment initials and convert equipment number to 6-digit car number format
R-GCCU358T-cbl-00160 Determine Load/Empty Status
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Load/Empty Status' is invoked, and assuming that car identification information has been loaded, when the system determines load/empty status for customs reporting, the desired outcome is that if the next equipment in sequence is a container, the status must be set to 'l' (loaded), otherwise use the equipment's load/empty indicator.
💻 Technical Criteria
Given Car identification information has been loaded
When The system determines load/empty status for customs reporting
Then If the next equipment in sequence is a container, the status must be set to 'L' (Loaded), otherwise use the equipment's load/empty indicator
R-GCCU358T-cbl-00161 Set Equipment Type LO=L, ET=E, Other=Space
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Equipment Type LO=L, ET=E, Other=Space' is invoked, and assuming that car load/empty status has been determined, when the system classifies equipment type for canadian customs, the desired outcome is that equipment type 'lo' must be mapped to 'l', equipment type 'et' must be mapped to 'e', and all other types must be set to spaces.
💻 Technical Criteria
Given Car load/empty status has been determined
When The system classifies equipment type for Canadian customs
Then Equipment type 'LO' must be mapped to 'L', equipment type 'ET' must be mapped to 'E', and all other types must be set to spaces
R-GCCU358T-cbl-00162 Send Transaction to Canadian Customs
Action Rules
📊 Business Logic Narrative
When the process 'Send Transaction to Canadian Customs' is invoked, and assuming that all car information has been loaded and formatted for canadian customs, when the system submits the transaction, the desired outcome is that the system must call the cims program to send the customs transaction.
💻 Technical Criteria
Given All car information has been loaded and formatted for Canadian customs
When The system submits the transaction
Then The system must call the CIMS program to send the customs transaction
R-GCCU358T-cbl-00226 Is Equipment a Container?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Equipment a Container?' is invoked, and assuming that an equipment item is being processed for car loading, when the equipment container indicator is 'c', the desired outcome is that the equipment should be skipped and not processed as car information.
💻 Technical Criteria
Given An equipment item is being processed for car loading
When The equipment container indicator is 'C'
Then The equipment should be skipped and not processed as car information
R-GCCU358T-cbl-00227 Extract Car Initials
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Extract Car Initials', assuming that an equipment item is not a container, when processing car information, the desired outcome is that the equipment initials should be moved to the customs car initials field.
💻 Technical Criteria
EXCLUDING An equipment item is not a container
When Processing car information
Then The equipment initials should be moved to the customs car initials field
R-GCCU358T-cbl-00228 Set Load Status Based on Next Equipment
Decision Rules
📊 Business Logic Narrative
When the process 'Set Load Status Based on Next Equipment' is invoked, and assuming that current equipment is being processed and there is a next equipment item, when the next equipment item has container indicator 'c', the desired outcome is that the current car's load/empty status should be set to 'l' (loaded).
💻 Technical Criteria
Given Current equipment is being processed and there is a next equipment item
When The next equipment item has container indicator 'C'
Then The current car's load/empty status should be set to 'L' (Loaded)
R-GCCU358T-cbl-00229 Set Load Status from Current Equipment
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Load Status from Current Equipment', assuming that current equipment is being processed, when the next equipment item is not a container or there is no next equipment, the desired outcome is that the car's load/empty status should be set from the current equipment's load/empty indicator.
💻 Technical Criteria
EXCLUDING Current equipment is being processed
When The next equipment item is not a container or there is no next equipment
Then The car's load/empty status should be set from the current equipment's load/empty indicator
R-GCCU358T-cbl-00230 Determine Load/Empty Status
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Load/Empty Status' is invoked, and assuming that current equipment is being processed, when the current equipment index is greater than the total equipment quantity, the desired outcome is that the car's load/empty status should be set from the current equipment's load/empty indicator.
💻 Technical Criteria
Given Current equipment is being processed
When The current equipment index is greater than the total equipment quantity
Then The car's load/empty status should be set from the current equipment's load/empty indicator
R-GCCU358T-cbl-00231 Convert to 6-Digit Car Number
Computation Rules
📊 Business Logic Narrative
When the process 'Convert to 6-Digit Car Number' is invoked, and assuming that equipment number has been extracted, when processing car information for customs, the desired outcome is that the equipment number should be converted to a 6-digit car number format.
💻 Technical Criteria
Given Equipment number has been extracted
When Processing car information for customs
Then The equipment number should be converted to a 6-digit car number format
R-GCCU358T-cbl-00232 Set Car Kind to 'L' for Locomotive
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Car Kind to 'L' for Locomotive' is invoked, and assuming that equipment type has been identified, when the equipment type is 'lo', the desired outcome is that the car kind should be set to 'l' for locomotive.
💻 Technical Criteria
Given Equipment type has been identified
When The equipment type is 'LO'
Then The car kind should be set to 'L' for locomotive
R-GCCU358T-cbl-00233 Set Car Kind to 'E' for End of Train
Definitional Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Car Kind to 'E' for End of Train', assuming that equipment type is not 'lo', when the equipment type is 'et', the desired outcome is that the car kind should be set to 'e' for end of train device.
💻 Technical Criteria
EXCLUDING Equipment type is not 'LO'
When The equipment type is 'ET'
Then The car kind should be set to 'E' for end of train device
R-GCCU358T-cbl-00234 Set Car Kind to Spaces
Definitional Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Car Kind to Spaces', assuming that equipment type is not 'lo', when the equipment type is not 'et', the desired outcome is that the car kind should be set to spaces (blank).
💻 Technical Criteria
EXCLUDING Equipment type is not 'LO'
When The equipment type is not 'ET'
Then The car kind should be set to spaces (blank)
R-GCCU358T-cbl-00235 Store Car Information in Output Table
Process Rules
📊 Business Logic Narrative
When the process 'Store Car Information in Output Table' is invoked, and assuming that car initials, load status, car number, and car kind have been determined, when all car information processing is complete, the desired outcome is that the car information should be stored in the appropriate position in the customs output table.
💻 Technical Criteria
Given Car initials, load status, car number, and car kind have been determined
When All car information processing is complete
Then The car information should be stored in the appropriate position in the customs output table
R-GCCU358T-cbl-00236 Increment Car Counter
Process Rules
📊 Business Logic Narrative
When the process 'Increment Car Counter' is invoked, and assuming that car information has been stored in the output table, when processing is complete for the current equipment, the desired outcome is that the car counter should be incremented by 1 to prepare for the next car.
💻 Technical Criteria
Given Car information has been stored in the output table
When Processing is complete for the current equipment
Then The car counter should be incremented by 1 to prepare for the next car
R-GCCU358T-cbl-00268 Skip Container Equipment
Process Rules
📊 Business Logic Narrative
When the process 'Skip Container Equipment' is invoked, and assuming that a train equipment item is being processed for load/empty status, when the current equipment container indicator is 'c', the desired outcome is that skip processing this equipment and continue to next equipment.
💻 Technical Criteria
Given A train equipment item is being processed for load/empty status
When The current equipment container indicator is 'C'
Then Skip processing this equipment and continue to next equipment
R-GCCU358T-cbl-00269 Use Current Equipment Load/Empty Status
Decision Rules
📊 Business Logic Narrative
When the process 'Use Current Equipment Load/Empty Status' is invoked, and assuming that processing equipment for load/empty status determination, when the next equipment index (ws-sub3) is greater than the total equipment quantity (gcwtl-equipment-qte), the desired outcome is that use the current equipment's load/empty status (gcwtl-vid10-le) as the final status.
💻 Technical Criteria
Given Processing equipment for load/empty status determination
When The next equipment index (WS-SUB3) is greater than the total equipment quantity (GCWTL-EQUIPMENT-QTE)
Then Use the current equipment's load/empty status (GCWTL-VID10-LE) as the final status
R-GCCU358T-cbl-00270 Set Load Status to 'L'
Decision Rules
📊 Business Logic Narrative
When the process 'Set Load Status to 'L'' is invoked, and assuming that processing equipment for load/empty status and next equipment index is within train length, when the next equipment's container indicator is 'c', the desired outcome is that set the current equipment's load/empty status to 'l' (loaded).
💻 Technical Criteria
Given Processing equipment for load/empty status and next equipment index is within train length
When The next equipment's container indicator is 'C'
Then Set the current equipment's load/empty status to 'L' (Loaded)
R-GCCU358T-cbl-00271 Use Current Equipment Load/Empty Status
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Current Equipment Load/Empty Status', assuming that processing equipment for load/empty status and next equipment index is within train length, when the next equipment's container indicator is not 'c', the desired outcome is that use the current equipment's original load/empty status (gcwtl-vid10-le) as the final status.
💻 Technical Criteria
EXCLUDING Processing equipment for load/empty status and next equipment index is within train length
When The next equipment's container indicator is not 'C'
Then Use the current equipment's original load/empty status (GCWTL-VID10-LE) as the final status
R-GCCU358T-cbl-00272 Convert Equipment Number to Standard Format
Computation Rules
📊 Business Logic Narrative
When the process 'Convert Equipment Number to Standard Format' is invoked, and assuming that a train equipment record with equipment number in the train list, when processing equipment for canadian customs transmission, the desired outcome is that the equipment number is converted to 6-digit car number format and stored in the canadian output table.
💻 Technical Criteria
Given A train equipment record with equipment number in the train list
When Processing equipment for Canadian customs transmission
Then The equipment number is converted to 6-digit car number format and stored in the Canadian output table
R-GCCU358T-cbl-00273 Get Equipment Number from Train List
Process Rules
📊 Business Logic Narrative
When the process 'Get Equipment Number from Train List' is invoked, and assuming that a valid equipment index position in the train list, when processing equipment number conversion, the desired outcome is that the equipment number is retrieved from the train list at the current equipment index position.
💻 Technical Criteria
Given A valid equipment index position in the train list
When Processing equipment number conversion
Then The equipment number is retrieved from the train list at the current equipment index position
R-GCCU358T-cbl-00274 Move Equipment Number to Working Storage Car Number Field
Process Rules
📊 Business Logic Narrative
When the process 'Move Equipment Number to Working Storage Car Number Field' is invoked, and assuming that an equipment number from the train list equipment record, when preparing for car number format conversion, the desired outcome is that the equipment number is moved to the working storage car number field.
💻 Technical Criteria
Given An equipment number from the train list equipment record
When Preparing for car number format conversion
Then The equipment number is moved to the working storage car number field
R-GCCU358T-cbl-00275 Convert to 6-Digit Car Number Format
Computation Rules
📊 Business Logic Narrative
When the process 'Convert to 6-Digit Car Number Format' is invoked, and assuming that an equipment number in the working storage car number field, when converting to canadian transmission format, the desired outcome is that the equipment number is formatted as a 6-digit car number.
💻 Technical Criteria
Given An equipment number in the working storage car number field
When Converting to Canadian transmission format
Then The equipment number is formatted as a 6-digit car number
R-GCCU358T-cbl-00276 Store Converted Number in Canadian Output Table
Process Rules
📊 Business Logic Narrative
When the process 'Store Converted Number in Canadian Output Table' is invoked, and assuming that a 6-digit formatted car number and a valid equipment index position, when storing converted car number for canadian transmission, the desired outcome is that the 6-digit car number is stored in the canadian customs output table at the current equipment position.
💻 Technical Criteria
Given A 6-digit formatted car number and a valid equipment index position
When Storing converted car number for Canadian transmission
Then The 6-digit car number is stored in the Canadian customs output table at the current equipment position
R-GCCU358T-cbl-00277 Equipment Type = 'LO'?
Decision Rules
📊 Business Logic Narrative
When the process 'Equipment Type = 'LO'?' is invoked, and assuming that a train equipment record is being processed for car kind determination, when the equipment type code is 'lo' (locomotive), the desired outcome is that the car kind should be set to 'l' to indicate locomotive equipment.
💻 Technical Criteria
Given A train equipment record is being processed for car kind determination
When The equipment type code is 'LO' (Locomotive)
Then The car kind should be set to 'L' to indicate locomotive equipment
R-GCCU358T-cbl-00278 Equipment Type = 'ET'?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Equipment Type = 'ET'?', assuming that a train equipment record is being processed for car kind determination and the equipment type is not 'lo', when the equipment type code is 'et' (end-of-train), the desired outcome is that the car kind should be set to 'e' to indicate end-of-train equipment.
💻 Technical Criteria
EXCLUDING A train equipment record is being processed for car kind determination and the equipment type is not 'LO'
When The equipment type code is 'ET' (End-of-Train)
Then The car kind should be set to 'E' to indicate end-of-train equipment
R-GCCU358T-cbl-00279 Set Car Kind = SPACES for Standard Equipment
Decision Rules
📊 Business Logic Narrative
When the process 'Set Car Kind = SPACES for Standard Equipment' is invoked, and assuming that a train equipment record is being processed for car kind determination and the equipment type is neither 'lo' nor 'et', when the equipment type code is any value other than 'lo' or 'et', the desired outcome is that the car kind should be set to spaces to indicate standard equipment.
💻 Technical Criteria
Given A train equipment record is being processed for car kind determination and the equipment type is neither 'LO' nor 'ET'
When The equipment type code is any value other than 'LO' or 'ET'
Then The car kind should be set to spaces to indicate standard equipment
R-GCCU358T-cbl-00164 Is Equipment a Container?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Equipment a Container?' is invoked, and assuming that equipment is being processed for car loading, when the equipment container indicator is 'c', the desired outcome is that skip processing this equipment and continue to next equipment.
💻 Technical Criteria
Given Equipment is being processed for car loading
When The equipment container indicator is 'C'
Then Skip processing this equipment and continue to next equipment
R-GCCU358T-cbl-00165 Load Equipment Initials
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Load Equipment Initials', assuming that equipment is not a container, when processing equipment for car loading, the desired outcome is that move the equipment initials from train list to customs car initials field.
💻 Technical Criteria
EXCLUDING Equipment is not a container
When Processing equipment for car loading
Then Move the equipment initials from train list to customs car initials field
R-GCCU358T-cbl-00166 More Equipment Available?
Decision Rules
📊 Business Logic Narrative
When the process 'More Equipment Available?' is invoked, and assuming that current equipment is being processed and there is a next equipment, when the next equipment container indicator is 'c', the desired outcome is that set the current equipment load/empty status to 'l' (loaded).
💻 Technical Criteria
Given Current equipment is being processed and there is a next equipment
When The next equipment container indicator is 'C'
Then Set the current equipment load/empty status to 'L' (Loaded)
R-GCCU358T-cbl-00167 Load Current Equipment L/E Status
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Load Current Equipment L/E Status', assuming that equipment is being processed for car loading, when there is no more equipment or the next equipment is not a container, the desired outcome is that use the current equipment's load/empty status from the train list.
💻 Technical Criteria
EXCLUDING Equipment is being processed for car loading
When There is no more equipment OR the next equipment is not a container
Then Use the current equipment's load/empty status from the train list
R-GCCU358T-cbl-00168 Load Equipment Number
Process Rules
📊 Business Logic Narrative
When the process 'Load Equipment Number' is invoked, and assuming that equipment is being processed for car loading, when equipment number needs to be recorded, the desired outcome is that move the equipment number from train list to working storage car number field.
💻 Technical Criteria
Given Equipment is being processed for car loading
When Equipment number needs to be recorded
Then Move the equipment number from train list to working storage car number field
R-GCCU358T-cbl-00169 Convert to 6-Digit Car Number
Computation Rules
📊 Business Logic Narrative
When the process 'Convert to 6-Digit Car Number' is invoked, and assuming that equipment number has been loaded into working storage, when car number needs to be formatted for customs, the desired outcome is that convert the car number to 6-digit format and move to customs car number field.
💻 Technical Criteria
Given Equipment number has been loaded into working storage
When Car number needs to be formatted for customs
Then Convert the car number to 6-digit format and move to customs car number field
R-GCCU358T-cbl-00170 Equipment Type = LO?
Decision Rules
📊 Business Logic Narrative
When the process 'Equipment Type = LO?' is invoked, and assuming that equipment is being processed for car loading, when the equipment type is 'lo' (locomotive), the desired outcome is that set the car kind to 'l' in the customs car record.
💻 Technical Criteria
Given Equipment is being processed for car loading
When The equipment type is 'LO' (Locomotive)
Then Set the car kind to 'L' in the customs car record
R-GCCU358T-cbl-00171 Equipment Type = ET?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Equipment Type = ET?', assuming that equipment is not locomotive type, when the equipment type is 'et' (end of train), the desired outcome is that set the car kind to 'e' in the customs car record.
💻 Technical Criteria
EXCLUDING Equipment is not locomotive type
When The equipment type is 'ET' (End of Train)
Then Set the car kind to 'E' in the customs car record
R-GCCU358T-cbl-00172 Set Car Kind to Spaces
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Car Kind to Spaces', assuming that equipment is not locomotive type, when the equipment type is not 'et' (end of train), the desired outcome is that set the car kind to spaces in the customs car record.
💻 Technical Criteria
EXCLUDING Equipment is not locomotive type
When The equipment type is not 'ET' (End of Train)
Then Set the car kind to spaces in the customs car record
R-GCCU358T-cbl-00173 Increment Car Counter
Process Rules
📊 Business Logic Narrative
When the process 'Increment Car Counter' is invoked, and assuming that car information has been loaded into customs record, when car processing is complete, the desired outcome is that add 1 to the car counter (ws-sub2) for next car position.
💻 Technical Criteria
Given Car information has been loaded into customs record
When Car processing is complete
Then Add 1 to the car counter (WS-SUB2) for next car position
R-GCCU358T-cbl-00174 Increment Equipment Counter
Process Rules
📊 Business Logic Narrative
When the process 'Increment Equipment Counter' is invoked, and assuming that equipment processing is complete, when moving to next equipment, the desired outcome is that add 1 to the equipment sequence counter (ws-sub3) for next equipment position.
💻 Technical Criteria
Given Equipment processing is complete
When Moving to next equipment
Then Add 1 to the equipment sequence counter (WS-SUB3) for next equipment position
R-GCCU358T-cbl-00186 Bond Type = 'TR' Transit?
Decision Rules
📊 Business Logic Narrative
When the process 'Bond Type = 'TR' Transit?' is invoked, and assuming that a cargo record exists with an in-bond type code, when the system evaluates the in-bond type code, the desired outcome is that the system determines if the bond type equals 'tr' for transit cargo.
💻 Technical Criteria
Given A cargo record exists with an in-bond type code
When The system evaluates the in-bond type code
Then The system determines if the bond type equals 'TR' for transit cargo
R-GCCU358T-cbl-00187 Export Type Valid?
Decision Rules
📊 Business Logic Narrative
When the process 'Export Type Valid?' is invoked, and assuming that a cargo record exists with bol type codes and manifest type codes, when the system evaluates the cargo type codes, the desired outcome is that the system determines if the cargo is classified as export, returned us goods, empty residue, transport export, immediate export, or multi-port.
💻 Technical Criteria
Given A cargo record exists with BOL type codes and manifest type codes
When The system evaluates the cargo type codes
Then The system determines if the cargo is classified as Export, Returned US Goods, Empty Residue, Transport Export, Immediate Export, or Multi-Port
R-GCCU358T-cbl-00188 Valid Port?
Validation Rules
📊 Business Logic Narrative
When the process 'Valid Port?' is invoked, and assuming that export type cargo exists and a port validation indicator is set, when the system evaluates port authorization for export cargo, the desired outcome is that the system confirms the port is valid for processing the export cargo type.
💻 Technical Criteria
Given Export type cargo exists and a port validation indicator is set
When The system evaluates port authorization for export cargo
Then The system confirms the port is valid for processing the export cargo type
R-GCCU358T-cbl-00189 Mark Cargo as Valid
Process Rules
📊 Business Logic Narrative
When the process 'Mark Cargo as Valid' is invoked, and assuming that cargo has either transit bond type 'tr' or valid export type with authorized port, when the system completes cargo validation, the desired outcome is that the system increments the valid cargo count and sets export train indicator if applicable.
💻 Technical Criteria
Given Cargo has either transit bond type 'TR' or valid export type with authorized port
When The system completes cargo validation
Then The system increments the valid cargo count and sets export train indicator if applicable
R-GCCU358T-cbl-00190 Mark Cargo as Invalid
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Mark Cargo as Invalid', assuming that cargo does not have transit bond type 'tr' and either has invalid export type or unauthorized port, when the system completes cargo validation, the desired outcome is that the system does not increment the cargo count and continues to next equipment.
💻 Technical Criteria
EXCLUDING Cargo does not have transit bond type 'TR' and either has invalid export type or unauthorized port
When The system completes cargo validation
Then The system does not increment the cargo count and continues to next equipment
R-GCCU358T-cbl-00237 Is Transit 'TR'?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Transit 'TR'?' is invoked, and assuming that a cargo record exists with an in-bond type code, when the in-bond type code equals 'tr', the desired outcome is that accept the cargo for processing without additional validation.
💻 Technical Criteria
Given A cargo record exists with an in-bond type code
When The in-bond type code equals 'TR'
Then Accept the cargo for processing without additional validation
R-GCCU358T-cbl-00238 Is Standard Export?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is Standard Export?', assuming that a cargo record exists with a bol type code and the in-bond type is not 'tr', when the bol type code indicates standard export, the desired outcome is that proceed to validate port authorization for cargo acceptance.
💻 Technical Criteria
EXCLUDING A cargo record exists with a BOL type code and the in-bond type is not 'TR'
When The BOL type code indicates standard export
Then Proceed to validate port authorization for cargo acceptance
R-GCCU358T-cbl-00239 Is Returned US Goods?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is Returned US Goods?', assuming that a cargo record exists with a bol type code and is not standard export, when the bol type code indicates returned us goods export, the desired outcome is that proceed to validate port authorization for cargo acceptance.
💻 Technical Criteria
EXCLUDING A cargo record exists with a BOL type code and is not standard export
When The BOL type code indicates returned US goods export
Then Proceed to validate port authorization for cargo acceptance
R-GCCU358T-cbl-00240 Is Empty Residue?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is Empty Residue?', assuming that a cargo record exists with a bol type code and is not standard export or returned us goods, when the bol type code indicates empty residue export, the desired outcome is that proceed to validate port authorization for cargo acceptance.
💻 Technical Criteria
EXCLUDING A cargo record exists with a BOL type code and is not standard export or returned US goods
When The BOL type code indicates empty residue export
Then Proceed to validate port authorization for cargo acceptance
R-GCCU358T-cbl-00241 Is Transportation Export?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Transportation Export?' is invoked, and assuming that a cargo record exists with an in-bond type code and previous export validations failed, when the in-bond type code indicates transportation export, the desired outcome is that proceed to validate port authorization for cargo acceptance.
💻 Technical Criteria
Given A cargo record exists with an in-bond type code and previous export validations failed
When The in-bond type code indicates transportation export
Then Proceed to validate port authorization for cargo acceptance
R-GCCU358T-cbl-00242 Is Immediate Export?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Immediate Export?' is invoked, and assuming that a cargo record exists with an in-bond type code and previous export validations failed, when the in-bond type code indicates immediate export, the desired outcome is that proceed to validate port authorization for cargo acceptance.
💻 Technical Criteria
Given A cargo record exists with an in-bond type code and previous export validations failed
When The in-bond type code indicates immediate export
Then Proceed to validate port authorization for cargo acceptance
R-GCCU358T-cbl-00243 Is Multi-Port?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Multi-Port?' is invoked, and assuming that a cargo record exists with an in-bond type code and previous export validations failed, when the in-bond type code indicates multi-port export, the desired outcome is that proceed to validate port authorization for cargo acceptance.
💻 Technical Criteria
Given A cargo record exists with an in-bond type code and previous export validations failed
When The in-bond type code indicates multi-port export
Then Proceed to validate port authorization for cargo acceptance
R-GCCU358T-cbl-00244 Valid Port Required?
Authorization Rules
📊 Business Logic Narrative
When the process 'Valid Port Required?' is invoked, and assuming that a cargo record has been identified as an export type requiring port validation, when the port authorization check is performed, the desired outcome is that accept cargo if port is valid, otherwise reject cargo for processing.
💻 Technical Criteria
Given A cargo record has been identified as an export type requiring port validation
When The port authorization check is performed
Then Accept cargo if port is valid, otherwise reject cargo for processing
R-GCCU358T-cbl-00245 Accept Cargo for Processing
Action Rules
📊 Business Logic Narrative
When the process 'Accept Cargo for Processing' is invoked, and assuming that a cargo record has passed all validation checks, when the cargo meets transit or export with valid port criteria, the desired outcome is that increment the bol quantity counter and mark cargo as accepted for processing.
💻 Technical Criteria
Given A cargo record has passed all validation checks
When The cargo meets transit or export with valid port criteria
Then Increment the BOL quantity counter and mark cargo as accepted for processing
R-GCCU358T-cbl-00246 Reject Cargo
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Reject Cargo', assuming that a cargo record exists but fails validation checks, when the cargo does not meet transit criteria or export with valid port criteria, the desired outcome is that do not increment bol quantity counter and exclude cargo from processing.
💻 Technical Criteria
EXCLUDING A cargo record exists but fails validation checks
When The cargo does not meet transit criteria or export with valid port criteria
Then Do not increment BOL quantity counter and exclude cargo from processing
R-GCCU358T-cbl-00249 Move SCAC Code from Equipment to Key
Process Rules
📊 Business Logic Narrative
When the process 'Move SCAC Code from Equipment to Key' is invoked, and assuming that an equipment record contains a scac code for carrier identification, when the system prepares to lookup carrier automation status, the desired outcome is that the scac code from the equipment record is moved to the table lookup key.
💻 Technical Criteria
Given An equipment record contains a SCAC code for carrier identification
When The system prepares to lookup carrier automation status
Then The SCAC code from the equipment record is moved to the table lookup key
R-GCCU358T-cbl-00197 Equipment Load/Empty Status = 'H'?
Decision Rules
📊 Business Logic Narrative
When the process 'Equipment Load/Empty Status = 'H'?' is invoked, and assuming that an equipment piece is being processed for vid segment creation, when the equipment's load/empty status in the train list is 'h' (hold), the desired outcome is that the vid segment load/empty status code is set to 'e' (empty).
💻 Technical Criteria
Given An equipment piece is being processed for VID segment creation
When The equipment's load/empty status in the train list is 'H' (Hold)
Then The VID segment load/empty status code is set to 'E' (Empty)
R-GCCU358T-cbl-00199 Keep Original Status
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Keep Original Status', assuming that an equipment piece is being processed and does not have hold status 'h', when the equipment either has no cargo, status is not 'e', or cargo weight is 1 or less, the desired outcome is that the vid segment load/empty status code is set to the original value from the train list.
💻 Technical Criteria
EXCLUDING An equipment piece is being processed and does not have hold status 'H'
When The equipment either has no cargo, status is not 'E', or cargo weight is 1 or less
Then The VID segment load/empty status code is set to the original value from the train list
R-GCCU358T-cbl-00200 Create VID Segment with Equipment Details
Process Rules
📊 Business Logic Narrative
When the process 'Create VID Segment with Equipment Details' is invoked, and assuming that equipment details and determined load/empty status are available, when processing equipment for vid segment creation, the desired outcome is that a vid segment is created with equipment type, initial, number, and load/empty status code.
💻 Technical Criteria
Given Equipment details and determined load/empty status are available
When Processing equipment for VID segment creation
Then A VID segment is created with equipment type, initial, number, and load/empty status code
R-GCCU358T-cbl-00201 Insert VID Segment to EDI
Action Rules
📊 Business Logic Narrative
When the process 'Insert VID Segment to EDI' is invoked, and assuming that a vid segment has been created with all required equipment details, when the vid segment is ready for transmission, the desired outcome is that the vid segment is inserted into the edi transmission data structure.
💻 Technical Criteria
Given A VID segment has been created with all required equipment details
When The VID segment is ready for transmission
Then The VID segment is inserted into the EDI transmission data structure