This report presents the exact business rules dynamically extracted from the legacy system. Rules are formatted in an Agile/BDD Given/When/Then structure, offering a bridge between business requirements and technical implementation constraints. Component rules have been logically grouped into feature sets.
Business Justification: Ensures correct system behavior and process compliance when edi 358 processing is initiated.
Trigger Criteria:
Context: EDI 358 processing is initiated
Applied to: Validate Processing Mode
Action: the processing mode is checked
Logic Flow:
IF EDI 358 processing is initiated
AND the processing mode is checked
THEN:
• processing continues only if mode is FOREGROUND or BACKGROUND, otherwise sets wrong mode indicator
Rule Belongs to : GCCE358.cbl
Business Justification: Ensures correct system behavior and process compliance when valid processing mode is confirmed.
Trigger Criteria:
Context: a valid processing mode is confirmed
Applied to: Generate Transmission Number
Action: generating transmission number
Logic Flow:
IF a valid processing mode is confirmed
AND generating transmission number
THEN:
• use prefix 106 for FOREGROUND mode or prefix 110 for BACKGROUND mode, combined with machine time
Rule Belongs to : GCCE358.cbl
Business Justification: Governs the functional prerequisites and system routing when transmission number is generated.
Trigger Criteria:
Context: a transmission number is generated
Applied to: Insert EDI Root Segment
Action: attempting to insert EDI root segment
Logic Flow:
IF a transmission number is generated
AND attempting to insert EDI root segment
THEN:
• if transmission number already exists, increment by 1 and retry until unique number is found
Rule Belongs to : GCCE358.cbl
Business Justification: Dictates the expected operational logic and validation steps when train equipment list is available.
Trigger Criteria:
Context: train equipment list is available
Applied to: Count Bill of Lading Records
Action: counting bill of lading records
Logic Flow:
IF train equipment list is available
AND counting bill of lading records
THEN:
• increment count for each equipment item where US-CCN-KEY is not spaces
Rule Belongs to : GCCE358.cbl
Business Justification: Governs the functional prerequisites and system routing when bill of lading count is calculated.
Trigger Criteria:
Context: bill of lading count is calculated
Applied to: Process M10 Manifest Header
Action: creating M10 manifest header
Logic Flow:
IF bill of lading count is calculated
AND 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
Rule Belongs to : GCCE358.cbl
Business Justification: Defines the strict business conditions required to proceed when port and timing information is available.
Trigger Criteria:
Context: port and timing information is available
Applied to: Process P4 Port Information
Action: creating P4 port information
Logic Flow:
IF port and timing information is available
AND 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
Rule Belongs to : GCCE358.cbl
Business Justification: Governs the functional prerequisites and system routing when train equipment list contains multiple items.
Trigger Criteria:
Context: train equipment list contains multiple items
Applied to: More Equipment to Process?
Action: processing equipment items
Logic Flow:
IF train equipment list contains multiple items
AND processing equipment items
THEN:
• continue processing while equipment index is less than or equal to total equipment quantity
Rule Belongs to : GCCE358.cbl
Business Justification: Dictates the expected operational logic and validation steps when equipment items are being processed sequentially.
Trigger Criteria:
Context: equipment items are being processed sequentially
Applied to: Equipment ID Changed?
Action: checking current equipment ID
Logic Flow:
IF equipment items are being processed sequentially
AND checking current equipment ID
THEN:
• if current equipment ID is different from last processed equipment ID, process VID record and update last equipment ID
Rule Belongs to : GCCE358.cbl
Business Justification: Dictates the expected operational logic and validation steps when equipment record is being created.
Trigger Criteria:
Context: equipment record is being created
Applied to: Process Equipment Records
Action: assigning equipment number
Logic Flow:
IF equipment record is being created
AND assigning equipment number
THEN:
• ifUS-CCN-KEY starts with 'CPRS' or car number is spaces, use equipment number from train list, otherwise use car number from cargo record
Rule Belongs to : GCCE358.cbl
Business Justification: Establishes the required business protocol to be followed when equipment load/empty status and cargo information is available.
Trigger Criteria:
Context: equipment load/empty status and cargo information is available
Applied to: Determine Equipment Load Status
Action: determining final load status
Logic Flow:
IF equipment load/empty status and cargo information is available
AND 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
Rule Belongs to : GCCE358.cbl
Business Justification: Dictates the expected operational logic and validation steps when equipment has us-ccn-key that is not spaces.
Trigger Criteria:
Context: equipment has US-CCN-KEY that is not spaces
Applied to: Lookup Foreign Carrier Information
Action: processing equipment records
Logic Flow:
IF equipment has US-CCN-KEY that is not spaces
AND processing equipment records
THEN:
• lookup cargo information using the CCN key to retrieve additional equipment details
Rule Belongs to : GCCE358.cbl
Business Justification: Dictates the expected operational logic and validation steps when equipment information is processed and validated.
Trigger Criteria:
Context: equipment information is processed and validated
Applied to: Create VID Equipment Segment
Action: creating VID equipment segment
Logic Flow:
IF equipment information is processed and validated
AND creating VID equipment segment
THEN:
• populate VID segment with equipment type, initial, processed equipment number, and determined load status
Rule Belongs to : GCCE358.cbl
Business Justification: Dictates the expected operational logic and validation steps when equipment item is being processed.
Trigger Criteria:
Context: equipment item is being processed
Applied to: Equipment Has Bill of Lading?
Action: checking for bill of lading information
Logic Flow:
IF equipment item is being processed
AND checking for bill of lading information
THEN:
• ifUS-CCN-KEY is not spaces, process MBL bill of lading record
Rule Belongs to : GCCE358.cbl
Business Justification: Defines the strict business conditions required to proceed when equipment has bill of lading information.
Trigger Criteria:
Context: equipment has bill of lading information
Applied to: Process Bill of Lading Records
Action: processing bill of lading records
Logic Flow:
IF equipment has bill of lading information
AND processing bill of lading records
THEN:
• extract SCAC and BOL/Waybill information from equipment data for MBL segment creation
Rule Belongs to : GCCE358.cbl
Business Justification: Dictates the expected operational logic and validation steps when scac and port information is available.
Trigger Criteria:
Context: SCAC and port information is available
Applied to: Determine Automated Carrier Status
Action: determining automated carrier status
Logic Flow:
IF SCAC and port information is available
AND determining automated carrier status
THEN:
• if SCAC is 'CPRS' set response to 'Y', otherwise lookup SCAC in table andif automated carrier flag is 'Y' set response to 'Y', else set to 'N'
Rule Belongs to : GCCE358.cbl
Business Justification: Dictates the expected operational logic and validation steps when equipment and bill of lading information is processed.
Trigger Criteria:
Context: equipment and bill of lading information is processed
Applied to: Apply Special ER Processing Rules
Action: applying special ER processing rules
Logic Flow:
IF equipment and bill of lading information is processed
AND 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'
Rule Belongs to : GCCE358.cbl
Business Justification: Governs the functional prerequisites and system routing when bill of lading information and automated carrier status is determined.
Trigger Criteria:
Context: bill of lading information and automated carrier status is determined
Applied to: Create MBL Bill Segment
Action: creating MBL bill segment
Logic Flow:
IF bill of lading information and automated carrier status is determined
AND creating MBL bill segment
THEN:
• populate MBL segment with SCAC, BOL/Waybill number, and determined response code
Rule Belongs to : GCCE358.cbl
Business Justification: Ensures correct system behavior and process compliance when all edi segments are created successfully.
Trigger Criteria:
Context: all EDI segments are created successfully
Applied to: Start EDI Send Function
Action: starting EDI send function
Logic Flow:
IF all EDI segments are created successfully
AND starting EDI send function
THEN:
• invoke EDI send function with transmission number and high-values security setting
Rule Belongs to : GCCE358.cbl
Business Justification: Establishes the required business protocol to be followed when edi processing is completed.
Trigger Criteria:
Context: EDI processing is completed
Applied to: Start Log Update Function
Action: starting log update function
Logic Flow:
IF EDI processing is completed
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when edi 358 processing request is initiated.
Trigger Criteria:
Context: An EDI 358 processing request is initiated
Applied to: Valid Processing Mode?
Action: The system checks the processing mode flags
Logic Flow:
IF An EDI 358 processing request is initiated
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when st header segment needs to be created for edi transmission.
Trigger Criteria:
Context: An ST header segment needs to be created for EDI transmission
Applied to: Build ST Header Segment
Action: The system evaluates the post-emanifest flag in the train list
Logic Flow:
IF An ST header segment needs to be created for EDI transmission
AND 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'
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when manifest transaction is being processed.
Trigger Criteria:
Context: A manifest transaction is being processed
Applied to: Set Transaction Purpose Code
Action: The operation type is ADD
Logic Flow:
IF A manifest transaction is being processed
AND The operation type is ADD
THEN:
• Set the transaction purpose code to '00'
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when manifest transaction is being processed.
Trigger Criteria:
Context: A manifest transaction is being processed
Applied to: Set Transaction Purpose Code
Action: The operation type is DELETE
Logic Flow:
IF A manifest transaction is being processed
AND The operation type is DELETE
THEN:
• Set the transaction purpose code to '03'
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when manifest transaction is being processed with operation type change.
Trigger Criteria:
Context: A manifest transaction is being processed with operation type CHANGE
Applied to: Set Transaction Purpose Code
Action: The system evaluates arrival date and post-emanifest flag
Logic Flow:
IF A manifest transaction is being processed with operation type CHANGE
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when equipment processing needs to be performed for the manifest.
Trigger Criteria:
Context: Equipment processing needs to be performed for the manifest
Applied to: Determine EDI Version Processing
Action: The system evaluates the post-emanifest flag
Logic Flow:
IF Equipment processing needs to be performed for the manifest
AND 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)
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when equipment is being processed in standard 4040rail version.
Trigger Criteria:
Context: Equipment is being processed in standard 4040RAIL version
Applied to: Set Equipment Load Status
Action: The system evaluates equipment load status and cargo key
Logic Flow:
IF Equipment is being processed in standard 4040RAIL version
AND 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'
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when equipment is being processed in 5040 post-emanifest version.
Trigger Criteria:
Context: Equipment is being processed in 5040 post-emanifest version
Applied to: Set Equipment Load Status
Action: The system evaluates equipment load status and cargo key
Logic Flow:
IF Equipment is being processed in 5040 post-emanifest version
AND 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'
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when equipment processing is being performed.
Trigger Criteria:
Context: Equipment processing is being performed
Applied to: Set Equipment Load Status
Action: The cargo CCN key starts with '6105I'
Logic Flow:
IF Equipment processing is being performed
AND The cargo CCN key starts with '6105I'
THEN:
• Override the equipment load status to 'E' (empty) regardless of other load status determinations
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when equipment has associated cargo information.
Trigger Criteria:
Context: Equipment has associated cargo information
Applied to: Set Location ID for Equipment
Action: The system evaluates the cargo in-transit status
Logic Flow:
IF Equipment has associated cargo information
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when equipment is a possible flatcar type in post-emanifest processing.
Trigger Criteria:
Context: Equipment is a possible flatcar type in post-emanifest processing
Applied to: Handle Flat Car Processing
Action: The system checks subsequent equipment for container types
Logic Flow:
IF Equipment is a possible flatcar type in post-emanifest processing
AND 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)
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when master bill of lading segment is being created.
Trigger Criteria:
Context: A Master Bill of Lading segment is being created
Applied to: Handle Special SCAC Assignment
Action: The system evaluates the CCN key prefix
Logic Flow:
IF A Master Bill of Lading segment is being created
AND The system evaluates the CCN key prefix
THEN:
• If CCN key starts with '2156', set SCAC to 'CFFO', otherwise set SCAC to 'CPRS'
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when cargo information indicates in-transit status of 'r' (revenue).
Trigger Criteria:
Context: Cargo information indicates in-transit status of 'R' (revenue)
Applied to: Handle Revenue Transit Status
Action: The system processes the Master Bill of Lading segment
Logic Flow:
IF Cargo information indicates in-transit status of 'R' (revenue)
AND The system processes the Master Bill of Lading segment
THEN:
• Set BOL/Waybill to 'NA', set response code to 'N', andif post-emanifest, set exception code to '08'
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when cargo information indicates haulage rights exist.
Trigger Criteria:
Context: Cargo information indicates haulage rights exist
Applied to: Process Haulage Rights
Action: The system processes the Master Bill of Lading segment
Logic Flow:
IF Cargo information indicates haulage rights exist
AND The system processes the Master Bill of Lading segment
THEN:
• Set SCAC to the haulage rights SCAC code and set response code to 'N'
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when processing is for the first equipment in an amendment scenario.
Trigger Criteria:
Context: Processing is for the first equipment in an amendment scenario
Applied to: Build Dummy MBL Segment
Action: No cargo key exists for the equipment but amendment processing is required
Logic Flow:
IF Processing is for the first equipment in an amendment scenario
AND 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'
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when amendment processing is required for the first equipment or dummy mbl scenario.
Trigger Criteria:
Context: Amendment processing is required for the first equipment or dummy MBL scenario
Applied to: Build M13 Amendment Segment
Action: The system needs to document the amendment
Logic Flow:
IF Amendment processing is required for the first equipment or dummy MBL scenario
AND 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'
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when processing is post-emanifest version and this is the first equipment.
Trigger Criteria:
Context: Processing is post-emanifest version and this is the first equipment
Applied to: Build N9 Reference Segment
Action: The system creates reference information
Logic Flow:
IF Processing is post-emanifest version and this is the first equipment
AND 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'
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when transmission number needs to be generated for edi processing.
Trigger Criteria:
Context: A transmission number needs to be generated for EDI processing
Applied to: Generate Transmission Number
Action: The system evaluates the processing mode
Logic Flow:
IF A transmission number needs to be generated for EDI processing
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when station information is required for manifest processing.
Trigger Criteria:
Context: Station information is required for manifest processing
Applied to: Retrieve Station Information
Action: The system looks up the station code in the station table
Logic Flow:
IF Station information is required for manifest processing
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when equipment has a non-empty cargo ccn key.
Trigger Criteria:
Context: Equipment has a non-empty cargo CCN key
Applied to: Retrieve Cargo Information
Action: The system attempts to retrieve cargo information
Logic Flow:
IF Equipment has a non-empty cargo CCN key
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when train processing request is initiated.
Trigger Criteria:
Context: A train processing request is initiated
Applied to: Validate Foreground/Background Indicator
Action: The system checks the processing mode indicator
Logic Flow:
IF A train processing request is initiated
AND The system checks the processing mode indicator
THEN:
• Processing continues if mode is foreground or background, otherwise sets wrong indicator error
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when train has an origin station code.
Trigger Criteria:
Context: A train has an origin station code
Applied to: Check Station Code Validity
Action: The system looks up the station code in the SE table
Logic Flow:
IF A train has an origin station code
AND The system looks up the station code in the SE table
THEN:
• Sets valid port flag to true if found, false if not found
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when train has equipment with us ccn keys.
Trigger Criteria:
Context: A train has equipment with US CCN keys
Applied to: Count Bills of Lading
Action: The system evaluates each equipment's cargo type
Logic Flow:
IF A train has equipment with US CCN keys
AND The system evaluates each equipment's cargo type
THEN:
• Increments BOL count if in-bond type is 'TR' orif cargo is export type and port is valid
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when train has a valid port and train id.
Trigger Criteria:
Context: A train has a valid port and train ID
Applied to: Determine Train Type
Action: The system examines position 23 of the train ID
Logic Flow:
IF A train has a valid port and train ID
AND The system examines position 23 of the train ID
THEN:
• Sets train type to export if position 23 is 'T', otherwise sets to transit
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when train has been validated for processing mode and station code.
Trigger Criteria:
Context: A train has been validated for processing mode and station code
Applied to: Valid Bills or Valid Port?
Action: The system checks if BOL quantity is greater than 0 or if port is valid
Logic Flow:
IF A train has been validated for processing mode and station code
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when edi processing is required.
Trigger Criteria:
Context: EDI processing is required
Applied to: Generate Transmission Number
Action: The system generates a transmission number
Logic Flow:
IF EDI processing is required
AND The system generates a transmission number
THEN:
• Uses prefix 106 for foreground or 003 for background, combined with machine time
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when unique transmission number has been generated.
Trigger Criteria:
Context: A unique transmission number has been generated
Applied to: Create EDI Root Segment
Action: The system creates the root segment
Logic Flow:
IF A unique transmission number has been generated
AND The system creates the root segment
THEN:
• Inserts transmission record with transaction set '358' and generated transmission number
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when edi root segment has been created and train type determined.
Trigger Criteria:
Context: EDI root segment has been created and train type determined
Applied to: Build M10 Manifest Header
Action: The system builds the M10 segment
Logic Flow:
IF EDI root segment has been created and train type determined
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when m10 segment has been created.
Trigger Criteria:
Context: M10 segment has been created
Applied to: Build P4 Port Information
Action: The system builds the P4 segment
Logic Flow:
IF M10 segment has been created
AND The system builds the P4 segment
THEN:
• Includes origin station code, estimated arrival date with century calculation, BOL quantity, arrival time, and FIRMS code
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when p4 segment has been created and equipment list exists.
Trigger Criteria:
Context: P4 segment has been created and equipment list exists
Applied to: Process Equipment VID Segments
Action: The system processes each unique equipment ID
Logic Flow:
IF P4 segment has been created and equipment list exists
AND 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)
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when equipment has associated cargo (us ccn key not spaces).
Trigger Criteria:
Context: Equipment has associated cargo (US CCN key not spaces)
Applied to: Process Bill of Lading MBL Segments
Action: The system creates MBL segment
Logic Flow:
IF Equipment has associated cargo (US CCN key not spaces)
AND 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'
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when equipment has cargo with transport export type.
Trigger Criteria:
Context: Equipment has cargo with transport export type
Applied to: Process N9 Reference Segments
Action: The system processes N9 segment
Logic Flow:
IF Equipment has cargo with transport export type
AND The system processes N9 segment
THEN:
• Creates N9 segment with reference qualifier 'IB' and entry number from cargo record
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when train has valid cargo (bol quantity > 0) or valid port.
Trigger Criteria:
Context: Train has valid cargo (BOL quantity > 0) or valid port
Applied to: Update Train Status to SENT
Action: The system updates train status
Logic Flow:
IF Train has valid cargo (BOL quantity > 0) or valid port
AND The system updates train status
THEN:
• Sets train status to SENT, enables EDI sending flag, and updates both train database and train list
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when train has no valid cargo (bol quantity = 0) and no valid port.
Trigger Criteria:
Context: Train has no valid cargo (BOL quantity = 0) and no valid port
Applied to: Update Train Status to ACK
Action: The system updates train status
Logic Flow:
IF Train has no valid cargo (BOL quantity = 0) and no valid port
AND The system updates train status
THEN:
• Sets train status to ACK and determines EDI action based on previous EDI send flag
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when train status has been set to ack.
Trigger Criteria:
Context: Train status has been set to ACK
Applied to: Delete Required?
Action: The system checks previous EDI send flag
Logic Flow:
IF Train status has been set to ACK
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when edi segments have been created successfully.
Trigger Criteria:
Context: EDI segments have been created successfully
Applied to: Start EDI Send Function
Action: The system starts EDI send function
Logic Flow:
IF EDI segments have been created successfully
AND The system starts EDI send function
THEN:
• Calls EDI send function with high-value security and generated transmission number
Rule Belongs to : GCCU358T.cbl
Business Justification: Defines the strict business conditions required to proceed when train processing has completed.
Trigger Criteria:
Context: Train processing has completed
Applied to: Log Transaction Activity
Action: The system logs the transaction
Logic Flow:
IF Train processing has completed
AND The system logs the transaction
THEN:
• Uses foreground or background action codes, includes user ID, date, time, and appropriate message based on cargo validity
Rule Belongs to : GCCU358T.cbl
Business Justification: Defines the strict business conditions required to proceed when train is in background mode, has ack status, aei send is enabled, edi is not being sent, and train id position 23 is 't'.
Trigger Criteria:
Context: Train is in background mode, has ACK status, AEI send is enabled, EDI is not being sent, and train ID position 23 is 'T'
Applied to: Process AEI Train Send
Action: The system processes AEI train send
Logic Flow:
IF Train is in background mode, has ACK status, AEI send is enabled, EDI is not being sent, and train ID position 23 is 'T'
AND The system processes AEI train send
THEN:
• Initiates customs transaction with train information for AEI processing
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when aei train send is being processed.
Trigger Criteria:
Context: AEI train send is being processed
Applied to: Load Car Information for CDN Send
Action: The system loads car information
Logic Flow:
IF AEI train send is being processed
AND The system loads car information
THEN:
• Includes only non-container equipment with car initial, load/empty status, car number, and car kind classification
Rule Belongs to : GCCU358T.cbl
Business Justification: Defines the strict business conditions required to proceed when train has been marked as delete required.
Trigger Criteria:
Context: Train has been marked as delete required
Applied to: Spawn Delete Transaction
Action: The system spawns delete transaction
Logic Flow:
IF Train has been marked as delete required
AND The system spawns delete transaction
THEN:
• Calls GCT1121E transaction with train ID and delete action code 'TD'
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when mbl segment is being processed with a scac code.
Trigger Criteria:
Context: MBL segment is being processed with a SCAC code
Applied to: Check Automated Carrier Status
Action: The system checks automated carrier status
Logic Flow:
IF MBL segment is being processed with a SCAC code
AND The system checks automated carrier status
THEN:
• Sets response to 'Y' if SCAC is 'CPRS' orif SCAC table indicates automated carrier, otherwise sets to 'N', with special 'Y' setting for empty cars with BOL type '23'
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when train processing has completed and edi is not being sent.
Trigger Criteria:
Context: Train processing has completed and EDI is not being sent
Applied to: AEI Train Send Check?
Action: The system checks AEI train send eligibility
Logic Flow:
IF Train processing has completed and EDI is not being sent
AND The system checks AEI train send eligibility
THEN:
• Proceeds with AEI processing if train is in background mode and meets AEI criteria
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when edi processing and logging have completed.
Trigger Criteria:
Context: EDI processing and logging have completed
Applied to: Has Valid Cargo?
Action: The system determines final status
Logic Flow:
IF EDI processing and logging have completed
AND The system determines final status
THEN:
• Updates to SENT status if BOL quantity > 0 or port is valid, otherwise updates to ACK status
Business Justification: Governs the functional prerequisites and system routing when train equipment processing request is initiated.
Trigger Criteria:
Context: A train equipment processing request is initiated
Applied to: Validate Processing Mode - Check if the processing mode is foreground or background, return error if invalid
Action: The system checks the processing mode indicator
Logic Flow:
IF A train equipment processing request is initiated
AND 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
Rule Belongs to : GCCE358.cbl
Business Justification: Dictates the expected operational logic and validation steps when processing mode has been validated as either foreground or background.
Trigger Criteria:
Context: The processing mode has been validated as either foreground or background
Applied to: Set Success Flag - Continue Processing
Action: The validation check passes
Logic Flow:
IF The processing mode has been validated as either foreground or background
AND The validation check passes
THEN:
• Set the success flag to true to allow continued processing
Rule Belongs to : GCCE358.cbl
Business Justification: Ensures correct system behavior and process compliance when processing mode is neither foreground nor background.
Trigger Criteria:
Context: The processing mode is neither foreground nor background
Applied to: Set Wrong Mode Error Flag
Action: The validation check fails
Logic Flow:
IF The processing mode is neither foreground nor background
AND The validation check fails
THEN:
• Set the wrong mode error flag to true to prevent continued processing
R-GCCE358-cbl-00023 (+12)File: GCCE358.cblFile: GCCS358C.cblFile: GCCU358T.cblBusiness Rule: Generate Transmission Number
Rule Belongs to : GCCE358.cbl
Business Justification: Dictates the expected operational logic and validation steps when train equipment processing request is initiated.
Trigger Criteria:
Context: A train equipment processing request is initiated
Applied to: Check Processing Mode
Action: The system checks the processing mode indicator
Logic Flow:
IF A train equipment processing request is initiated
AND The system checks the processing mode indicator
THEN:
• If the mode is foreground, set transmission prefix to 106, otherwiseif the mode is background, set transmission prefix to 110
Rule Belongs to : GCCE358.cbl
Business Justification: Establishes the required business protocol to be followed when transmission prefix has been determined based on processing mode.
Trigger Criteria:
Context: The transmission prefix has been determined based on processing mode
Applied to: Get Current Machine Time
Action: The system needs to create a transmission number
Logic Flow:
IF The transmission prefix has been determined based on processing mode
AND The system needs to create a transmission number
THEN:
• Retrieve the current machine time and use it as the base transmission number
Rule Belongs to : GCCE358.cbl
Business Justification: Governs the functional prerequisites and system routing when transmission prefix (106 or 110) and machine time are available.
Trigger Criteria:
Context: A transmission prefix (106 or 110) and machine time are available
Applied to: Combine Prefix + Machine Time to Create Transmission Number
Action: The system creates the transmission number
Logic Flow:
IF A transmission prefix (106 or 110) and machine time are available
AND The system creates the transmission number
THEN:
• Combine the prefix with the machine time to form the complete transmission number
Rule Belongs to : GCCE358.cbl
Business Justification: Governs the functional prerequisites and system routing when transmission number has been generated.
Trigger Criteria:
Context: A transmission number has been generated
Applied to: Transmission Number Generated
Action: The system attempts to create a transmission record
Logic Flow:
IF A transmission number has been generated
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when system is processing a train manifest transaction.
Trigger Criteria:
Context: The system is processing a train manifest transaction
Applied to: Set Prefix to 147 Foreground Mode
Action: The processing mode is set to foreground (GCWS358C-FOREGROUND is true)
Logic Flow:
IF The system is processing a train manifest transaction
AND The processing mode is set to foreground (GCWS358C-FOREGROUND is true)
THEN:
• The transmission prefix should be set to 147
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when system is processing a train manifest transaction.
Trigger Criteria:
Context: The system is processing a train manifest transaction
Applied to: Set Prefix to 2 Foreground-02 Mode
Action: The processing mode is set to foreground-02 (GCWS358C-FOREGROUND-02 is true) and not foreground mode
Logic Flow:
IF The system is processing a train manifest transaction
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when system is processing a train manifest transaction.
Trigger Criteria:
Context: The system is processing a train manifest transaction
Applied to: Set Prefix to 146 Background Mode
Action: The processing mode is neither foreground nor foreground-02 (default to background)
Logic Flow:
IF The system is processing a train manifest transaction
AND The processing mode is neither foreground nor foreground-02 (default to background)
THEN:
• The transmission prefix should be set to 146
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when transmission prefix has been determined based on processing mode.
Trigger Criteria:
Context: A transmission prefix has been determined based on processing mode
Applied to: Get Current Machine Time
Action: The system needs to create a unique transmission number
Logic Flow:
IF A transmission prefix has been determined based on processing mode
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when train manifest processing request is initiated.
Trigger Criteria:
Context: A train manifest processing request is initiated
Applied to: Set Prefix to 106 Foreground Mode / Set Prefix to 003 Background Mode
Action: The system determines the processing mode (foreground or background)
Logic Flow:
IF A train manifest processing request is initiated
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Defines the strict business conditions required to proceed when transmission prefix has been determined.
Trigger Criteria:
Context: A transmission prefix has been determined
Applied to: Get Current Machine Time as Base Number
Action: The system needs to create a unique transmission number
Logic Flow:
IF A transmission prefix has been determined
AND The system needs to create a unique transmission number
THEN:
• The current machine time is retrieved and used as the base number component
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when transmission prefix and machine time are available.
Trigger Criteria:
Context: A transmission prefix and machine time are available
Applied to: Combine Prefix + Time to Create Transmission Number
Action: The system constructs the transmission number
Logic Flow:
IF A transmission prefix and machine time are available
AND The system constructs the transmission number
THEN:
• The prefix and machine time are combined to form the complete transmission number
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when complete transmission number has been generated.
Trigger Criteria:
Context: A complete transmission number has been generated
Applied to: Attempt to Insert Transmission Number
Action: The system attempts to insert the transmission record
Logic Flow:
IF A complete transmission number has been generated
AND The system attempts to insert the transmission record
THEN:
• A new transmission record is created with transaction set '358' and the generated transmission number
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when transmission number has been generated and insertion attempted.
Trigger Criteria:
Context: A transmission number has been generated and insertion attempted
Applied to: Number Already Exists? / Increment Number by 1
Action: The transmission number already exists in the system
Logic Flow:
IF A transmission number has been generated and insertion attempted
AND 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-GCCE358-cbl-00027 (+6)File: GCCE358.cblBusiness Rule: Insert EDI Root Segment
Rule Belongs to : GCCE358.cbl
Business Justification: Dictates the expected operational logic and validation steps when edi transmission needs to be created.
Trigger Criteria:
Context: An EDI transmission needs to be created
Applied to: Initialize Root Segment Structure
Action: The root segment creation process begins
Logic Flow:
IF An EDI transmission needs to be created
AND The root segment creation process begins
THEN:
• The A9RT transmission segment structure is initialized to empty values
Rule Belongs to : GCCE358.cbl
Business Justification: Ensures correct system behavior and process compliance when transmission number has been generated based on machine time.
Trigger Criteria:
Context: A transmission number has been generated based on machine time
Applied to: Set Transmission Number from Generated Value
Action: Creating the EDI root segment
Logic Flow:
IF A transmission number has been generated based on machine time
AND Creating the EDI root segment
THEN:
• The transmission number is assigned to the A9RT transmission number field
Rule Belongs to : GCCE358.cbl
Business Justification: Defines the strict business conditions required to proceed when edi root segment is being created for train equipment data.
Trigger Criteria:
Context: An EDI root segment is being created for train equipment data
Applied to: Set Transaction Set to '358'
Action: Setting the transaction set identifier
Logic Flow:
IF An EDI root segment is being created for train equipment data
AND Setting the transaction set identifier
THEN:
• The transaction set code is set to '358'
Rule Belongs to : GCCE358.cbl
Business Justification: Ensures correct system behavior and process compliance when complete edi root segment with transmission number and transaction set.
Trigger Criteria:
Context: A complete EDI root segment with transmission number and transaction set
Applied to: Attempt to Insert Root Segment into EDI Database
Action: Inserting the segment into the EDI database
Logic Flow:
IF A complete EDI root segment with transmission number and transaction set
AND Inserting the segment into the EDI database
THEN:
• The system attempts to insert the A9RT segment using database insert operation
Rule Belongs to : GCCE358.cbl
Business Justification: Establishes the required business protocol to be followed when edi root segment insertion has been attempted.
Trigger Criteria:
Context: An EDI root segment insertion has been attempted
Applied to: Insert Successful?
Action: The database insert operation completes
Logic Flow:
IF An EDI root segment insertion has been attempted
AND The database insert operation completes
THEN:
• If the status code is not blank, the insertion failed due to duplicate transmission number
Rule Belongs to : GCCE358.cbl
Business Justification: Establishes the required business protocol to be followed when edi root segment insertion failed due to duplicate transmission number.
Trigger Criteria:
Context: An EDI root segment insertion failed due to duplicate transmission number
Applied to: Increment Transmission Number by 1
Action: Resolving the transmission number collision
Logic Flow:
IF An EDI root segment insertion failed due to duplicate transmission number
AND Resolving the transmission number collision
THEN:
• The transmission number is incremented by 1 and assigned to the root segment
Rule Belongs to : GCCE358.cbl
Business Justification: Establishes the required business protocol to be followed when transmission number collision has been detected and resolved by incrementing.
Trigger Criteria:
Context: A transmission number collision has been detected and resolved by incrementing
Applied to: Root Segment Successfully Created
Action: Attempting to insert the root segment again
Logic Flow:
IF A transmission number collision has been detected and resolved by incrementing
AND 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-00034 (+5)File: GCCE358.cblBusiness Rule: Count Bill of Lading Records
Rule Belongs to : GCCE358.cbl
Business Justification: Defines the strict business conditions required to proceed when system is ready to count bill of lading records.
Trigger Criteria:
Context: The system is ready to count bill of lading records
Applied to: Initialize Bill of Lading Counter to Zero
Action: The counting process begins
Logic Flow:
IF The system is ready to count bill of lading records
AND The counting process begins
THEN:
• The bill of lading counter is set to zero
Rule Belongs to : GCCE358.cbl
Business Justification: Defines the strict business conditions required to proceed when equipment records are available for processing.
Trigger Criteria:
Context: Equipment records are available for processing
Applied to: Start Equipment Loop - Index = 1
Action: The equipment loop begins
Logic Flow:
IF Equipment records are available for processing
AND The equipment loop begins
THEN:
• The equipment index is set to 1 to start from the first record
Rule Belongs to : GCCE358.cbl
Business Justification: Defines the strict business conditions required to proceed when equipment index and total equipment quantity are available.
Trigger Criteria:
Context: An equipment index and total equipment quantity are available
Applied to: More Equipment Records to Process?
Action: The system checks for more records to process
Logic Flow:
IF An equipment index and total equipment quantity are available
AND 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
Rule Belongs to : GCCE358.cbl
Business Justification: Dictates the expected operational logic and validation steps when equipment record at the current index position.
Trigger Criteria:
Context: An equipment record at the current index position
Applied to: Equipment Has US CCN Key?
Action: The system evaluates the equipment's US CCN key field
Logic Flow:
IF An equipment record at the current index position
AND 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
Rule Belongs to : GCCE358.cbl
Business Justification: Defines the strict business conditions required to proceed when equipment record with a valid us ccn key (not spaces).
Trigger Criteria:
Context: An equipment record with a valid US CCN key (not spaces)
Applied to: Increment Bill of Lading Counter
Action: The system processes this equipment record
Logic Flow:
IF An equipment record with a valid US CCN key (not spaces)
AND The system processes this equipment record
THEN:
• The bill of lading counter is increased by 1
Rule Belongs to : GCCE358.cbl
Business Justification: Ensures correct system behavior and process compliance when current equipment record has been processed.
Trigger Criteria:
Context: The current equipment record has been processed
Applied to: Move to Next Equipment Record
Action: The system moves to the next record
Logic Flow:
IF The current equipment record has been processed
AND The system moves to the next record
THEN:
• The equipment index is incremented by 1
R-GCCE358-cbl-00040 (+12)File: GCCE358.cblBusiness Rule: Process M10 Manifest Header
Rule Belongs to : GCCE358.cbl
Business Justification: Ensures correct system behavior and process compliance when system needs to create a new m10 manifest segment.
Trigger Criteria:
Context: The system needs to create a new M10 manifest segment
Applied to: Initialize M10 Segment Structure
Action: M10 manifest processing begins
Logic Flow:
IF The system needs to create a new M10 manifest segment
AND M10 manifest processing begins
THEN:
• The M10 segment structure is initialized to clear any previous data
Rule Belongs to : GCCE358.cbl
Business Justification: Dictates the expected operational logic and validation steps when m10 manifest segment is being created.
Trigger Criteria:
Context: An M10 manifest segment is being created
Applied to: Set M10 Identifier
Action: The segment identifier needs to be set
Logic Flow:
IF An M10 manifest segment is being created
AND The segment identifier needs to be set
THEN:
• The identifier is set to 'M10'
Rule Belongs to : GCCE358.cbl
Business Justification: Dictates the expected operational logic and validation steps when m10 manifest segment is being created.
Trigger Criteria:
Context: An M10 manifest segment is being created
Applied to: Set Transport Type Code to 'R' for Rail
Action: The transport type code needs to be assigned
Logic Flow:
IF An M10 manifest segment is being created
AND The transport type code needs to be assigned
THEN:
• The transport type code is set to 'R' to indicate rail transport
Rule Belongs to : GCCE358.cbl
Business Justification: Dictates the expected operational logic and validation steps when m10 manifest segment is being created.
Trigger Criteria:
Context: An M10 manifest segment is being created
Applied to: Set Manifest Type Code to 'S' for Standard
Action: The manifest type code needs to be assigned
Logic Flow:
IF An M10 manifest segment is being created
AND The manifest type code needs to be assigned
THEN:
• The manifest type code is set to 'S' for standard manifest
Rule Belongs to : GCCE358.cbl
Business Justification: Dictates the expected operational logic and validation steps when m10 manifest segment is being created.
Trigger Criteria:
Context: An M10 manifest segment is being created
Applied to: Set Conditional Response Code to 'Y'
Action: The conditional response code needs to be assigned
Logic Flow:
IF An M10 manifest segment is being created
AND The conditional response code needs to be assigned
THEN:
• The conditional response code is set to 'Y' to indicate response is required
Rule Belongs to : GCCE358.cbl
Business Justification: Establishes the required business protocol to be followed when m10 manifest segment is being created for rail transport.
Trigger Criteria:
Context: An M10 manifest segment is being created for rail transport
Applied to: Set SCAC Code to 'CPRS'
Action: The SCAC code needs to be assigned
Logic Flow:
IF An M10 manifest segment is being created for rail transport
AND The SCAC code needs to be assigned
THEN:
• The SCAC code is set to 'CPRS' for Canadian Pacific Railway
Rule Belongs to : GCCE358.cbl
Business Justification: Establishes the required business protocol to be followed when m10 manifest segment is being created for canadian rail operations.
Trigger Criteria:
Context: An M10 manifest segment is being created for Canadian rail operations
Applied to: Set Country Code to 'CA' for Canada
Action: The country code needs to be assigned
Logic Flow:
IF An M10 manifest segment is being created for Canadian rail operations
AND The country code needs to be assigned
THEN:
• The country code is set to 'CA' for Canada
Rule Belongs to : GCCE358.cbl
Business Justification: Dictates the expected operational logic and validation steps when m10 manifest segment is being created and customer train id is available.
Trigger Criteria:
Context: An M10 manifest segment is being created and customer train ID is available
Applied to: Set Vessel Name from Train ID
Action: The vessel name needs to be assigned
Logic Flow:
IF An M10 manifest segment is being created and customer train ID is available
AND The vessel name needs to be assigned
THEN:
• The vessel name is set to the customer train ID from the train list
Rule Belongs to : GCCE358.cbl
Business Justification: Dictates the expected operational logic and validation steps when m10 manifest segment is being created and customer train id is available.
Trigger Criteria:
Context: An M10 manifest segment is being created and customer train ID is available
Applied to: Set Record Number from Train ID
Action: The record number needs to be assigned
Logic Flow:
IF An M10 manifest segment is being created and customer train ID is available
AND The record number needs to be assigned
THEN:
• The record number is set to the customer train ID from the train list
Rule Belongs to : GCCE358.cbl
Business Justification: Defines the strict business conditions required to proceed when m10 manifest segment is being created and train creation date is available.
Trigger Criteria:
Context: An M10 manifest segment is being created and train creation date is available
Applied to: Set Voyage Number from Train Creation Date
Action: The voyage number needs to be assigned
Logic Flow:
IF An M10 manifest segment is being created and train creation date is available
AND The voyage number needs to be assigned
THEN:
• The voyage number is set to the train creation date from the train list
Rule Belongs to : GCCE358.cbl
Business Justification: Establishes the required business protocol to be followed when m10 manifest segment is being created and bill of lading count is calculated.
Trigger Criteria:
Context: An M10 manifest segment is being created and bill of lading count is calculated
Applied to: Set Quantity from Bill of Lading Count
Action: The quantity needs to be assigned
Logic Flow:
IF An M10 manifest segment is being created and bill of lading count is calculated
AND The quantity needs to be assigned
THEN:
• The quantity is set to the total count of bills of lading
Rule Belongs to : GCCE358.cbl
Business Justification: Governs the functional prerequisites and system routing when m10 manifest segment is being created for train operations.
Trigger Criteria:
Context: An M10 manifest segment is being created for train operations
Applied to: Set Record Type to 'TRAIN'
Action: The record type needs to be assigned
Logic Flow:
IF An M10 manifest segment is being created for train operations
AND The record type needs to be assigned
THEN:
• The record type is set to 'TRAIN'
Rule Belongs to : GCCE358.cbl
Business Justification: Dictates the expected operational logic and validation steps when m10 manifest segment is fully populated with all required data.
Trigger Criteria:
Context: An M10 manifest segment is fully populated with all required data
Applied to: Insert M10 Segment into EDI Database
Action: The segment needs to be stored for EDI transmission
Logic Flow:
IF An M10 manifest segment is fully populated with all required data
AND 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-00053 (+8)File: GCCE358.cblBusiness Rule: Process P4 Port Information
Rule Belongs to : GCCE358.cbl
Business Justification: Defines the strict business conditions required to proceed when system is processing port information for edi transmission.
Trigger Criteria:
Context: The system is processing port information for EDI transmission
Applied to: Initialize P4 Segment Structure
Action: P4 segment processing begins
Logic Flow:
IF The system is processing port information for EDI transmission
AND P4 segment processing begins
THEN:
• The P4 segment structure is initialized and the identifier is set to 'P4'
Rule Belongs to : GCCE358.cbl
Business Justification: Ensures correct system behavior and process compliance when train data contains origin service center information.
Trigger Criteria:
Context: Train data contains origin service center information
Applied to: Set Departure Location ID from Train Data
Action: P4 segment is being populated with location details
Logic Flow:
IF Train data contains origin service center information
AND P4 segment is being populated with location details
THEN:
• The departure location ID is set from the train's origin service center
Rule Belongs to : GCCE358.cbl
Business Justification: Governs the functional prerequisites and system routing when train data contains estimated departure date information.
Trigger Criteria:
Context: Train data contains estimated departure date information
Applied to: Extract Estimated Departure Date
Action: P4 segment requires departure date information
Logic Flow:
IF Train data contains estimated departure date information
AND P4 segment requires departure date information
THEN:
• The estimated departure date is extracted and moved to temporary date field for processing
Rule Belongs to : GCCE358.cbl
Business Justification: Establishes the required business protocol to be followed when departure date is valid and not empty or zero.
Trigger Criteria:
Context: The departure date is valid and not empty or zero
Applied to: Apply Century Logic for Date
Action: Century calculation is required for the departure date
Logic Flow:
IF The departure date is valid and not empty or zero
AND 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)
Rule Belongs to : GCCE358.cbl
Business Justification: Establishes the required business protocol to be followed when departure date is empty, spaces, or zero.
Trigger Criteria:
Context: The departure date is empty, spaces, or zero
Applied to: Set Century to 0 for Invalid Date
Action: Date validation is performed
Logic Flow:
IF The departure date is empty, spaces, or zero
AND Date validation is performed
THEN:
• The century component is set to 0 to indicate invalid date
Rule Belongs to : GCCE358.cbl
Business Justification: Governs the functional prerequisites and system routing when bill of lading count has been calculated from equipment processing.
Trigger Criteria:
Context: Bill of lading count has been calculated from equipment processing
Applied to: Set Quantity from Bill of Lading Count
Action: P4 segment quantity field needs to be populated
Logic Flow:
IF Bill of lading count has been calculated from equipment processing
AND P4 segment quantity field needs to be populated
THEN:
• The quantity is set to the bill of lading count value
Rule Belongs to : GCCE358.cbl
Business Justification: Defines the strict business conditions required to proceed when train data contains estimated time of arrival information.
Trigger Criteria:
Context: Train data contains estimated time of arrival information
Applied to: Set Estimated Time of Arrival
Action: P4 segment time field needs to be populated
Logic Flow:
IF Train data contains estimated time of arrival information
AND P4 segment time field needs to be populated
THEN:
• The time field is set from the train's estimated time of arrival
Rule Belongs to : GCCE358.cbl
Business Justification: Defines the strict business conditions required to proceed when train data contains firms code information.
Trigger Criteria:
Context: Train data contains FIRMS code information
Applied to: Set FIRMS Code from Train Data
Action: P4 segment ID code field needs to be populated
Logic Flow:
IF Train data contains FIRMS code information
AND P4 segment ID code field needs to be populated
THEN:
• The ID code field is set from the train's FIRMS code
Rule Belongs to : GCCE358.cbl
Business Justification: Dictates the expected operational logic and validation steps when p4 segment has been fully populated with all required port information.
Trigger Criteria:
Context: P4 segment has been fully populated with all required port information
Applied to: Insert P4 Segment into EDI Database
Action: P4 segment is ready for EDI transmission
Logic Flow:
IF P4 segment has been fully populated with all required port information
AND 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-00062 (+10)File: GCCE358.cblBusiness Rule: Process Equipment Records
Rule Belongs to : GCCE358.cbl
Business Justification: Governs the functional prerequisites and system routing when train list contains multiple equipment items with a total equipment quantity.
Trigger Criteria:
Context: A train list contains multiple equipment items with a total equipment quantity
Applied to: Start Equipment Processing Loop
Action: The equipment processing begins
Logic Flow:
IF A train list contains multiple equipment items with a total equipment quantity
AND 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
Rule Belongs to : GCCE358.cbl
Business Justification: Governs the functional prerequisites and system routing when equipment item is being processed and there is a record of the last processed equipment id.
Trigger Criteria:
Context: An equipment item is being processed and there is a record of the last processed equipment ID
Applied to: Equipment ID Different from Last Processed?
Action: The system compares the current equipment ID with the last processed equipment ID
Logic Flow:
IF An equipment item is being processed and there is a record of the last processed equipment ID
AND 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
Rule Belongs to : GCCE358.cbl
Business Justification: Defines the strict business conditions required to proceed when new unique equipment id has been identified for vid processing.
Trigger Criteria:
Context: A new unique equipment ID has been identified for VID processing
Applied to: Store Current Equipment ID as Last Processed
Action: The system begins processing this equipment
Logic Flow:
IF A new unique equipment ID has been identified for VID processing
AND The system begins processing this equipment
THEN:
• The current equipment ID should be stored as the last processed equipment ID for future duplicate detection
Rule Belongs to : GCCE358.cbl
Business Justification: Dictates the expected operational logic and validation steps when vid segment is being created for an equipment item. ⚠️ COBOL Technical Logic
Trigger Criteria:
Context: A VID segment is being created for an equipment item
Applied to: Set Equipment Description Code
Action: The equipment description code needs to be populated
Logic Flow:
IF A VID segment is being created for an equipment item
AND 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
Rule Belongs to : GCCE358.cbl
Business Justification: Dictates the expected operational logic and validation steps when vid segment is being created for an equipment item. ⚠️ COBOL Technical Logic
Trigger Criteria:
Context: A VID segment is being created for an equipment item
Applied to: Set Equipment Initial
Action: The equipment initial needs to be populated
Logic Flow:
IF A VID segment is being created for an equipment item
AND 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
Rule Belongs to : GCCE358.cbl
Business Justification: Governs the functional prerequisites and system routing when equipment item has a us-ccn-key and cargo data has been retrieved.
Trigger Criteria:
Context: An equipment item has a US-CCN-KEY and cargo data has been retrieved
Applied to: Is Equipment CP or Has No Car Number?
Action: The system needs to determine the equipment number for the VID segment
Logic Flow:
IF An equipment item has a US-CCN-KEY and cargo data has been retrieved
AND 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
Rule Belongs to : GCCE358.cbl
Business Justification: Dictates the expected operational logic and validation steps when equipment belongs to cp rail (cprs) or no car number exists in cargo data.
Trigger Criteria:
Context: The equipment belongs to CP Rail (CPRS) or no car number exists in cargo data
Applied to: Use Train List Equipment Number
Action: The VID equipment number field needs to be populated
Logic Flow:
IF The equipment belongs to CP Rail (CPRS) or no car number exists in cargo data
AND The VID equipment number field needs to be populated
THEN:
• The system should use the equipment number from the train list data
Rule Belongs to : GCCE358.cbl
Business Justification: Establishes the required business protocol to be followed when equipment does not belong to cp rail and a car number exists in the cargo database.
Trigger Criteria:
Context: The equipment does not belong to CP Rail and a car number exists in the cargo database
Applied to: Use Cargo Database Car Number
Action: The VID equipment number field needs to be populated
Logic Flow:
IF The equipment does not belong to CP Rail and a car number exists in the cargo database
AND The VID equipment number field needs to be populated
THEN:
• The system should use the car number from the cargo database
Rule Belongs to : GCCE358.cbl
Business Justification: Establishes the required business protocol to be followed when equipment item has a load/empty status from the train list.
Trigger Criteria:
Context: An equipment item has a load/empty status from the train list
Applied to: Apply Load/Empty Status Logic
Action: The VID load/empty status needs to be determined
Logic Flow:
IF An equipment item has a load/empty status from the train list
AND The VID load/empty status needs to be determined
THEN:
• If status is 'H' then set to 'E', elseif status is 'E' and CCN key exists and cargo weight > 1 then set to 'L', elseif status is 'E' and CCN key exists and BOL type is 23 then keep as 'E', otherwise keep original status
Rule Belongs to : GCCE358.cbl
Business Justification: Governs the functional prerequisites and system routing when vid segment has been fully populated with equipment data.
Trigger Criteria:
Context: A VID segment has been fully populated with equipment data
Applied to: Insert VID Segment to EDI Data
Action: The segment needs to be added to the EDI transmission
Logic Flow:
IF A VID segment has been fully populated with equipment data
AND 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
Rule Belongs to : GCCE358.cbl
Business Justification: Ensures correct system behavior and process compliance when current equipment item has been processed.
Trigger Criteria:
Context: The current equipment item has been processed
Applied to: More Equipment in Train List?
Action: The system checks for more equipment to process
Logic Flow:
IF The current equipment item has been processed
AND 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 (+3)File: GCCE358.cblBusiness Rule: Determine Equipment Load Status
Rule Belongs to : GCCE358.cbl
Business Justification: Governs the functional prerequisites and system routing when equipment item exists in the train list.
Trigger Criteria:
Context: An equipment item exists in the train list
Applied to: Set Status to 'E' - Empty
Action: The equipment load/empty status is 'H' (Hold)
Logic Flow:
IF An equipment item exists in the train list
AND The equipment load/empty status is 'H' (Hold)
THEN:
• The system sets the equipment status to 'E' (Empty)
Rule Belongs to : GCCE358.cbl
Business Justification: Ensures correct system behavior and process compliance when equipment item has status 'e' (empty) and has a bill number (us-ccn-key is not spaces).
Trigger Criteria:
Context: An equipment item has status 'E' (Empty) and has a bill number (US-CCN-KEY is not spaces)
Applied to: Cargo Weight > 1?
Action: The cargo weight is greater than 1
Logic Flow:
IF An equipment item has status 'E' (Empty) and has a bill number (US-CCN-KEY is not spaces)
AND The cargo weight is greater than 1
THEN:
• The system sets the equipment status to 'L' (Loaded)
Rule Belongs to : GCCE358.cbl
Business Justification: Ensures correct system behavior and process compliance when equipment item has status 'e' (empty) and has a bill number (us-ccn-key is not spaces).
Trigger Criteria:
Context: An equipment item has status 'E' (Empty) and has a bill number (US-CCN-KEY is not spaces)
Applied to: Keep Original Status
Action: The cargo weight is 1 or less
Logic Flow:
IF An equipment item has status 'E' (Empty) and has a bill number (US-CCN-KEY is not spaces)
AND The cargo weight is 1 or less
THEN:
• The system keeps the original equipment status 'E' (Empty)
Rule Belongs to : GCCE358.cbl
Business Justification: Ensures correct system behavior and process compliance when equipment item has any status other than 'h' (hold).
Trigger Criteria:
Context: An equipment item has any status other than 'H' (Hold)
Applied to: Keep Original Status
Action: The equipment does not have a bill number (US-CCN-KEY is spaces)
Logic Flow:
IF An equipment item has any status other than 'H' (Hold)
AND 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-00077 (+5)File: GCCE358.cblBusiness Rule: Lookup Foreign Carrier Information
Rule Belongs to : GCCE358.cbl
Business Justification: Ensures correct system behavior and process compliance when equipment record is being processed with a us-ccn-key.
Trigger Criteria:
Context: An equipment record is being processed with a US-CCN-KEY
Applied to: Is Equipment CP Owned?
Action: The US-CCN-KEY starts with 'CPRS' indicating CP ownership
Logic Flow:
IF An equipment record is being processed with a US-CCN-KEY
AND The US-CCN-KEY starts with 'CPRS' indicating CP ownership
THEN:
• Use the original equipment number from the train list without performing cargo lookup
Rule Belongs to : GCCE358.cbl
Business Justification: Establishes the required business protocol to be followed when equipment is identified as cp-owned or cargo record lookup fails or foreign carrier number is not available.
Trigger Criteria:
Context: Equipment is identified as CP-owned OR cargo record lookup fails OR foreign carrier number is not available
Applied to: Use Original Equipment Number from Train List
Action: Equipment number needs to be determined for VID record
Logic Flow:
IF Equipment is identified as CP-owned OR cargo record lookup fails OR foreign carrier number is not available
AND Equipment number needs to be determined for VID record
THEN:
• Assign the equipment number from the train list to the VID equipment number field
Rule Belongs to : GCCE358.cbl
Business Justification: Defines the strict business conditions required to proceed when equipment is not cp-owned (us-ccn-key does not start with 'cprs').
Trigger Criteria:
Context: Equipment is not CP-owned (US-CCN-KEY does not start with 'CPRS')
Applied to: Lookup Cargo Information in Database
Action: Equipment number determination is required
Logic Flow:
IF Equipment is not CP-owned (US-CCN-KEY does not start with 'CPRS')
AND Equipment number determination is required
THEN:
• Perform cargo database lookup using the US-CCN-KEY to retrieve foreign carrier information
Rule Belongs to : GCCE358.cbl
Business Justification: Dictates the expected operational logic and validation steps when cargo record has been successfully retrieved from database.
Trigger Criteria:
Context: Cargo record has been successfully retrieved from database
Applied to: Foreign Carrier Number Available?
Action: Determining which equipment number to use
Logic Flow:
IF Cargo record has been successfully retrieved from database
AND Determining which equipment number to use
THEN:
• Check if the foreign carrier equipment number field contains valid data (not spaces)
Rule Belongs to : GCCE358.cbl
Business Justification: Defines the strict business conditions required to proceed when cargo record exists and foreign carrier equipment number is not spaces.
Trigger Criteria:
Context: Cargo record exists AND foreign carrier equipment number is not spaces
Applied to: Use Foreign Carrier Equipment Number
Action: Equipment number needs to be assigned to VID record
Logic Flow:
IF Cargo record exists AND foreign carrier equipment number is not spaces
AND Equipment number needs to be assigned to VID record
THEN:
• Use the foreign carrier equipment number from the cargo record
Rule Belongs to : GCCE358.cbl
Business Justification: Defines the strict business conditions required to proceed when cargo record exists but foreign carrier equipment number is spaces or empty.
Trigger Criteria:
Context: Cargo record exists BUT foreign carrier equipment number is spaces or empty
Applied to: Use Original Equipment Number as Fallback
Action: Equipment number assignment is required
Logic Flow:
IF Cargo record exists BUT foreign carrier equipment number is spaces or empty
AND Equipment number assignment is required
THEN:
• Use the original equipment number from the train list as fallback
R-GCCE358-cbl-00083 (+6)File: GCCE358.cblBusiness Rule: Create VID Equipment Segment
Rule Belongs to : GCCE358.cbl
Business Justification: Establishes the required business protocol to be followed when vid equipment segment needs to be created.
Trigger Criteria:
Context: A VID equipment segment needs to be created
Applied to: Initialize VID Segment Structure
Action: The system starts processing equipment data
Logic Flow:
IF A VID equipment segment needs to be created
AND The system starts processing equipment data
THEN:
• The VID segment structure is initialized and the identifier is set to 'VID'
Rule Belongs to : GCCE358.cbl
Business Justification: Defines the strict business conditions required to proceed when equipment data exists in the train list for the current equipment index.
Trigger Criteria:
Context: Equipment data exists in the train list for the current equipment index
Applied to: Set Equipment Description Code from Train List & Set Equipment Initial from Train List
Action: The system processes VID segment creation
Logic Flow:
IF Equipment data exists in the train list for the current equipment index
AND The system processes VID segment creation
THEN:
• The equipment description code is set from the train list VID01 equipment type field
• The equipment initial is set from the train list VID02 equipment initial field
Rule Belongs to : GCCE358.cbl
Business Justification: Establishes the required business protocol to be followed when equipment data is being processed for vid segment creation.
Trigger Criteria:
Context: Equipment data is being processed for VID segment creation
Applied to: Is Equipment CP-owned or No Foreign Car Number?
Action: The system needs to determine the equipment number source
Logic Flow:
IF Equipment data is being processed for VID segment creation
AND 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
Rule Belongs to : GCCE358.cbl
Business Justification: Dictates the expected operational logic and validation steps when equipment is cp-owned (us-ccn-key starts with 'cprs') or foreign car number is not available (350-car-number is spaces).
Trigger Criteria:
Context: Equipment is CP-owned (US-CCN-KEY starts with 'CPRS') OR foreign car number is not available (350-CAR-NUMBER is spaces)
Applied to: Use Equipment Number from Train List
Action: The system sets the equipment number in VID segment
Logic Flow:
IF Equipment is CP-owned (US-CCN-KEY starts with 'CPRS') OR foreign car number is not available (350-CAR-NUMBER is spaces)
AND The system sets the equipment number in VID segment
THEN:
• The equipment number is set from the train list VID03 equipment number field
Rule Belongs to : GCCE358.cbl
Business Justification: Ensures correct system behavior and process compliance when 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).
Trigger Criteria:
Context: 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)
Applied to: Use Foreign Car Number from Cargo Database
Action: The system sets the equipment number in VID segment
Logic Flow:
IF 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)
AND The system sets the equipment number in VID segment
THEN:
• The equipment number is set from the cargo database 350-CAR-NUMBER field
Rule Belongs to : GCCE358.cbl
Business Justification: Governs the functional prerequisites and system routing when vid segment has been populated with equipment data.
Trigger Criteria:
Context: VID segment has been populated with equipment data
Applied to: Insert VID Segment into EDI Data
Action: The system completes VID segment creation
Logic Flow:
IF VID segment has been populated with equipment data
AND 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-00090 (+7)File: GCCE358.cblBusiness Rule: Process Bill of Lading Records
Rule Belongs to : GCCE358.cbl
Business Justification: Defines the strict business conditions required to proceed when equipment has an associated bill of lading (us-ccn-key is not spaces).
Trigger Criteria:
Context: Equipment has an associated bill of lading (US-CCN-KEY is not spaces)
Applied to: Initialize MBL Segment
Action: The system begins MBL processing for the equipment
Logic Flow:
IF Equipment has an associated bill of lading (US-CCN-KEY is not spaces)
AND The system begins MBL processing for the equipment
THEN:
• A new MBL segment structure is initialized and the MBL identifier is set to 'MBL'
Rule Belongs to : GCCE358.cbl
Business Justification: Ensures correct system behavior and process compliance when equipment has bill of lading information.
Trigger Criteria:
Context: Equipment has bill of lading information
Applied to: Extract Carrier SCAC Code from Equipment & Extract Bill of Lading Number from Equipment
Action: Processing MBL segment creation
Logic Flow:
IF Equipment has bill of lading information
AND 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
• The bill of lading number is extracted from the equipment's MBL02-M1304-US-CCN-ID field and assigned to MBL-02-BOL-WAYBILL
Rule Belongs to : GCCE358.cbl
Business Justification: Establishes the required business protocol to be followed when bill of lading with carrier information.
Trigger Criteria:
Context: A bill of lading with carrier information
Applied to: Set Automated Response to 'Y'
Action: The carrier SCAC code equals 'CPRS'
Logic Flow:
IF A bill of lading with carrier information
AND The carrier SCAC code equals 'CPRS'
THEN:
• The automated response code (MBL-04-YES-NO-RESP-CODE) is set to 'Y' indicating automated processing
Rule Belongs to : GCCE358.cbl
Business Justification: Ensures correct system behavior and process compliance when bill of lading with a non-cprs carrier.
Trigger Criteria:
Context: A bill of lading with a non-CPRS carrier
Applied to: Lookup Carrier in SS Table by SCAC and Port
Action: The carrier SCAC code is not 'CPRS'
Logic Flow:
IF A bill of lading with a non-CPRS carrier
AND 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
Rule Belongs to : GCCE358.cbl
Business Justification: Defines the strict business conditions required to proceed when carrier table lookup has been performed for a non-cprs carrier.
Trigger Criteria:
Context: A carrier table lookup has been performed for a non-CPRS carrier
Applied to: Set Automated Response to 'Y' or 'N'
Action: The lookup is successful and the carrier's automated flag equals 'Y'
Logic Flow:
IF A carrier table lookup has been performed for a non-CPRS carrier
AND 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'
Rule Belongs to : GCCE358.cbl
Business Justification: Establishes the required business protocol to be followed when equipment with a bill of lading.
Trigger Criteria:
Context: Equipment with a bill of lading
Applied to: Override Response to 'Y' for Electronic Reporting
Action: The equipment load status is 'E' (Empty) AND the US-CCN-KEY is not spaces AND the bill of lading type code equals 23
Logic Flow:
IF Equipment with a bill of lading
AND 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
Rule Belongs to : GCCE358.cbl
Business Justification: Governs the functional prerequisites and system routing when fully populated mbl segment with carrier and bill information.
Trigger Criteria:
Context: A fully populated MBL segment with carrier and bill information
Applied to: Insert MBL Segment into EDI Data
Action: All MBL processing is complete
Logic Flow:
IF A fully populated MBL segment with carrier and bill information
AND 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-00098 (+4)File: GCCE358.cblBusiness Rule: Determine Automated Carrier Status
Rule Belongs to : GCCE358.cbl
Business Justification: Defines the strict business conditions required to proceed when bill of lading record is being processed with carrier scac code.
Trigger Criteria:
Context: A bill of lading record is being processed with carrier SCAC code
Applied to: Is Carrier SCAC = 'CPRS'?
Action: The carrier SCAC code equals 'CPRS'
Logic Flow:
IF A bill of lading record is being processed with carrier SCAC code
AND The carrier SCAC code equals 'CPRS'
THEN:
• Set the response code to 'Y' indicating automated carrier processing
Rule Belongs to : GCCE358.cbl
Business Justification: Establishes the required business protocol to be followed when bill of lading record with a non-cprs carrier scac code.
Trigger Criteria:
Context: A bill of lading record with a non-CPRS carrier SCAC code
Applied to: Build SS Table Lookup Key
Action: The carrier automation status needs to be determined
Logic Flow:
IF A bill of lading record with a non-CPRS carrier SCAC code
AND 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
Rule Belongs to : GCCE358.cbl
Business Justification: Defines the strict business conditions required to proceed when ss table lookup key is prepared with scac code and port.
Trigger Criteria:
Context: SS table lookup key is prepared with SCAC code and port
Applied to: Search SS Table with SCAC Code and Port
Action: Carrier automation status lookup is performed
Logic Flow:
IF SS table lookup key is prepared with SCAC code and port
AND Carrier automation status lookup is performed
THEN:
• Search the SS table using the prepared key to retrieve carrier automation information
Rule Belongs to : GCCE358.cbl
Business Justification: Dictates the expected operational logic and validation steps when ss table lookup was successful and carrier record is found.
Trigger Criteria:
Context: SS table lookup was successful and carrier record is found
Applied to: Is Carrier Marked as Automated in SS Table?
Action: The automated carrier flag is evaluated
Logic Flow:
IF SS table lookup was successful and carrier record is found
AND 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'
Rule Belongs to : GCCE358.cbl
Business Justification: Defines the strict business conditions required to proceed when carrier scac code and port combination.
Trigger Criteria:
Context: A carrier SCAC code and port combination
Applied to: Set Response Code to 'N' - Carrier Not Automated
Action: The SS table lookup fails to find a matching carrier record
Logic Flow:
IF A carrier SCAC code and port combination
AND 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-00103File: GCCE358.cblBusiness Rule: Apply Special ER Processing Rules
Rule Belongs to : GCCE358.cbl
Business Justification: Governs the functional prerequisites and system routing when equipment item is being processed for mbl record creation.
Trigger Criteria:
Context: An equipment item is being processed for MBL record creation
Applied to: Apply Special ER Processing Rules - For empty cars with bill type 23, override response code to 'Y' for electronic reporting
Action: 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
Logic Flow:
IF An equipment item is being processed for MBL record creation
AND 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 (+9)File: GCCE358.cblBusiness Rule: Create MBL Bill Segment
Rule Belongs to : GCCE358.cbl
Business Justification: Establishes the required business protocol to be followed when bill of lading processing request is initiated.
Trigger Criteria:
Context: A bill of lading processing request is initiated
Applied to: Initialize MBL Segment Structure
Action: The system begins MBL segment creation
Logic Flow:
IF A bill of lading processing request is initiated
AND The system begins MBL segment creation
THEN:
• The MBL segment structure is initialized to clear any previous data
Rule Belongs to : GCCE358.cbl
Business Justification: Defines the strict business conditions required to proceed when mbl segment is being created.
Trigger Criteria:
Context: An MBL segment is being created
Applied to: Set MBL Identifier to 'MBL'
Action: The segment identifier needs to be set
Logic Flow:
IF An MBL segment is being created
AND The segment identifier needs to be set
THEN:
• The identifier is set to 'MBL' to indicate this is a Master Bill of Lading segment
Rule Belongs to : GCCE358.cbl
Business Justification: Establishes the required business protocol to be followed when equipment item is being processed for mbl creation.
Trigger Criteria:
Context: An equipment item is being processed for MBL creation
Applied to: Extract SCAC Code from Equipment Record
Action: The SCAC code is needed for the MBL segment
Logic Flow:
IF An equipment item is being processed for MBL creation
AND The SCAC code is needed for the MBL segment
THEN:
• The SCAC code is extracted from the equipment record's CCN SCAC field
Rule Belongs to : GCCE358.cbl
Business Justification: Establishes the required business protocol to be followed when equipment item is being processed for mbl creation.
Trigger Criteria:
Context: An equipment item is being processed for MBL creation
Applied to: Extract Bill of Lading Number from Equipment Record
Action: The bill of lading number is needed for the MBL segment
Logic Flow:
IF An equipment item is being processed for MBL creation
AND 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
Rule Belongs to : GCCE358.cbl
Business Justification: Establishes the required business protocol to be followed when mbl segment is being created with a scac code.
Trigger Criteria:
Context: An MBL segment is being created with a SCAC code
Applied to: Is SCAC Code 'CPRS'?
Action: The SCAC code equals 'CPRS'
Logic Flow:
IF An MBL segment is being created with a SCAC code
AND The SCAC code equals 'CPRS'
THEN:
• The response code is set to 'Y' indicating automated processing for CP Rail
Rule Belongs to : GCCE358.cbl
Business Justification: Ensures correct system behavior and process compliance when mbl segment is being created with a non-cprs scac code.
Trigger Criteria:
Context: An MBL segment is being created with a non-CPRS SCAC code
Applied to: Look up SCAC in SS Table for Port
Action: The SCAC code is not 'CPRS'
Logic Flow:
IF An MBL segment is being created with a non-CPRS SCAC code
AND 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
Rule Belongs to : GCCE358.cbl
Business Justification: Ensures correct system behavior and process compliance when scac table lookup has been performed for an external carrier.
Trigger Criteria:
Context: A SCAC table lookup has been performed for an external carrier
Applied to: SCAC Found and Automated?
Action: The lookup is successful AND the carrier's automated flag is 'Y'
Logic Flow:
IF A SCAC table lookup has been performed for an external carrier
AND The lookup is successful AND the carrier's automated flag is 'Y'
THEN:
• The response code is set to 'Y' indicating automated processing
Rule Belongs to : GCCE358.cbl
Business Justification: Ensures correct system behavior and process compliance when scac table lookup has been performed for an external carrier.
Trigger Criteria:
Context: A SCAC table lookup has been performed for an external carrier
Applied to: Set Response Code to 'N' - Manual
Action: The lookup fails OR the carrier's automated flag is not 'Y'
Logic Flow:
IF A SCAC table lookup has been performed for an external carrier
AND The lookup fails OR the carrier's automated flag is not 'Y'
THEN:
• The response code is set to 'N' indicating manual processing required
Rule Belongs to : GCCE358.cbl
Business Justification: Establishes the required business protocol to be followed when mbl segment response code has been determined.
Trigger Criteria:
Context: An MBL segment response code has been determined
Applied to: Is Equipment Empty with Bill Type 23?
Action: The equipment load/empty status is 'E' AND the CCN key is not spaces AND the bill type code is 23
Logic Flow:
IF An MBL segment response code has been determined
AND 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
Rule Belongs to : GCCE358.cbl
Business Justification: Ensures correct system behavior and process compliance when mbl segment has been fully populated with all required data.
Trigger Criteria:
Context: An MBL segment has been fully populated with all required data
Applied to: Insert MBL Segment into EDI Data
Action: The segment is ready for transmission
Logic Flow:
IF An MBL segment has been fully populated with all required data
AND The segment is ready for transmission
THEN:
• The MBL segment is inserted into the EDI transmission data structure
R-GCCE358-cbl-00114 (+12)File: GCCE358.cblFile: GCCU358T.cblBusiness Rule: Start EDI Send Function
Rule Belongs to : GCCE358.cbl
Business Justification: Establishes the required business protocol to be followed when system needs to initiate edi message transmission.
Trigger Criteria:
Context: The system needs to initiate EDI message transmission
Applied to: Set EDI Send Function Name
Action: The EDI send process is started
Logic Flow:
IF The system needs to initiate EDI message transmission
AND The EDI send process is started
THEN:
• The system sets the EDI send function name flag to true to identify the correct processing function
Rule Belongs to : GCCE358.cbl
Business Justification: Dictates the expected operational logic and validation steps when edi message is being prepared for transmission.
Trigger Criteria:
Context: An EDI message is being prepared for transmission
Applied to: Set Security Authorization
Action: Security authorization is being configured
Logic Flow:
IF An EDI message is being prepared for transmission
AND Security authorization is being configured
THEN:
• The system sets the security byte to high-values to enforce maximum security protection
Rule Belongs to : GCCE358.cbl
Business Justification: Establishes the required business protocol to be followed when transmission number has been generated for the current edi process.
Trigger Criteria:
Context: A transmission number has been generated for the current EDI process
Applied to: Add Transmission Number to Message
Action: The EDI message is being prepared
Logic Flow:
IF A transmission number has been generated for the current EDI process
AND The EDI message is being prepared
THEN:
• The system adds the transmission number to the message structure for identification
Rule Belongs to : GCCE358.cbl
Business Justification: Governs the functional prerequisites and system routing when all edi message components including security, transmission number, and function name are configured.
Trigger Criteria:
Context: All EDI message components including security, transmission number, and function name are configured
Applied to: Prepare EDI Message for Transmission
Action: The message preparation process is executed
Logic Flow:
IF All EDI message components including security, transmission number, and function name are configured
AND The message preparation process is executed
THEN:
• The system moves the complete input structure to the message output text for transmission
Rule Belongs to : GCCE358.cbl
Business Justification: Governs the functional prerequisites and system routing when edi message is ready for transmission.
Trigger Criteria:
Context: An EDI message is ready for transmission
Applied to: Send Message to EDI Queue
Action: The message is being sent to the EDI queue
Logic Flow:
IF An EDI message is ready for transmission
AND The message is being sent to the EDI queue
THEN:
• The system sets the EDI send function length flag to ensure proper message sizing
Rule Belongs to : GCCE358.cbl
Business Justification: Governs the functional prerequisites and system routing when edi message is formatted and ready with proper length specification.
Trigger Criteria:
Context: An EDI message is formatted and ready with proper length specification
Applied to: Send Message to EDI Queue
Action: The message insertion process is initiated
Logic Flow:
IF An EDI message is formatted and ready with proper length specification
AND The message insertion process is initiated
THEN:
• The system performs the insert purge message operation to queue the message for transmission
Rule Belongs to : GCCU358T.cbl
Business Justification: Defines the strict business conditions required to proceed when system needs to initiate edi transmission processing.
Trigger Criteria:
Context: The system needs to initiate EDI transmission processing
Applied to: Set EDI Send Function Name
Action: The EDI send function process is started
Logic Flow:
IF The system needs to initiate EDI transmission processing
AND The EDI send function process is started
THEN:
• The system sets the EDI send function name identifier to TRUE
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when edi send function name has been set.
Trigger Criteria:
Context: The EDI send function name has been set
Applied to: Change to EDI Send Function
Action: The system needs to change processing context
Logic Flow:
IF The EDI send function name has been set
AND The system needs to change processing context
THEN:
• The system performs the function change operation to switch to EDI send context
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when system is preparing an edi transmission.
Trigger Criteria:
Context: The system is preparing an EDI transmission
Applied to: Set Security to High Values
Action: Security parameters need to be established
Logic Flow:
IF The system is preparing an EDI transmission
AND Security parameters need to be established
THEN:
• The system sets the security byte to HIGH-VALUES for maximum security
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when transmission number has been generated during root processing.
Trigger Criteria:
Context: A transmission number has been generated during root processing
Applied to: Set Transmission Number
Action: The EDI message is being prepared for transmission
Logic Flow:
IF A transmission number has been generated during root processing
AND The EDI message is being prepared for transmission
THEN:
• The system assigns the working storage transmission number to the EDI message transmission number field
Rule Belongs to : GCCU358T.cbl
Business Justification: Defines the strict business conditions required to proceed when transmission number and security parameters have been set.
Trigger Criteria:
Context: The transmission number and security parameters have been set
Applied to: Prepare EDI Send Message
Action: The EDI message needs to be formatted for transmission
Logic Flow:
IF The transmission number and security parameters have been set
AND The EDI message needs to be formatted for transmission
THEN:
• The system moves the EDI input structure to the message output text field
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when edi message has been prepared.
Trigger Criteria:
Context: The EDI message has been prepared
Applied to: Set Message Length
Action: The message length needs to be established
Logic Flow:
IF The EDI message has been prepared
AND The message length needs to be established
THEN:
• The system sets the EDI send function length indicator to TRUE
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when edi message is properly formatted with correct length and security.
Trigger Criteria:
Context: The EDI message is properly formatted with correct length and security
Applied to: Insert and Purge Message
Action: The message is ready for transmission
Logic Flow:
IF The EDI message is properly formatted with correct length and security
AND The message is ready for transmission
THEN:
• The system performs the insert and purge message operation to complete the EDI transmission
R-GCCE358-cbl-00120 (+10)File: GCCE358.cblBusiness Rule: Start Log Update Function
Rule Belongs to : GCCE358.cbl
Business Justification: Dictates the expected operational logic and validation steps when system needs to log an edi transmission activity.
Trigger Criteria:
Context: The system needs to log an EDI transmission activity
Applied to: Set Log Update Function Name
Action: The log update process is initiated
Logic Flow:
IF The system needs to log an EDI transmission activity
AND The log update process is initiated
THEN:
• The system sets the function name to LOG-UPDT-FUNC-NAME to identify the logging service
Rule Belongs to : GCCE358.cbl
Business Justification: Dictates the expected operational logic and validation steps when log entry needs to be created for edi transmission.
Trigger Criteria:
Context: A log entry needs to be created for EDI transmission
Applied to: Initialize Security Parameters
Action: Security parameters are being configured
Logic Flow:
IF A log entry needs to be created for EDI transmission
AND Security parameters are being configured
THEN:
• The system sets the security byte to HIGH-VALUES for secure transmission
Rule Belongs to : GCCE358.cbl
Business Justification: Establishes the required business protocol to be followed when edi transmission log entry is being created.
Trigger Criteria:
Context: An EDI transmission log entry is being created
Applied to: Set Train ID from Train List
Action: Train identification is required for the log
Logic Flow:
IF An EDI transmission log entry is being created
AND Train identification is required for the log
THEN:
• The system sets the train identifier using the US customer train ID from the train list
Rule Belongs to : GCCE358.cbl
Business Justification: Establishes the required business protocol to be followed when edi transmission log entry is being created.
Trigger Criteria:
Context: An EDI transmission log entry is being created
Applied to: Set User ID from System
Action: User identification is required for audit purposes
Logic Flow:
IF An EDI transmission log entry is being created
AND User identification is required for audit purposes
THEN:
• The system captures and records the ACF2 user ID from the system
Rule Belongs to : GCCE358.cbl
Business Justification: Dictates the expected operational logic and validation steps when train-related log entry is being created.
Trigger Criteria:
Context: A train-related log entry is being created
Applied to: Mark as US Train Type
Action: The train type needs to be specified
Logic Flow:
IF A train-related log entry is being created
AND The train type needs to be specified
THEN:
• The system marks the record as US-TRAIN type
Rule Belongs to : GCCE358.cbl
Business Justification: Governs the functional prerequisites and system routing when edi transmission log entry requires an action code.
Trigger Criteria:
Context: An EDI transmission log entry requires an action code
Applied to: Processing Mode?
Action: The processing mode is background
Logic Flow:
IF An EDI transmission log entry requires an action code
AND The processing mode is background
THEN:
• The system uses the background action code
Rule Belongs to : GCCE358.cbl
Business Justification: Dictates the expected operational logic and validation steps when edi transmission log entry requires a transaction name.
Trigger Criteria:
Context: An EDI transmission log entry requires a transaction name
Applied to: Set Foreground Action Code and Transaction Name / Set Background Action Code and Transaction Name
Action: The processing mode is background
Logic Flow:
IF An EDI transmission log entry requires a transaction name
AND The processing mode is background
THEN:
• The system uses the background transaction name
Rule Belongs to : GCCE358.cbl
Business Justification: Establishes the required business protocol to be followed when edi transmission log entry requires a date stamp.
Trigger Criteria:
Context: An EDI transmission log entry requires a date stamp
Applied to: Set Current Date from System
Action: The current date needs to be recorded
Logic Flow:
IF An EDI transmission log entry requires a date stamp
AND The current date needs to be recorded
THEN:
• The system concatenates the machine century and machine date to create a complete date stamp
Rule Belongs to : GCCE358.cbl
Business Justification: Establishes the required business protocol to be followed when edi transmission log entry requires a time stamp.
Trigger Criteria:
Context: An EDI transmission log entry requires a time stamp
Applied to: Set Current Time from System
Action: The current time needs to be recorded
Logic Flow:
IF An EDI transmission log entry requires a time stamp
AND The current time needs to be recorded
THEN:
• The system records the machine time from the system
Rule Belongs to : GCCE358.cbl
Business Justification: Establishes the required business protocol to be followed when log entry message field needs to be set.
Trigger Criteria:
Context: A log entry message field needs to be set
Applied to: Initialize Message as Empty
Action: No specific message content is required
Logic Flow:
IF A log entry message field needs to be set
AND No specific message content is required
THEN:
• The system initializes the message field to spaces
Rule Belongs to : GCCE358.cbl
Business Justification: Governs the functional prerequisites and system routing when complete log entry has been prepared with all required fields.
Trigger Criteria:
Context: A complete log entry has been prepared with all required fields
Applied to: Submit Log Entry to GCT1051E
Action: The log entry needs to be submitted for processing
Logic Flow:
IF A complete log entry has been prepared with all required fields
AND The log entry needs to be submitted for processing
THEN:
• The system calls the GCT1051E logging function with the prepared log entry data
R-GCCE358-cbl-00131 (+4)File: GCCE358.cblBusiness Rule: Attempt to Insert Root Segment into EDI Database
Rule Belongs to : GCCE358.cbl
Business Justification: Establishes the required business protocol to be followed when transmission needs to be created for edi processing.
Trigger Criteria:
Context: A transmission needs to be created for EDI processing
Applied to: Initialize Root Segment with Transmission Number and Transaction Set '358'
Action: The system initializes the root segment
Logic Flow:
IF A transmission needs to be created for EDI processing
AND 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
Rule Belongs to : GCCE358.cbl
Business Justification: Governs the functional prerequisites and system routing when root segment has been initialized with transmission number and transaction set.
Trigger Criteria:
Context: A root segment has been initialized with transmission number and transaction set
Applied to: Attempt to Insert Root Segment into EDI Database
Action: The system attempts to insert the root segment into the EDI database
Logic Flow:
IF A root segment has been initialized with transmission number and transaction set
AND 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
Rule Belongs to : GCCE358.cbl
Business Justification: Establishes the required business protocol to be followed when root segment insertion has been attempted.
Trigger Criteria:
Context: A root segment insertion has been attempted
Applied to: Insert Successful?
Action: The insertion fails due to duplicate transmission number
Logic Flow:
IF A root segment insertion has been attempted
AND The insertion fails due to duplicate transmission number
THEN:
• The system detects the failure and initiates the duplicate resolution process
Rule Belongs to : GCCE358.cbl
Business Justification: Establishes the required business protocol to be followed when root segment insertion has been attempted.
Trigger Criteria:
Context: A root segment insertion has been attempted
Applied to: Root Segment Successfully Inserted
Action: The insertion is successful without conflicts
Logic Flow:
IF A root segment insertion has been attempted
AND The insertion is successful without conflicts
THEN:
• The root segment is successfully stored in the EDI database and the process continues
Rule Belongs to : GCCE358.cbl
Business Justification: Establishes the required business protocol to be followed when duplicate transmission number conflict has been detected.
Trigger Criteria:
Context: A duplicate transmission number conflict has been detected
Applied to: Increment Transmission Number by 1
Action: The system needs to resolve the conflict
Logic Flow:
IF A duplicate transmission number conflict has been detected
AND The system needs to resolve the conflict
THEN:
• The transmission number is incremented by 1 and the insertion process is retried
R-GCCE358-cbl-00136 (+6)File: GCCE358.cblBusiness Rule: Set Quantity from Bill of Lading Count
Rule Belongs to : GCCE358.cbl
Business Justification: Establishes the required business protocol to be followed when system is ready to process equipment records for quantity calculation.
Trigger Criteria:
Context: The system is ready to process equipment records for quantity calculation
Applied to: Initialize Bill of Lading Count to Zero
Action: The bill of lading counting process begins
Logic Flow:
IF The system is ready to process equipment records for quantity calculation
AND The bill of lading counting process begins
THEN:
• The bill of lading quantity counter is set to zero
Rule Belongs to : GCCE358.cbl
Business Justification: Establishes the required business protocol to be followed when train list contains multiple equipment records.
Trigger Criteria:
Context: A train list contains multiple equipment records
Applied to: Start Equipment Loop
Action: The system processes equipment for bill of lading counting
Logic Flow:
IF A train list contains multiple equipment records
AND 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
Rule Belongs to : GCCE358.cbl
Business Justification: Ensures correct system behavior and process compliance when system is processing equipment records in a loop.
Trigger Criteria:
Context: The system is processing equipment records in a loop
Applied to: More Equipment Records?
Action: The current equipment index is compared against the total equipment quantity
Logic Flow:
IF The system is processing equipment records in a loop
AND 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
Rule Belongs to : GCCE358.cbl
Business Justification: Defines the strict business conditions required to proceed when equipment record is being processed for bill of lading counting.
Trigger Criteria:
Context: An equipment record is being processed for bill of lading counting
Applied to: Equipment Has US CCN Key?
Action: The system checks the US CCN key field for the equipment
Logic Flow:
IF An equipment record is being processed for bill of lading counting
AND 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
Rule Belongs to : GCCE358.cbl
Business Justification: Defines the strict business conditions required to proceed when equipment record has a valid us ccn key that is not spaces.
Trigger Criteria:
Context: An equipment record has a valid US CCN key that is not spaces
Applied to: Increment Bill of Lading Count by 1
Action: The system processes this equipment for counting
Logic Flow:
IF An equipment record has a valid US CCN key that is not spaces
AND The system processes this equipment for counting
THEN:
• The bill of lading quantity counter is increased by 1
Rule Belongs to : GCCE358.cbl
Business Justification: Defines the strict business conditions required to proceed when bill of lading count has been calculated from all equipment records.
Trigger Criteria:
Context: The bill of lading count has been calculated from all equipment records
Applied to: Apply Count to M10 Manifest Quantity
Action: The system creates the M10 manifest record
Logic Flow:
IF The bill of lading count has been calculated from all equipment records
AND The system creates the M10 manifest record
THEN:
• The M10 quantity field is set to the calculated bill of lading count
Rule Belongs to : GCCE358.cbl
Business Justification: Defines the strict business conditions required to proceed when bill of lading count has been calculated from all equipment records.
Trigger Criteria:
Context: The bill of lading count has been calculated from all equipment records
Applied to: Apply Count to P4 Port Quantity
Action: The system creates the P4 port record
Logic Flow:
IF The bill of lading count has been calculated from all equipment records
AND The system creates the P4 port record
THEN:
• The P4 quantity field is set to the calculated bill of lading count
R-GCCE358-cbl-00143 (+2)File: GCCE358.cblBusiness Rule: Apply Century Logic for Date
Rule Belongs to : GCCE358.cbl
Business Justification: Establishes the required business protocol to be followed when estimated departure date (eda) from the train list data.
Trigger Criteria:
Context: An Estimated Departure Date (EDA) from the train list data
Applied to: Is Date Empty or Zero?
Action: The EDA date is either spaces or zeroes
Logic Flow:
IF An Estimated Departure Date (EDA) from the train list data
AND The EDA date is either spaces or zeroes
THEN:
• Set the century component to 0 to indicate invalid date
Rule Belongs to : GCCE358.cbl
Business Justification: Dictates the expected operational logic and validation steps when valid 2-digit year from the eda date that is not empty or zero.
Trigger Criteria:
Context: A valid 2-digit year from the EDA date that is not empty or zero
Applied to: Is Year < 70?
Action: The 2-digit year is less than 70
Logic Flow:
IF A valid 2-digit year from the EDA date that is not empty or zero
AND The 2-digit year is less than 70
THEN:
• Set the century to 20 to create years in the range 2000-2069
Rule Belongs to : GCCE358.cbl
Business Justification: Dictates the expected operational logic and validation steps when valid 2-digit year from the eda date that is not empty or zero.
Trigger Criteria:
Context: A valid 2-digit year from the EDA date that is not empty or zero
Applied to: Set Century to 19
Action: The 2-digit year is 70 or greater
Logic Flow:
IF A valid 2-digit year from the EDA date that is not empty or zero
AND 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-00146 (+4)File: GCCE358.cblBusiness Rule: Apply Load/Empty Status Logic
Rule Belongs to : GCCE358.cbl
Business Justification: Defines the strict business conditions required to proceed when equipment item with load/empty status code from the train list.
Trigger Criteria:
Context: An equipment item with load/empty status code from the train list
Applied to: Status Code = 'H'?
Action: The equipment load/empty status code is 'H' (Hold)
Logic Flow:
IF An equipment item with load/empty status code from the train list
AND The equipment load/empty status code is 'H' (Hold)
THEN:
• The status code should be converted to 'E' (Empty) for the EDI transmission
Rule Belongs to : GCCE358.cbl
Business Justification: Defines the strict business conditions required to proceed when equipment item with load/empty status code from the train list.
Trigger Criteria:
Context: An equipment item with load/empty status code from the train list
Applied to: Keep Original Status Code
Action: The equipment load/empty status code is neither 'H' (Hold) nor 'E' (Empty)
Logic Flow:
IF An equipment item with load/empty status code from the train list
AND The equipment load/empty status code is neither 'H' (Hold) nor 'E' (Empty)
THEN:
• The original status code should be preserved without modification
Rule Belongs to : GCCE358.cbl
Business Justification: Ensures correct system behavior and process compliance when equipment item with status 'e' (empty) and an associated bill of lading (us-ccn-key is not spaces).
Trigger Criteria:
Context: An equipment item with status 'E' (Empty) and an associated bill of lading (US-CCN-KEY is not spaces)
Applied to: Cargo Weight > 1?
Action: The cargo weight from the database is greater than 1
Logic Flow:
IF An equipment item with status 'E' (Empty) and an associated bill of lading (US-CCN-KEY is not spaces)
AND The cargo weight from the database is greater than 1
THEN:
• The equipment status should be overridden to 'L' (Loaded)
Rule Belongs to : GCCE358.cbl
Business Justification: Ensures correct system behavior and process compliance when equipment item with status 'e' (empty) and an associated bill of lading (us-ccn-key is not spaces).
Trigger Criteria:
Context: An equipment item with status 'E' (Empty) and an associated bill of lading (US-CCN-KEY is not spaces)
Applied to: Cargo Weight > 1?
Action: The cargo weight from the database is 1 or less
Logic Flow:
IF An equipment item with status 'E' (Empty) and an associated bill of lading (US-CCN-KEY is not spaces)
AND The cargo weight from the database is 1 or less
THEN:
• The equipment status should remain 'E' (Empty)
Rule Belongs to : GCCE358.cbl
Business Justification: Ensures correct system behavior and process compliance when equipment item with status 'e' (empty).
Trigger Criteria:
Context: An equipment item with status 'E' (Empty)
Applied to: Equipment Has Bill of Lading?
Action: The equipment has no associated bill of lading (US-CCN-KEY is spaces)
Logic Flow:
IF An equipment item with status 'E' (Empty)
AND The equipment has no associated bill of lading (US-CCN-KEY is spaces)
THEN:
• The equipment status should remain 'E' (Empty)
R-GCCE358-cbl-00151 (+4)File: GCCE358.cblBusiness Rule: Lookup Cargo Information in Database
Rule Belongs to : GCCE358.cbl
Business Justification: Defines the strict business conditions required to proceed when cargo lookup request with us ccn key from equipment data.
Trigger Criteria:
Context: A cargo lookup request with US CCN key from equipment data
Applied to: Lookup Cargo Information in Database - Retrieve and validate foreign carrier equipment details
Action: The system searches the cargo database using the CCN key
Logic Flow:
IF A cargo lookup request with US CCN key from equipment data
AND 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
Rule Belongs to : GCCE358.cbl
Business Justification: Governs the functional prerequisites and system routing when cargo lookup operation is initiated.
Trigger Criteria:
Context: A cargo lookup operation is initiated
Applied to: Set Database Access Parameters
Action: The system prepares to access the cargo database
Logic Flow:
IF A cargo lookup operation is initiated
AND 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
Rule Belongs to : GCCE358.cbl
Business Justification: Dictates the expected operational logic and validation steps when database lookup operation has been completed.
Trigger Criteria:
Context: A database lookup operation has been completed
Applied to: Cargo Record Found?
Action: The system evaluates the database operation status code
Logic Flow:
IF A database lookup operation has been completed
AND The system evaluates the database operation status code
THEN:
• If status code is spaces then cargo is found, otherwise cargo is not found
Rule Belongs to : GCCE358.cbl
Business Justification: Dictates the expected operational logic and validation steps when database operation completed with successful status.
Trigger Criteria:
Context: Database operation completed with successful status
Applied to: Set Cargo Found Status
Action: The system processes the successful lookup result
Logic Flow:
IF Database operation completed with successful status
AND The system processes the successful lookup result
THEN:
• The system sets cargo found status to true
Rule Belongs to : GCCE358.cbl
Business Justification: Defines the strict business conditions required to proceed when database operation completed with unsuccessful status.
Trigger Criteria:
Context: Database operation completed with unsuccessful status
Applied to: Set Cargo Not Found Status
Action: The system processes the unsuccessful lookup result
Logic Flow:
IF Database operation completed with unsuccessful status
AND The system processes the unsuccessful lookup result
THEN:
• The system sets cargo not found status to true
R-GCCE358-cbl-00156 (+4)File: GCCE358.cblBusiness Rule: Lookup Carrier in SS Table by SCAC and Port
Rule Belongs to : GCCE358.cbl
Business Justification: Governs the functional prerequisites and system routing when bill of lading record is being processed with carrier scac code.
Trigger Criteria:
Context: A bill of lading record is being processed with carrier SCAC code
Applied to: Is Carrier CPRS?
Action: The carrier SCAC code equals 'CPRS'
Logic Flow:
IF A bill of lading record is being processed with carrier SCAC code
AND The carrier SCAC code equals 'CPRS'
THEN:
• Set the automated response code to 'Y' indicating yes for automated processing
Rule Belongs to : GCCE358.cbl
Business Justification: Dictates the expected operational logic and validation steps when bill of lading record with a non-cprs carrier scac code needs automated status determination.
Trigger Criteria:
Context: A bill of lading record with a non-CPRS carrier SCAC code needs automated status determination
Applied to: Initialize SS Table Key
Action: The carrier SCAC code is not 'CPRS'
Logic Flow:
IF A bill of lading record with a non-CPRS carrier SCAC code needs automated status determination
AND 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
Rule Belongs to : GCCE358.cbl
Business Justification: Governs the functional prerequisites and system routing when ss table lookup parameters are properly initialized with table id, scac code, and port location. ⚠️ COBOL Technical Logic
Trigger Criteria:
Context: SS table lookup parameters are properly initialized with table ID, SCAC code, and port location
Applied to: Call SS Table Lookup Function
Action: The table lookup function is called
Logic Flow:
IF SS table lookup parameters are properly initialized with table ID, SCAC code, and port location
AND The table lookup function is called
THEN:
• Query the SS table and return the carrier automation configuration data
Rule Belongs to : GCCE358.cbl
Business Justification: Governs the functional prerequisites and system routing when ss table lookup was successful and returned carrier configuration data.
Trigger Criteria:
Context: SS table lookup was successful and returned carrier configuration data
Applied to: Is Carrier Automated in Table?
Action: The automated carrier flag in the table data equals 'Y'
Logic Flow:
IF SS table lookup was successful and returned carrier configuration data
AND 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
Rule Belongs to : GCCE358.cbl
Business Justification: Ensures correct system behavior and process compliance when ss table lookup was attempted for a non-cprs carrier.
Trigger Criteria:
Context: SS table lookup was attempted for a non-CPRS carrier
Applied to: Set Automated Status to 'N'
Action: The table lookup fails or the carrier automated flag is not 'Y'
Logic Flow:
IF SS table lookup was attempted for a non-CPRS carrier
AND 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-00161 (+10)File: GCCE358.cblBusiness Rule: Search SS Table with SCAC Code and Port
Rule Belongs to : GCCE358.cbl
Business Justification: Defines the strict business conditions required to proceed when request to lookup carrier automation status.
Trigger Criteria:
Context: A request to lookup carrier automation status
Applied to: Initialize Table Search Parameters
Action: The system initializes the table search parameters
Logic Flow:
IF A request to lookup carrier automation status
AND The system initializes the table search parameters
THEN:
• The return flag should be cleared to prepare for the lookup operation
Rule Belongs to : GCCE358.cbl
Business Justification: Establishes the required business protocol to be followed when table lookup operation is being prepared.
Trigger Criteria:
Context: A table lookup operation is being prepared
Applied to: Set Table ID to 'SS'
Action: The system sets the table identifier
Logic Flow:
IF A table lookup operation is being prepared
AND The system sets the table identifier
THEN:
• The table ID should be set to 'SS' to target the SCAC Service table
Rule Belongs to : GCCE358.cbl
Business Justification: Defines the strict business conditions required to proceed when equipment record with scac information is being processed.
Trigger Criteria:
Context: An equipment record with SCAC information is being processed
Applied to: Set SCAC Code from Equipment Record
Action: The system prepares the table lookup key
Logic Flow:
IF An equipment record with SCAC information is being processed
AND The system prepares the table lookup key
THEN:
• The SCAC code should be extracted from the equipment record and set as the lookup key
Rule Belongs to : GCCE358.cbl
Business Justification: Governs the functional prerequisites and system routing when train departure location is available.
Trigger Criteria:
Context: A train departure location is available
Applied to: Set Port from Departure Location
Action: The system prepares the port parameter for table lookup
Logic Flow:
IF A train departure location is available
AND The system prepares the port parameter for table lookup
THEN:
• The departure service center should be used as the port identifier
Rule Belongs to : GCCE358.cbl
Business Justification: Defines the strict business conditions required to proceed when table lookup parameters are prepared with scac code and port. ⚠️ COBOL Technical Logic
Trigger Criteria:
Context: Table lookup parameters are prepared with SCAC code and port
Applied to: Call Table Lookup Function GCCTBIO
Action: The system calls the GCCTBIO table lookup function
Logic Flow:
IF Table lookup parameters are prepared with SCAC code and port
AND The system calls the GCCTBIO table lookup function
THEN:
• The function should be invoked with the prepared parameters to search the SS table
Rule Belongs to : GCCE358.cbl
Business Justification: Dictates the expected operational logic and validation steps when table lookup operation has been completed.
Trigger Criteria:
Context: A table lookup operation has been completed
Applied to: Table Record Found?
Action: The system evaluates the lookup result
Logic Flow:
IF A table lookup operation has been completed
AND The system evaluates the lookup result
THEN:
• If the return flag indicates success, the record was found; otherwise, no matching record exists
Rule Belongs to : GCCE358.cbl
Business Justification: Establishes the required business protocol to be followed when successful ss table lookup has been completed.
Trigger Criteria:
Context: A successful SS table lookup has been completed
Applied to: Retrieve SS Segment Data
Action: The system processes the lookup result
Logic Flow:
IF A successful SS table lookup has been completed
AND The system processes the lookup result
THEN:
• The SS segment data should be moved from the table buffer to the working storage area
Rule Belongs to : GCCE358.cbl
Business Justification: Governs the functional prerequisites and system routing when ss segment data has been retrieved from the table.
Trigger Criteria:
Context: SS segment data has been retrieved from the table
Applied to: Automated Carrier Flag = 'Y'?
Action: The system checks the automated carrier flag
Logic Flow:
IF SS segment data has been retrieved from the table
AND The system checks the automated carrier flag
THEN:
• If the automated carrier flag equals 'Y', the carrier supports automation; otherwise, it does not
Rule Belongs to : GCCE358.cbl
Business Justification: Defines the strict business conditions required to proceed when ss table record shows automated carrier flag as 'y'.
Trigger Criteria:
Context: The SS table record shows automated carrier flag as 'Y'
Applied to: Set Carrier as Automated
Action: The system processes the automation status
Logic Flow:
IF The SS table record shows automated carrier flag as 'Y'
AND The system processes the automation status
THEN:
• The carrier should be classified as supporting automated processing
Rule Belongs to : GCCE358.cbl
Business Justification: Governs the functional prerequisites and system routing when ss table record shows automated carrier flag is not 'y'.
Trigger Criteria:
Context: The SS table record shows automated carrier flag is not 'Y'
Applied to: Set Carrier as Not Automated
Action: The system processes the automation status
Logic Flow:
IF The SS table record shows automated carrier flag is not 'Y'
AND The system processes the automation status
THEN:
• The carrier should be classified as not supporting automated processing
Rule Belongs to : GCCE358.cbl
Business Justification: Establishes the required business protocol to be followed when ss table lookup operation failed to find a matching record.
Trigger Criteria:
Context: The SS table lookup operation failed to find a matching record
Applied to: Clear SS Segment Data
Action: The system handles the lookup failure
Logic Flow:
IF The SS table lookup operation failed to find a matching record
AND 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-00172 (+5)File: GCCE358.cblBusiness Rule: Look up SCAC in SS Table for Port
Rule Belongs to : GCCE358.cbl
Business Justification: Governs the functional prerequisites and system routing when bill of lading record is being processed with carrier scac code.
Trigger Criteria:
Context: A bill of lading record is being processed with carrier SCAC code
Applied to: Is Carrier CPRS?
Action: The carrier SCAC code equals 'CPRS'
Logic Flow:
IF A bill of lading record is being processed with carrier SCAC code
AND The carrier SCAC code equals 'CPRS'
THEN:
• Set the automated response code to 'Y' indicating automated processing is available
Rule Belongs to : GCCE358.cbl
Business Justification: Governs the functional prerequisites and system routing when bill of lading record is being processed for a non-cprs carrier.
Trigger Criteria:
Context: A bill of lading record is being processed for a non-CPRS carrier
Applied to: Initialize SS Table Key
Action: The carrier SCAC code is not 'CPRS'
Logic Flow:
IF A bill of lading record is being processed for a non-CPRS carrier
AND The carrier SCAC code is not 'CPRS'
THEN:
• Initialize the table lookup key structure and set table ID to 'SS' for SCAC automation lookup
Rule Belongs to : GCCE358.cbl
Business Justification: Establishes the required business protocol to be followed when table lookup parameters are initialized with scac code and departure port.
Trigger Criteria:
Context: Table lookup parameters are initialized with SCAC code and departure port
Applied to: Lookup SCAC in SS Table
Action: The SCAC table lookup is performed
Logic Flow:
IF Table lookup parameters are initialized with SCAC code and departure port
AND The SCAC table lookup is performed
THEN:
• Retrieve the automation status for the carrier at the specified port
Rule Belongs to : GCCE358.cbl
Business Justification: Dictates the expected operational logic and validation steps when scac table lookup has been successfully completed.
Trigger Criteria:
Context: SCAC table lookup has been successfully completed
Applied to: Is Carrier Automated?
Action: The carrier's automated flag equals 'Y' in the table
Logic Flow:
IF SCAC table lookup has been successfully completed
AND The carrier's automated flag equals 'Y' in the table
THEN:
• Set the response code to 'Y' indicating automated processing is available
Rule Belongs to : GCCE358.cbl
Business Justification: Defines the strict business conditions required to proceed when scac table lookup has been performed.
Trigger Criteria:
Context: SCAC table lookup has been performed
Applied to: Set Response Code to 'N'
Action: The carrier is not found in the table OR the carrier's automated flag is not 'Y'
Logic Flow:
IF SCAC table lookup has been performed
AND 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
Rule Belongs to : GCCE358.cbl
Business Justification: Dictates the expected operational logic and validation steps when bill of lading record is being processed with equipment and cargo information.
Trigger Criteria:
Context: A bill of lading record is being processed with equipment and cargo information
Applied to: Set Response Code to 'Y'
Action: The equipment load status is 'E' (Empty) AND the CCN key is not spaces AND the BOL type code equals 23
Logic Flow:
IF A bill of lading record is being processed with equipment and cargo information
AND 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
📁 File: GCCS358C.cbl
Select All in File
R-GCCS358C-cbl-00021 (+5)File: GCCS358C.cblBusiness Rule: Initialize EDI 358 Transaction
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when edi 358 transaction is being initiated.
Trigger Criteria:
Context: An EDI 358 transaction is being initiated
Applied to: Save Current Program Name
Action: The system begins processing the transaction
Logic Flow:
IF An EDI 358 transaction is being initiated
AND The system begins processing the transaction
THEN:
• The current program name from the control block is saved to a temporary variable
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when current program name has been saved.
Trigger Criteria:
Context: The current program name has been saved
Applied to: Set Module Name in Control Block
Action: The EDI 358 processing begins
Logic Flow:
IF The current program name has been saved
AND The EDI 358 processing begins
THEN:
• The module name is assigned to the program field in the control block
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when edi 358 transaction is being processed.
Trigger Criteria:
Context: An EDI 358 transaction is being processed
Applied to: Check Processing Mode
Action: The system checks the processing mode configuration
Logic Flow:
IF An EDI 358 transaction is being processed
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when processing mode validation has failed.
Trigger Criteria:
Context: The processing mode validation has failed
Applied to: Set Wrong Mode Indicator
Action: None of the valid processing modes (foreground, background, foreground-02) are active
Logic Flow:
IF The processing mode validation has failed
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when processing mode validation has passed.
Trigger Criteria:
Context: The processing mode validation has passed
Applied to: Continue to Main Processing
Action: A valid processing mode is confirmed
Logic Flow:
IF The processing mode validation has passed
AND A valid processing mode is confirmed
THEN:
• The AA200-358-PROCESS routine is executed to handle the EDI transaction processing
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when edi 358 processing has completed (either successfully or with error).
Trigger Criteria:
Context: EDI 358 processing has completed (either successfully or with error)
Applied to: Restore Program Name
Action: The system is preparing to return control to the caller
Logic Flow:
IF EDI 358 processing has completed (either successfully or with error)
AND The system is preparing to return control to the caller
THEN:
• The saved program name is restored to the control block program field
Business Justification: Dictates the expected operational logic and validation steps when transmission counter needs to be generated for edi processing.
Trigger Criteria:
Context: A transmission counter needs to be generated for EDI processing
Applied to: Set Prefix 147 for Foreground
Action: The processing mode is foreground
Logic Flow:
IF A transmission counter needs to be generated for EDI processing
AND The processing mode is foreground
THEN:
• The transmission prefix should be set to 147
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when transmission counter needs to be generated for edi processing.
Trigger Criteria:
Context: A transmission counter needs to be generated for EDI processing
Applied to: Set Prefix 2 for Foreground-02
Action: The processing mode is foreground-02
Logic Flow:
IF A transmission counter needs to be generated for EDI processing
AND The processing mode is foreground-02
THEN:
• The transmission prefix should be set to 2
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when transmission counter needs to be generated for edi processing.
Trigger Criteria:
Context: A transmission counter needs to be generated for EDI processing
Applied to: Set Prefix 146 for Background
Action: The processing mode is background
Logic Flow:
IF A transmission counter needs to be generated for EDI processing
AND The processing mode is background
THEN:
• The transmission prefix should be set to 146
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when transmission prefix has been determined based on processing mode.
Trigger Criteria:
Context: A transmission prefix has been determined based on processing mode
Applied to: Use Machine Time as Counter
Action: A transmission number needs to be generated
Logic Flow:
IF A transmission prefix has been determined based on processing mode
AND A transmission number needs to be generated
THEN:
• The machine time should be used as the transmission number base
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when transmission number has been generated.
Trigger Criteria:
Context: A transmission number has been generated
Applied to: Initialize A9RT Transmission Segment
Action: Creating a root transmission segment
Logic Flow:
IF A transmission number has been generated
AND Creating a root transmission segment
THEN:
• The A9RT transmission segment should be initialized to clear any previous data
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when root transmission segment has been initialized.
Trigger Criteria:
Context: A root transmission segment has been initialized
Applied to: Set Transaction Set to 358
Action: Setting up the transmission for customs manifest data
Logic Flow:
IF A root transmission segment has been initialized
AND Setting up the transmission for customs manifest data
THEN:
• The transaction set should be set to '358'
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when root transmission segment insertion has failed due to duplicate key.
Trigger Criteria:
Context: A root transmission segment insertion has failed due to duplicate key
Applied to: Increment Transmission Number
Action: The transmission number already exists in the database
Logic Flow:
IF A root transmission segment insertion has failed due to duplicate key
AND The transmission number already exists in the database
THEN:
• The transmission number should be incremented by 1 and insertion should be retried
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when complete root transmission segment with transmission number and transaction set.
Trigger Criteria:
Context: A complete root transmission segment with transmission number and transaction set
Applied to: Insert Root Segment to Database
Action: The segment is ready for database storage
Logic Flow:
IF A complete root transmission segment with transmission number and transaction set
AND The segment is ready for database storage
THEN:
• The root segment should be inserted into the GCA9RT transmission database
R-GCCS358C-cbl-00039 (+4)File: GCCS358C.cblBusiness Rule: Build ST Header Segment
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when new edi 358 transaction needs to be created.
Trigger Criteria:
Context: A new EDI 358 transaction needs to be created
Applied to: Initialize ST Segment Structure
Action: The ST segment initialization process begins
Logic Flow:
IF A new EDI 358 transaction needs to be created
AND The ST segment initialization process begins
THEN:
• The ST segment definition structure is initialized and the ST identifier is set to 'ST'
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when st segment is being prepared for transmission.
Trigger Criteria:
Context: An ST segment is being prepared for transmission
Applied to: Set Transaction Code to '358'
Action: The transaction code needs to be assigned
Logic Flow:
IF An ST segment is being prepared for transmission
AND The transaction code needs to be assigned
THEN:
• The transaction code is set to '358' to identify this as a customs manifest transaction
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when st segment is being created for transmission.
Trigger Criteria:
Context: An ST segment is being created for transmission
Applied to: Check Post-Emanifest Flag
Action: The post-emanifest flag is evaluated
Logic Flow:
IF An ST segment is being created for transmission
AND 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'
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when st segment has been fully populated with required data.
Trigger Criteria:
Context: An ST segment has been fully populated with required data
Applied to: Prepare Segment for Transmission
Action: The segment needs to be prepared for database insertion
Logic Flow:
IF An ST segment has been fully populated with required data
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when st segment is prepared for database insertion.
Trigger Criteria:
Context: An ST segment is prepared for database insertion
Applied to: Insert ST Segment into Database
Action: The database insertion process is invoked
Logic Flow:
IF An ST segment is prepared for database insertion
AND The database insertion process is invoked
THEN:
• The ST segment is inserted into the GCA9DP transmission database with proper sequencing
Business Justification: Dictates the expected operational logic and validation steps when new m10 manifest segment needs to be created.
Trigger Criteria:
Context: A new M10 manifest segment needs to be created
Applied to: Initialize M10 Segment Structure
Action: The system starts building the M10 segment
Logic Flow:
IF A new M10 manifest segment needs to be created
AND The system starts building the M10 segment
THEN:
• The M10 segment is initialized and the identifier is set to 'M10'
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when m10 manifest segment is being created.
Trigger Criteria:
Context: An M10 manifest segment is being created
Applied to: Set SCAC Code to 'CPRS'
Action: The SCAC code needs to be assigned
Logic Flow:
IF An M10 manifest segment is being created
AND The SCAC code needs to be assigned
THEN:
• The SCAC code is set to 'CPRS'
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when m10 manifest segment is being created.
Trigger Criteria:
Context: An M10 manifest segment is being created
Applied to: Set Country Code to 'US'
Action: The country code needs to be assigned
Logic Flow:
IF An M10 manifest segment is being created
AND The country code needs to be assigned
THEN:
• The country code is set to 'US'
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when m10 manifest segment is being created.
Trigger Criteria:
Context: An M10 manifest segment is being created
Applied to: Set Manifest Type Code to 'S'
Action: The manifest type code needs to be assigned
Logic Flow:
IF An M10 manifest segment is being created
AND The manifest type code needs to be assigned
THEN:
• The manifest type code is set to 'S' for ship manifest
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when m10 manifest segment is being created.
Trigger Criteria:
Context: An M10 manifest segment is being created
Applied to: Set Application Type to '27'
Action: The application type needs to be assigned
Logic Flow:
IF An M10 manifest segment is being created
AND The application type needs to be assigned
THEN:
• The application type is set to '27'
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when m10 manifest segment is being created for rail transport.
Trigger Criteria:
Context: An M10 manifest segment is being created for rail transport
Applied to: Set Transport Type Code to 'R'
Action: The transport type code needs to be assigned
Logic Flow:
IF An M10 manifest segment is being created for rail transport
AND The transport type code needs to be assigned
THEN:
• The transport type code is set to 'R' for rail
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when m10 manifest segment is being created and a train key exists.
Trigger Criteria:
Context: An M10 manifest segment is being created and a train key exists
Applied to: Set Vessel Name from Train Key
Action: The vessel name needs to be assigned
Logic Flow:
IF An M10 manifest segment is being created and a train key exists
AND The vessel name needs to be assigned
THEN:
• The vessel name is set to the value from the train key
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when m10 manifest segment is being created and current machine date is available.
Trigger Criteria:
Context: An M10 manifest segment is being created and current machine date is available
Applied to: Convert Current Date to Julian Format
Action: The flight/voyage number needs to be calculated
Logic Flow:
IF An M10 manifest segment is being created and current machine date is available
AND The flight/voyage number needs to be calculated
THEN:
• The system converts the current date from Gregorian to Julian format using date conversion service
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when current date has been converted to julian format.
Trigger Criteria:
Context: The current date has been converted to Julian format
Applied to: Set Flight/Voyage Number from Julian Date
Action: The flight/voyage number needs to be assigned
Logic Flow:
IF The current date has been converted to Julian format
AND The flight/voyage number needs to be assigned
THEN:
• The flight/voyage number is set to the Julian date value
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when m10 manifest segment is being created for train transport.
Trigger Criteria:
Context: An M10 manifest segment is being created for train transport
Applied to: Set Reference Number to 'TRAIN'
Action: The reference number needs to be assigned
Logic Flow:
IF An M10 manifest segment is being created for train transport
AND The reference number needs to be assigned
THEN:
• The reference number is set to 'TRAIN'
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when m10 manifest segment is being created and the operation type is add.
Trigger Criteria:
Context: An M10 manifest segment is being created and the operation type is ADD
Applied to: Set Purpose Code to '00' - Add
Action: The transaction purpose code needs to be determined
Logic Flow:
IF An M10 manifest segment is being created and the operation type is ADD
AND The transaction purpose code needs to be determined
THEN:
• The purpose code is set to '00'
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when m10 manifest segment is being created and the operation type is change and the arrival date is empty.
Trigger Criteria:
Context: An M10 manifest segment is being created and the operation type is CHANGE and the arrival date is empty
Applied to: Set Purpose Code to '04' - Change
Action: The transaction purpose code needs to be determined
Logic Flow:
IF An M10 manifest segment is being created and the operation type is CHANGE and the arrival date is empty
AND The transaction purpose code needs to be determined
THEN:
• The purpose code is set to '04' and amendment flag is set to false
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when 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.
Trigger Criteria:
Context: 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
Applied to: Set Purpose Code to 'CO' - Amendment
Action: The transaction purpose code needs to be determined
Logic Flow:
IF 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
AND The transaction purpose code needs to be determined
THEN:
• The purpose code is set to 'CO' and amendment flag is set to true
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when 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.
Trigger Criteria:
Context: 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
Applied to: Set Purpose Code to '04' - Change
Action: The transaction purpose code needs to be determined
Logic Flow:
IF 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
AND The transaction purpose code needs to be determined
THEN:
• The purpose code is set to '04' and amendment flag is set to false
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when m10 manifest segment is being created and the operation type is delete.
Trigger Criteria:
Context: An M10 manifest segment is being created and the operation type is DELETE
Applied to: Set Purpose Code to '03' - Delete
Action: The transaction purpose code needs to be determined
Logic Flow:
IF An M10 manifest segment is being created and the operation type is DELETE
AND The transaction purpose code needs to be determined
THEN:
• The purpose code is set to '03'
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when m10 manifest segment has been fully populated with all required data.
Trigger Criteria:
Context: An M10 manifest segment has been fully populated with all required data
Applied to: Insert M10 Segment into Transmission
Action: The segment needs to be added to the transmission
Logic Flow:
IF An M10 manifest segment has been fully populated with all required data
AND The segment needs to be added to the transmission
THEN:
• The M10 segment is inserted into the transmission data queue
R-GCCS358C-cbl-00060 (+4)File: GCCS358C.cblBusiness Rule: Set Transaction Purpose Code
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when train manifest transaction is being processed.
Trigger Criteria:
Context: A train manifest transaction is being processed
Applied to: Set Purpose Code = '00' ADD Operation
Action: The operation type is ADD (GCWS358C-ADD flag is true)
Logic Flow:
IF A train manifest transaction is being processed
AND 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'
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when train manifest transaction is being processed.
Trigger Criteria:
Context: A train manifest transaction is being processed
Applied to: Set Purpose Code = '03' DELETE Operation
Action: The operation type is DELETE (GCWS358C-DELETE flag is true)
Logic Flow:
IF A train manifest transaction is being processed
AND 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'
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when train manifest transaction is being processed with change operation type. ⚠️ COBOL Technical Logic
Trigger Criteria:
Context: A train manifest transaction is being processed with CHANGE operation type
Applied to: Set Purpose Code = '04' Regular Change
Action: The arrival date (GCWB4TL-ARRIVAL-DATE) is empty or contains spaces
Logic Flow:
IF A train manifest transaction is being processed with CHANGE operation type
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when train manifest transaction is being processed with change operation type and arrival date is not empty. ⚠️ COBOL Technical Logic
Trigger Criteria:
Context: A train manifest transaction is being processed with CHANGE operation type and arrival date is not empty
Applied to: Set Purpose Code = 'CO' Post-Emanifest Amendment
Action: The post-emanifest flag (GCWB4TL-POST-EMANIFEST) is true
Logic Flow:
IF A train manifest transaction is being processed with CHANGE operation type and arrival date is not empty
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when train manifest transaction is being processed with change operation type and arrival date is not empty. ⚠️ COBOL Technical Logic
Trigger Criteria:
Context: A train manifest transaction is being processed with CHANGE operation type and arrival date is not empty
Applied to: Set Purpose Code = '04' Regular Change
Action: The post-emanifest flag (GCWB4TL-POST-EMANIFEST) is false
Logic Flow:
IF A train manifest transaction is being processed with CHANGE operation type and arrival date is not empty
AND 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
Business Justification: Governs the functional prerequisites and system routing when p4 location segment needs to be created for transmission.
Trigger Criteria:
Context: A P4 location segment needs to be created for transmission
Applied to: Initialize P4 Segment Structure
Action: The system begins building the P4 segment
Logic Flow:
IF A P4 location segment needs to be created for transmission
AND The system begins building the P4 segment
THEN:
• The P4 segment structure is initialized and the identifier is set to 'P4'
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when train departure location needs to be processed.
Trigger Criteria:
Context: A train departure location needs to be processed
Applied to: Retrieve Canadian Station Information
Action: The system needs to build the P4 location segment
Logic Flow:
IF A train departure location needs to be processed
AND The system needs to build the P4 location segment
THEN:
• The system retrieves station information using the train's departure station code
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when canadian station information has been retrieved from the station table.
Trigger Criteria:
Context: Canadian station information has been retrieved from the station table
Applied to: Set Canadian Station Code as Location ID
Action: The P4 location segment is being populated
Logic Flow:
IF Canadian station information has been retrieved from the station table
AND The P4 location segment is being populated
THEN:
• The Canadian station code is assigned as the location identifier
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when estimated departure date year needs century determination.
Trigger Criteria:
Context: An estimated departure date year needs century determination
Applied to: Determine Century for Departure Date
Action: The estimated departure year is greater than 90
Logic Flow:
IF An estimated departure date year needs century determination
AND The estimated departure year is greater than 90
THEN:
• The century is set to '19', otherwise the century is set to '20'
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when train estimated departure date information is available.
Trigger Criteria:
Context: Train estimated departure date information is available
Applied to: Set Estimated Departure Year, Set Estimated Departure Month, Set Estimated Departure Day
Action: The P4 location segment date fields need to be populated
Logic Flow:
IF Train estimated departure date information is available
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when p4 location segment has a populated location identifier. ⚠️ COBOL Technical Logic
Trigger Criteria:
Context: The P4 location segment has a populated location identifier
Applied to: Copy Location ID to ID Code Field, Set Time Field to Spaces
Action: The remaining P4 segment fields need to be set
Logic Flow:
IF The P4 location segment has a populated location identifier
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when completed p4 location segment is ready for transmission.
Trigger Criteria:
Context: A completed P4 location segment is ready for transmission
Applied to: Insert P4 Segment into Transmission
Action: The segment needs to be added to the transmission data
Logic Flow:
IF A completed P4 location segment is ready for transmission
AND The segment needs to be added to the transmission data
THEN:
• The P4 segment is inserted into the transmission data structure
R-GCCS358C-cbl-00072 (+14)File: GCCS358C.cblBusiness Rule: Process Equipment List
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when train list with equipment records needs to be processed.
Trigger Criteria:
Context: A train list with equipment records needs to be processed
Applied to: Initialize Equipment Counter SUB-TL = 1
Action: Equipment processing begins
Logic Flow:
IF A train list with equipment records needs to be processed
AND Equipment processing begins
THEN:
• The equipment counter SUB-TL is set to 1 to start with the first equipment
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when equipment processing is in progress with current equipment counter sub-tl.
Trigger Criteria:
Context: Equipment processing is in progress with current equipment counter SUB-TL
Applied to: Equipment ID Empty?
Action: The equipment ID at the current position is empty or spaces
Logic Flow:
IF Equipment processing is in progress with current equipment counter SUB-TL
AND The equipment ID at the current position is empty or spaces
THEN:
• Equipment processing terminates and exits the loop
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when equipment record needs to be processed.
Trigger Criteria:
Context: An equipment record needs to be processed
Applied to: Post-Emanifest Processing? & Process Equipment - 5040 Version
Action: The processing mode is post-emanifest (GCWB4TL-POST-EMANIFEST is true)
Logic Flow:
IF An equipment record needs to be processed
AND The processing mode is post-emanifest (GCWB4TL-POST-EMANIFEST is true)
THEN:
• Use the 5040 version processing method (B231-LOAD-VID-MBL-5040)
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when equipment record needs to be processed.
Trigger Criteria:
Context: An equipment record needs to be processed
Applied to: Process Equipment - 4040RAIL Version
Action: The processing mode is not post-emanifest (GCWB4TL-POST-EMANIFEST is false)
Logic Flow:
IF An equipment record needs to be processed
AND The processing mode is not post-emanifest (GCWB4TL-POST-EMANIFEST is false)
THEN:
• Use the standard processing method (B230-LOAD-VID-MBL)
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when current equipment processing is complete.
Trigger Criteria:
Context: Current equipment processing is complete
Applied to: Increment Equipment Counter
Action: Moving to process the next equipment
Logic Flow:
IF Current equipment processing is complete
AND Moving to process the next equipment
THEN:
• The equipment counter SUB-TL is incremented by 1
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when equipment record at position sub-tl in the train list.
Trigger Criteria:
Context: An equipment record at position SUB-TL in the train list
Applied to: Extract Equipment Type, Initial, Number
Action: Equipment data needs to be extracted for VID segment creation
Logic Flow:
IF An equipment record at position SUB-TL in the train list
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when equipment record with load indicator and cargo key information.
Trigger Criteria:
Context: Equipment record with load indicator and cargo key information
Applied to: Determine Load/Empty Status
Action: Equipment load status needs to be determined for standard processing
Logic Flow:
IF Equipment record with load indicator and cargo key information
AND 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')
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when equipment record with load indicator, empty indicator, and cargo key information in post-emanifest mode.
Trigger Criteria:
Context: Equipment record with load indicator, empty indicator, and cargo key information in post-emanifest mode
Applied to: Determine Load/Empty Status with Revenue Empty Logic
Action: Equipment load status needs to be determined for post-emanifest processing
Logic Flow:
IF Equipment record with load indicator, empty indicator, and cargo key information in post-emanifest mode
AND 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')
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when equipment with specific car types that form flat car and container combinations.
Trigger Criteria:
Context: Equipment with specific car types that form flat car and container combinations
Applied to: Handle Flat Car Logic for Container Cars
Action: 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)
Logic Flow:
IF Equipment with specific car types that form flat car and container combinations
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when flat car type equipment in post-emanifest processing.
Trigger Criteria:
Context: A flat car type equipment in post-emanifest processing
Applied to: Check Flat Car for Loaded Containers
Action: The equipment is a possible flat car type
Logic Flow:
IF A flat car type equipment in post-emanifest processing
AND The equipment is a possible flat car type
THEN:
• Check subsequent container cars on the flat car andif any container is loaded or (empty with cargo key), set the flat car status to 'L'
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when equipment data including type, initial, number, and determined load/empty status.
Trigger Criteria:
Context: Equipment data including type, initial, number, and determined load/empty status
Applied to: Create VID Segment
Action: VID segment needs to be created for the equipment
Logic Flow:
IF Equipment data including type, initial, number, and determined load/empty status
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when post-emanifest processing mode and equipment counter sub-tl equals 1.
Trigger Criteria:
Context: Post-emanifest processing mode and equipment counter SUB-TL equals 1
Applied to: Create N9 Reference Segment for First Equipment
Action: Processing the first equipment in the list
Logic Flow:
IF Post-emanifest processing mode and equipment counter SUB-TL equals 1
AND 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'
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when equipment that is loaded and has a cargo key (cda-ccn-key is not spaces).
Trigger Criteria:
Context: Equipment that is loaded and has a cargo key (CDA-CCN-KEY is not spaces)
Applied to: Process Bill of Lading if Loaded
Action: Equipment processing requires bill of lading information
Logic Flow:
IF Equipment that is loaded and has a cargo key (CDA-CCN-KEY is not spaces)
AND Equipment processing requires bill of lading information
THEN:
• Process MBL segment with cargo details, SCAC code, bill of lading number, and response codes
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when post-emanifest processing mode with equipment that may or may not have cargo.
Trigger Criteria:
Context: Post-emanifest processing mode with equipment that may or may not have cargo
Applied to: Process Bill of Lading or Dummy MBL
Action: Equipment has cargo key
Logic Flow:
IF Post-emanifest processing mode with equipment that may or may not have cargo
AND Equipment has cargo key
THEN:
• Process regular MBL segment, otherwiseif this is the first equipment and an amendment, create dummy MBL with exception code '06' and M13 amendment segment
R-GCCS358C-cbl-00087 (+3)File: GCCS358C.cblBusiness Rule: Determine EDI Version Processing
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when train manifest processing request is received.
Trigger Criteria:
Context: A train manifest processing request is received
Applied to: Check Post-Emanifest Flag
Action: The system checks the post-emanifest flag (GCWB4TL-POST-EMANIFEST)
Logic Flow:
IF A train manifest processing request is received
AND The system checks the post-emanifest flag (GCWB4TL-POST-EMANIFEST)
THEN:
• The system evaluates the flag to determine routing to appropriate EDI version processing
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when train manifest processing request is being evaluated for edi version routing.
Trigger Criteria:
Context: A train manifest processing request is being evaluated for EDI version routing
Applied to: Route to 5040 Version Processing
Action: The post-emanifest flag (GCWB4TL-POST-EMANIFEST) is set to true
Logic Flow:
IF A train manifest processing request is being evaluated for EDI version routing
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when train manifest processing request is being evaluated for edi version routing.
Trigger Criteria:
Context: A train manifest processing request is being evaluated for EDI version routing
Applied to: Route to 4040RAIL Version Processing
Action: The post-emanifest flag (GCWB4TL-POST-EMANIFEST) is not set or is false
Logic Flow:
IF A train manifest processing request is being evaluated for EDI version routing
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when edi version processing route has been determined.
Trigger Criteria:
Context: The EDI version processing route has been determined
Applied to: Process All Equipment in Train List
Action: The system begins equipment processing
Logic Flow:
IF The EDI version processing route has been determined
AND 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-00091 (+16)File: GCCS358C.cblBusiness Rule: Build VID Equipment Segment (4040RAIL)
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when equipment unit exists in the train list with a ccn key.
Trigger Criteria:
Context: An equipment unit exists in the train list with a CCN key
Applied to: Get Cargo Information for Equipment
Action: The system processes the equipment for manifest creation
Logic Flow:
IF An equipment unit exists in the train list with a CCN key
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when equipment processing is initiated for manifest creation.
Trigger Criteria:
Context: Equipment processing is initiated for manifest creation
Applied to: Initialize VID Segment
Action: A new VID segment needs to be created
Logic Flow:
IF Equipment processing is initiated for manifest creation
AND A new VID segment needs to be created
THEN:
• The system initializes the VID segment and sets the identifier to 'VID'
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when vid segment is being populated for an equipment unit.
Trigger Criteria:
Context: A VID segment is being populated for an equipment unit
Applied to: Set Equipment Type from Train List
Action: Equipment type information is available in the train list
Logic Flow:
IF A VID segment is being populated for an equipment unit
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when vid segment is being populated for an equipment unit.
Trigger Criteria:
Context: A VID segment is being populated for an equipment unit
Applied to: Set Equipment Initial from Train List
Action: Equipment initial information is available in the train list
Logic Flow:
IF A VID segment is being populated for an equipment unit
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when vid segment is being populated for an equipment unit.
Trigger Criteria:
Context: A VID segment is being populated for an equipment unit
Applied to: Set Equipment Number from Train List
Action: Equipment number information is available in the train list
Logic Flow:
IF A VID segment is being populated for an equipment unit
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when equipment is being processed for manifest creation.
Trigger Criteria:
Context: Equipment is being processed for manifest creation
Applied to: Equipment Marked as Loaded?
Action: The train list indicates the equipment load status
Logic Flow:
IF Equipment is being processed for manifest creation
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when equipment is being processed for manifest creation.
Trigger Criteria:
Context: Equipment is being processed for manifest creation
Applied to: Current Equipment is Flat Car? & Current Equipment is Container?
Action: The equipment type is evaluated
Logic Flow:
IF Equipment is being processed for manifest creation
AND 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
• 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when equipment is marked as loaded in the train list.
Trigger Criteria:
Context: Equipment is marked as loaded in the train list
Applied to: Loaded but No CCN Key?
Action: The equipment has no CCN key (cargo control number) associated with it
Logic Flow:
IF Equipment is marked as loaded in the train list
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when equipment has an associated cargo control number key.
Trigger Criteria:
Context: Equipment has an associated cargo control number key
Applied to: CCN Key starts with '6105I'?
Action: The CCN key starts with '6105I'
Logic Flow:
IF Equipment has an associated cargo control number key
AND The CCN key starts with '6105I'
THEN:
• The system forces the equipment load status to 'E' (empty) regardless of other load indicators
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when equipment has associated cargo with an in-transit status.
Trigger Criteria:
Context: Equipment has associated cargo with an in-transit status
Applied to: Cargo In-Transit Status?
Action: The cargo in-transit status is evaluated
Logic Flow:
IF Equipment has associated cargo with an in-transit status
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when current equipment is identified as a flat car type.
Trigger Criteria:
Context: Current equipment is identified as a flat car type
Applied to: Next Equipment is Container?
Action: The next equipment in the sequence is evaluated
Logic Flow:
IF Current equipment is identified as a flat car type
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when current equipment is a flat car and next equipment is a container.
Trigger Criteria:
Context: Current equipment is a flat car and next equipment is a container
Applied to: Store Flat Car VID Data
Action: The flat car VID segment is created
Logic Flow:
IF Current equipment is a flat car and next equipment is a container
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when current equipment is a container and flat car vid data exists from previous processing.
Trigger Criteria:
Context: Current equipment is a container and flat car VID data exists from previous processing
Applied to: Create Flat Car VID with Container Location
Action: Container VID segment is being created
Logic Flow:
IF Current equipment is a container and flat car VID data exists from previous processing
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when equipment is not part of a flat car-container combination.
Trigger Criteria:
Context: Equipment is not part of a flat car-container combination
Applied to: Create Standard VID Segment
Action: VID segment processing is performed
Logic Flow:
IF Equipment is not part of a flat car-container combination
AND VID segment processing is performed
THEN:
• The system creates a standard VID segment and processes MBL segment if equipment is loaded with cargo
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when equipment vid segment has been created.
Trigger Criteria:
Context: Equipment VID segment has been created
Applied to: Equipment Has CCN and is Loaded?
Action: The system evaluates MBL processing requirements
Logic Flow:
IF Equipment VID segment has been created
AND 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)
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when current equipment vid processing is complete.
Trigger Criteria:
Context: Current equipment VID processing is complete
Applied to: More Equipment to Process?
Action: The system checks for additional equipment in the train list
Logic Flow:
IF Current equipment VID processing is complete
AND 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-00108 (+14)File: GCCS358C.cblBusiness Rule: Build VID Equipment Segment (5040)
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when equipment processing is starting for 5040 version.
Trigger Criteria:
Context: Equipment processing is starting for 5040 version
Applied to: Initialize VID Segment Structure
Action: VID segment initialization is required
Logic Flow:
IF Equipment processing is starting for 5040 version
AND VID segment initialization is required
THEN:
• VID segment structure is cleared and ready for data population
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when vid segment is being created.
Trigger Criteria:
Context: VID segment is being created
Applied to: Set Equipment Identifier to 'VID'
Action: Equipment identifier needs to be set
Logic Flow:
IF VID segment is being created
AND Equipment identifier needs to be set
THEN:
• VID identifier is set to 'VID'
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when equipment data exists in train list. ⚠️ COBOL Technical Logic
Trigger Criteria:
Context: Equipment data exists in train list
Applied to: Copy Equipment Type from Train List
Action: VID segment requires equipment type
Logic Flow:
IF Equipment data exists in train list
AND VID segment requires equipment type
THEN:
• Equipment type is copied from train list VID01 field to VID equipment description code
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when equipment data exists in train list. ⚠️ COBOL Technical Logic
Trigger Criteria:
Context: Equipment data exists in train list
Applied to: Copy Equipment Initial from Train List
Action: VID segment requires equipment initial
Logic Flow:
IF Equipment data exists in train list
AND VID segment requires equipment initial
THEN:
• Equipment initial is copied from train list VID02 field to VID equipment initial
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when equipment data exists in train list. ⚠️ COBOL Technical Logic
Trigger Criteria:
Context: Equipment data exists in train list
Applied to: Copy Equipment Number from Train List
Action: VID segment requires equipment number
Logic Flow:
IF Equipment data exists in train list
AND VID segment requires equipment number
THEN:
• Equipment number is copied from train list VID03 field to VID equipment number
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when equipment is being processed for 5040 version.
Trigger Criteria:
Context: Equipment is being processed for 5040 version
Applied to: Equipment Loaded OR Empty with CCN?
Action: Equipment is loaded OR equipment is empty AND has a cargo control number
Logic Flow:
IF Equipment is being processed for 5040 version
AND Equipment is loaded OR equipment is empty AND has a cargo control number
THEN:
• Load empty status code is set to 'L' for loaded
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when equipment is being processed for 5040 version.
Trigger Criteria:
Context: Equipment is being processed for 5040 version
Applied to: Set Load Status to 'E'
Action: Equipment is NOT loaded AND (equipment is NOT empty OR has no cargo control number)
Logic Flow:
IF Equipment is being processed for 5040 version
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when equipment is marked as loaded.
Trigger Criteria:
Context: Equipment is marked as loaded
Applied to: Equipment Loaded AND No CCN?
Action: Equipment has no cargo control number (CCN is spaces)
Logic Flow:
IF Equipment is marked as loaded
AND Equipment has no cargo control number (CCN is spaces)
THEN:
• Load empty status code is overridden to 'E' for empty
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when equipment has an associated cargo control number.
Trigger Criteria:
Context: Equipment has an associated cargo control number
Applied to: CCN Key starts with '6105I'?
Action: CCN key starts with '6105I'
Logic Flow:
IF Equipment has an associated cargo control number
AND CCN key starts with '6105I'
THEN:
• Load empty status code is overridden to 'E' for empty regardless of other conditions
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when equipment has associated cargo information.
Trigger Criteria:
Context: Equipment has associated cargo information
Applied to: In-Transit Status = 'R'?
Action: Cargo in-transit status is 'R' for refused
Logic Flow:
IF Equipment has associated cargo information
AND Cargo in-transit status is 'R' for refused
THEN:
• VID location ID is set to '0000'
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when equipment has associated cargo information.
Trigger Criteria:
Context: Equipment has associated cargo information
Applied to: Set Location ID to Spaces
Action: Cargo in-transit status is neither 'R' nor 'T'
Logic Flow:
IF Equipment has associated cargo information
AND Cargo in-transit status is neither 'R' nor 'T'
THEN:
• VID location ID is set to spaces
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when equipment has associated cargo information and in-transit status is not 'r'.
Trigger Criteria:
Context: Equipment has associated cargo information AND in-transit status is not 'R'
Applied to: In-Transit Status = 'T'?
Action: Cargo in-transit status is 'T' for transit
Logic Flow:
IF Equipment has associated cargo information AND in-transit status is not 'R'
AND Cargo in-transit status is 'T' for transit
THEN:
• VID location ID is set to manifest-to-trans-code from cargo data
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when equipment is identified as a possible flat car type.
Trigger Criteria:
Context: Equipment is identified as a possible flat car type
Applied to: Check Equipment for Flat Car Processing
Action: Flat car processing is initiated
Logic Flow:
IF Equipment is identified as a possible flat car type
AND Flat car processing is initiated
THEN:
• System checks subsequent container equipment for load status and updates flat car status accordingly
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when vid segment is fully populated with equipment data.
Trigger Criteria:
Context: VID segment is fully populated with equipment data
Applied to: Insert VID Segment to Database
Action: VID segment insertion is performed
Logic Flow:
IF VID segment is fully populated with equipment data
AND VID segment insertion is performed
THEN:
• VID segment is stored in transmission database with proper sequence number
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when vid equipment segment has been processed.
Trigger Criteria:
Context: VID equipment segment has been processed
Applied to: Process N9 and MBL Segments
Action: Associated segment processing is required
Logic Flow:
IF VID equipment segment has been processed
AND 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-00123 (+6)File: GCCS358C.cblBusiness Rule: Handle Flat Car Processing
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when equipment type code is provided.
Trigger Criteria:
Context: An equipment type code is provided
Applied to: Is Equipment a Flat Car Type?
Action: The equipment type is one of BG, CA, ET, GS, ID, LO, RR, SK, or TN
Logic Flow:
IF An equipment type code is provided
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when flat car equipment is identified at position sub-tl.
Trigger Criteria:
Context: A flat car equipment is identified at position SUB-TL
Applied to: Set Search Position to Next Equipment
Action: The flat car load search process begins
Logic Flow:
IF A flat car equipment is identified at position SUB-TL
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when equipment type code is being examined.
Trigger Criteria:
Context: An equipment type code is being examined
Applied to: Is Next Equipment a Container Type?
Action: The equipment type is one of CC, CH, CM, CN, CX, CZ, LS, OT, PL, PT, RL, RT, or TL
Logic Flow:
IF An equipment type code is being examined
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when container equipment is found on a flat car.
Trigger Criteria:
Context: A container equipment is found on a flat car
Applied to: Is Container Equipment Loaded?
Action: The container is marked as loaded OR the container is marked as empty but has a cargo key (CDA-CCN-KEY)
Logic Flow:
IF A container equipment is found on a flat car
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when flat car has at least one loaded container.
Trigger Criteria:
Context: A flat car has at least one loaded container
Applied to: Set Flat Car as Loaded
Action: A loaded container is found during the search process
Logic Flow:
IF A flat car has at least one loaded container
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when flat car container search is in progress.
Trigger Criteria:
Context: The flat car container search is in progress
Applied to: More Equipment to Check?
Action: 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
Logic Flow:
IF The flat car container search is in progress
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when flat car has been searched for loaded containers.
Trigger Criteria:
Context: A flat car has been searched for loaded containers
Applied to: Keep Flat Car as Empty
Action: No loaded containers are found on the flat car
Logic Flow:
IF A flat car has been searched for loaded containers
AND No loaded containers are found on the flat car
THEN:
• The flat car retains its original empty status
R-GCCS358C-cbl-00130 (+3)File: GCCS358C.cblBusiness Rule: Retrieve Cargo Information
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when train equipment record contains a ccn key for cargo identification.
Trigger Criteria:
Context: A train equipment record contains a CCN key for cargo identification
Applied to: Retrieve Cargo Information - Get cargo details from Canadian cargo database using CCN key
Action: The system needs to retrieve cargo information for manifest processing
Logic Flow:
IF A train equipment record contains a CCN key for cargo identification
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when system has attempted to retrieve cargo information from the database.
Trigger Criteria:
Context: The system has attempted to retrieve cargo information from the database
Applied to: Set Cargo Available Flag
Action: Cargo record is successfully found and retrieved
Logic Flow:
IF The system has attempted to retrieve cargo information from the database
AND Cargo record is successfully found and retrieved
THEN:
• The system sets the cargo available flag to true to enable cargo-related processing
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when no cargo record exists in the database for the provided ccn key.
Trigger Criteria:
Context: No cargo record exists in the database for the provided CCN key
Applied to: Initialize Empty Cargo Structure
Action: The cargo retrieval process completes without finding matching records
Logic Flow:
IF No cargo record exists in the database for the provided CCN key
AND The cargo retrieval process completes without finding matching records
THEN:
• The system initializes an empty cargo structure to prevent processing errors
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when database error occurs during cargo information retrieval.
Trigger Criteria:
Context: A database error occurs during cargo information retrieval
Applied to: Generate Error Message
Action: The system cannot access the Canadian cargo database or encounters retrieval failures
Logic Flow:
IF A database error occurs during cargo information retrieval
AND 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 (+5)File: GCCS358C.cblBusiness Rule: Set Equipment Load Status
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when equipment item is being processed for manifest transmission.
Trigger Criteria:
Context: An equipment item is being processed for manifest transmission
Applied to: Equipment Marked as Loaded?
Action: The equipment load indicator shows loaded status
Logic Flow:
IF An equipment item is being processed for manifest transmission
AND The equipment load indicator shows loaded status
THEN:
• Check for cargo documentation to confirm load status
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when equipment is marked as loaded.
Trigger Criteria:
Context: Equipment is marked as loaded
Applied to: CCN Key Present?
Action: Cargo control number key is present and not empty
Logic Flow:
IF Equipment is marked as loaded
AND Cargo control number key is present and not empty
THEN:
• Set equipment status to 'L' for loaded
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when equipment is marked as loaded.
Trigger Criteria:
Context: Equipment is marked as loaded
Applied to: Set Status to 'E' - Empty
Action: Cargo control number key is empty or spaces
Logic Flow:
IF Equipment is marked as loaded
AND Cargo control number key is empty or spaces
THEN:
• Override equipment status to 'E' for empty despite load indicator
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when equipment is being processed for any manifest.
Trigger Criteria:
Context: Equipment is being processed for any manifest
Applied to: Override Status to 'E' - Empty
Action: The cargo control number starts with '6105I'
Logic Flow:
IF Equipment is being processed for any manifest
AND The cargo control number starts with '6105I'
THEN:
• Override equipment status to 'E' for empty regardless of load indicator or cargo presence
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when equipment is marked as empty and post-emanifest processing is active.
Trigger Criteria:
Context: Equipment is marked as empty and post-emanifest processing is active
Applied to: Set Status to 'L' - Loaded for Revenue Empty
Action: Equipment has cargo control number documentation present
Logic Flow:
IF Equipment is marked as empty and post-emanifest processing is active
AND Equipment has cargo control number documentation present
THEN:
• Set equipment status to 'L' for loaded to indicate revenue empty movement
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when equipment is being processed for manifest transmission.
Trigger Criteria:
Context: Equipment is being processed for manifest transmission
Applied to: Set Status to 'E' - Empty
Action: Equipment load indicator shows empty status
Logic Flow:
IF Equipment is being processed for manifest transmission
AND Equipment load indicator shows empty status
THEN:
• Set equipment status to 'E' for empty
R-GCCS358C-cbl-00140 (+2)File: GCCS358C.cblBusiness Rule: Set Location ID for Equipment
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when equipment record is being processed for manifest reporting.
Trigger Criteria:
Context: An equipment record is being processed for manifest reporting
Applied to: Set Location ID for Equipment - Assign location ID based on cargo in-transit status (0000 for R status, manifest code for T status)
Action: The system needs to determine the location ID and cargo data is available with in-transit status 'R'
Logic Flow:
IF An equipment record is being processed for manifest reporting
AND 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'
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when equipment record is being processed for manifest reporting.
Trigger Criteria:
Context: An equipment record is being processed for manifest reporting
Applied to: Set Location ID for Equipment - Assign location ID based on cargo in-transit status (0000 for R status, manifest code for T status)
Action: Either no cargo data is available or the cargo in-transit status is neither 'R' nor 'T'
Logic Flow:
IF An equipment record is being processed for manifest reporting
AND 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)
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when equipment record is being processed for manifest reporting and cargo data is available.
Trigger Criteria:
Context: An equipment record is being processed for manifest reporting and cargo data is available
Applied to: Set Location ID for Equipment - Assign location ID based on cargo in-transit status (0000 for R status, manifest code for T status)
Action: The cargo has in-transit status 'T'
Logic Flow:
IF An equipment record is being processed for manifest reporting and cargo data is available
AND The cargo has in-transit status 'T'
THEN:
• The location ID should be set to the manifest transfer code from the cargo data
Business Justification: Establishes the required business protocol to be followed when system needs to create an n9 reference segment.
Trigger Criteria:
Context: The system needs to create an N9 reference segment
Applied to: Initialize N9 Segment Structure
Action: The N9 segment creation process begins
Logic Flow:
IF The system needs to create an N9 reference segment
AND The N9 segment creation process begins
THEN:
• The N9 segment structure is initialized to clear any previous data
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when n9 reference segment is being created.
Trigger Criteria:
Context: An N9 reference segment is being created
Applied to: Set Reference Qualifier to '76'
Action: The reference qualifier needs to be assigned
Logic Flow:
IF An N9 reference segment is being created
AND The reference qualifier needs to be assigned
THEN:
• The reference qualifier is set to '76'
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when n9 reference segment is being populated.
Trigger Criteria:
Context: An N9 reference segment is being populated
Applied to: Set Reference Number to 'EDT'
Action: The reference number field needs to be assigned
Logic Flow:
IF An N9 reference segment is being populated
AND The reference number field needs to be assigned
THEN:
• The reference number is set to 'EDT'
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when train data contains estimated departure date information.
Trigger Criteria:
Context: Train data contains estimated departure date information
Applied to: Extract Departure Date from Train Data
Action: The N9 segment date field needs to be populated
Logic Flow:
IF Train data contains estimated departure date information
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when n9 date field needs century information.
Trigger Criteria:
Context: The N9 date field needs century information
Applied to: Format Date with Century Prefix
Action: The date is being formatted for the N9 segment
Logic Flow:
IF The N9 date field needs century information
AND The date is being formatted for the N9 segment
THEN:
• The machine century is added to positions 1-2 of the N9 date field
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when train data contains estimated departure time information.
Trigger Criteria:
Context: Train data contains estimated departure time information
Applied to: Extract Departure Time from Train Data
Action: The N9 segment time field needs to be populated
Logic Flow:
IF Train data contains estimated departure time information
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when n9 time field has been populated with hours and minutes.
Trigger Criteria:
Context: The N9 time field has been populated with hours and minutes
Applied to: Add '00' Seconds to Time
Action: The time format needs to be completed
Logic Flow:
IF The N9 time field has been populated with hours and minutes
AND The time format needs to be completed
THEN:
• The value '00' is added to positions 5-6 of the N9 time field for seconds
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when n9 segment time information needs a time zone indicator.
Trigger Criteria:
Context: The N9 segment time information needs a time zone indicator
Applied to: Set Time Code to 'ES' - Eastern Standard
Action: The time code field is being assigned
Logic Flow:
IF The N9 segment time information needs a time zone indicator
AND The time code field is being assigned
THEN:
• The time code is set to 'ES' for Eastern Standard time
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when n9 segment has been fully populated with reference data.
Trigger Criteria:
Context: The N9 segment has been fully populated with reference data
Applied to: Insert N9 Segment into Transmission
Action: The segment needs to be added to the transmission
Logic Flow:
IF The N9 segment has been fully populated with reference data
AND 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-00152 (+8)File: GCCS358C.cblBusiness Rule: Build MBL Bill of Lading Segment
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when equipment item is being processed for mbl segment creation.
Trigger Criteria:
Context: An equipment item is being processed for MBL segment creation
Applied to: CCN Key starts with '6105I'?
Action: The cargo control number (CCN) key starts with '6105I'
Logic Flow:
IF An equipment item is being processed for MBL segment creation
AND The cargo control number (CCN) key starts with '6105I'
THEN:
• The system skips MBL segment creation and proceeds to check for amendment processing requirements
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when master bill of lading segment is being created for equipment.
Trigger Criteria:
Context: A Master Bill of Lading segment is being created for equipment
Applied to: CCN starts with '2156'?
Action: The cargo control number starts with '2156'
Logic Flow:
IF A Master Bill of Lading segment is being created for equipment
AND The cargo control number starts with '2156'
THEN:
• The system sets the SCAC code to 'CFFO', otherwise it sets the SCAC code to 'CPRS'
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when master bill of lading segment is being initialized.
Trigger Criteria:
Context: A Master Bill of Lading segment is being initialized
Applied to: Set CCN as Bill of Lading Number
Action: The equipment has an associated cargo control number
Logic Flow:
IF A Master Bill of Lading segment is being initialized
AND The equipment has an associated cargo control number
THEN:
• The system sets the CCN as the bill of lading waybill number
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when master bill of lading segment is being populated.
Trigger Criteria:
Context: A Master Bill of Lading segment is being populated
Applied to: Set Condition Response Code from Equipment
Action: Equipment data contains a condition response code
Logic Flow:
IF A Master Bill of Lading segment is being populated
AND Equipment data contains a condition response code
THEN:
• The system transfers the equipment condition response code to the MBL segment
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when master bill of lading segment has an empty condition response code.
Trigger Criteria:
Context: A Master Bill of Lading segment has an empty condition response code
Applied to: Response Code Empty?
Action: The bill of lading waybill number is present
Logic Flow:
IF A Master Bill of Lading segment has an empty condition response code
AND 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'
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when equipment has associated cargo with in-transit status.
Trigger Criteria:
Context: Equipment has associated cargo with in-transit status
Applied to: Cargo Status is Revenue Transit 'R'?
Action: The cargo in-transit status is 'R' (Revenue Transit)
Logic Flow:
IF Equipment has associated cargo with in-transit status
AND 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'
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when cargo is in revenue transit status with bill of lading set to 'na'.
Trigger Criteria:
Context: Cargo is in revenue transit status with bill of lading set to 'NA'
Applied to: Post-Emanifest Processing?
Action: The processing mode is post-emanifest
Logic Flow:
IF Cargo is in revenue transit status with bill of lading set to 'NA'
AND The processing mode is post-emanifest
THEN:
• The system sets the exception code to '08'
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when equipment has associated cargo being processed for mbl segment.
Trigger Criteria:
Context: Equipment has associated cargo being processed for MBL segment
Applied to: Haulage Rights Exist?
Action: The cargo has haulage rights with a haulage rights SCAC code
Logic Flow:
IF Equipment has associated cargo being processed for MBL segment
AND 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'
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when mbl segment has been processed and inserted.
Trigger Criteria:
Context: An MBL segment has been processed and inserted
Applied to: First Equipment and Amendment?
Action: This is the first equipment item being processed and the transaction is an amendment
Logic Flow:
IF An MBL segment has been processed and inserted
AND 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-00161File: GCCS358C.cblBusiness Rule: Handle Special SCAC Assignment
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when train list equipment entry with a ccn key is being processed for mbl segment creation.
Trigger Criteria:
Context: A train list equipment entry with a CCN key is being processed for MBL segment creation
Applied to: Handle Special SCAC Assignment - Assign CFFO SCAC for CCN starting with 2156, otherwise use CPRS
Action: The system evaluates the CCN prefix to determine the appropriate SCAC code
Logic Flow:
IF A train list equipment entry with a CCN key is being processed for MBL segment creation
AND 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-00162 (+1)File: GCCS358C.cblBusiness Rule: Process Haulage Rights
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when cargo record exists with haulage rights information.
Trigger Criteria:
Context: A cargo record exists with haulage rights information
Applied to: Set SCAC to Haulage Rights SCAC & Set Manual Haulage Indicator to N
Action: The cargo has haulage rights (GCCC-HAULAGE is true)
Logic Flow:
IF A cargo record exists with haulage rights information
AND 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)
• The MBL response code should be set to 'N' to indicate manual processing
R-GCCS358C-cbl-00164 (+2)File: GCCS358C.cblBusiness Rule: Handle Revenue Transit Status
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when cargo record exists with in-transit status.
Trigger Criteria:
Context: A cargo record exists with in-transit status
Applied to: Set Bill of Lading to 'NA' & Set Response Code to 'N'
Action: The cargo in-transit status is 'R' (Revenue)
Logic Flow:
IF A cargo record exists with in-transit status
AND The cargo in-transit status is 'R' (Revenue)
THEN:
• The bill of lading number should be set to 'NA'
• The response code should be set to 'N'
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when cargo record has revenue in-transit status and the processing is post-emanifest.
Trigger Criteria:
Context: A cargo record has revenue in-transit status and the processing is post-emanifest
Applied to: Set Exception Code to '08'
Action: The cargo in-transit status is 'R' (Revenue) and post-emanifest flag is true
Logic Flow:
IF A cargo record has revenue in-transit status and the processing is post-emanifest
AND The cargo in-transit status is 'R' (Revenue) and post-emanifest flag is true
Business Justification: Ensures correct system behavior and process compliance when train amendment is being processed and the first equipment position has no cargo control number.
Trigger Criteria:
Context: A train amendment is being processed and the first equipment position has no cargo control number
Applied to: Initialize MBL Segment Structure
Action: The system needs to create a dummy MBL segment
Logic Flow:
IF A train amendment is being processed and the first equipment position has no cargo control number
AND The system needs to create a dummy MBL segment
THEN:
• The MBL segment structure should be initialized to empty values
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when dummy mbl segment is being created.
Trigger Criteria:
Context: A dummy MBL segment is being created
Applied to: Set MBL Identifier to 'MBL'
Action: The segment identifier needs to be set
Logic Flow:
IF A dummy MBL segment is being created
AND The segment identifier needs to be set
THEN:
• The MBL identifier should be set to 'MBL'
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when dummy mbl segment is being created.
Trigger Criteria:
Context: A dummy MBL segment is being created
Applied to: Set Bill of Lading to 'NA'
Action: The bill of lading number needs to be set
Logic Flow:
IF A dummy MBL segment is being created
AND The bill of lading number needs to be set
THEN:
• The bill of lading should be set to 'NA' to indicate not applicable
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when dummy mbl segment is being created for a train amendment.
Trigger Criteria:
Context: A dummy MBL segment is being created for a train amendment
Applied to: Set SCAC Code to 'CPRS'
Action: The SCAC code needs to be assigned
Logic Flow:
IF A dummy MBL segment is being created for a train amendment
AND The SCAC code needs to be assigned
THEN:
• The SCAC code should be set to 'CPRS'
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when dummy mbl segment is being created for a train amendment.
Trigger Criteria:
Context: A dummy MBL segment is being created for a train amendment
Applied to: Set Exception Code to '06'
Action: The exception code needs to be assigned
Logic Flow:
IF A dummy MBL segment is being created for a train amendment
AND The exception code needs to be assigned
THEN:
• The exception code should be set to '06'
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when dummy mbl segment has been created with all required fields.
Trigger Criteria:
Context: A dummy MBL segment has been created with all required fields
Applied to: Insert MBL Segment into Transmission Data
Action: The segment needs to be added to the transmission
Logic Flow:
IF A dummy MBL segment has been created with all required fields
AND The segment needs to be added to the transmission
THEN:
• The MBL segment should be inserted into the transmission data structure
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when dummy mbl segment has been created and inserted.
Trigger Criteria:
Context: A dummy MBL segment has been created and inserted
Applied to: Build M13 Amendment Segment
Action: Amendment processing continues
Logic Flow:
IF A dummy MBL segment has been created and inserted
Business Justification: Governs the functional prerequisites and system routing when system needs to create an m13 amendment segment.
Trigger Criteria:
Context: The system needs to create an M13 amendment segment
Applied to: Initialize M13 Segment Structure
Action: The M13 segment initialization is triggered
Logic Flow:
IF The system needs to create an M13 amendment segment
AND The M13 segment initialization is triggered
THEN:
• The M13 segment structure is cleared and ready for data population
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when m13 segment structure is initialized.
Trigger Criteria:
Context: An M13 segment structure is initialized
Applied to: Set M13 Identifier
Action: The segment identifier needs to be set
Logic Flow:
IF An M13 segment structure is initialized
AND The segment identifier needs to be set
THEN:
• The M13 identifier field is populated with 'M13'
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when m13 segment with identifier set.
Trigger Criteria:
Context: An M13 segment with identifier set
Applied to: Set SCAC Code to CPRS
Action: The SCAC code needs to be assigned
Logic Flow:
IF An M13 segment with identifier set
AND The SCAC code needs to be assigned
THEN:
• The SCAC code field is populated with 'CPRS'
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when m13 segment with scac code set and canadian station code available in station reference.
Trigger Criteria:
Context: An M13 segment with SCAC code set and Canadian station code available in station reference
Applied to: Set Location ID from Canadian Station Code
Action: The location identifier needs to be populated
Logic Flow:
IF An M13 segment with SCAC code set and Canadian station code available in station reference
AND The location identifier needs to be populated
THEN:
• The location ID field is populated with the Canadian station code from the station reference table
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when m13 segment with location id set and train key available.
Trigger Criteria:
Context: An M13 segment with location ID set and train key available
Applied to: Set Bill of Lading/Waybill Number from Train Key
Action: The bill of lading/waybill number needs to be assigned
Logic Flow:
IF An M13 segment with location ID set and train key available
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when m13 segment with bill of lading number set.
Trigger Criteria:
Context: An M13 segment with bill of lading number set
Applied to: Set Amendment Code to 60
Action: The amendment code needs to be assigned
Logic Flow:
IF An M13 segment with bill of lading number set
AND The amendment code needs to be assigned
THEN:
• The amendment code field is populated with '60' to indicate train amendment
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when complete m13 segment with all required fields populated.
Trigger Criteria:
Context: A complete M13 segment with all required fields populated
Applied to: Insert M13 Segment into Transmission
Action: The M13 segment needs to be added to the transmission
Logic Flow:
IF A complete M13 segment with all required fields populated
AND 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-00181 (+6)File: GCCS358C.cblBusiness Rule: Retrieve Station Information
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when train list record with train origin station information is available.
Trigger Criteria:
Context: A train list record with train origin station information is available
Applied to: Extract Train Origin Station from Train List
Action: The system needs to retrieve station information for customs processing
Logic Flow:
IF A train list record with train origin station information is available
AND The system needs to retrieve station information for customs processing
THEN:
• The train origin station identifier is extracted and stored for table lookup
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when station lookup operation is required.
Trigger Criteria:
Context: A station lookup operation is required
Applied to: Set Table Access Parameters
Action: The system prepares to access the station code table
Logic Flow:
IF A station lookup operation is required
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when station table access parameters are configured with the train origin station.
Trigger Criteria:
Context: Station table access parameters are configured with the train origin station
Applied to: Access SC Station Table
Action: The system performs a table lookup operation
Logic Flow:
IF Station table access parameters are configured with the train origin station
AND The system performs a table lookup operation
THEN:
• The SC station table is accessed to retrieve the Canadian station code information
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when station table lookup has been performed.
Trigger Criteria:
Context: A station table lookup has been performed
Applied to: Station Found?
Action: The system checks the table access return status
Logic Flow:
IF A station table lookup has been performed
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when canadian station code has been retrieved from the station table.
Trigger Criteria:
Context: A Canadian station code has been retrieved from the station table
Applied to: Valid Station Code?
Action: The system validates the station code value
Logic Flow:
IF A Canadian station code has been retrieved from the station table
AND The system validates the station code value
THEN:
• If the Canadian station code equals '0000', it is considered invalid and an error is generated
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when valid canadian station code has been retrieved and validated.
Trigger Criteria:
Context: A valid Canadian station code has been retrieved and validated
Applied to: Store Canadian Station Code
Action: The station lookup operation completes successfully
Logic Flow:
IF A valid Canadian station code has been retrieved and validated
AND The station lookup operation completes successfully
THEN:
• The table segment containing the Canadian station code is stored for subsequent processing
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when station table lookup operation has failed to find a matching record.
Trigger Criteria:
Context: A station table lookup operation has failed to find a matching record
Applied to: Generate Station Not Found Error
Action: The system processes the lookup failure
Logic Flow:
IF A station table lookup operation has failed to find a matching record
AND 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 (+5)File: GCCS358C.cblBusiness Rule: Send EDI Transmission
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when system needs to initiate edi transmission processing.
Trigger Criteria:
Context: The system needs to initiate EDI transmission processing
Applied to: Set EDI Send Function Name
Action: The EDI send function is being prepared
Logic Flow:
IF The system needs to initiate EDI transmission processing
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when edi transmission is being prepared for sending.
Trigger Criteria:
Context: An EDI transmission is being prepared for sending
Applied to: Set Security Parameters
Action: Security parameters need to be configured
Logic Flow:
IF An EDI transmission is being prepared for sending
AND Security parameters need to be configured
THEN:
• The system sets the security byte to high-values to establish maximum security level
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when transmission number has been generated for the edi message.
Trigger Criteria:
Context: A transmission number has been generated for the EDI message
Applied to: Set Transmission Number
Action: The EDI transmission structure is being populated
Logic Flow:
IF A transmission number has been generated for the EDI message
AND The EDI transmission structure is being populated
THEN:
• The system assigns the workspace transmission number to the EDI transmission number field
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when edi input data has been prepared in the gcx121 structure.
Trigger Criteria:
Context: EDI input data has been prepared in the GCX121 structure
Applied to: Prepare Message Output
Action: The message needs to be formatted for output transmission
Logic Flow:
IF EDI input data has been prepared in the GCX121 structure
AND The message needs to be formatted for output transmission
THEN:
• The system moves the GCX121 input data to the message output text field
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when edi message has been prepared for transmission.
Trigger Criteria:
Context: The EDI message has been prepared for transmission
Applied to: Set Function Length
Action: Function length parameters need to be configured
Logic Flow:
IF The EDI message has been prepared for transmission
AND Function length parameters need to be configured
THEN:
• The system sets the EDI send function length flag to true
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when edi message has been fully prepared with all required parameters.
Trigger Criteria:
Context: The EDI message has been fully prepared with all required parameters
Applied to: Insert Purge Message
Action: The message needs to be queued for transmission
Logic Flow:
IF The EDI message has been fully prepared with all required parameters
AND The message needs to be queued for transmission
THEN:
• The system calls the purge message insertion process to queue the message
Business Justification: Establishes the required business protocol to be followed when transaction logging process is initiated.
Trigger Criteria:
Context: A transaction logging process is initiated
Applied to: Set Log Update Function Name
Action: The system needs to specify the logging function
Logic Flow:
IF A transaction logging process is initiated
AND The system needs to specify the logging function
THEN:
• The log update function name flag should be set to true
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when log entry is being prepared for transmission.
Trigger Criteria:
Context: A log entry is being prepared for transmission
Applied to: Set Security Parameters
Action: Security parameters need to be established
Logic Flow:
IF A log entry is being prepared for transmission
AND Security parameters need to be established
THEN:
• The security byte should be set to high-values for maximum security
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when train manifest transaction is being logged.
Trigger Criteria:
Context: A train manifest transaction is being logged
Applied to: Set Train ID from Input
Action: The train identifier needs to be recorded
Logic Flow:
IF A train manifest transaction is being logged
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when canadian train manifest is being processed.
Trigger Criteria:
Context: A Canadian train manifest is being processed
Applied to: Mark as New Canadian Train
Action: The transaction type needs to be classified
Logic Flow:
IF A Canadian train manifest is being processed
AND The transaction type needs to be classified
THEN:
• The transaction should be marked as a new Canadian train entry
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when transaction is being logged with a specific processing mode.
Trigger Criteria:
Context: A transaction is being logged with a specific processing mode
Applied to: Set Foreground Action Code, Set Foreground-02 Action Code, Set Background Action Code
Action: The action code needs to be determined
Logic Flow:
IF A transaction is being logged with a specific processing mode
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when transaction is being logged with a specific processing mode.
Trigger Criteria:
Context: A transaction is being logged with a specific processing mode
Applied to: Set Foreground Transaction Name, Set Foreground-02 Transaction Name, Set Background Transaction Name
Action: The transaction name needs to be determined
Logic Flow:
IF A transaction is being logged with a specific processing mode
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when transaction is being logged.
Trigger Criteria:
Context: A transaction is being logged
Applied to: Set User ID from System
Action: User identification is required for audit trail
Logic Flow:
IF A transaction is being logged
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when transaction is being logged.
Trigger Criteria:
Context: A transaction is being logged
Applied to: Set Current Date
Action: The transaction date needs to be recorded
Logic Flow:
IF A transaction is being logged
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when transaction is being logged.
Trigger Criteria:
Context: A transaction is being logged
Applied to: Set Current Time
Action: The transaction time needs to be recorded
Logic Flow:
IF A transaction is being logged
AND The transaction time needs to be recorded
THEN:
• The current machine time should be stored in the log entry time field
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when log entry is being prepared.
Trigger Criteria:
Context: A log entry is being prepared
Applied to: Clear Message Field
Action: The message field needs to be initialized
Logic Flow:
IF A log entry is being prepared
AND The message field needs to be initialized
THEN:
• The message field should be set to spaces to ensure clean data
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when all log entry fields have been populated.
Trigger Criteria:
Context: All log entry fields have been populated
Applied to: Prepare Log Entry for Transmission
Action: The log entry needs to be prepared for transmission
Logic Flow:
IF All log entry fields have been populated
AND The log entry needs to be prepared for transmission
THEN:
• The complete log input structure should be moved to the message output text field
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when log entry is ready for transmission.
Trigger Criteria:
Context: A log entry is ready for transmission
Applied to: Send Log Entry to System
Action: The message length needs to be specified
Logic Flow:
IF A log entry is ready for transmission
AND The message length needs to be specified
THEN:
• The log update function length flag should be set to true to indicate proper message sizing
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when log entry is prepared with correct length specification.
Trigger Criteria:
Context: A log entry is prepared with correct length specification
Applied to: Send Log Entry to System
Action: The log entry needs to be transmitted
Logic Flow:
IF A log entry is prepared with correct length specification
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when system needs to log transaction activity.
Trigger Criteria:
Context: The system needs to log transaction activity
Applied to: Set Log Update Function Name
Action: Log transaction activity process is initiated
Logic Flow:
IF The system needs to log transaction activity
AND Log transaction activity process is initiated
THEN:
• The log update function name should be set to enable proper logging functionality
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when log update function has been configured.
Trigger Criteria:
Context: Log update function has been configured
Applied to: Initialize Security Parameters
Action: Security parameters need to be established for logging
Logic Flow:
IF Log update function has been configured
AND Security parameters need to be established for logging
THEN:
• Security byte should be set to high-values for secure transaction logging
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when security parameters have been initialized.
Trigger Criteria:
Context: Security parameters have been initialized
Applied to: Set Train ID for Logging
Action: Train identification is required for logging
Logic Flow:
IF Security parameters have been initialized
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when train id has been set for logging.
Trigger Criteria:
Context: Train ID has been set for logging
Applied to: Processing Mode?
Action: Processing mode needs to be determined
Logic Flow:
IF Train ID has been set for logging
AND Processing mode needs to be determined
THEN:
• System should check if transaction is running in foreground mode or background mode
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when processing mode has been determined as foreground.
Trigger Criteria:
Context: Processing mode has been determined as foreground
Applied to: Set Foreground Action Code and Transaction Name
Action: Foreground processing parameters need to be set
Logic Flow:
IF Processing mode has been determined as foreground
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when processing mode has been determined as background.
Trigger Criteria:
Context: Processing mode has been determined as background
Applied to: Set Background Action Code and Transaction Name
Action: Background processing parameters need to be set
Logic Flow:
IF Processing mode has been determined as background
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Defines the strict business conditions required to proceed when processing mode parameters have been set.
Trigger Criteria:
Context: Processing mode parameters have been set
Applied to: Set User ID from System
Action: User identification is required for audit trail
Logic Flow:
IF Processing mode parameters have been set
AND User identification is required for audit trail
THEN:
• Current user ID from system should be assigned to the log entry
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when user id has been set for audit trail.
Trigger Criteria:
Context: User ID has been set for audit trail
Applied to: Set Current Date and Time
Action: Transaction timestamp is required
Logic Flow:
IF User ID has been set for audit trail
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when date and time have been set for transaction.
Trigger Criteria:
Context: Date and time have been set for transaction
Applied to: Has Valid Bills or Valid Port?
Action: Message type needs to be determined for logging
Logic Flow:
IF Date and time have been set for transaction
AND Message type needs to be determined for logging
THEN:
• System should check if bill of lading quantity is greater than zero orif port is valid
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when valid bills of lading exist or port is valid.
Trigger Criteria:
Context: Valid bills of lading exist or port is valid
Applied to: Set Success Message - Blank
Action: Success message needs to be set
Logic Flow:
IF Valid bills of lading exist or port is valid
AND Success message needs to be set
THEN:
• Log message should be set to blank spaces indicating successful processing
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when no valid bills of lading exist and port is not valid.
Trigger Criteria:
Context: No valid bills of lading exist and port is not valid
Applied to: Set No Cargo Action Code
Action: No cargo action code needs to be set
Logic Flow:
IF No valid bills of lading exist and port is not valid
AND No cargo action code needs to be set
THEN:
• Action code should be cleared to spaces and ZZZ action code should be assigned
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when no cargo action code has been set.
Trigger Criteria:
Context: No cargo action code has been set
Applied to: Processing Mode for No Cargo?
Action: Processing mode needs to be determined for message assignment
Logic Flow:
IF No cargo action code has been set
AND Processing mode needs to be determined for message assignment
THEN:
• System should check if transaction is running in foreground mode for no cargo scenario
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when processing is in foreground mode and no cargo exists.
Trigger Criteria:
Context: Processing is in foreground mode and no cargo exists
Applied to: Set Train Updated Message
Action: Train updated message needs to be set
Logic Flow:
IF Processing is in foreground mode and no cargo exists
AND Train updated message needs to be set
THEN:
• ZZZ train update message should be assigned to the log entry
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when processing is in background mode and no cargo exists.
Trigger Criteria:
Context: Processing is in background mode and no cargo exists
Applied to: Set Train Added Message
Action: Train added message needs to be set
Logic Flow:
IF Processing is in background mode and no cargo exists
AND Train added message needs to be set
THEN:
• ZZZ train added message should be assigned to the log entry
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when log message has been prepared with appropriate content.
Trigger Criteria:
Context: Log message has been prepared with appropriate content
Applied to: Send Log Message to System
Action: Log message needs to be sent to system
Logic Flow:
IF Log message has been prepared with appropriate content
AND 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
Business Justification: Establishes the required business protocol to be followed when manifest processing request is initiated.
Trigger Criteria:
Context: A manifest processing request is initiated
Applied to: Processing Mode Valid?
Action: The processing mode is not foreground AND not background AND not foreground-02
Logic Flow:
IF A manifest processing request is initiated
AND The processing mode is not foreground AND not background AND not foreground-02
THEN:
• Set wrong FB indicator to true and exit processing
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when transmission root segment insert is attempted.
Trigger Criteria:
Context: A transmission root segment insert is attempted
Applied to: Database Insert Failed?
Action: The database insert fails with a non-space status code
Logic Flow:
IF A transmission root segment insert is attempted
AND The database insert fails with a non-space status code
THEN:
• Increment the transmission number by 1 and retry the insert operation until successful
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when station lookup is performed for manifest processing.
Trigger Criteria:
Context: A station lookup is performed for manifest processing
Applied to: Station Table Entry Found?
Action: The station table entry is not found OR the Canadian station code is '0000'
Logic Flow:
IF A station lookup is performed for manifest processing
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when cargo lookup is performed for equipment with a cargo key.
Trigger Criteria:
Context: A cargo lookup is performed for equipment with a cargo key
Applied to: Cargo Record Found?
Action: The cargo record is not found in the database
Logic Flow:
IF A cargo lookup is performed for equipment with a cargo key
AND The cargo record is not found in the database
THEN:
• Build error message with the cargo control number and terminate processing with error handler
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when message write operation is attempted.
Trigger Criteria:
Context: A message write operation is attempted
Applied to: Message Write Failed?
Action: The message write operation fails with a non-zero return code
Logic Flow:
IF A message write operation is attempted
AND The message write operation fails with a non-zero return code
THEN:
• Build message write error and terminate processing with error handler
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when critical error condition has been detected. ⚠️ COBOL Technical Logic
Trigger Criteria:
Context: A critical error condition has been detected
Applied to: Call Error Handler CERR
Action: Error message has been built for the specific error condition
Logic Flow:
IF A critical error condition has been detected
AND Error message has been built for the specific error condition
THEN:
• Call the CERR error handling program to terminate processing
R-GCCS358C-cbl-00213 (+2)File: GCCS358C.cblBusiness Rule: Extract Equipment Type, Initial, Number
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when train list entry exists with equipment type information.
Trigger Criteria:
Context: A train list entry exists with equipment type information
Applied to: Extract Equipment Type from GCWB4TL-VID01-EQUIPMENT-TYPE
Action: Processing equipment data for VID segment creation
Logic Flow:
IF A train list entry exists with equipment type information
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when train list entry exists with equipment initial information.
Trigger Criteria:
Context: A train list entry exists with equipment initial information
Applied to: Extract Equipment Initial from GCWB4TL-VID02-EQUIPMENT-INIT
Action: Processing equipment data for VID segment creation
Logic Flow:
IF A train list entry exists with equipment initial information
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when train list entry exists with equipment number information.
Trigger Criteria:
Context: A train list entry exists with equipment number information
Applied to: Extract Equipment Number from GCWB4TL-VID03-EQUIPMENT-NUM
Action: Processing equipment data for VID segment creation
Logic Flow:
IF A train list entry exists with equipment number information
AND 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-00216 (+3)File: GCCS358C.cblBusiness Rule: Determine Load/Empty Status
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when equipment record with a load flag indicator and optional cargo control number key.
Trigger Criteria:
Context: An equipment record with a load flag indicator and optional cargo control number key
Applied to: Equipment Marked as Load?
Action: The equipment is marked as loaded AND a cargo control number key is present
Logic Flow:
IF An equipment record with a load flag indicator and optional cargo control number key
AND The equipment is marked as loaded AND a cargo control number key is present
THEN:
• Set the equipment status to 'L' for Loaded
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when equipment record being processed for load/empty status.
Trigger Criteria:
Context: An equipment record being processed for load/empty status
Applied to: Set Status to 'E' - Empty
Action: The equipment is NOT marked as loaded OR no cargo control number key is present
Logic Flow:
IF An equipment record being processed for load/empty status
AND The equipment is NOT marked as loaded OR no cargo control number key is present
THEN:
• Set the equipment status to 'E' for Empty
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when equipment record with a cargo control number that has been assigned a load/empty status.
Trigger Criteria:
Context: An equipment record with a cargo control number that has been assigned a load/empty status
Applied to: CCN Starts with '6105I'?
Action: The cargo control number starts with '6105I'
Logic Flow:
IF An equipment record with a cargo control number that has been assigned a load/empty status
AND The cargo control number starts with '6105I'
THEN:
• Override the equipment status to 'E' for Empty regardless of previous status determination
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when equipment marked as empty with a cargo control number key present during post-emanifest processing (5040 version).
Trigger Criteria:
Context: Equipment marked as empty with a cargo control number key present during post-emanifest processing (5040 version)
Applied to: Equipment Empty but CCN Present?
Action: The equipment is empty AND a cargo control number key is present AND processing is in 5040 version mode
Logic Flow:
IF Equipment marked as empty with a cargo control number key present during post-emanifest processing (5040 version)
AND 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-00220 (+6)File: GCCS358C.cblBusiness Rule: Handle Flat Car Logic for Container Cars
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when equipment item with a specific equipment type code.
Trigger Criteria:
Context: An equipment item with a specific equipment type code
Applied to: Is Current Equipment a Flat Car?
Action: The equipment type code is evaluated against flat car classifications
Logic Flow:
IF An equipment item with a specific equipment type code
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when equipment item with a specific equipment type code.
Trigger Criteria:
Context: An equipment item with a specific equipment type code
Applied to: Is Equipment a Container Car?
Action: The equipment type code is evaluated against container car classifications
Logic Flow:
IF An equipment item with a specific equipment type code
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when flat car equipment that needs load status verification.
Trigger Criteria:
Context: A flat car equipment that needs load status verification
Applied to: Initialize Search Variables
Action: The flat car load check process begins
Logic Flow:
IF A flat car equipment that needs load status verification
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when container car positioned on a flat car.
Trigger Criteria:
Context: A container car positioned on a flat car
Applied to: Is Container Loaded or Has Cargo?
Action: The container's load status is evaluated
Logic Flow:
IF A container car positioned on a flat car
AND 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)
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when flat car with at least one loaded container.
Trigger Criteria:
Context: A flat car with at least one loaded container
Applied to: Mark Flat Car as Loaded
Action: A loaded container is identified on the flat car
Logic Flow:
IF A flat car with at least one loaded container
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when flat car with multiple equipment positions to check.
Trigger Criteria:
Context: A flat car with multiple equipment positions to check
Applied to: Move to Next Equipment Position
Action: The current container position does not contain a loaded container
Logic Flow:
IF A flat car with multiple equipment positions to check
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when flat car load status check in progress.
Trigger Criteria:
Context: A flat car load status check in progress
Applied to: More Equipment to Check?
Action: The search process evaluates continuation criteria
Logic Flow:
IF A flat car load status check in progress
AND 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-00227 (+13)File: GCCS358C.cblBusiness Rule: Create VID Segment
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when vid segment needs to be created for equipment processing.
Trigger Criteria:
Context: A VID segment needs to be created for equipment processing
Applied to: Initialize VID Segment Structure
Action: The VID segment initialization is performed
Logic Flow:
IF A VID segment needs to be created for equipment processing
AND The VID segment initialization is performed
THEN:
• The VID segment structure is initialized and the identifier is set to 'VID'
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when vid segment is being created for equipment.
Trigger Criteria:
Context: A VID segment is being created for equipment
Applied to: Set Equipment Description Code from Train List
Action: Equipment description code needs to be set
Logic Flow:
IF A VID segment is being created for equipment
AND Equipment description code needs to be set
THEN:
• The equipment description code from the train list is assigned to VID-01-EQUIP-DESC-CDE
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when vid segment is being created for equipment.
Trigger Criteria:
Context: A VID segment is being created for equipment
Applied to: Set Equipment Initial from Train List
Action: Equipment initial needs to be set
Logic Flow:
IF A VID segment is being created for equipment
AND Equipment initial needs to be set
THEN:
• The equipment initial from the train list is assigned to VID-02-EQUIP-INIT
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when vid segment is being created for equipment.
Trigger Criteria:
Context: A VID segment is being created for equipment
Applied to: Set Equipment Number from Train List
Action: Equipment number needs to be set
Logic Flow:
IF A VID segment is being created for equipment
AND Equipment number needs to be set
THEN:
• The equipment number from the train list is assigned to VID-03-EQUIP-NUM
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when equipment is being processed for vid segment creation.
Trigger Criteria:
Context: Equipment is being processed for VID segment creation
Applied to: Equipment Marked as Loaded?
Action: Equipment is marked as loaded AND cargo key is present
Logic Flow:
IF Equipment is being processed for VID segment creation
AND Equipment is marked as loaded AND cargo key is present
THEN:
• Load status is set to 'L' (Loaded)
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when equipment is being processed for vid segment creation.
Trigger Criteria:
Context: Equipment is being processed for VID segment creation
Applied to: Set Load Status to 'E'
Action: Equipment is not marked as loaded OR cargo key is not present
Logic Flow:
IF Equipment is being processed for VID segment creation
AND Equipment is not marked as loaded OR cargo key is not present
THEN:
• Load status is set to 'E' (Empty)
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when post-emanifest processing is active for equipment.
Trigger Criteria:
Context: Post-emanifest processing is active for equipment
Applied to: Equipment Marked as Loaded?
Action: Equipment is marked as loaded OR (equipment is empty AND cargo key is present)
Logic Flow:
IF Post-emanifest processing is active for equipment
AND Equipment is marked as loaded OR (equipment is empty AND cargo key is present)
THEN:
• Load status is set to 'L' (Loaded)
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when equipment load status has been determined.
Trigger Criteria:
Context: Equipment load status has been determined
Applied to: Override Load Status to 'E'
Action: Cargo control number starts with '6105I'
Logic Flow:
IF Equipment load status has been determined
AND Cargo control number starts with '6105I'
THEN:
• Load status is overridden to 'E' (Empty) regardless of previous determination
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when cargo exists for the equipment.
Trigger Criteria:
Context: Cargo exists for the equipment
Applied to: Set Location ID to '0000'
Action: Cargo in-transit status is 'R' (Received)
Logic Flow:
IF Cargo exists for the equipment
AND Cargo in-transit status is 'R' (Received)
THEN:
• Location ID is set to '0000'
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when cargo exists for the equipment.
Trigger Criteria:
Context: Cargo exists for the equipment
Applied to: Set Location ID to Manifest Code
Action: Cargo in-transit status is 'T' (Transit)
Logic Flow:
IF Cargo exists for the equipment
AND Cargo in-transit status is 'T' (Transit)
THEN:
• Location ID is set to the manifest-to-trans code from cargo
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when equipment is being processed for location id.
Trigger Criteria:
Context: Equipment is being processed for location ID
Applied to: Set Location ID to Spaces
Action: No cargo exists OR cargo in-transit status is neither 'R' nor 'T'
Logic Flow:
IF Equipment is being processed for location ID
AND No cargo exists OR cargo in-transit status is neither 'R' nor 'T'
THEN:
• Location ID is set to spaces
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when post-emanifest processing is active.
Trigger Criteria:
Context: Post-emanifest processing is active
Applied to: Check for Flat Car Configuration
Action: Equipment type indicates a possible flat car (BG, CA, ET, GS, ID, LO, RR, SK, TN)
Logic Flow:
IF Post-emanifest processing is active
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when equipment is identified as a possible flat car.
Trigger Criteria:
Context: Equipment is identified as a possible flat car
Applied to: Process Flat Car and Container Units
Action: Subsequent equipment includes loaded containers (CC, CH, CM, CN, CX, CZ, LS, OT, PL, PT, RL, RT, TL)
Logic Flow:
IF Equipment is identified as a possible flat car
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when vid segment has been fully populated with equipment data.
Trigger Criteria:
Context: VID segment has been fully populated with equipment data
Applied to: Insert VID Segment to Database
Action: VID segment is ready for transmission
Logic Flow:
IF VID segment has been fully populated with equipment data
AND VID segment is ready for transmission
THEN:
• VID segment is inserted into the transmission database for EDI processing
R-GCCS358C-cbl-00241 (+9)File: GCCS358C.cblBusiness Rule: Process Bill of Lading if Loaded
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when equipment record is being processed for master bill of lading creation.
Trigger Criteria:
Context: An equipment record is being processed for Master Bill of Lading creation
Applied to: CCN Key = '6105I'?
Action: The cargo CCN key starts with '6105I'
Logic Flow:
IF An equipment record is being processed for Master Bill of Lading creation
AND The cargo CCN key starts with '6105I'
THEN:
• The system skips all MBL segment processing and proceeds to the next step
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when master bill of lading segment is being created for equipment with a ccn key.
Trigger Criteria:
Context: A Master Bill of Lading segment is being created for equipment with a CCN key
Applied to: CCN starts with '2156'?
Action: The CCN key starts with '2156'
Logic Flow:
IF A Master Bill of Lading segment is being created for equipment with a CCN key
AND The CCN key starts with '2156'
THEN:
• The system sets the SCAC code to 'CFFO', otherwise sets it to 'CPRS'
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when master bill of lading segment is being initialized.
Trigger Criteria:
Context: A Master Bill of Lading segment is being initialized
Applied to: Set CCN as Bill of Lading Number
Action: The equipment has a valid CCN key
Logic Flow:
IF A Master Bill of Lading segment is being initialized
AND The equipment has a valid CCN key
THEN:
• The system assigns the CCN key as the Bill of Lading/Waybill number
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when master bill of lading segment is being populated.
Trigger Criteria:
Context: A Master Bill of Lading segment is being populated
Applied to: Set Condition Response Code
Action: The equipment record contains a condition response code
Logic Flow:
IF A Master Bill of Lading segment is being populated
AND The equipment record contains a condition response code
THEN:
• The system copies the condition response code to the MBL segment
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when master bill of lading segment has an empty condition response code.
Trigger Criteria:
Context: A Master Bill of Lading segment has an empty condition response code
Applied to: Response Code Empty?
Action: The Bill of Lading number is not empty
Logic Flow:
IF A Master Bill of Lading segment has an empty condition response code
AND The Bill of Lading number is not empty
THEN:
• The system sets the response code to 'Y', otherwise sets it to 'N'
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when equipment has associated cargo with in-transit status.
Trigger Criteria:
Context: Equipment has associated cargo with in-transit status
Applied to: Cargo Status = 'R' Revenue Transit?
Action: The cargo in-transit status is 'R' (Revenue Transit)
Logic Flow:
IF Equipment has associated cargo with in-transit status
AND The cargo in-transit status is 'R' (Revenue Transit)
THEN:
• The system sets Bill of Lading to 'NA' and response code to 'N'
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when cargo is in revenue transit status with bill of lading set to 'na'.
Trigger Criteria:
Context: Cargo is in revenue transit status with Bill of Lading set to 'NA'
Applied to: Set Exception Code to '08'
Action: The processing mode is post-emanifest
Logic Flow:
IF Cargo is in revenue transit status with Bill of Lading set to 'NA'
AND The processing mode is post-emanifest
THEN:
• The system sets the exception code to '08'
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when equipment has associated cargo being processed for mbl.
Trigger Criteria:
Context: Equipment has associated cargo being processed for MBL
Applied to: Haulage Rights Exist?
Action: The cargo has haulage rights defined
Logic Flow:
IF Equipment has associated cargo being processed for MBL
AND The cargo has haulage rights defined
THEN:
• The system sets the SCAC to the haulage rights SCAC and response code to 'N'
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when equipment is being processed in amendment mode.
Trigger Criteria:
Context: Equipment is being processed in amendment mode
Applied to: First Equipment and Amendment?
Action: This is the first equipment item being processed
Logic Flow:
IF Equipment is being processed in amendment mode
AND This is the first equipment item being processed
THEN:
• The system creates an M13 amendment segment with amendment code '60'
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when equipment is being processed in amendment mode.
Trigger Criteria:
Context: Equipment is being processed in amendment mode
Applied to: No CCN and Amendment?
Action: The equipment has no CCN key and this is the first equipment
Logic Flow:
IF Equipment is being processed in amendment mode
AND 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-00251 (+5)File: GCCS358C.cblBusiness Rule: Handle Flat Car and Container Car Pairing Logic
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when equipment item with a specific equipment type code.
Trigger Criteria:
Context: An equipment item with a specific equipment type code
Applied to: Is Current Car a Flat Car Type?
Action: The equipment type code is BG, CA, ET, GS, ID, LO, RR, SK, or TN
Logic Flow:
IF An equipment item with a specific equipment type code
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when next equipment item with a specific equipment type code.
Trigger Criteria:
Context: The next equipment item with a specific equipment type code
Applied to: Is Next Car a Container Car Type?
Action: The equipment type code is CC, CH, CM, CN, CX, CZ, LS, OT, PL, PT, RL, RT, or TL
Logic Flow:
IF The next equipment item with a specific equipment type code
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when flat car equipment type followed by a container car equipment type.
Trigger Criteria:
Context: A flat car equipment type followed by a container car equipment type
Applied to: Store Flat Car Information
Action: The flat car and container car pairing is identified
Logic Flow:
IF A flat car equipment type followed by a container car equipment type
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when stored flat car vid segment and a current container car being processed.
Trigger Criteria:
Context: A stored flat car VID segment and a current container car being processed
Applied to: Create VID Segment for Flat Car
Action: The container car is processed and has location information
Logic Flow:
IF A stored flat car VID segment and a current container car being processed
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when equipment item that is not a flat car followed by a container or a container with stored flat car information.
Trigger Criteria:
Context: An equipment item that is not a flat car followed by a container or a container with stored flat car information
Applied to: Process as Regular Equipment
Action: The equipment is processed individually
Logic Flow:
IF An equipment item that is not a flat car followed by a container or a container with stored flat car information
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when equipment in a flat car-container pairing that is loaded and has cargo information.
Trigger Criteria:
Context: Equipment in a flat car-container pairing that is loaded and has cargo information
Applied to: Create MBL Segment if Loaded
Action: The equipment VID segments are created for the pairing
Logic Flow:
IF Equipment in a flat car-container pairing that is loaded and has cargo information
AND 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-00257 (+2)File: GCCS358C.cblBusiness Rule: Determine Bill of Lading Response Code Logic
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when bill of lading response code field is empty or spaces.
Trigger Criteria:
Context: A bill of lading response code field is empty or spaces
Applied to: Response Code Already Set?
Action: The system processes the bill of lading information
Logic Flow:
IF A bill of lading response code field is empty or spaces
AND 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'
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when cargo record with in-transit status.
Trigger Criteria:
Context: A cargo record with in-transit status
Applied to: Cargo Status is Revenue Transit?
Action: The cargo in-transit status equals 'R' (Revenue Transit)
Logic Flow:
IF A cargo record with in-transit status
AND The cargo in-transit status equals 'R' (Revenue Transit)
THEN:
• Override the bill of lading number to 'NA' and set response code to 'N'
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when cargo record that may have haulage rights.
Trigger Criteria:
Context: A cargo record that may have haulage rights
Applied to: Haulage Rights Exist?
Action: The cargo has haulage rights (GCCC-HAULAGE is true)
Logic Flow:
IF A cargo record that may have haulage rights
AND 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-00260 (+3)File: GCCS358C.cblBusiness Rule: Apply Revenue Transit and Haulage Business Rules
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when cargo record exists with in-transit status.
Trigger Criteria:
Context: A cargo record exists with in-transit status
Applied to: Revenue Transit Status = 'R'?
Action: The cargo in-transit status equals 'R' (Revenue Transit)
Logic Flow:
IF A cargo record exists with in-transit status
AND 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'
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when cargo has revenue transit status 'r' and processing is in post-emanifest mode.
Trigger Criteria:
Context: Cargo has revenue transit status 'R' and processing is in post-emanifest mode
Applied to: Set Exception Code to '08'
Action: The transaction is post-emanifest (GCWB4TL-POST-EMANIFEST is true)
Logic Flow:
IF Cargo has revenue transit status 'R' and processing is in post-emanifest mode
AND The transaction is post-emanifest (GCWB4TL-POST-EMANIFEST is true)
THEN:
• Set MBL exception code to '08'
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when cargo record with haulage rights information.
Trigger Criteria:
Context: A cargo record with haulage rights information
Applied to: Set SCAC to Haulage Rights SCAC & Set Response Code to 'N'
Action: The cargo has haulage rights (GCCC-HAULAGE is true)
Logic Flow:
IF A cargo record with haulage rights information
AND The cargo has haulage rights (GCCC-HAULAGE is true)
THEN:
• Set MBL SCAC to the haulage rights SCAC (GCCC-HAULAGE-RIGHTS-SCAC)
• Set MBL YES-NO-RESP-CODE to 'N'
R-GCCS358C-cbl-00264 (+5)File: GCCS358C.cblBusiness Rule: Check Equipment Type Against Flat Car Classifications
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when equipment type code is provided for classification.
Trigger Criteria:
Context: An equipment type code is provided for classification
Applied to: Is Equipment a Possible Flat Car?
Action: The equipment type is one of BG, CA, ET, GS, ID, LO, RR, SK, or TN
Logic Flow:
IF An equipment type code is provided for classification
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when flat car type equipment has been identified.
Trigger Criteria:
Context: A flat car type equipment has been identified
Applied to: Set Index to Next Equipment Position
Action: The system needs to check for loaded containers on the flat car
Logic Flow:
IF A flat car type equipment has been identified
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when flat car is being examined for loaded containers.
Trigger Criteria:
Context: A flat car is being examined for loaded containers
Applied to: More Equipment to Check AND Still Container Type?
Action: 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
Logic Flow:
IF A flat car is being examined for loaded containers
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when container type equipment is positioned on a flat car.
Trigger Criteria:
Context: A container type equipment is positioned on a flat car
Applied to: Equipment is Loaded OR Empty with CCN?
Action: The equipment is marked as loaded OR the equipment is marked as empty but has a cargo control number (CCN) that is not spaces
Logic Flow:
IF A container type equipment is positioned on a flat car
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when flat car has at least one container with cargo.
Trigger Criteria:
Context: A flat car has at least one container with cargo
Applied to: Set Flat Car Load Status to 'L'
Action: A loaded container or empty container with CCN is found on the flat car
Logic Flow:
IF A flat car has at least one container with cargo
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when current container position on the flat car has been evaluated.
Trigger Criteria:
Context: The current container position on the flat car has been evaluated
Applied to: Move to Next Equipment
Action: No cargo is found at the current position and more positions need to be checked
Logic Flow:
IF The current container position on the flat car has been evaluated
AND 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-00270 (+8)File: GCCS358C.cblBusiness Rule: Search Through Container Cars for Load Status
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when train equipment car with a specific equipment type code.
Trigger Criteria:
Context: A train equipment car with a specific equipment type code
Applied to: Is Current Car a Flat Car Type?
Action: The equipment type code is BG, CA, ET, GS, ID, LO, RR, SK, or TN
Logic Flow:
IF A train equipment car with a specific equipment type code
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when flat car has been identified in the equipment sequence.
Trigger Criteria:
Context: A flat car has been identified in the equipment sequence
Applied to: Set Search Index to Next Car Position
Action: Container search is initiated
Logic Flow:
IF A flat car has been identified in the equipment sequence
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when car in the equipment sequence following a flat car.
Trigger Criteria:
Context: A car in the equipment sequence following a flat car
Applied to: Is Next Car a Container Type?
Action: The car type code is CC, CH, CM, CN, CX, CZ, LS, OT, PL, PT, RL, RT, or TL
Logic Flow:
IF A car in the equipment sequence following a flat car
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when container search is in progress through the equipment sequence.
Trigger Criteria:
Context: A container search is in progress through the equipment sequence
Applied to: More Cars to Check?
Action: 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
Logic Flow:
IF A container search is in progress through the equipment sequence
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when container car in the equipment sequence.
Trigger Criteria:
Context: A container car in the equipment sequence
Applied to: Is Container Car Loaded?
Action: The container car has a load indicator set to loaded
Logic Flow:
IF A container car in the equipment sequence
AND The container car has a load indicator set to loaded
THEN:
• The container is considered loaded and affects the flat car load status
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when container car that is marked as empty.
Trigger Criteria:
Context: A container car that is marked as empty
Applied to: Is Container Car Empty with CCN?
Action: The container car has a non-blank cargo control number (CCN) key
Logic Flow:
IF A container car that is marked as empty
AND The container car has a non-blank cargo control number (CCN) key
THEN:
• The container is treated as loaded for flat car status determination
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when flat car with associated container cars being searched.
Trigger Criteria:
Context: A flat car with associated container cars being searched
Applied to: Set Flat Car Status to Loaded
Action: Any container car on the flat car is loaded or empty with a cargo control number
Logic Flow:
IF A flat car with associated container cars being searched
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when container car that is empty without a cargo control number.
Trigger Criteria:
Context: A container car that is empty without a cargo control number
Applied to: Move to Next Car in Sequence
Action: The container search is still active
Logic Flow:
IF A container car that is empty without a cargo control number
AND The container search is still active
THEN:
• Move to the next car in the sequence and continue the container type validation
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when flat car with no loaded container cars found in the search.
Trigger Criteria:
Context: A flat car with no loaded container cars found in the search
Applied to: Keep Flat Car Status as Empty
Action: The container search is completed without finding any loaded containers
Logic Flow:
IF A flat car with no loaded container cars found in the search
AND The container search is completed without finding any loaded containers
THEN:
• The flat car retains its original empty load status
R-GCCS358C-cbl-00279 (+2)File: GCCS358C.cblBusiness Rule: Apply Special Business Rules for Load Status Override
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when equipment record is being processed with a ccn key.
Trigger Criteria:
Context: An equipment record is being processed with a CCN key
Applied to: CCN Key starts with '6105I'?
Action: The CCN key starts with '6105I'
Logic Flow:
IF An equipment record is being processed with a CCN key
AND The CCN key starts with '6105I'
THEN:
• The equipment load status is set to Empty ('E')
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when equipment record is being processed.
Trigger Criteria:
Context: An equipment record is being processed
Applied to: Equipment marked as Loaded AND CCN Key is blank?
Action: The equipment is marked as loaded AND the CCN key is blank or spaces
Logic Flow:
IF An equipment record is being processed
AND The equipment is marked as loaded AND the CCN key is blank or spaces
THEN:
• The equipment load status is set to Empty ('E')
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when equipment is being processed in post-emanifest mode.
Trigger Criteria:
Context: Equipment is being processed in post-emanifest mode
Applied to: Equipment is Empty AND has CCN Key?
Action: The equipment is marked as empty AND has a non-blank CCN key
Logic Flow:
IF Equipment is being processed in post-emanifest mode
AND 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-00282File: GCCS358C.cblBusiness Rule: Determine SCAC Code Assignment Based on CCN Prefix
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when train list equipment record with a cda ccn key.
Trigger Criteria:
Context: A train list equipment record with a CDA CCN key
Applied to: CCN Key Starts with '2156'?
Action: The system processes the MBL segment for SCAC code assignment
Logic Flow:
IF A train list equipment record with a CDA CCN key
AND 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-00283 (+17)File: GCCS358C.cblBusiness Rule: Process Amendment
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when train manifest is being processed with equipment items.
Trigger Criteria:
Context: A train manifest is being processed with equipment items
Applied to: Check if Amendment Processing Required
Action: The system checks if this is the first equipment item (SUB-TL = 1) and the amendment flag is set to true
Logic Flow:
IF A train manifest is being processed with equipment items
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when equipment items are being processed sequentially with a position counter (sub-tl).
Trigger Criteria:
Context: Equipment items are being processed sequentially with a position counter (SUB-TL)
Applied to: First Equipment in List?
Action: The system checks the equipment position counter
Logic Flow:
IF Equipment items are being processed sequentially with a position counter (SUB-TL)
AND The system checks the equipment position counter
THEN:
• IfSUB-TL equals 1, the equipment is identified as the first in the list, otherwise it is not the first
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when equipment item is being processed for mbl segment creation.
Trigger Criteria:
Context: An equipment item is being processed for MBL segment creation
Applied to: Equipment has CCN?
Action: The system checks the CDA-CCN-KEY field for the equipment
Logic Flow:
IF An equipment item is being processed for MBL segment creation
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when equipment item has a valid ccn key (not spaces).
Trigger Criteria:
Context: An equipment item has a valid CCN key (not spaces)
Applied to: Process Regular MBL Segment
Action: The system processes the MBL segment for this equipment
Logic Flow:
IF An equipment item has a valid CCN key (not spaces)
AND The system processes the MBL segment for this equipment
THEN:
• The regular MBL processing function (B240-LOAD-MBL-SEG) should be invoked
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when this is the first equipment item (sub-tl = 1) and amendment processing is required and the equipment has no ccn key (spaces).
Trigger Criteria:
Context: This is the first equipment item (SUB-TL = 1) and amendment processing is required and the equipment has no CCN key (spaces)
Applied to: Create Dummy MBL Segment
Action: The system determines that a dummy MBL is needed for amendment purposes
Logic Flow:
IF This is the first equipment item (SUB-TL = 1) and amendment processing is required and the equipment has no CCN key (spaces)
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when dummy mbl segment is being created.
Trigger Criteria:
Context: A dummy MBL segment is being created
Applied to: Set MBL Identifier to 'MBL'
Action: The system initializes the MBL segment structure
Logic Flow:
IF A dummy MBL segment is being created
AND The system initializes the MBL segment structure
THEN:
• The MBL identifier field should be set to 'MBL'
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when dummy mbl segment is being created.
Trigger Criteria:
Context: A dummy MBL segment is being created
Applied to: Set SCAC Code to 'CPRS'
Action: The system sets the SCAC (Standard Carrier Alpha Code)
Logic Flow:
IF A dummy MBL segment is being created
AND The system sets the SCAC (Standard Carrier Alpha Code)
THEN:
• The SCAC code should be set to 'CPRS' for Canadian Pacific Railway
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when dummy mbl segment is being created.
Trigger Criteria:
Context: A dummy MBL segment is being created
Applied to: Set Exception Code to '06'
Action: The system sets the exception code for the MBL
Logic Flow:
IF A dummy MBL segment is being created
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when dummy mbl segment is being created for equipment without cargo.
Trigger Criteria:
Context: A dummy MBL segment is being created for equipment without cargo
Applied to: Set Bill of Lading to 'NA'
Action: The system sets the bill of lading/waybill number
Logic Flow:
IF A dummy MBL segment is being created for equipment without cargo
AND The system sets the bill of lading/waybill number
THEN:
• The bill of lading field should be set to 'NA' indicating not applicable
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when dummy mbl segment has been created and populated with required data.
Trigger Criteria:
Context: A dummy MBL segment has been created and populated with required data
Applied to: Insert Dummy MBL into Transmission
Action: The system processes the MBL for transmission
Logic Flow:
IF A dummy MBL segment has been created and populated with required data
AND The system processes the MBL for transmission
THEN:
• The dummy MBL segment should be inserted into the transmission data structure (A9DP-TRANSMISSION-DATA)
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when amendment processing is required and dummy mbl has been processed.
Trigger Criteria:
Context: Amendment processing is required and dummy MBL has been processed
Applied to: Create M13 Amendment Segment
Action: The system creates amendment documentation
Logic Flow:
IF Amendment processing is required and dummy MBL has been processed
AND The system creates amendment documentation
THEN:
• An M13 amendment segment should be created and initialized
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when m13 amendment segment is being created.
Trigger Criteria:
Context: An M13 amendment segment is being created
Applied to: Set M13 Identifier to 'M13'
Action: The system initializes the M13 segment structure
Logic Flow:
IF An M13 amendment segment is being created
AND The system initializes the M13 segment structure
THEN:
• The M13 identifier field should be set to 'M13'
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when m13 amendment segment is being created.
Trigger Criteria:
Context: An M13 amendment segment is being created
Applied to: Set SCAC Code to 'CPRS'
Action: The system sets the SCAC (Standard Carrier Alpha Code) for the amendment
Logic Flow:
IF An M13 amendment segment is being created
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when m13 amendment segment is being created.
Trigger Criteria:
Context: An M13 amendment segment is being created
Applied to: Set Amendment Code to '60'
Action: The system sets the amendment code
Logic Flow:
IF An M13 amendment segment is being created
AND The system sets the amendment code
THEN:
• The amendment code should be set to '60' to indicate the specific type of manifest amendment
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when m13 amendment segment is being created and station information is available.
Trigger Criteria:
Context: An M13 amendment segment is being created and station information is available
Applied to: Set Location ID from Station Code
Action: The system sets the location identifier for the amendment
Logic Flow:
IF An M13 amendment segment is being created and station information is available
AND 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)
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when m13 amendment segment is being created and train information is available.
Trigger Criteria:
Context: An M13 amendment segment is being created and train information is available
Applied to: Set Bill/Waybill Number from Train Key
Action: The system sets the bill/waybill number for the amendment
Logic Flow:
IF An M13 amendment segment is being created and train information is available
AND The system sets the bill/waybill number for the amendment
THEN:
• The bill/waybill number should be set to the train key (GCWB4TL-KEY)
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when m13 amendment segment has been created and populated with required data.
Trigger Criteria:
Context: An M13 amendment segment has been created and populated with required data
Applied to: Insert M13 Amendment into Transmission
Action: The system processes the M13 for transmission
Logic Flow:
IF An M13 amendment segment has been created and populated with required data
AND The system processes the M13 for transmission
THEN:
• The M13 amendment segment should be inserted into the transmission data structure (A9DP-TRANSMISSION-DATA)
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when all amendment-specific mbl and m13 segments have been processed.
Trigger Criteria:
Context: All amendment-specific MBL and M13 segments have been processed
Applied to: Amendment MBL Processing Complete
Action: The system completes the amendment processing workflow
Logic Flow:
IF All amendment-specific MBL and M13 segments have been processed
AND 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-00301 (+7)File: GCCS358C.cblBusiness Rule: Store and Retrieve Flat Car Information for Container Pairing
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when equipment processing is in progress and current equipment type is available.
Trigger Criteria:
Context: Equipment processing is in progress and current equipment type is available
Applied to: Is Current Equipment a Flat Car?
Action: Current equipment type is BG, CA, ET, GS, ID, LO, RR, SK, or TN
Logic Flow:
IF Equipment processing is in progress and current equipment type is available
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when current equipment is identified as a flat car and next equipment type is available.
Trigger Criteria:
Context: Current equipment is identified as a flat car and next equipment type is available
Applied to: Is Next Equipment a Container?
Action: Next equipment type is CC, CH, CM, CN, CX, CZ, LS, OT, PL, PT, RL, RT, or TL
Logic Flow:
IF Current equipment is identified as a flat car and next equipment type is available
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when current equipment is a flat car and next equipment is a container.
Trigger Criteria:
Context: Current equipment is a flat car and next equipment is a container
Applied to: Store Flat Car Information in FLATCAR-VID-SEGMENT
Action: Flat car-container pairing condition is met
Logic Flow:
IF Current equipment is a flat car and next equipment is a container
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when equipment processing is in progress and current equipment is not a flat car.
Trigger Criteria:
Context: Equipment processing is in progress and current equipment is not a flat car
Applied to: Is Current Equipment a Container?
Action: Current equipment type is CC, CH, CM, CN, CX, CZ, LS, OT, PL, PT, RL, RT, or TL
Logic Flow:
IF Equipment processing is in progress and current equipment is not a flat car
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when current equipment is identified as a container.
Trigger Criteria:
Context: Current equipment is identified as a container
Applied to: Is Stored Flat Car Available?
Action:FLATCAR-VID-SEGMENT contains previously stored flat car information (not equal to spaces)
Logic Flow:
IF Current equipment is identified as a container
ANDFLATCAR-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
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when stored flat car information is available and current equipment is a container.
Trigger Criteria:
Context: Stored flat car information is available and current equipment is a container
Applied to: Process Flat Car with Container Location
Action: Container location information is captured and flat car data is retrieved from storage
Logic Flow:
IF Stored flat car information is available and current equipment is a container
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when flat car-container pair is processed and container has cargo information.
Trigger Criteria:
Context: Flat car-container pair is processed and container has cargo information
Applied to: Generate MBL Segment for Pair
Action: Container is loaded and has valid cargo key (CDA-CCN-KEY not equal to spaces)
Logic Flow:
IF Flat car-container pair is processed and container has cargo information
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when equipment does not meet flat car-container pairing criteria.
Trigger Criteria:
Context: Equipment does not meet flat car-container pairing criteria
Applied to: Process as Regular Equipment
Action: 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
Logic Flow:
IF Equipment does not meet flat car-container pairing criteria
AND 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-00309 (+2)File: GCCS358C.cblBusiness Rule: Apply Post
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when cargo record exists with in-transit status 'r' and the system is performing post-emanifest processing.
Trigger Criteria:
Context: A cargo record exists with in-transit status 'R' and the system is performing post-emanifest processing
Applied to: Set Exception Code '08'
Action: The MBL segment is being created for the cargo
Logic Flow:
IF A cargo record exists with in-transit status 'R' and the system is performing post-emanifest processing
AND The MBL segment is being created for the cargo
THEN:
• The system sets exception code '08' in the MBL segment
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when cargo record has in-transit status 'r'.
Trigger Criteria:
Context: A cargo record has in-transit status 'R'
Applied to: Continue MBL Processing
Action: The MBL segment is being processed
Logic Flow:
IF A cargo record has in-transit status 'R'
AND The MBL segment is being processed
THEN:
• The system sets the BOL waybill field to 'NA'
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when cargo record has in-transit status 'r'.
Trigger Criteria:
Context: A cargo record has in-transit status 'R'
Applied to: Continue MBL Processing
Action: The MBL segment response code is being determined
Logic Flow:
IF A cargo record has in-transit status 'R'
AND The MBL segment response code is being determined
THEN:
• The system sets the yes/no response code to 'N'
R-GCCS358C-cbl-00312 (+4)File: GCCS358C.cblBusiness Rule: Classify Equipment Types into Flat Car and Container Categories
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when equipment item with a specific equipment type code.
Trigger Criteria:
Context: An equipment item with a specific equipment type code
Applied to: Is Current Equipment a Flat Car Type?
Action: The equipment type code is one of BG, CA, ET, GS, ID, LO, RR, SK, or TN
Logic Flow:
IF An equipment item with a specific equipment type code
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when next equipment item in the sequence with a specific equipment type code.
Trigger Criteria:
Context: The next equipment item in the sequence with a specific equipment type code
Applied to: Is Next Equipment a Container Type?
Action: The next equipment type code is one of CC, CH, CM, CN, CX, CZ, LS, OT, PL, PT, RL, RT, or TL
Logic Flow:
IF The next equipment item in the sequence with a specific equipment type code
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when flat car type equipment followed by a container type equipment.
Trigger Criteria:
Context: A flat car type equipment followed by a container type equipment
Applied to: Initialize Flat Car Processing Variables
Action: The flat car and container combination is identified
Logic Flow:
IF A flat car type equipment followed by a container type equipment
AND The flat car and container combination is identified
THEN:
• Initialize FLATCAR-VID-SEGMENT, IM-UNIT-VID-SEGMENT, andIM-UNIT-VID12-ELEMENT variables and store the current VID segment as flat car data
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when container type equipment and existing flat car segment data.
Trigger Criteria:
Context: A container type equipment and existing flat car segment data
Applied to: Does Flat Car Data Exist?
Action: The current equipment is a container type and FLATCAR-VID-SEGMENT is not equal to spaces
Logic Flow:
IF A container type equipment and existing flat car segment data
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when equipment item that does not fit flat car-container combination patterns.
Trigger Criteria:
Context: An equipment item that does not fit flat car-container combination patterns
Applied to: Process Equipment Normally
Action: The equipment is not part of a flat car-container sequence or is processed individually
Logic Flow:
IF An equipment item that does not fit flat car-container combination patterns
AND 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-00317 (+5)File: GCCS358C.cblBusiness Rule: Validate Container Car Sequence and Load Status Rules
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when equipment item with a specific car type code.
Trigger Criteria:
Context: An equipment item with a specific car type code
Applied to: Is Current Car a Flat Car Type?
Action: The system checks if the car type is one of the flat car types (BG, CA, ET, GS, ID, LO, RR, SK, TN)
Logic Flow:
IF An equipment item with a specific car type code
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when flat car type equipment at a specific position in the equipment list.
Trigger Criteria:
Context: A flat car type equipment at a specific position in the equipment list
Applied to: Set Index to Next Equipment Position
Action: The system needs to validate container sequence for the flat car
Logic Flow:
IF A flat car type equipment at a specific position in the equipment list
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when flat car followed by subsequent equipment in the list.
Trigger Criteria:
Context: A flat car followed by subsequent equipment in the list
Applied to: Within Equipment List AND Next Car is Container Type?
Action: The system checks each subsequent equipment position up to the maximum limit of 2500
Logic Flow:
IF A flat car followed by subsequent equipment in the list
AND 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)
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when container equipment item on a flat car.
Trigger Criteria:
Context: A container equipment item on a flat car
Applied to: Equipment Has Load OR Empty with CCN?
Action: The system checks if the equipment is loaded OR if it's empty but has a cargo control number (CCN)
Logic Flow:
IF A container equipment item on a flat car
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when flat car with containers where at least one container has cargo.
Trigger Criteria:
Context: A flat car with containers where at least one container has cargo
Applied to: Set Flat Car Load Status to 'L'
Action: The system finds a container that is loaded or empty with a cargo control number
Logic Flow:
IF A flat car with containers where at least one container has cargo
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when flat car with multiple containers in sequence.
Trigger Criteria:
Context: A flat car with multiple containers in sequence
Applied to: Move to Next Equipment
Action: The system has checked one container and needs to validate the next one
Logic Flow:
IF A flat car with multiple containers in sequence
AND 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-00323 (+7)File: GCCS358C.cblBusiness Rule: Build and Configure Dummy MBL Segment with Business Rules
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when dummy mbl segment needs to be created for amendment processing.
Trigger Criteria:
Context: A dummy MBL segment needs to be created for amendment processing
Applied to: Initialize MBL Segment Structure
Action: The system begins dummy MBL segment creation
Logic Flow:
IF A dummy MBL segment needs to be created for amendment processing
AND The system begins dummy MBL segment creation
THEN:
• The MBL segment structure is initialized to clear any previous data
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when dummy mbl segment is being created.
Trigger Criteria:
Context: A dummy MBL segment is being created
Applied to: Set MBL Identifier to 'MBL'
Action: The segment identifier needs to be set
Logic Flow:
IF A dummy MBL segment is being created
AND The segment identifier needs to be set
THEN:
• The MBL identifier is set to 'MBL'
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when dummy mbl segment is being created.
Trigger Criteria:
Context: A dummy MBL segment is being created
Applied to: Set Bill of Lading to 'NA'
Action: The bill of lading waybill number needs to be set
Logic Flow:
IF A dummy MBL segment is being created
AND The bill of lading waybill number needs to be set
THEN:
• The bill of lading waybill is set to 'NA'
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when dummy mbl segment is being created for amendment processing.
Trigger Criteria:
Context: A dummy MBL segment is being created for amendment processing
Applied to: Set SCAC Code to 'CPRS'
Action: The SCAC code needs to be assigned
Logic Flow:
IF A dummy MBL segment is being created for amendment processing
AND The SCAC code needs to be assigned
THEN:
• The SCAC code is set to 'CPRS'
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when dummy mbl segment is being created for amendment processing.
Trigger Criteria:
Context: A dummy MBL segment is being created for amendment processing
Applied to: Set Exception Code to '06'
Action: The exception code needs to be assigned
Logic Flow:
IF A dummy MBL segment is being created for amendment processing
AND The exception code needs to be assigned
THEN:
• The exception code is set to '06'
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when dummy mbl segment is being processed.
Trigger Criteria:
Context: A dummy MBL segment is being processed
Applied to: Clear Load Found Flag
Action: The load found flag needs to be reset
Logic Flow:
IF A dummy MBL segment is being processed
AND The load found flag needs to be reset
THEN:
• The load found flag is cleared to spaces
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when dummy mbl segment has been configured with all required values.
Trigger Criteria:
Context: A dummy MBL segment has been configured with all required values
Applied to: Insert MBL Segment into Transmission
Action: The segment needs to be added to the transmission
Logic Flow:
IF A dummy MBL segment has been configured with all required values
AND The segment needs to be added to the transmission
THEN:
• The MBL segment is inserted into the transmission data structure
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when dummy mbl segment has been successfully created and inserted.
Trigger Criteria:
Context: A dummy MBL segment has been successfully created and inserted
Applied to: Build M13 Amendment Segment
Action: Amendment processing continues
Logic Flow:
IF A dummy MBL segment has been successfully created and inserted
AND Amendment processing continues
THEN:
• The M13 amendment segment is built and processed
R-GCCS358C-cbl-00331 (+6)File: GCCS358C.cblBusiness Rule: Build and Configure M13 Amendment Segment with Location and Reference Data
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when system needs to create an m13 amendment segment.
Trigger Criteria:
Context: The system needs to create an M13 amendment segment
Applied to: Initialize M13 Segment Structure
Action: The M13 segment initialization is triggered
Logic Flow:
IF The system needs to create an M13 amendment segment
AND The M13 segment initialization is triggered
THEN:
• The M13 segment structure is cleared and ready for data population
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when m13 amendment segment is being created.
Trigger Criteria:
Context: An M13 amendment segment is being created
Applied to: Set M13 Identifier
Action: The segment identifier needs to be set
Logic Flow:
IF An M13 amendment segment is being created
AND The segment identifier needs to be set
THEN:
• The M13 identifier is set to 'M13'
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when m13 amendment segment is being created.
Trigger Criteria:
Context: An M13 amendment segment is being created
Applied to: Set Amendment Code to 60
Action: The amendment code field needs to be set
Logic Flow:
IF An M13 amendment segment is being created
AND The amendment code field needs to be set
THEN:
• The amendment code is set to '60'
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when m13 amendment segment is being populated.
Trigger Criteria:
Context: An M13 amendment segment is being populated
Applied to: Set SCAC Code to CPRS
Action: The SCAC code field needs to be set
Logic Flow:
IF An M13 amendment segment is being populated
AND The SCAC code field needs to be set
THEN:
• The SCAC code is set to 'CPRS'
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when m13 amendment segment is being created and station information is available.
Trigger Criteria:
Context: An M13 amendment segment is being created and station information is available
Applied to: Set Location ID from Station Code
Action: The location ID field needs to be populated
Logic Flow:
IF An M13 amendment segment is being created and station information is available
AND The location ID field needs to be populated
THEN:
• The location ID is set to the Canadian station code from GCSTBRT station table
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when m13 amendment segment is being created and train information is available.
Trigger Criteria:
Context: An M13 amendment segment is being created and train information is available
Applied to: Set Bill of Lading/Waybill Number from Train Key
Action: The bill of lading/waybill number field needs to be populated
Logic Flow:
IF An M13 amendment segment is being created and train information is available
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when m13 amendment segment has been fully populated.
Trigger Criteria:
Context: An M13 amendment segment has been fully populated
Applied to: Insert M13 Segment into Transmission
Action: The segment needs to be added to the transmission
Logic Flow:
IF An M13 amendment segment has been fully populated
AND The segment needs to be added to the transmission
THEN:
• The M13 segment is inserted into the A9DP transmission data structure
R-GCCS358C-cbl-00338 (+16)File: GCCS358C.cblBusiness Rule: Execute Flat Car and Container Pairing Logic with Load Status Validation
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when equipment item with a specific equipment type code.
Trigger Criteria:
Context: An equipment item with a specific equipment type code
Applied to: Is Current Equipment a Flat Car?
Action: The equipment type code is one of BG, CA, ET, GS, ID, LO, RR, SK, or TN
Logic Flow:
IF An equipment item with a specific equipment type code
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when equipment item with a specific equipment type code.
Trigger Criteria:
Context: An equipment item with a specific equipment type code
Applied to: Is Next Equipment a Container?
Action: The equipment type code is one of CC, CH, CM, CN, CX, CZ, LS, OT, PL, PT, RL, RT, or TL
Logic Flow:
IF An equipment item with a specific equipment type code
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when flat car equipment type is followed by a container equipment type.
Trigger Criteria:
Context: A flat car equipment type is followed by a container equipment type
Applied to: Initialize Flat Car VID Segment
Action: The flat car and container pairing is identified
Logic Flow:
IF A flat car equipment type is followed by a container equipment type
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when vid segment is populated with current equipment data and flat car pairing is identified. ⚠️ COBOL Technical Logic
Trigger Criteria:
Context: A VID segment is populated with current equipment data and flat car pairing is identified
Applied to: Store Current VID as Flat Car
Action: The current equipment is a flat car type
Logic Flow:
IF A VID segment is populated with current equipment data and flat car pairing is identified
AND The current equipment is a flat car type
THEN:
• Copy the current VID segment data to the flat car VID segment storage
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when current equipment is a container type and flat car vid segment storage exists.
Trigger Criteria:
Context: Current equipment is a container type and flat car VID segment storage exists
Applied to: Does Flat Car VID Exist?
Action: The flat car VID segment is not empty
Logic Flow:
IF Current equipment is a container type and flat car VID segment storage exists
AND The flat car VID segment is not empty
THEN:
• Process the container as part of a flat car-container pair
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when container equipment is being processed and an existing flat car vid segment is available.
Trigger Criteria:
Context: A container equipment is being processed and an existing flat car VID segment is available
Applied to: Initialize Container VID Segment
Action: Container VID segment needs to be paired with flat car
Logic Flow:
IF A container equipment is being processed and an existing flat car VID segment is available
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when flat car vid segment data is stored and container location information is preserved. ⚠️ COBOL Technical Logic
Trigger Criteria:
Context: Flat car VID segment data is stored and container location information is preserved
Applied to: Copy Flat Car VID to Current VID
Action: Processing flat car-container pair
Logic Flow:
IF Flat car VID segment data is stored and container location information is preserved
AND Processing flat car-container pair
THEN:
• Copy flat car VID segment data to current VID segment
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when container location id is stored and flat car vid data is in current vid segment.
Trigger Criteria:
Context: Container location ID is stored and flat car VID data is in current VID segment
Applied to: Apply Container Location ID to Flat Car
Action: Processing flat car-container pair
Logic Flow:
IF Container location ID is stored and flat car VID data is in current VID segment
AND Processing flat car-container pair
THEN:
• Move the stored container location ID to the VID location field
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when flat car vid segment is populated with equipment data and container location.
Trigger Criteria:
Context: Flat car VID segment is populated with equipment data and container location
Applied to: Insert Flat Car VID Segment
Action: Flat car-container pair processing is complete
Logic Flow:
IF Flat car VID segment is populated with equipment data and container location
AND Flat car-container pair processing is complete
THEN:
• Insert the flat car VID segment into the transmission data
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when flat car vid segment has been inserted and container vid segment data is stored. ⚠️ COBOL Technical Logic
Trigger Criteria:
Context: Flat car VID segment has been inserted and container VID segment data is stored
Applied to: Reset VID to Container Data
Action: Processing the container portion of flat car-container pair
Logic Flow:
IF Flat car VID segment has been inserted and container VID segment data is stored
AND Processing the container portion of flat car-container pair
THEN:
• Initialize current VID segment and copy container VID segment data to current VID segment
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when container vid segment data is restored to current vid segment.
Trigger Criteria:
Context: Container VID segment data is restored to current VID segment
Applied to: Insert Container VID Segment
Action: Container portion of flat car-container pair is ready
Logic Flow:
IF Container VID segment data is restored to current VID segment
AND Container portion of flat car-container pair is ready
THEN:
• Insert the container VID segment into the transmission data
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when container equipment in a flat car-container pair.
Trigger Criteria:
Context: A container equipment in a flat car-container pair
Applied to: Equipment Has CCN and is Loaded?
Action: The equipment is loaded and has a cargo control number (CCN) that is not spaces
Logic Flow:
IF A container equipment in a flat car-container pair
AND The equipment is loaded and has a cargo control number (CCN) that is not spaces
THEN:
• Process the MBL segment for the container
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when container equipment is loaded and has a valid cargo control number.
Trigger Criteria:
Context: Container equipment is loaded and has a valid cargo control number
Applied to: Process MBL Segment for Container
Action: MBL processing is required for the container
Logic Flow:
IF Container equipment is loaded and has a valid cargo control number
AND MBL processing is required for the container
THEN:
• Execute MBL segment loading procedure for the container
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when equipment processing is in progress with a current subscript position.
Trigger Criteria:
Context: Equipment processing is in progress with a current subscript position
Applied to: Last Equipment in List?
Action: The subscript position is less than 999
Logic Flow:
IF Equipment processing is in progress with a current subscript position
AND The subscript position is less than 999
THEN:
• Continue processing with flat car-container pairing logic, otherwise process as single equipment
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when equipment is the last in the list or does not qualify for flat car-container pairing.
Trigger Criteria:
Context: Equipment is the last in the list or does not qualify for flat car-container pairing
Applied to: Insert Single VID Segment
Action: VID segment is populated and not empty
Logic Flow:
IF Equipment is the last in the list or does not qualify for flat car-container pairing
AND VID segment is populated and not empty
THEN:
• Insert the VID segment into the transmission data
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when single equipment item that is not part of flat car-container pairing.
Trigger Criteria:
Context: A single equipment item that is not part of flat car-container pairing
Applied to: Equipment Has CCN and is Loaded?
Action: The equipment is loaded and has a cargo control number (CCN) that is not spaces
Logic Flow:
IF A single equipment item that is not part of flat car-container pairing
AND The equipment is loaded and has a cargo control number (CCN) that is not spaces
THEN:
• Process the MBL segment for the equipment
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when single equipment is loaded and has a valid cargo control number.
Trigger Criteria:
Context: Single equipment is loaded and has a valid cargo control number
Applied to: Process MBL Segment
Action: MBL processing is required for the equipment
Logic Flow:
IF Single equipment is loaded and has a valid cargo control number
AND MBL processing is required for the equipment
THEN:
• Execute MBL segment loading procedure for the equipment
R-GCCS358C-cbl-00355 (+7)File: GCCS358C.cblBusiness Rule: Generate MBL Segments for Equipment Pairs Based on Cargo Status
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when equipment record is being processed for mbl segment generation.
Trigger Criteria:
Context: An equipment record is being processed for MBL segment generation
Applied to: CCN Key = '6105I'?
Action: The CCN key starts with '6105I'
Logic Flow:
IF An equipment record is being processed for MBL segment generation
AND The CCN key starts with '6105I'
THEN:
• Skip MBL segment generation and check if first equipment requires amendment processing
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when mbl segment is being created for equipment with a valid ccn.
Trigger Criteria:
Context: An MBL segment is being created for equipment with a valid CCN
Applied to: CCN starts with '2156'?
Action: The CCN starts with '2156'
Logic Flow:
IF An MBL segment is being created for equipment with a valid CCN
AND The CCN starts with '2156'
THEN:
• Set SCAC code to 'CFFO', otherwise set SCAC code to 'CPRS'
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when mbl segment is being initialized.
Trigger Criteria:
Context: An MBL segment is being initialized
Applied to: Set CCN as Bill of Lading Number
Action: The equipment has a valid CCN key
Logic Flow:
IF An MBL segment is being initialized
AND The equipment has a valid CCN key
THEN:
• Set the CCN key as the bill of lading waybill number in the MBL segment
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when mbl segment is being populated.
Trigger Criteria:
Context: An MBL segment is being populated
Applied to: Set Condition Response Code
Action: The equipment record contains a condition response code
Logic Flow:
IF An MBL segment is being populated
AND The equipment record contains a condition response code
THEN:
• Set the MBL condition response code to the equipment's condition response code value
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when mbl segment has an empty response code.
Trigger Criteria:
Context: An MBL segment has an empty response code
Applied to: Response Code Empty?
Action: The bill of lading waybill number is not empty
Logic Flow:
IF An MBL segment has an empty response code
AND The bill of lading waybill number is not empty
THEN:
• Set response code to 'Y', otherwise set response code to 'N'
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when mbl segment is being processed for cargo with in-transit status.
Trigger Criteria:
Context: An MBL segment is being processed for cargo with in-transit status
Applied to: Cargo Status = 'R' 'Revenue'?
Action: The cargo in-transit status is 'R' (Revenue)
Logic Flow:
IF An MBL segment is being processed for cargo with in-transit status
AND The cargo in-transit status is 'R' (Revenue)
THEN:
• Set bill of lading to 'NA', set response code to 'N', andif post-emanifest then set exception code to '08'
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when mbl segment is being processed for cargo.
Trigger Criteria:
Context: An MBL segment is being processed for cargo
Applied to: Haulage Rights Exist?
Action: The cargo has haulage rights defined
Logic Flow:
IF An MBL segment is being processed for cargo
AND The cargo has haulage rights defined
THEN:
• Set SCAC code to the haulage rights SCAC and set response code to 'N'
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when mbl segment has been processed.
Trigger Criteria:
Context: An MBL segment has been processed
Applied to: First Equipment & Amendment?
Action: This is the first equipment (SUB-TL = 1) and the transaction is an amendment
Logic Flow:
IF An MBL segment has been processed
AND 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-00363 (+4)File: GCCS358C.cblBusiness Rule: Determine Equipment Type Classification Rules
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when equipment item with a specific equipment type code.
Trigger Criteria:
Context: An equipment item with a specific equipment type code
Applied to: Current Equipment is Flat Car Type?
Action: The equipment type code is one of BG, CA, ET, GS, ID, LO, RR, SK, or TN
Logic Flow:
IF An equipment item with a specific equipment type code
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when equipment item with a specific equipment type code.
Trigger Criteria:
Context: An equipment item with a specific equipment type code
Applied to: Next Equipment is Container Type?
Action: The equipment type code is one of CC, CH, CM, CN, CX, CZ, LS, OT, PL, PT, RL, RT, or TL
Logic Flow:
IF An equipment item with a specific equipment type code
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when current equipment that is classified as flat car type and a next equipment in sequence.
Trigger Criteria:
Context: A current equipment that is classified as flat car type and a next equipment in sequence
Applied to: Current Equipment is Flat Car Type? AND Next Equipment is Container Type?
Action: 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
Logic Flow:
IF A current equipment that is classified as flat car type and a next equipment in sequence
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when current equipment that is classified as container type and an existing flat car segment. ⚠️ COBOL Technical Logic
Trigger Criteria:
Context: A current equipment that is classified as container type and an existing flat car segment
Applied to: Current Equipment is Container Type? AND Flat Car Segment Exists?
Action: 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
Logic Flow:
IF A current equipment that is classified as container type and an existing flat car segment
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when equipment item that does not meet flat car-container pairing criteria.
Trigger Criteria:
Context: An equipment item that does not meet flat car-container pairing criteria
Applied to: Process Equipment Normally
Action: The equipment is not part of a flat car-container combination OR is the last equipment in the list
Logic Flow:
IF An equipment item that does not meet flat car-container pairing criteria
AND 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-00368 (+7)File: GCCS358C.cblBusiness Rule: Apply Dummy MBL Business Rules
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when amendment scenario requires a dummy mbl segment.
Trigger Criteria:
Context: An amendment scenario requires a dummy MBL segment
Applied to: Initialize MBL Segment Structure
Action: The dummy MBL processing begins
Logic Flow:
IF An amendment scenario requires a dummy MBL segment
AND The dummy MBL processing begins
THEN:
• The MBL segment structure is initialized to clear any previous data
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when dummy mbl segment is being created.
Trigger Criteria:
Context: A dummy MBL segment is being created
Applied to: Set MBL Identifier to 'MBL'
Action: The segment identifier needs to be set
Logic Flow:
IF A dummy MBL segment is being created
AND The segment identifier needs to be set
THEN:
• The MBL identifier is set to 'MBL'
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when dummy mbl segment is being processed.
Trigger Criteria:
Context: A dummy MBL segment is being processed
Applied to: Assign Standard CPRS SCAC Code
Action: The SCAC code needs to be assigned
Logic Flow:
IF A dummy MBL segment is being processed
AND The SCAC code needs to be assigned
THEN:
• The SCAC code is set to 'CPRS'
Rule Belongs to : GCCS358C.cbl
Business Justification: Governs the functional prerequisites and system routing when dummy mbl segment is being processed.
Trigger Criteria:
Context: A dummy MBL segment is being processed
Applied to: Clear Load Found Flag
Action: The load found flag needs to be reset
Logic Flow:
IF A dummy MBL segment is being processed
AND The load found flag needs to be reset
THEN:
• The load found flag is set to spaces
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when dummy mbl segment is being created for amendment purposes.
Trigger Criteria:
Context: A dummy MBL segment is being created for amendment purposes
Applied to: Set Bill of Lading to 'NA'
Action: The bill of lading waybill field needs to be populated
Logic Flow:
IF A dummy MBL segment is being created for amendment purposes
AND The bill of lading waybill field needs to be populated
THEN:
• The bill of lading waybill is set to 'NA'
Rule Belongs to : GCCS358C.cbl
Business Justification: Establishes the required business protocol to be followed when dummy mbl segment is created for an amendment scenario.
Trigger Criteria:
Context: A dummy MBL segment is created for an amendment scenario
Applied to: Configure Exception Code '06'
Action: The exception code needs to be configured
Logic Flow:
IF A dummy MBL segment is created for an amendment scenario
AND The exception code needs to be configured
THEN:
• The exception code is set to '06'
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when dummy mbl segment has been configured with all required fields.
Trigger Criteria:
Context: A dummy MBL segment has been configured with all required fields
Applied to: Insert MBL Segment into Transmission
Action: The segment needs to be added to the transmission
Logic Flow:
IF A dummy MBL segment has been configured with all required fields
AND The segment needs to be added to the transmission
THEN:
• The MBL segment is moved to transmission data and inserted into the data stream
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when dummy mbl segment has been successfully inserted into the transmission.
Trigger Criteria:
Context: A dummy MBL segment has been successfully inserted into the transmission
Applied to: Trigger M13 Amendment Segment Creation
Action: Amendment processing is required
Logic Flow:
IF A dummy MBL segment has been successfully inserted into the transmission
AND Amendment processing is required
THEN:
• The M13 amendment segment creation process is triggered
Business Justification: Dictates the expected operational logic and validation steps when cargo record with a ccn key exists for processing.
Trigger Criteria:
Context: A cargo record with a CCN key exists for processing
Applied to: Check CCN Key Prefix
Action: The system evaluates the CCN key prefix during MBL segment creation
Logic Flow:
IF A cargo record with a CCN key exists for processing
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when cargo record is being processed for mbl segment creation.
Trigger Criteria:
Context: A cargo record is being processed for MBL segment creation
Applied to: Haulage Rights Exist?
Action: The cargo has haulage rights defined with a specific SCAC code
Logic Flow:
IF A cargo record is being processed for MBL segment creation
AND 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 (+3)File: GCCS358C.cblBusiness Rule: Process Revenue Transit Status Rules
Rule Belongs to : GCCS358C.cbl
Business Justification: Dictates the expected operational logic and validation steps when cargo shipment exists with in-transit status.
Trigger Criteria:
Context: A cargo shipment exists with in-transit status
Applied to: Check Cargo In-Transit Status
Action: The cargo in-transit status is 'R' (Revenue)
Logic Flow:
IF A cargo shipment exists with in-transit status
AND 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'
Rule Belongs to : GCCS358C.cbl
Business Justification: Ensures correct system behavior and process compliance when cargo shipment has revenue transit status 'r' and the processing is post-emanifest.
Trigger Criteria:
Context: A cargo shipment has revenue transit status 'R' and the processing is post-emanifest
Applied to: Set Exception Code '08'
Action: The system processes the MBL segment for this revenue transit cargo
Logic Flow:
IF A cargo shipment has revenue transit status 'R' and the processing is post-emanifest
AND 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
Rule Belongs to : GCCS358C.cbl
Business Justification: Defines the strict business conditions required to proceed when cargo shipment with in-transit status 'r' (revenue).
Trigger Criteria:
Context: A cargo shipment with in-transit status 'R' (Revenue)
Applied to: Override Bill of Lading to 'NA' & Set Response Code to 'N'
Action: The system processes the MBL segment
Logic Flow:
IF A cargo shipment with in-transit status 'R' (Revenue)
AND 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
• The yes/no response code should be set to 'N' to indicate negative response
Business Justification: Establishes the required business protocol to be followed when processing request is received with a foreground/background indicator.
Trigger Criteria:
Context: A processing request is received with a foreground/background indicator
Applied to: Is Mode Foreground?
Action: The system checks if GCWU358T-FOREGROUND is true
Logic Flow:
IF A processing request is received with a foreground/background indicator
AND The system checks if GCWU358T-FOREGROUND is true
THEN:
• The system identifies the mode as foreground and allows continued processing
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when processing request is not in foreground mode.
Trigger Criteria:
Context: A processing request is not in foreground mode
Applied to: Is Mode Background?
Action: The system checks if GCWU358T-BACKGROUND is true
Logic Flow:
IF A processing request is not in foreground mode
AND The system checks if GCWU358T-BACKGROUND is true
THEN:
• The system identifies the mode as background and allows continued processing
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when processing mode has been validated as either foreground or background.
Trigger Criteria:
Context: The processing mode has been validated as either foreground or background
Applied to: Set Processing Mode as Valid
Action:GCWU358T-FOREGROUND OR GCWU358T-BACKGROUND is true
Logic Flow:
IF The processing mode has been validated as either foreground or background
ANDGCWU358T-FOREGROUND OR GCWU358T-BACKGROUND is true
THEN:
• The system proceeds with EDI processing workflow including information gathering, root processing, and equipment processing
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when processing request is received with an invalid foreground/background indicator.
Trigger Criteria:
Context: A processing request is received with an invalid foreground/background indicator
Applied to: Set Wrong FB Indicator Error
Action: The processing mode is neither GCWU358T-FOREGROUND nor GCWU358T-BACKGROUND
Logic Flow:
IF A processing request is received with an invalid foreground/background indicator
AND 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-00028 (+4)File: GCCU358T.cblBusiness Rule: Check Station Code Validity
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when train record with an origin station code in field p401-m1302-us-from-sc.
Trigger Criteria:
Context: A train record with an origin station code in field P401-M1302-US-FROM-SC
Applied to: Check Station Code Validity - Validate the station code against the SE table to determine if it's a valid port
Action: The system performs a lookup in the SE table using the station code as the search key
Logic Flow:
IF A train record with an origin station code in field P401-M1302-US-FROM-SC
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when train record requiring station code validation.
Trigger Criteria:
Context: A train record requiring station code validation
Applied to: Setup SE Table Lookup Parameters
Action: The system initiates the SE table lookup process
Logic Flow:
IF A train record requiring station code validation
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when se table lookup parameters are properly configured with station code.
Trigger Criteria:
Context: SE table lookup parameters are properly configured with station code
Applied to: Query SE Table with Station Code
Action: The system calls the table access program GCCTBIO
Logic Flow:
IF SE table lookup parameters are properly configured with station code
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when se table lookup has been completed with a return status.
Trigger Criteria:
Context: An SE table lookup has been completed with a return status
Applied to: Set Valid Port Flag
Action: The return flag equals '0' indicating successful record retrieval
Logic Flow:
IF An SE table lookup has been completed with a return status
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when se table lookup has been completed with a return status.
Trigger Criteria:
Context: An SE table lookup has been completed with a return status
Applied to: Set Invalid Port Flag
Action: The return flag does not equal '0' indicating the record was not found
Logic Flow:
IF An SE table lookup has been completed with a return status
AND 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-00033 (+8)File: GCCU358T.cblBusiness Rule: Count Bills of Lading
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when system is starting to count bills of lading for a train.
Trigger Criteria:
Context: The system is starting to count bills of lading for a train
Applied to: Initialize BOL Count to Zero
Action: The counting process begins
Logic Flow:
IF The system is starting to count bills of lading for a train
AND The counting process begins
THEN:
• The BOL counter is set to zero
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when train list contains multiple equipment items.
Trigger Criteria:
Context: A train list contains multiple equipment items
Applied to: Loop Through Each Equipment Item
Action: Processing bills of lading
Logic Flow:
IF A train list contains multiple equipment items
AND Processing bills of lading
THEN:
• The system iterates through each equipment item from position 1 to the total equipment quantity
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when equipment item is being processed.
Trigger Criteria:
Context: An equipment item is being processed
Applied to: Equipment Has Cargo Key?
Action: Checking for associated cargo
Logic Flow:
IF An equipment item is being processed
AND Checking for associated cargo
THEN:
• If the US CCN key is not spaces, the equipment has cargo; otherwise it does not
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when equipment item has a valid cargo key. ⚠️ COBOL Technical Logic
Trigger Criteria:
Context: An equipment item has a valid cargo key
Applied to: Read Cargo Information from Database
Action: Cargo information is needed
Logic Flow:
IF An equipment item has a valid cargo key
AND Cargo information is needed
THEN:
• The system retrieves cargo details using the US CCN key
Rule Belongs to : GCCU358T.cbl
Business Justification: Defines the strict business conditions required to proceed when cargo lookup has been performed.
Trigger Criteria:
Context: A cargo lookup has been performed
Applied to: Cargo Found?
Action: Validating the lookup result
Logic Flow:
IF A cargo lookup has been performed
AND Validating the lookup result
THEN:
• If cargo is found, continue processing; otherwise skip to next equipment
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when cargo information is available for an equipment item.
Trigger Criteria:
Context: Cargo information is available for an equipment item
Applied to: Check Bond Type and Export Criteria
Action: Determining if cargo qualifies for BOL counting
Logic Flow:
IF Cargo information is available for an equipment item
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when cargo meets the bond type and export criteria.
Trigger Criteria:
Context: Cargo meets the bond type and export criteria
Applied to: Increment BOL Count
Action: Processing qualified cargo
Logic Flow:
IF Cargo meets the bond type and export criteria
AND Processing qualified cargo
THEN:
• The BOL count is increased by one
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when cargo qualifies for bol counting and the port is valid.
Trigger Criteria:
Context: Cargo qualifies for BOL counting and the port is valid
Applied to: Set Train Type to Export
Action: Processing qualified cargo
Logic Flow:
IF Cargo qualifies for BOL counting and the port is valid
AND Processing qualified cargo
THEN:
• The train type indicator is set to export
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when equipment item has been processed.
Trigger Criteria:
Context: An equipment item has been processed
Applied to: More Equipment to Process?
Action: Checking for continuation
Logic Flow:
IF An equipment item has been processed
AND 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-00042 (+2)File: GCCU358T.cblBusiness Rule: Determine Train Type
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when train record exists with a valid train id in the train list.
Trigger Criteria:
Context: A train record exists with a valid train ID in the train list
Applied to: Check 23rd Character of Train ID
Action: The system examines the 23rd character of the train ID (M1005-US-CUST-TRAIN-ID)
Logic Flow:
IF A train record exists with a valid train ID in the train list
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Defines the strict business conditions required to proceed when train record exists and the system is determining train type for a valid port. ⚠️ COBOL Technical Logic
Trigger Criteria:
Context: A train record exists and the system is determining train type for a valid port
Applied to: Set Train Type as Export Train
Action: The 23rd character of the train ID equals 'T'
Logic Flow:
IF A train record exists and the system is determining train type for a valid port
AND The 23rd character of the train ID equals 'T'
THEN:
• The system sets the train type indicator to export train (WS-EXPORT-TRAIN)
Rule Belongs to : GCCU358T.cbl
Business Justification: Defines the strict business conditions required to proceed when train record exists and the system is determining train type for a valid port. ⚠️ COBOL Technical Logic
Trigger Criteria:
Context: A train record exists and the system is determining train type for a valid port
Applied to: Set Train Type as Transit Train
Action: The 23rd character of the train ID does not equal 'T'
Logic Flow:
IF A train record exists and the system is determining train type for a valid port
AND 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-00050 (+4)File: GCCU358T.cblBusiness Rule: Create EDI Root Segment
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when system is creating an edi root segment.
Trigger Criteria:
Context: The system is creating an EDI root segment
Applied to: Set Transmission Prefix to 106 Foreground Mode / Set Transmission Prefix to 003 Background Mode
Action: The processing mode is foreground
Logic Flow:
IF The system is creating an EDI root segment
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Defines the strict business conditions required to proceed when transmission prefix has been determined based on processing mode.
Trigger Criteria:
Context: A transmission prefix has been determined based on processing mode
Applied to: Generate Transmission Number Using Machine Time
Action: The system needs to generate a transmission number
Logic Flow:
IF A transmission prefix has been determined based on processing mode
AND The system needs to generate a transmission number
THEN:
• The machine time is retrieved and combined with the prefix to create the transmission number
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when transmission number has been generated.
Trigger Criteria:
Context: A transmission number has been generated
Applied to: Initialize Root Segment Structure / Set Transaction Set to 358
Action: The system initializes the EDI root segment
Logic Flow:
IF A transmission number has been generated
AND The system initializes the EDI root segment
THEN:
• The root segment structure is cleared and the transaction set is set to '358'
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when edi root segment is ready for insertion into the database.
Trigger Criteria:
Context: An EDI root segment is ready for insertion into the database
Applied to: Insert Successful? / Increment Transmission Number / Retry Insert with New Number
Action: The insertion fails due to a duplicate transmission number
Logic Flow:
IF An EDI root segment is ready for insertion into the database
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when edi root segment is initialized with transmission number and transaction set 358.
Trigger Criteria:
Context: The EDI root segment is initialized with transmission number and transaction set 358
Applied to: Insert Root Segment into EDI Database
Action: The system attempts to insert the root segment
Logic Flow:
IF The EDI root segment is initialized with transmission number and transaction set 358
AND 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
Business Justification: Defines the strict business conditions required to proceed when train manifest needs to be processed for edi transmission.
Trigger Criteria:
Context: A train manifest needs to be processed for EDI transmission
Applied to: Initialize M10 Manifest Header
Action: The system begins creating the M10 manifest header segment
Logic Flow:
IF A train manifest needs to be processed for EDI transmission
AND The system begins creating the M10 manifest header segment
THEN:
• The M10 segment is initialized with empty values to prepare for data population
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when m10 manifest header segment is being created.
Trigger Criteria:
Context: An M10 manifest header segment is being created
Applied to: M10, SCAC: CPRS, Transport Type: R, Country: CA
Action: The system sets the standard transport fields
Logic Flow:
IF An M10 manifest header segment is being created
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Defines the strict business conditions required to proceed when m10 manifest header is being populated with train information.
Trigger Criteria:
Context: An M10 manifest header is being populated with train information
Applied to: Set Train ID as Vessel Name
Action: The system assigns the vessel name field
Logic Flow:
IF An M10 manifest header is being populated with train information
AND The system assigns the vessel name field
THEN:
• The customer train ID from the train list is copied to the M10 vessel name field
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when train is being processed for a valid port and train type needs to be determined.
Trigger Criteria:
Context: A train is being processed for a valid port and train type needs to be determined
Applied to: Check Train ID Character 23
Action: The system examines the 23rd character of the train ID
Logic Flow:
IF A train is being processed for a valid port and train type needs to be determined
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when m10 manifest header requires a voyage number.
Trigger Criteria:
Context: An M10 manifest header requires a voyage number
Applied to: Generate Voyage Number from Creation Date
Action: The system generates the voyage number
Logic Flow:
IF An M10 manifest header requires a voyage number
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Defines the strict business conditions required to proceed when m10 manifest header is being populated with cargo information.
Trigger Criteria:
Context: An M10 manifest header is being populated with cargo information
Applied to: Set Bill of Lading Quantity
Action: The system sets the quantity field
Logic Flow:
IF An M10 manifest header is being populated with cargo information
AND The system sets the quantity field
THEN:
• The bill of lading quantity (count of valid cargo entries) is assigned to the M10 quantity field
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when train is classified as an export train and is being processed for a valid port.
Trigger Criteria:
Context: A train is classified as an export train and is being processed for a valid port
Applied to: K, Application Type: 28
Action: The system determines the manifest type and application type
Logic Flow:
IF A train is classified as an export train and is being processed for a valid port
AND 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'
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when train is either not an export train or not processing for a valid port.
Trigger Criteria:
Context: A train is either not an export train or not processing for a valid port
Applied to: S
Action: The system determines the manifest type
Logic Flow:
IF A train is either not an export train or not processing for a valid port
AND The system determines the manifest type
THEN:
• The manifest type code is set to 'S'
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when m10 manifest header is being finalized with response information.
Trigger Criteria:
Context: An M10 manifest header is being finalized with response information
Applied to: Y, Record Type: TRAIN, Record Number: Train ID
Action: The system sets the standard response fields
Logic Flow:
IF An M10 manifest header is being finalized with response information
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when m10 manifest header segment has been fully populated with train and cargo information.
Trigger Criteria:
Context: An M10 manifest header segment has been fully populated with train and cargo information
Applied to: Insert M10 Segment into EDI Transmission
Action: The system processes the segment for EDI transmission
Logic Flow:
IF An M10 manifest header segment has been fully populated with train and cargo information
AND 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-00065 (+10)File: GCCU358T.cblBusiness Rule: Build P4 Port Information
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when system needs to create a p4 port information segment.
Trigger Criteria:
Context: The system needs to create a P4 port information segment
Applied to: Initialize P4 Segment
Action: The P4 processing begins
Logic Flow:
IF The system needs to create a P4 port information segment
AND The P4 processing begins
THEN:
• The P4 segment structure is initialized to clear any previous data
Rule Belongs to : GCCU358T.cbl
Business Justification: Defines the strict business conditions required to proceed when p4 segment is being created.
Trigger Criteria:
Context: A P4 segment is being created
Applied to: Set P4 Identifier
Action: The segment identifier needs to be set
Logic Flow:
IF A P4 segment is being created
AND The segment identifier needs to be set
THEN:
• The identifier is set to 'P4' to indicate this is a port information segment
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when train has an origin station code in the train list.
Trigger Criteria:
Context: A train has an origin station code in the train list
Applied to: Set Departure Port Location
Action: The P4 segment departure port needs to be populated
Logic Flow:
IF A train has an origin station code in the train list
AND The P4 segment departure port needs to be populated
THEN:
• The departure port location is set to the train's origin station code
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when train has estimated departure date information.
Trigger Criteria:
Context: A train has estimated departure date information
Applied to: Get Estimated Departure Date
Action: The P4 segment date field needs to be populated
Logic Flow:
IF A train has estimated departure date information
AND The P4 segment date field needs to be populated
THEN:
• The estimated departure date is extracted from the train's EDA field
Rule Belongs to : GCCU358T.cbl
Business Justification: Defines the strict business conditions required to proceed when estimated departure date is either spaces or zeros.
Trigger Criteria:
Context: The estimated departure date is either spaces or zeros
Applied to: Date Available?
Action: The system checks for date availability
Logic Flow:
IF The estimated departure date is either spaces or zeros
AND The system checks for date availability
THEN:
• The century component is set to 0 to indicate no date available
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when estimated departure date is available with a two-digit year.
Trigger Criteria:
Context: An estimated departure date is available with a two-digit year
Applied to: Year < 70?
Action: The year portion is less than 70
Logic Flow:
IF An estimated departure date is available with a two-digit year
AND The year portion is less than 70
THEN:
• The century is set to 20 to represent years 2000-2069
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when estimated departure date is available with a two-digit year.
Trigger Criteria:
Context: An estimated departure date is available with a two-digit year
Applied to: Year < 70?
Action: The year portion is 70 or greater
Logic Flow:
IF An estimated departure date is available with a two-digit year
AND The year portion is 70 or greater
THEN:
• The century is set to 19 to represent years 1970-1999
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when system has calculated the total number of valid bills of lading for the train.
Trigger Criteria:
Context: The system has calculated the total number of valid bills of lading for the train
Applied to: Set Bill of Lading Quantity
Action: The P4 segment quantity field needs to be populated
Logic Flow:
IF The system has calculated the total number of valid bills of lading for the train
AND The P4 segment quantity field needs to be populated
THEN:
• The quantity is set to the calculated bill of lading count
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when train has estimated departure time information.
Trigger Criteria:
Context: A train has estimated departure time information
Applied to: Set Estimated Departure Time
Action: The P4 segment time field needs to be populated
Logic Flow:
IF A train has estimated departure time information
AND The P4 segment time field needs to be populated
THEN:
• The time is set to the train's estimated time of arrival (ETA) value
Rule Belongs to : GCCU358T.cbl
Business Justification: Defines the strict business conditions required to proceed when train has firms code information.
Trigger Criteria:
Context: A train has FIRMS code information
Applied to: Set FIRMS Code
Action: The P4 segment ID code field needs to be populated
Logic Flow:
IF A train has FIRMS code information
AND The P4 segment ID code field needs to be populated
THEN:
• The ID code is set to the train's FIRMS code value
Rule Belongs to : GCCU358T.cbl
Business Justification: Defines the strict business conditions required to proceed when p4 segment has been fully populated with port information.
Trigger Criteria:
Context: A P4 segment has been fully populated with port information
Applied to: Insert P4 Segment into EDI
Action: The segment needs to be added to the EDI transmission
Logic Flow:
IF A P4 segment has been fully populated with port information
AND The segment needs to be added to the EDI transmission
THEN:
• The P4 segment is inserted into the transmission data structure
R-GCCU358T-cbl-00076 (+8)File: GCCU358T.cblBusiness Rule: Process Equipment VID Segments
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when equipment processing is required for edi transmission.
Trigger Criteria:
Context: Equipment processing is required for EDI transmission
Applied to: Initialize VID Segment
Action: VID segment processing begins
Logic Flow:
IF Equipment processing is required for EDI transmission
AND VID segment processing begins
THEN:
• VID segment structure is cleared and ready for data population
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when vid segment is being created.
Trigger Criteria:
Context: VID segment is being created
Applied to: Set VID Identifier to 'VID'
Action: Segment identifier needs to be set
Logic Flow:
IF VID segment is being created
AND Segment identifier needs to be set
THEN:
• VID identifier is set to 'VID'
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when equipment is being processed at a specific index position.
Trigger Criteria:
Context: Equipment is being processed at a specific index position
Applied to: Get Equipment Type from Train List
Action: Equipment type data is required for VID segment
Logic Flow:
IF Equipment is being processed at a specific index position
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when equipment is being processed at a specific index position.
Trigger Criteria:
Context: Equipment is being processed at a specific index position
Applied to: Get Equipment Initials from Train List
Action: Equipment initials are required for VID segment
Logic Flow:
IF Equipment is being processed at a specific index position
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when equipment number needs to be assigned to vid segment.
Trigger Criteria:
Context: Equipment number needs to be assigned to VID segment
Applied to: Car Number Available in Cargo?
Action: Car number from cargo record is not empty
Logic Flow:
IF Equipment number needs to be assigned to VID segment
AND Car number from cargo record is not empty
THEN:
• Car number from cargo record is used for VID equipment number
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when equipment load/empty status needs to be determined.
Trigger Criteria:
Context: Equipment load/empty status needs to be determined
Applied to: Load/Empty Status = 'H'?
Action: Train list shows load/empty status as 'H'
Logic Flow:
IF Equipment load/empty status needs to be determined
AND Train list shows load/empty status as 'H'
THEN:
• VID load/empty status is set to 'E' for empty
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when equipment has associated cargo and train list shows empty status 'e'.
Trigger Criteria:
Context: Equipment has associated cargo and train list shows empty status 'E'
Applied to: Has Cargo and Status='E' and Weight>1?
Action: Cargo weight is greater than 1
Logic Flow:
IF Equipment has associated cargo and train list shows empty status 'E'
AND Cargo weight is greater than 1
THEN:
• VID load/empty status is set to 'L' for loaded
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when equipment load/empty status is not 'h' and does not meet weight override conditions.
Trigger Criteria:
Context: Equipment load/empty status is not 'H' and does not meet weight override conditions
Applied to: Use Original Load/Empty Status
Action: No special status conversion rules apply
Logic Flow:
IF Equipment load/empty status is not 'H' and does not meet weight override conditions
AND No special status conversion rules apply
THEN:
• Original load/empty status from train list is used for VID segment
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when vid segment has been populated with all required equipment data.
Trigger Criteria:
Context: VID segment has been populated with all required equipment data
Applied to: Insert VID Segment to EDI Data
Action: VID segment is ready for transmission
Logic Flow:
IF VID segment has been populated with all required equipment data
AND VID segment is ready for transmission
THEN:
• VID segment is inserted into EDI transmission data stream
R-GCCU358T-cbl-00085 (+8)File: GCCU358T.cblBusiness Rule: Process Bill of Lading MBL Segments
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when system is processing cargo equipment for edi transmission.
Trigger Criteria:
Context: The system is processing cargo equipment for EDI transmission
Applied to: Initialize MBL Segment
Action: A new MBL segment needs to be created for cargo
Logic Flow:
IF The system is processing cargo equipment for EDI transmission
AND A new MBL segment needs to be created for cargo
THEN:
• The system initializes the MBL segment structure and sets the identifier to 'MBL'
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when system is processing mbl segment for cargo equipment.
Trigger Criteria:
Context: The system is processing MBL segment for cargo equipment
Applied to: Valid Port?
Action: The port is valid
Logic Flow:
IF The system is processing MBL segment for cargo equipment
AND The port is valid
THEN:
• The system extracts SCAC code and BOL number from the MBL export key structure
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when system is processing mbl segment for cargo equipment.
Trigger Criteria:
Context: The system is processing MBL segment for cargo equipment
Applied to: Extract SCAC and BOL from Equipment Data
Action: The port is not valid
Logic Flow:
IF The system is processing MBL segment for cargo equipment
AND The port is not valid
THEN:
• The system extracts SCAC code from equipment SCAC field and BOL number from equipment CCN ID field
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when system is processing mbl segment with scac code information.
Trigger Criteria:
Context: The system is processing MBL segment with SCAC code information
Applied to: SCAC = 'CPRS'?
Action: The SCAC code equals 'CPRS'
Logic Flow:
IF The system is processing MBL segment with SCAC code information
AND The SCAC code equals 'CPRS'
THEN:
• The system sets the automated carrier response code to 'Y'
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when system is processing mbl segment with a non-cprs scac code.
Trigger Criteria:
Context: The system is processing MBL segment with a non-CPRS SCAC code
Applied to: Lookup SCAC in SS Table
Action: The SCAC code is not 'CPRS'
Logic Flow:
IF The system is processing MBL segment with a non-CPRS SCAC code
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when system has performed scac table lookup for a carrier.
Trigger Criteria:
Context: The system has performed SCAC table lookup for a carrier
Applied to: SCAC Found and Automated?
Action: The SCAC lookup is successful and the carrier is marked as automated with 'Y'
Logic Flow:
IF The system has performed SCAC table lookup for a carrier
AND 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'
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when system has performed scac table lookup for a carrier.
Trigger Criteria:
Context: The system has performed SCAC table lookup for a carrier
Applied to: Set Automated Carrier = 'N'
Action: The SCAC lookup fails or the carrier is not marked as automated
Logic Flow:
IF The system has performed SCAC table lookup for a carrier
AND The SCAC lookup fails or the carrier is not marked as automated
THEN:
• The system sets the automated carrier response code to 'N'
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when system is processing mbl segment for equipment with cargo information.
Trigger Criteria:
Context: The system is processing MBL segment for equipment with cargo information
Applied to: Empty Equipment with BOL Type 23?
Action: The equipment load/empty status is 'E' and has associated cargo with BOL type code '23'
Logic Flow:
IF The system is processing MBL segment for equipment with cargo information
AND 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'
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when system has completed processing mbl segment with all required data.
Trigger Criteria:
Context: The system has completed processing MBL segment with all required data
Applied to: Insert MBL Segment to EDI
Action: The MBL segment is ready for transmission
Logic Flow:
IF The system has completed processing MBL segment with all required data
AND 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-00094 (+4)File: GCCU358T.cblBusiness Rule: Process N9 Reference Segments
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when cargo record exists with a specific bill of lading type.
Trigger Criteria:
Context: A cargo record exists with a specific bill of lading type
Applied to: Is Bill Transportation Export?
Action: The system processes the cargo record and the bill of lading type is transportation export (88-GCUSRT-M1201-TRANSP-EXPORT condition is true)
Logic Flow:
IF A cargo record exists with a specific bill of lading type
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when system has determined that an n9 segment needs to be created for a transportation export bill.
Trigger Criteria:
Context: The system has determined that an N9 segment needs to be created for a transportation export bill
Applied to: Initialize N9 Segment
Action: The N9 segment processing begins
Logic Flow:
IF The system has determined that an N9 segment needs to be created for a transportation export bill
AND The N9 segment processing begins
THEN:
• The system should initialize the N9 data structure to clear any previous values
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when n9 segment is being created for a transportation export bill.
Trigger Criteria:
Context: An N9 segment is being created for a transportation export bill
Applied to: Set Reference Number Qualifier to 'IB'
Action: The system populates the reference number qualifier field
Logic Flow:
IF An N9 segment is being created for a transportation export bill
AND The system populates the reference number qualifier field
THEN:
• The reference number qualifier should be set to 'IB' to indicate in-bond reference
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when n9 segment is being created and the cargo record contains an entry number.
Trigger Criteria:
Context: An N9 segment is being created and the cargo record contains an entry number
Applied to: Set Entry Number from Cargo Record
Action: The system populates the reference number field
Logic Flow:
IF An N9 segment is being created and the cargo record contains an entry number
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Defines the strict business conditions required to proceed when n9 segment has been fully populated with reference qualifier and entry number.
Trigger Criteria:
Context: An N9 segment has been fully populated with reference qualifier and entry number
Applied to: Insert N9 Segment into EDI Data
Action: The system processes the completed N9 segment
Logic Flow:
IF An N9 segment has been fully populated with reference qualifier and entry number
AND 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 (+11)File: GCCU358T.cblBusiness Rule: Update Train Status to SENT
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when train id exists in the system.
Trigger Criteria:
Context: A train ID exists in the system
Applied to: Retrieve Train Record
Action: The system needs to update train status
Logic Flow:
IF A train ID exists in the system
AND The system needs to update train status
THEN:
• The train record is retrieved using the train ID as the key
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when train retrieval operation has been performed.
Trigger Criteria:
Context: A train retrieval operation has been performed
Applied to: Train Found?
Action: The system checks if the train record was found
Logic Flow:
IF A train retrieval operation has been performed
AND The system checks if the train record was found
THEN:
• Processing continues only if the train record exists, otherwise the process terminates
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when train record exists with cargo information and port details.
Trigger Criteria:
Context: A train record exists with cargo information and port details
Applied to: Has Valid Bills or Valid Port?
Action: The system evaluates processing eligibility
Logic Flow:
IF A train record exists with cargo information and port details
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when train has valid bills of lading or operates through a valid port.
Trigger Criteria:
Context: A train has valid bills of lading or operates through a valid port
Applied to: Set Train Status to SENT
Action: The system processes the train for EDI transmission
Logic Flow:
IF A train has valid bills of lading or operates through a valid port
AND The system processes the train for EDI transmission
THEN:
• The train status is set to SENT to indicate successful processing eligibility
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when train status has been set to sent.
Trigger Criteria:
Context: A train status has been set to SENT
Applied to: Set Train Send EDI Flag to TRUE
Action: The system configures transmission settings
Logic Flow:
IF A train status has been set to SENT
AND The system configures transmission settings
THEN:
• The EDI send flag is set to TRUE to enable electronic data interchange transmission
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when train has no valid bills of lading and does not operate through a valid port.
Trigger Criteria:
Context: A train has no valid bills of lading and does not operate through a valid port
Applied to: Set Train Status to ACK
Action: The system evaluates the train for processing
Logic Flow:
IF A train has no valid bills of lading and does not operate through a valid port
AND The system evaluates the train for processing
THEN:
• The train status is set to ACK to indicate acknowledgment without transmission
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when train status has been set to ack.
Trigger Criteria:
Context: A train status has been set to ACK
Applied to: Previously Marked to Send?
Action: The system determines final EDI configuration
Logic Flow:
IF A train status has been set to ACK
AND The system determines final EDI configuration
THEN:
• The system checks if the train was previously marked to send EDI transmissions
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when train status is ack and the train was previously marked to send edi.
Trigger Criteria:
Context: A train status is ACK and the train was previously marked to send EDI
Applied to: Set Delete Required Flag
Action: The system finalizes train disposition
Logic Flow:
IF A train status is ACK and the train was previously marked to send EDI
AND The system finalizes train disposition
THEN:
• The delete required flag is set to TRUE to trigger train record cleanup
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when train status is ack and the train was not previously marked to send edi.
Trigger Criteria:
Context: A train status is ACK and the train was not previously marked to send EDI
Applied to: Set Do Not Send EDI Flag
Action: The system finalizes EDI configuration
Logic Flow:
IF A train status is ACK and the train was not previously marked to send EDI
AND The system finalizes EDI configuration
THEN:
• The do not send EDI flag is set to TRUE to prevent transmission attempts
Rule Belongs to : GCCU358T.cbl
Business Justification: Defines the strict business conditions required to proceed when train status and edi flags have been determined.
Trigger Criteria:
Context: Train status and EDI flags have been determined
Applied to: Update Train Record
Action: The system completes status processing
Logic Flow:
IF Train status and EDI flags have been determined
AND The system completes status processing
THEN:
• All changes are saved to the train record in the database
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when train record has been updated with new status and flags.
Trigger Criteria:
Context: Train record has been updated with new status and flags
Applied to: Delete Required?
Action: The system checks for additional processing requirements
Logic Flow:
IF Train record has been updated with new status and flags
AND The system checks for additional processing requirements
THEN:
• Deletion process is triggered only if the delete required flag is set to TRUE
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when train has been marked with delete required flag set to true.
Trigger Criteria:
Context: A train has been marked with delete required flag set to TRUE
Applied to: Trigger Train Deletion Process
Action: The system processes deletion requirements
Logic Flow:
IF A train has been marked with delete required flag set to TRUE
AND The system processes deletion requirements
THEN:
• The train deletion process is initiated by calling the appropriate deletion program
R-GCCU358T-cbl-00111 (+10)File: GCCU358T.cblBusiness Rule: Update Train Status to ACK
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when train processing request with customer train id.
Trigger Criteria:
Context: A train processing request with customer train ID
Applied to: Retrieve Train Record from Database
Action: The system needs to update train status
Logic Flow:
IF A train processing request with customer train ID
AND The system needs to update train status
THEN:
• The system retrieves the train record from database using the customer train ID
Rule Belongs to : GCCU358T.cbl
Business Justification: Defines the strict business conditions required to proceed when database lookup for train record has been performed.
Trigger Criteria:
Context: A database lookup for train record has been performed
Applied to: Train Found?
Action: The system checks if train record was found
Logic Flow:
IF A database lookup for train record has been performed
AND The system checks if train record was found
THEN:
• The system continues processing if train found, otherwise exits the process
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when train record with bill of lading count and port validation status.
Trigger Criteria:
Context: A train record with bill of lading count and port validation status
Applied to: Has Valid Bills of Lading OR Valid Port?
Action: The system evaluates transmission requirements
Logic Flow:
IF A train record with bill of lading count and port validation status
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when train with valid bills of lading or valid port status.
Trigger Criteria:
Context: A train with valid bills of lading OR valid port status
Applied to: Set Train Status to SENT Mark for EDI Transmission
Action: The system determines EDI transmission is required
Logic Flow:
IF A train with valid bills of lading OR valid port status
AND The system determines EDI transmission is required
THEN:
• The system sets train status to SENT and marks train for EDI transmission
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when train with no valid bills of lading and invalid port status.
Trigger Criteria:
Context: A train with no valid bills of lading AND invalid port status
Applied to: Set Train Status to ACK No Transmission Required
Action: The system determines no EDI transmission is required
Logic Flow:
IF A train with no valid bills of lading AND invalid port status
AND The system determines no EDI transmission is required
THEN:
• The system sets train status to ACK indicating no transmission required
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when train with ack status that requires no edi transmission.
Trigger Criteria:
Context: A train with ACK status that requires no EDI transmission
Applied to: Was Train Previously Marked for EDI Send?
Action: The system evaluates previous EDI send configuration
Logic Flow:
IF A train with ACK status that requires no EDI transmission
AND The system evaluates previous EDI send configuration
THEN:
• The system checks if train was previously marked to send EDI
Rule Belongs to : GCCU358T.cbl
Business Justification: Defines the strict business conditions required to proceed when train with ack status that was previously marked for edi send.
Trigger Criteria:
Context: A train with ACK status that was previously marked for EDI send
Applied to: Mark Train for Deletion Set DELETE-REQUIRED Flag
Action: The system determines train configuration has changed
Logic Flow:
IF A train with ACK status that was previously marked for EDI send
AND The system determines train configuration has changed
THEN:
• The system sets DELETE-REQUIRED flag to mark train for deletion process
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when train with ack status that was never previously marked for edi send.
Trigger Criteria:
Context: A train with ACK status that was never previously marked for EDI send
Applied to: Set Train to DO-NOT-SEND-EDI
Action: The system determines train should not send EDI
Logic Flow:
IF A train with ACK status that was never previously marked for EDI send
AND The system determines train should not send EDI
THEN:
• The system sets train configuration to DO-NOT-SEND-EDI
Rule Belongs to : GCCU358T.cbl
Business Justification: Defines the strict business conditions required to proceed when train record with updated status and configuration flags.
Trigger Criteria:
Context: A train record with updated status and configuration flags
Applied to: Update Train Record in Database
Action: The system completes status determination logic
Logic Flow:
IF A train record with updated status and configuration flags
AND The system completes status determination logic
THEN:
• The system updates the train record in the database with new status and flags
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when train record that has been updated in the database.
Trigger Criteria:
Context: A train record that has been updated in the database
Applied to: Train Marked for Deletion?
Action: The system evaluates post-update processing requirements
Logic Flow:
IF A train record that has been updated in the database
AND The system evaluates post-update processing requirements
THEN:
• The system checks if train has DELETE-REQUIRED flag set
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when train record marked with delete-required flag.
Trigger Criteria:
Context: A train record marked with DELETE-REQUIRED flag
Applied to: Trigger Train Deletion Process
Action: The system determines deletion process is needed
Logic Flow:
IF A train record marked with DELETE-REQUIRED flag
AND The system determines deletion process is needed
THEN:
• The system triggers external train deletion process
R-GCCU358T-cbl-00122 (+8)File: GCCU358T.cblBusiness Rule: Handle Delete Required Status
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when train with equipment containing cargo records and port validation status.
Trigger Criteria:
Context: A train with equipment containing cargo records and port validation status
Applied to: Has Valid Bills of Lading or Valid Port?
Action: The system checks if the train has valid bills of lading greater than zero OR operates through a valid port
Logic Flow:
IF A train with equipment containing cargo records and port validation status
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when train that has valid bills of lading greater than zero or operates through a valid port.
Trigger Criteria:
Context: A train that has valid bills of lading greater than zero OR operates through a valid port
Applied to: Set Train Status to SENT
Action: The system processes the train status update
Logic Flow:
IF A train that has valid bills of lading greater than zero OR operates through a valid port
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when train that has no valid bills of lading (zero count) and does not operate through a valid port.
Trigger Criteria:
Context: A train that has no valid bills of lading (zero count) AND does not operate through a valid port
Applied to: Set Train Status to ACK
Action: The system processes the train status update
Logic Flow:
IF A train that has no valid bills of lading (zero count) AND does not operate through a valid port
AND The system processes the train status update
THEN:
• The train status is set to ACK in both train list and train root records
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when train that is being set to ack status due to no valid cargo.
Trigger Criteria:
Context: A train that is being set to ACK status due to no valid cargo
Applied to: Was Train Previously Set to Send EDI?
Action: The system evaluates the train's previous EDI send configuration
Logic Flow:
IF A train that is being set to ACK status due to no valid cargo
AND The system evaluates the train's previous EDI send configuration
THEN:
• The system determines whether the train was previously marked to send EDI
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when train with ack status that was previously configured to send edi.
Trigger Criteria:
Context: A train with ACK status that was previously configured to send EDI
Applied to: Mark Train for Deletion Required
Action: The system updates the train's EDI configuration
Logic Flow:
IF A train with ACK status that was previously configured to send EDI
AND The system updates the train's EDI configuration
THEN:
• The train is marked as deletion required in both train list and train root records
Rule Belongs to : GCCU358T.cbl
Business Justification: Defines the strict business conditions required to proceed when train with ack status that was not previously configured to send edi.
Trigger Criteria:
Context: A train with ACK status that was not previously configured to send EDI
Applied to: Set Train to Do Not Send EDI
Action: The system updates the train's EDI configuration
Logic Flow:
IF A train with ACK status that was not previously configured to send EDI
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when train with updated status and edi configuration settings.
Trigger Criteria:
Context: A train with updated status and EDI configuration settings
Applied to: Update Train Status in Database
Action: The system performs the database update operation
Logic Flow:
IF A train with updated status and EDI configuration settings
AND The system performs the database update operation
THEN:
• The train root segment is replaced in the database with the new status information
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when train that has been updated with new status information.
Trigger Criteria:
Context: A train that has been updated with new status information
Applied to: Is Delete Required?
Action: The system evaluates the train's deletion requirement flag
Logic Flow:
IF A train that has been updated with new status information
AND The system evaluates the train's deletion requirement flag
THEN:
• The system determines whether deletion cleanup processes need to be initiated
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when train that has been marked as deletion required.
Trigger Criteria:
Context: A train that has been marked as deletion required
Applied to: Trigger Train Deletion Process
Action: The system initiates cleanup processes
Logic Flow:
IF A train that has been marked as deletion required
AND The system initiates cleanup processes
THEN:
• The GCT1121E deletion process is spawned to handle removal of associated EDI transmission records
R-GCCU358T-cbl-00153 (+10)File: GCCU358T.cblBusiness Rule: Process AEI Train Send
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when train record exists in the system.
Trigger Criteria:
Context: A train record exists in the system
Applied to: Train Status is ACK?
Action: The system checks the train status for AEI processing eligibility
Logic Flow:
IF A train record exists in the system
AND The system checks the train status for AEI processing eligibility
THEN:
• The train must have ACK status to proceed with AEI processing
Rule Belongs to : GCCU358T.cbl
Business Justification: Defines the strict business conditions required to proceed when train has ack status.
Trigger Criteria:
Context: A train has ACK status
Applied to: Train was AEI Sent?
Action: The system validates AEI send eligibility
Logic Flow:
IF A train has ACK status
AND The system validates AEI send eligibility
THEN:
• The train must have AEI-SEND flag set to true to continue processing
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when train has ack status and aei-send flag is true.
Trigger Criteria:
Context: A train has ACK status and AEI-SEND flag is true
Applied to: Train ID ends with 'T' Export Train?
Action: The system checks the train type for Canadian customs processing
Logic Flow:
IF A train has ACK status and AEI-SEND flag is true
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when train qualifies for aei processing (ack status, aei-send true, export train).
Trigger Criteria:
Context: A train qualifies for AEI processing (ACK status, AEI-SEND true, export train)
Applied to: Set Transaction Code GCT1461E
Action: The system prepares the Canadian customs transaction
Logic Flow:
IF A train qualifies for AEI processing (ACK status, AEI-SEND true, export train)
AND The system prepares the Canadian customs transaction
THEN:
• The transaction code must be set to 'GCT1461E'
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when canadian customs transaction is being prepared.
Trigger Criteria:
Context: A Canadian customs transaction is being prepared
Applied to: Set Train Details ID, Stations, Date, Time
Action: The system sets train details for customs processing
Logic Flow:
IF A Canadian customs transaction is being prepared
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when equipment records are being processed for canadian customs.
Trigger Criteria:
Context: Equipment records are being processed for Canadian customs
Applied to: Equipment is Container?
Action: The system encounters equipment with container indicator 'C'
Logic Flow:
IF Equipment records are being processed for Canadian customs
AND The system encounters equipment with container indicator 'C'
THEN:
• The container equipment must be skipped and not included in the car loading process
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when non-container equipment is being processed for canadian customs.
Trigger Criteria:
Context: Non-container equipment is being processed for Canadian customs
Applied to: Load Car Initials and Number
Action: The system loads car identification information
Logic Flow:
IF Non-container equipment is being processed for Canadian customs
AND The system loads car identification information
THEN:
• The system must extract equipment initials and convert equipment number to 6-digit car number format
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when car identification information has been loaded.
Trigger Criteria:
Context: Car identification information has been loaded
Applied to: Determine Load/Empty Status
Action: The system determines load/empty status for customs reporting
Logic Flow:
IF Car identification information has been loaded
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when car load/empty status has been determined.
Trigger Criteria:
Context: Car load/empty status has been determined
Applied to: Set Equipment Type LO=L, ET=E, Other=Space
Action: The system classifies equipment type for Canadian customs
Logic Flow:
IF Car load/empty status has been determined
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when all car information has been loaded and formatted for canadian customs. ⚠️ COBOL Technical Logic
Trigger Criteria:
Context: All car information has been loaded and formatted for Canadian customs
Applied to: Send Transaction to Canadian Customs
Action: The system submits the transaction
Logic Flow:
IF All car information has been loaded and formatted for Canadian customs
AND The system submits the transaction
THEN:
• The system must call the CIMS program to send the customs transaction
Rule Belongs to : GCCU358T.cbl
Business Justification: Defines the strict business conditions required to proceed when customs transaction has been sent to canadian customs.
Trigger Criteria:
Context: The customs transaction has been sent to Canadian customs
Applied to: Write Message to Queue
Action: The system queues the message for processing
Logic Flow:
IF The customs transaction has been sent to Canadian customs
AND 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-00164 (+10)File: GCCU358T.cblBusiness Rule: Load Car Information for CDN Send
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when equipment is being processed for car loading.
Trigger Criteria:
Context: Equipment is being processed for car loading
Applied to: Is Equipment a Container?
Action: The equipment container indicator is 'C'
Logic Flow:
IF Equipment is being processed for car loading
AND The equipment container indicator is 'C'
THEN:
• Skip processing this equipment and continue to next equipment
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when equipment is being processed for car loading.
Trigger Criteria:
Context: Equipment is being processed for car loading
Applied to: Load Current Equipment L/E Status
Action: There is no more equipment OR the next equipment is not a container
Logic Flow:
IF Equipment is being processed for car loading
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when equipment is being processed for car loading.
Trigger Criteria:
Context: Equipment is being processed for car loading
Applied to: Load Equipment Number
Action: Equipment number needs to be recorded
Logic Flow:
IF Equipment is being processed for car loading
AND Equipment number needs to be recorded
THEN:
• Move the equipment number from train list to working storage car number field
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when equipment is being processed for car loading.
Trigger Criteria:
Context: Equipment is being processed for car loading
Applied to: Equipment Type = LO?
Action: The equipment type is 'LO' (Locomotive)
Logic Flow:
IF Equipment is being processed for car loading
AND The equipment type is 'LO' (Locomotive)
THEN:
• Set the car kind to 'L' in the customs car record
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when equipment is not a container.
Trigger Criteria:
Context: Equipment is not a container
Applied to: Load Equipment Initials
Action: Processing equipment for car loading
Logic Flow:
IF Equipment is not a container
AND Processing equipment for car loading
THEN:
• Move the equipment initials from train list to customs car initials field
Rule Belongs to : GCCU358T.cbl
Business Justification: Defines the strict business conditions required to proceed when current equipment is being processed and there is a next equipment.
Trigger Criteria:
Context: Current equipment is being processed and there is a next equipment
Applied to: More Equipment Available?
Action: The next equipment container indicator is 'C'
Logic Flow:
IF Current equipment is being processed and there is a next equipment
AND The next equipment container indicator is 'C'
THEN:
• Set the current equipment load/empty status to 'L' (Loaded)
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when equipment number has been loaded into working storage.
Trigger Criteria:
Context: Equipment number has been loaded into working storage
Applied to: Convert to 6-Digit Car Number
Action: Car number needs to be formatted for customs
Logic Flow:
IF Equipment number has been loaded into working storage
AND Car number needs to be formatted for customs
THEN:
• Convert the car number to 6-digit format and move to customs car number field
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when equipment is not locomotive type.
Trigger Criteria:
Context: Equipment is not locomotive type
Applied to: Equipment Type = ET?
Action: The equipment type is 'ET' (End of Train)
Logic Flow:
IF Equipment is not locomotive type
AND The equipment type is 'ET' (End of Train)
THEN:
• Set the car kind to 'E' in the customs car record
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when equipment is not locomotive type.
Trigger Criteria:
Context: Equipment is not locomotive type
Applied to: Set Car Kind to Spaces
Action: The equipment type is not 'ET' (End of Train)
Logic Flow:
IF Equipment is not locomotive type
AND The equipment type is not 'ET' (End of Train)
THEN:
• Set the car kind to spaces in the customs car record
Rule Belongs to : GCCU358T.cbl
Business Justification: Defines the strict business conditions required to proceed when car information has been loaded into customs record. ⚠️ COBOL Technical Logic
Trigger Criteria:
Context: Car information has been loaded into customs record
Applied to: Increment Car Counter
Action: Car processing is complete
Logic Flow:
IF Car information has been loaded into customs record
AND Car processing is complete
THEN:
• Add 1 to the car counter (WS-SUB2) for next car position
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when equipment processing is complete. ⚠️ COBOL Technical Logic
Trigger Criteria:
Context: Equipment processing is complete
Applied to: Increment Equipment Counter
Action: Moving to next equipment
Logic Flow:
IF Equipment processing is complete
AND Moving to next equipment
THEN:
• Add 1 to the equipment sequence counter (WS-SUB3) for next equipment position
Business Justification: Ensures correct system behavior and process compliance when equipment entry exists with a us ccn key that is not spaces.
Trigger Criteria:
Context: An equipment entry exists with a US CCN key that is not spaces
Applied to: Retrieve Cargo Record by CCN Key
Action: The system processes the equipment entry
Logic Flow:
IF An equipment entry exists with a US CCN key that is not spaces
AND The system processes the equipment entry
THEN:
• The system retrieves the cargo record using the US CCN key as the search criteria
Rule Belongs to : GCCU358T.cbl
Business Justification: Defines the strict business conditions required to proceed when cargo record search has been performed using the us ccn key.
Trigger Criteria:
Context: A cargo record search has been performed using the US CCN key
Applied to: Cargo Found?
Action: The system evaluates the search results
Logic Flow:
IF A cargo record search has been performed using the US CCN key
AND The system evaluates the search results
THEN:
• The system determines if cargo was found and sets the cargo found indicator accordingly
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when cargo record exists with an in-bond type code.
Trigger Criteria:
Context: A cargo record exists with an in-bond type code
Applied to: Bond Type = 'TR' Transit?
Action: The system evaluates the in-bond type code
Logic Flow:
IF A cargo record exists with an in-bond type code
AND The system evaluates the in-bond type code
THEN:
• The system determines if the bond type equals 'TR' for transit cargo
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when cargo record exists with bol type codes and manifest type codes.
Trigger Criteria:
Context: A cargo record exists with BOL type codes and manifest type codes
Applied to: Export Type Valid?
Action: The system evaluates the cargo type codes
Logic Flow:
IF A cargo record exists with BOL type codes and manifest type codes
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when export type cargo exists and a port validation indicator is set.
Trigger Criteria:
Context: Export type cargo exists and a port validation indicator is set
Applied to: Valid Port?
Action: The system evaluates port authorization for export cargo
Logic Flow:
IF Export type cargo exists and a port validation indicator is set
AND The system evaluates port authorization for export cargo
THEN:
• The system confirms the port is valid for processing the export cargo type
Rule Belongs to : GCCU358T.cbl
Business Justification: Defines the strict business conditions required to proceed when cargo has either transit bond type 'tr' or valid export type with authorized port.
Trigger Criteria:
Context: Cargo has either transit bond type 'TR' or valid export type with authorized port
Applied to: Mark Cargo as Valid
Action: The system completes cargo validation
Logic Flow:
IF Cargo has either transit bond type 'TR' or valid export type with authorized port
AND The system completes cargo validation
THEN:
• The system increments the valid cargo count and sets export train indicator if applicable
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when cargo does not have transit bond type 'tr' and either has invalid export type or unauthorized port.
Trigger Criteria:
Context: Cargo does not have transit bond type 'TR' and either has invalid export type or unauthorized port
Applied to: Mark Cargo as Invalid
Action: The system completes cargo validation
Logic Flow:
IF Cargo does not have transit bond type 'TR' and either has invalid export type or unauthorized port
AND The system completes cargo validation
THEN:
• The system does not increment the cargo count and continues to next equipment
R-GCCU358T-cbl-00191 (+5)File: GCCU358T.cblBusiness Rule: Check Automated Carrier Status
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when bill of lading is being processed with a carrier scac code.
Trigger Criteria:
Context: A bill of lading is being processed with a carrier SCAC code
Applied to: Is SCAC = 'CPRS'?
Action: The SCAC code equals 'CPRS'
Logic Flow:
IF A bill of lading is being processed with a carrier SCAC code
AND The SCAC code equals 'CPRS'
THEN:
• Set the automated carrier response code to 'Y' indicating automated processing
Rule Belongs to : GCCU358T.cbl
Business Justification: Defines the strict business conditions required to proceed when bill of lading is being processed with a non-cprs carrier scac code.
Trigger Criteria:
Context: A bill of lading is being processed with a non-CPRS carrier SCAC code
Applied to: Setup SCAC Table Lookup
Action: The SCAC code is not equal to 'CPRS'
Logic Flow:
IF A bill of lading is being processed with a non-CPRS carrier SCAC code
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Defines the strict business conditions required to proceed when scac table lookup parameters are initialized with table id, scac code, and port code.
Trigger Criteria:
Context: SCAC table lookup parameters are initialized with table ID, SCAC code, and port code
Applied to: Lookup SCAC in SS Table by SCAC Code and Port
Action: The SCAC table lookup is performed
Logic Flow:
IF SCAC table lookup parameters are initialized with table ID, SCAC code, and port code
AND The SCAC table lookup is performed
THEN:
• Retrieve the carrier record from the SS table and determine if the lookup was successful
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when carrier record was successfully found in the scac table.
Trigger Criteria:
Context: A carrier record was successfully found in the SCAC table
Applied to: Is Automated Carrier Flag = 'Y'?
Action: The automated carrier flag in the table record equals 'Y'
Logic Flow:
IF A carrier record was successfully found in the SCAC table
AND The automated carrier flag in the table record equals 'Y'
THEN:
• Set the automated carrier response code to 'Y' for automated processing
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when carrier scac lookup has been performed.
Trigger Criteria:
Context: A carrier SCAC lookup has been performed
Applied to: Set Automated Carrier = 'N'
Action: Either the carrier is not found in the SCAC table OR the automated carrier flag is not equal to 'Y'
Logic Flow:
IF A carrier SCAC lookup has been performed
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when equipment piece is being processed with associated cargo information.
Trigger Criteria:
Context: An equipment piece is being processed with associated cargo information
Applied to: Set Automated Carrier = 'Y'
Action: The equipment load/empty status is 'E' AND there is a US CCN key AND the bill of lading type code is '23'
Logic Flow:
IF An equipment piece is being processed with associated cargo information
AND 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-00197 (+4)File: GCCU358T.cblBusiness Rule: Handle Empty Equipment for Export
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when equipment piece is being processed for vid segment creation.
Trigger Criteria:
Context: An equipment piece is being processed for VID segment creation
Applied to: Equipment Load/Empty Status = 'H'?
Action: The equipment's load/empty status in the train list is 'H' (Hold)
Logic Flow:
IF An equipment piece is being processed for VID segment creation
AND 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)
Rule Belongs to : GCCU358T.cbl
Business Justification: Defines the strict business conditions required to proceed when equipment piece has a us ccn key (cargo reference) and the train list shows load/empty status as 'e' (empty).
Trigger Criteria:
Context: An equipment piece has a US CCN key (cargo reference) and the train list shows load/empty status as 'E' (Empty)
Applied to: Has Cargo AND Status = 'E' AND Weight > 1?
Action: The associated cargo record shows a weight greater than 1
Logic Flow:
IF An equipment piece has a US CCN key (cargo reference) and the train list shows load/empty status as 'E' (Empty)
AND The associated cargo record shows a weight greater than 1
THEN:
• The VID segment load/empty status code is set to 'L' (Loaded)
Rule Belongs to : GCCU358T.cbl
Business Justification: Defines the strict business conditions required to proceed when equipment piece is being processed and does not have hold status 'h'.
Trigger Criteria:
Context: An equipment piece is being processed and does not have hold status 'H'
Applied to: Keep Original Status
Action: The equipment either has no cargo, status is not 'E', or cargo weight is 1 or less
Logic Flow:
IF An equipment piece is being processed and does not have hold status 'H'
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when equipment details and determined load/empty status are available.
Trigger Criteria:
Context: Equipment details and determined load/empty status are available
Applied to: Create VID Segment with Equipment Details
Action: Processing equipment for VID segment creation
Logic Flow:
IF Equipment details and determined load/empty status are available
AND Processing equipment for VID segment creation
THEN:
• A VID segment is created with equipment type, initial, number, and load/empty status code
Rule Belongs to : GCCU358T.cbl
Business Justification: Defines the strict business conditions required to proceed when vid segment has been created with all required equipment details.
Trigger Criteria:
Context: A VID segment has been created with all required equipment details
Applied to: Insert VID Segment to EDI
Action: The VID segment is ready for transmission
Logic Flow:
IF A VID segment has been created with all required equipment details
AND The VID segment is ready for transmission
THEN:
• The VID segment is inserted into the EDI transmission data structure
R-GCCU358T-cbl-00202 (+11)File: GCCU358T.cblBusiness Rule: Check Bond Type and Export Criteria
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when train equipment has a us ccn key that is not spaces.
Trigger Criteria:
Context: A train equipment has a US CCN key that is not spaces
Applied to: Get Cargo Information from Database
Action: The system processes the equipment for cargo validation
Logic Flow:
IF A train equipment has a US CCN key that is not spaces
AND The system processes the equipment for cargo validation
THEN:
• The system retrieves cargo information from GCSUSRT database using the US CCN key
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when system has attempted to retrieve cargo information from database.
Trigger Criteria:
Context: The system has attempted to retrieve cargo information from database
Applied to: Cargo Found?
Action: The database lookup operation completes
Logic Flow:
IF The system has attempted to retrieve cargo information from database
AND The database lookup operation completes
THEN:
• The system checks if cargo was found and proceeds to bond type validation only if cargo exists
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when cargo information has been found in the database.
Trigger Criteria:
Context: Cargo information has been found in the database
Applied to: Bond Type = 'TR' Transit?
Action: The system checks the in-bond type code
Logic Flow:
IF Cargo information has been found in the database
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when cargo does not have transit bond type 'tr'.
Trigger Criteria:
Context: Cargo does not have transit bond type 'TR'
Applied to: M1109 Export Type?
Action: The system evaluates export criteria
Logic Flow:
IF Cargo does not have transit bond type 'TR'
AND The system evaluates export criteria
THEN:
• If cargo has M1109 export type classification, it qualifies for export processing subject to valid port requirement
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when cargo does not have transit bond type 'tr' and is not m1109 export type.
Trigger Criteria:
Context: Cargo does not have transit bond type 'TR' and is not M1109 export type
Applied to: M1109 Returned US Goods?
Action: The system continues evaluating export criteria
Logic Flow:
IF Cargo does not have transit bond type 'TR' and is not M1109 export type
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when cargo does not have transit bond type 'tr', is not m1109 export type, and is not returned us goods.
Trigger Criteria:
Context: Cargo does not have transit bond type 'TR', is not M1109 export type, and is not returned US goods
Applied to: M1109 Empty Residue?
Action: The system continues evaluating export criteria
Logic Flow:
IF Cargo does not have transit bond type 'TR', is not M1109 export type, and is not returned US goods
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when cargo does not meet previous export criteria (m1109 types).
Trigger Criteria:
Context: Cargo does not meet previous export criteria (M1109 types)
Applied to: M1201 Transport Export?
Action: The system continues evaluating M1201 export criteria
Logic Flow:
IF Cargo does not meet previous export criteria (M1109 types)
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when cargo does not meet previous export criteria including m1201 transport export.
Trigger Criteria:
Context: Cargo does not meet previous export criteria including M1201 transport export
Applied to: M1201 Immediate Export?
Action: The system continues evaluating M1201 export criteria
Logic Flow:
IF Cargo does not meet previous export criteria including M1201 transport export
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when cargo does not meet any previous export criteria.
Trigger Criteria:
Context: Cargo does not meet any previous export criteria
Applied to: M1201 Multi-Port?
Action: The system performs final export criteria check
Logic Flow:
IF Cargo does not meet any previous export criteria
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when cargo meets export criteria (any m1109 or m1201 export types) or has transit bond type 'tr'.
Trigger Criteria:
Context: Cargo meets export criteria (any M1109 or M1201 export types) or has transit bond type 'TR'
Applied to: Valid Port Required?
Action: The system evaluates port validity requirement
Logic Flow:
IF Cargo meets export criteria (any M1109 or M1201 export types) or has transit bond type 'TR'
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when cargo meets either transit bond type 'tr' criteria or export criteria with valid port.
Trigger Criteria:
Context: Cargo meets either transit bond type 'TR' criteria or export criteria with valid port
Applied to: Accept Cargo - Increment BOL Count
Action: The system completes cargo validation
Logic Flow:
IF Cargo meets either transit bond type 'TR' criteria or export criteria with valid port
AND The system completes cargo validation
THEN:
• The system increments the BOL quantity count by 1 and marks the cargo as accepted for processing
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when cargo does not meet transit bond type 'tr' criteria and either does not meet export criteria or port is invalid.
Trigger Criteria:
Context: Cargo does not meet transit bond type 'TR' criteria and either does not meet export criteria or port is invalid
Applied to: Reject Cargo - Skip Processing
Action: The system completes cargo validation
Logic Flow:
IF Cargo does not meet transit bond type 'TR' criteria and either does not meet export criteria or port is invalid
AND The system completes cargo validation
THEN:
• The system skips the cargo without incrementing BOL count and continues to next equipment
R-GCCU358T-cbl-00214 (+2)File: GCCU358T.cblBusiness Rule: Generate Voyage Number from Creation Date
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when train record exists with a creation date in yymmdd format.
Trigger Criteria:
Context: A train record exists with a creation date in YYMMDD format
Applied to: Extract Year from Creation Date GCWTL-CREATION-YYMMDD positions 1-2
Action: The system processes the train for voyage number generation
Logic Flow:
IF A train record exists with a creation date in YYMMDD format
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when train record exists with a julian creation date.
Trigger Criteria:
Context: A train record exists with a Julian creation date
Applied to: Extract Julian Date from Train Creation Date GCWTL-US-TRAIN-CREAT-JDATE positions 2-4
Action: The system processes the train for voyage number generation
Logic Flow:
IF A train record exists with a Julian creation date
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when year component has been extracted from creation date and julian date component has been extracted from train creation date.
Trigger Criteria:
Context: Year component has been extracted from creation date and Julian date component has been extracted from train creation date
Applied to: Combine Year and Julian Date to form 5-character Voyage Number
Action: The system combines these components for voyage number generation
Logic Flow:
IF Year component has been extracted from creation date and Julian date component has been extracted from train creation date
AND 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-00217 (+2)File: GCCU358T.cblBusiness Rule: Determine Equipment Load/Empty Status
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when equipment piece in the train list.
Trigger Criteria:
Context: An equipment piece in the train list
Applied to: Current Status = 'H' 'Hold'?
Action: The equipment's load/empty status indicator is 'H' (Hold)
Logic Flow:
IF An equipment piece in the train list
AND The equipment's load/empty status indicator is 'H' (Hold)
THEN:
• The equipment load/empty status should be set to 'E' (Empty)
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when equipment piece with cargo information and current load/empty status of 'e' (empty).
Trigger Criteria:
Context: An equipment piece with cargo information and current load/empty status of 'E' (Empty)
Applied to: Has Cargo AND Current Status = 'E' AND Weight > 1?
Action: The equipment has a US CCN key (cargo exists) and the cargo weight is greater than 1
Logic Flow:
IF An equipment piece with cargo information and current load/empty status of 'E' (Empty)
AND 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)
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when equipment piece that does not have hold status.
Trigger Criteria:
Context: An equipment piece that does not have hold status
Applied to: Keep Current Status
Action: The equipment either has no cargo, or status is not empty, or cargo weight is 1 or less
Logic Flow:
IF An equipment piece that does not have hold status
AND 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-00220 (+5)File: GCCU358T.cblBusiness Rule: Lookup SCAC in SS Table
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when carrier scac code is being processed for mbl segment.
Trigger Criteria:
Context: A carrier SCAC code is being processed for MBL segment
Applied to: Is Carrier CPRS?
Action: The carrier SCAC code equals 'CPRS'
Logic Flow:
IF A carrier SCAC code is being processed for MBL segment
AND The carrier SCAC code equals 'CPRS'
THEN:
• Set the MBL response code to 'Y' for automated processing
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when non-cprs carrier needs automated response determination.
Trigger Criteria:
Context: A non-CPRS carrier needs automated response determination
Applied to: Initialize SCAC Table Key
Action: SCAC table lookup is required
Logic Flow:
IF A non-CPRS carrier needs automated response determination
AND SCAC table lookup is required
THEN:
• Initialize the SCAC table key structure with table ID 'SS', carrier SCAC code, and port code
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when scac table key is initialized with carrier and port information. ⚠️ COBOL Technical Logic
Trigger Criteria:
Context: SCAC table key is initialized with carrier and port information
Applied to: Call Table Lookup Function
Action: Table lookup function is called
Logic Flow:
IF SCAC table key is initialized with carrier and port information
AND Table lookup function is called
THEN:
• Query the SCAC table to retrieve carrier automation settings
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when scac table record is found for the carrier and port combination.
Trigger Criteria:
Context: SCAC table record is found for the carrier and port combination
Applied to: Automated Carrier = 'Y'?
Action: The automated carrier flag in the SCAC record equals 'Y'
Logic Flow:
IF SCAC table record is found for the carrier and port combination
AND The automated carrier flag in the SCAC record equals 'Y'
THEN:
• Set MBL response code to 'Y', otherwise set to 'N'
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when scac table lookup has been executed.
Trigger Criteria:
Context: SCAC table lookup has been executed
Applied to: SCAC Record Found?
Action: No SCAC record is found for the carrier and port combination
Logic Flow:
IF SCAC table lookup has been executed
AND No SCAC record is found for the carrier and port combination
THEN:
• Set MBL response code to 'N' for non-automated processing
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when equipment piece has load/empty status of 'e' and associated cargo with bol type '23'.
Trigger Criteria:
Context: An equipment piece has load/empty status of 'E' and associated cargo with BOL type '23'
Applied to: Set MBL Response Code to 'Y'
Action: The equipment has a valid US CCN key
Logic Flow:
IF An equipment piece has load/empty status of 'E' and associated cargo with BOL type '23'
AND The equipment has a valid US CCN key
THEN:
• Set MBL response code to 'Y' regardless of carrier automation settings
R-GCCU358T-cbl-00226 (+10)File: GCCU358T.cblBusiness Rule: Load Car Information
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when equipment item is being processed for car loading.
Trigger Criteria:
Context: An equipment item is being processed for car loading
Applied to: Is Equipment a Container?
Action: The equipment container indicator is 'C'
Logic Flow:
IF An equipment item is being processed for car loading
AND The equipment container indicator is 'C'
THEN:
• The equipment should be skipped and not processed as car information
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when equipment item is not a container.
Trigger Criteria:
Context: An equipment item is not a container
Applied to: Extract Car Initials
Action: Processing car information
Logic Flow:
IF An equipment item is not a container
AND Processing car information
THEN:
• The equipment initials should be moved to the customs car initials field
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when current equipment is being processed and there is a next equipment item.
Trigger Criteria:
Context: Current equipment is being processed and there is a next equipment item
Applied to: Set Load Status Based on Next Equipment
Action: The next equipment item has container indicator 'C'
Logic Flow:
IF Current equipment is being processed and there is a next equipment item
AND The next equipment item has container indicator 'C'
THEN:
• The current car's load/empty status should be set to 'L' (Loaded)
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when current equipment is being processed.
Trigger Criteria:
Context: Current equipment is being processed
Applied to: Set Load Status from Current Equipment
Action: The next equipment item is not a container or there is no next equipment
Logic Flow:
IF Current equipment is being processed
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when current equipment is being processed.
Trigger Criteria:
Context: Current equipment is being processed
Applied to: Determine Load/Empty Status
Action: The current equipment index is greater than the total equipment quantity
Logic Flow:
IF Current equipment is being processed
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when equipment number has been extracted.
Trigger Criteria:
Context: Equipment number has been extracted
Applied to: Convert to 6-Digit Car Number
Action: Processing car information for customs
Logic Flow:
IF Equipment number has been extracted
AND Processing car information for customs
THEN:
• The equipment number should be converted to a 6-digit car number format
Rule Belongs to : GCCU358T.cbl
Business Justification: Defines the strict business conditions required to proceed when equipment type has been identified.
Trigger Criteria:
Context: Equipment type has been identified
Applied to: Set Car Kind to 'L' for Locomotive
Action: The equipment type is 'LO'
Logic Flow:
IF Equipment type has been identified
AND The equipment type is 'LO'
THEN:
• The car kind should be set to 'L' for locomotive
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when equipment type is not 'lo'.
Trigger Criteria:
Context: Equipment type is not 'LO'
Applied to: Set Car Kind to 'E' for End of Train
Action: The equipment type is 'ET'
Logic Flow:
IF Equipment type is not 'LO'
AND The equipment type is 'ET'
THEN:
• The car kind should be set to 'E' for end of train device
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when equipment type is not 'lo'.
Trigger Criteria:
Context: Equipment type is not 'LO'
Applied to: Set Car Kind to Spaces
Action: The equipment type is not 'ET'
Logic Flow:
IF Equipment type is not 'LO'
AND The equipment type is not 'ET'
THEN:
• The car kind should be set to spaces (blank)
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when car initials, load status, car number, and car kind have been determined.
Trigger Criteria:
Context: Car initials, load status, car number, and car kind have been determined
Applied to: Store Car Information in Output Table
Action: All car information processing is complete
Logic Flow:
IF Car initials, load status, car number, and car kind have been determined
AND All car information processing is complete
THEN:
• The car information should be stored in the appropriate position in the customs output table
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when car information has been stored in the output table.
Trigger Criteria:
Context: Car information has been stored in the output table
Applied to: Increment Car Counter
Action: Processing is complete for the current equipment
Logic Flow:
IF Car information has been stored in the output table
AND 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-00237 (+9)File: GCCU358T.cblBusiness Rule: Check Export Type Codes
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when cargo record exists with an in-bond type code.
Trigger Criteria:
Context: A cargo record exists with an in-bond type code
Applied to: Is Transit 'TR'?
Action: The in-bond type code equals 'TR'
Logic Flow:
IF A cargo record exists with an in-bond type code
AND The in-bond type code equals 'TR'
THEN:
• Accept the cargo for processing without additional validation
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when cargo record exists with a bol type code and the in-bond type is not 'tr'.
Trigger Criteria:
Context: A cargo record exists with a BOL type code and the in-bond type is not 'TR'
Applied to: Is Standard Export?
Action: The BOL type code indicates standard export
Logic Flow:
IF A cargo record exists with a BOL type code and the in-bond type is not 'TR'
AND The BOL type code indicates standard export
THEN:
• Proceed to validate port authorization for cargo acceptance
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when cargo record exists with a bol type code and is not standard export.
Trigger Criteria:
Context: A cargo record exists with a BOL type code and is not standard export
Applied to: Is Returned US Goods?
Action: The BOL type code indicates returned US goods export
Logic Flow:
IF A cargo record exists with a BOL type code and is not standard export
AND The BOL type code indicates returned US goods export
THEN:
• Proceed to validate port authorization for cargo acceptance
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when cargo record exists with a bol type code and is not standard export or returned us goods.
Trigger Criteria:
Context: A cargo record exists with a BOL type code and is not standard export or returned US goods
Applied to: Is Empty Residue?
Action: The BOL type code indicates empty residue export
Logic Flow:
IF A cargo record exists with a BOL type code and is not standard export or returned US goods
AND The BOL type code indicates empty residue export
THEN:
• Proceed to validate port authorization for cargo acceptance
Rule Belongs to : GCCU358T.cbl
Business Justification: Defines the strict business conditions required to proceed when cargo record exists with an in-bond type code and previous export validations failed.
Trigger Criteria:
Context: A cargo record exists with an in-bond type code and previous export validations failed
Applied to: Is Transportation Export?
Action: The in-bond type code indicates transportation export
Logic Flow:
IF A cargo record exists with an in-bond type code and previous export validations failed
AND The in-bond type code indicates transportation export
THEN:
• Proceed to validate port authorization for cargo acceptance
Rule Belongs to : GCCU358T.cbl
Business Justification: Defines the strict business conditions required to proceed when cargo record exists with an in-bond type code and previous export validations failed.
Trigger Criteria:
Context: A cargo record exists with an in-bond type code and previous export validations failed
Applied to: Is Immediate Export?
Action: The in-bond type code indicates immediate export
Logic Flow:
IF A cargo record exists with an in-bond type code and previous export validations failed
AND The in-bond type code indicates immediate export
THEN:
• Proceed to validate port authorization for cargo acceptance
Rule Belongs to : GCCU358T.cbl
Business Justification: Defines the strict business conditions required to proceed when cargo record exists with an in-bond type code and previous export validations failed.
Trigger Criteria:
Context: A cargo record exists with an in-bond type code and previous export validations failed
Applied to: Is Multi-Port?
Action: The in-bond type code indicates multi-port export
Logic Flow:
IF A cargo record exists with an in-bond type code and previous export validations failed
AND The in-bond type code indicates multi-port export
THEN:
• Proceed to validate port authorization for cargo acceptance
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when cargo record has been identified as an export type requiring port validation.
Trigger Criteria:
Context: A cargo record has been identified as an export type requiring port validation
Applied to: Valid Port Required?
Action: The port authorization check is performed
Logic Flow:
IF A cargo record has been identified as an export type requiring port validation
AND The port authorization check is performed
THEN:
• Accept cargo if port is valid, otherwise reject cargo for processing
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when cargo record has passed all validation checks.
Trigger Criteria:
Context: A cargo record has passed all validation checks
Applied to: Accept Cargo for Processing
Action: The cargo meets transit or export with valid port criteria
Logic Flow:
IF A cargo record has passed all validation checks
AND The cargo meets transit or export with valid port criteria
THEN:
• Increment the BOL quantity counter and mark cargo as accepted for processing
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when cargo record exists but fails validation checks.
Trigger Criteria:
Context: A cargo record exists but fails validation checks
Applied to: Reject Cargo
Action: The cargo does not meet transit criteria or export with valid port criteria
Logic Flow:
IF A cargo record exists but fails validation checks
AND 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
Business Justification: Establishes the required business protocol to be followed when cargo record exists with m1201 in-bond type code.
Trigger Criteria:
Context: A cargo record exists with M1201 in-bond type code
Applied to: M1201 In-Bond Type = 'TR'?
Action: The M1201 in-bond type code equals 'TR'
Logic Flow:
IF A cargo record exists with M1201 in-bond type code
AND The M1201 in-bond type code equals 'TR'
THEN:
• The cargo automatically qualifies for export processing regardless of other conditions
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when train has an origin station code in p401-m1302-us-from-sc.
Trigger Criteria:
Context: A train has an origin station code in P401-M1302-US-FROM-SC
Applied to: Valid Port?
Action: The origin station code is found in the SE table with successful lookup
Logic Flow:
IF A train has an origin station code in P401-M1302-US-FROM-SC
AND The origin station code is found in the SE table with successful lookup
THEN:
• The port is considered valid andSW-VALID-PORT is set to true
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when cargo record has m1109 bol type code and the port is valid.
Trigger Criteria:
Context: A cargo record has M1109 BOL type code and the port is valid
Applied to: M1109 Export Type?
Action: The M1109 BOL type code indicates export (88-GCUSRT-M1109-EXPORT condition is true)
Logic Flow:
IF A cargo record has M1109 BOL type code and the port is valid
AND The M1109 BOL type code indicates export (88-GCUSRT-M1109-EXPORT condition is true)
THEN:
• The cargo qualifies for export processing
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when cargo record has m1109 bol type code and the port is valid.
Trigger Criteria:
Context: A cargo record has M1109 BOL type code and the port is valid
Applied to: M1109 Returned US Goods?
Action: The M1109 BOL type code indicates returned US goods (88-GCUSRT-M1109-RTNED-US-GOODS condition is true)
Logic Flow:
IF A cargo record has M1109 BOL type code and the port is valid
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when cargo record has m1109 bol type code and the port is valid.
Trigger Criteria:
Context: A cargo record has M1109 BOL type code and the port is valid
Applied to: M1109 Empty Residue?
Action: The M1109 BOL type code indicates empty residue (88-GCUSRT-M1109-EMPTY-RESIDUE condition is true)
Logic Flow:
IF A cargo record has M1109 BOL type code and the port is valid
AND The M1109 BOL type code indicates empty residue (88-GCUSRT-M1109-EMPTY-RESIDUE condition is true)
THEN:
• The cargo qualifies for export processing
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when cargo record has m1201 in-bond type code and the port is valid.
Trigger Criteria:
Context: A cargo record has M1201 in-bond type code and the port is valid
Applied to: M1201 Transport Export?
Action: The M1201 in-bond type code indicates transport export (88-GCUSRT-M1201-TRANSP-EXPORT condition is true)
Logic Flow:
IF A cargo record has M1201 in-bond type code and the port is valid
AND The M1201 in-bond type code indicates transport export (88-GCUSRT-M1201-TRANSP-EXPORT condition is true)
THEN:
• The cargo qualifies for export processing
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when cargo record has m1201 in-bond type code and the port is valid.
Trigger Criteria:
Context: A cargo record has M1201 in-bond type code and the port is valid
Applied to: M1201 Immediate Export?
Action: The M1201 in-bond type code indicates immediate export (88-GCUSRT-M1201-IMM-EXPORT condition is true)
Logic Flow:
IF A cargo record has M1201 in-bond type code and the port is valid
AND The M1201 in-bond type code indicates immediate export (88-GCUSRT-M1201-IMM-EXPORT condition is true)
THEN:
• The cargo qualifies for export processing
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when cargo record has m1201 in-bond type code and the port is valid.
Trigger Criteria:
Context: A cargo record has M1201 in-bond type code and the port is valid
Applied to: M1201 Multi-Port?
Action: The M1201 in-bond type code indicates multi-port (88-GCUSRT-M1201-MULTI-PORT condition is true)
Logic Flow:
IF A cargo record has M1201 in-bond type code and the port is valid
AND The M1201 in-bond type code indicates multi-port (88-GCUSRT-M1201-MULTI-PORT condition is true)
THEN:
• The cargo qualifies for export processing
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when cargo record has been evaluated against export criteria. ⚠️ COBOL Technical Logic
Trigger Criteria:
Context: A cargo record has been evaluated against export criteria
Applied to: Cargo Qualifies for Export Processing
Action: The cargo meets any of the qualifying conditions (TR in-bond type OR valid export types with valid port)
Logic Flow:
IF A cargo record has been evaluated against export criteria
AND 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-00260 (+2)File: GCCU358T.cblBusiness Rule: Determine Equipment Load/Empty Status Based on Cargo Weight
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when equipment piece is being processed for load/empty status determination.
Trigger Criteria:
Context: An equipment piece is being processed for load/empty status determination
Applied to: Set Status to 'E' 'Empty'
Action: The equipment's load/empty indicator from the train list is 'H' (Hold)
Logic Flow:
IF An equipment piece is being processed for load/empty status determination
AND 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)
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when equipment piece has cargo associated with it and the train list shows empty status and the equipment's load/empty indicator is not 'h'.
Trigger Criteria:
Context: 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'
Applied to: Set Status to 'L' 'Loaded'
Action: 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
Logic Flow:
IF 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'
AND 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)
Rule Belongs to : GCCU358T.cbl
Business Justification: Defines the strict business conditions required to proceed when equipment piece is being processed for load/empty status determination and the equipment's load/empty indicator is not 'h'.
Trigger Criteria:
Context: An equipment piece is being processed for load/empty status determination and the equipment's load/empty indicator is not 'H'
Applied to: Keep Original Status
Action: The equipment does not have cargo or the current status is not 'E' or the cargo weight is not greater than 1
Logic Flow:
IF An equipment piece is being processed for load/empty status determination and the equipment's load/empty indicator is not 'H'
AND 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
Business Justification: Governs the functional prerequisites and system routing when scac table key structure exists for carrier validation lookup.
Trigger Criteria:
Context: A SCAC table key structure exists for carrier validation lookup
Applied to: Clear SCAC Table Key Structure
Action: The system needs to prepare the key structure for a new lookup operation
Logic Flow:
IF A SCAC table key structure exists for carrier validation lookup
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when scac table lookup operation is being prepared.
Trigger Criteria:
Context: A SCAC table lookup operation is being prepared
Applied to: Set Table ID to 'SS'
Action: The system needs to specify which table to query
Logic Flow:
IF A SCAC table lookup operation is being prepared
AND The system needs to specify which table to query
THEN:
• The table ID is set to 'SS' to identify the SCAC table
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when equipment record contains a scac code and a table lookup key structure is prepared.
Trigger Criteria:
Context: An equipment record contains a SCAC code and a table lookup key structure is prepared
Applied to: Move Equipment SCAC Code to Key
Action: The system needs to identify the carrier for automated processing validation
Logic Flow:
IF An equipment record contains a SCAC code and a table lookup key structure is prepared
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when train has an origin port code and a scac table lookup key is being prepared.
Trigger Criteria:
Context: A train has an origin port code and a SCAC table lookup key is being prepared
Applied to: Move Port Code to Key
Action: The system needs to validate carrier automation at a specific port
Logic Flow:
IF A train has an origin port code and a SCAC table lookup key is being prepared
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when scac table key structure has been initialized with table id, equipment scac code, and port code.
Trigger Criteria:
Context: SCAC table key structure has been initialized with table ID, equipment SCAC code, and port code
Applied to: SCAC Table Key Ready for Lookup
Action: All required lookup parameters have been populated
Logic Flow:
IF SCAC table key structure has been initialized with table ID, equipment SCAC code, and port code
AND All required lookup parameters have been populated
THEN:
• The SCAC table key is ready for carrier automation validation lookup operation
R-GCCU358T-cbl-00268 (+3)File: GCCU358T.cblBusiness Rule: Determine Load/Empty Status Based on Next Equipment
Rule Belongs to : GCCU358T.cbl
Business Justification: Defines the strict business conditions required to proceed when train equipment item is being processed for load/empty status.
Trigger Criteria:
Context: A train equipment item is being processed for load/empty status
Applied to: Skip Container Equipment
Action: The current equipment container indicator is 'C'
Logic Flow:
IF A train equipment item is being processed for load/empty status
AND The current equipment container indicator is 'C'
THEN:
• Skip processing this equipment and continue to next equipment
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when processing equipment for load/empty status determination. ⚠️ COBOL Technical Logic
Trigger Criteria:
Context: Processing equipment for load/empty status determination
Applied to: Use Current Equipment Load/Empty Status
Action: The next equipment index (WS-SUB3) is greater than the total equipment quantity (GCWTL-EQUIPMENT-QTE)
Logic Flow:
IF Processing equipment for load/empty status determination
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when processing equipment for load/empty status and next equipment index is within train length.
Trigger Criteria:
Context: Processing equipment for load/empty status and next equipment index is within train length
Applied to: Set Load Status to 'L'
Action: The next equipment's container indicator is 'C'
Logic Flow:
IF Processing equipment for load/empty status and next equipment index is within train length
AND The next equipment's container indicator is 'C'
THEN:
• Set the current equipment's load/empty status to 'L' (Loaded)
Rule Belongs to : GCCU358T.cbl
Business Justification: Establishes the required business protocol to be followed when processing equipment for load/empty status and next equipment index is within train length.
Trigger Criteria:
Context: Processing equipment for load/empty status and next equipment index is within train length
Applied to: Use Current Equipment Load/Empty Status
Action: The next equipment's container indicator is not 'C'
Logic Flow:
IF Processing equipment for load/empty status and next equipment index is within train length
AND 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 (+4)File: GCCU358T.cblBusiness Rule: Convert Equipment Number to Standard Format
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when train equipment record with equipment number in the train list.
Trigger Criteria:
Context: A train equipment record with equipment number in the train list
Applied to: Convert Equipment Number to Standard Format
Action: Processing equipment for Canadian customs transmission
Logic Flow:
IF A train equipment record with equipment number in the train list
AND 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
Rule Belongs to : GCCU358T.cbl
Business Justification: Governs the functional prerequisites and system routing when valid equipment index position in the train list.
Trigger Criteria:
Context: A valid equipment index position in the train list
Applied to: Get Equipment Number from Train List
Action: Processing equipment number conversion
Logic Flow:
IF A valid equipment index position in the train list
AND Processing equipment number conversion
THEN:
• The equipment number is retrieved from the train list at the current equipment index position
Rule Belongs to : GCCU358T.cbl
Business Justification: Defines the strict business conditions required to proceed when equipment number from the train list equipment record.
Trigger Criteria:
Context: An equipment number from the train list equipment record
Applied to: Move Equipment Number to Working Storage Car Number Field
Action: Preparing for car number format conversion
Logic Flow:
IF An equipment number from the train list equipment record
AND Preparing for car number format conversion
THEN:
• The equipment number is moved to the working storage car number field
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when equipment number in the working storage car number field.
Trigger Criteria:
Context: An equipment number in the working storage car number field
Applied to: Convert to 6-Digit Car Number Format
Action: Converting to Canadian transmission format
Logic Flow:
IF An equipment number in the working storage car number field
AND Converting to Canadian transmission format
THEN:
• The equipment number is formatted as a 6-digit car number
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when 6-digit formatted car number and a valid equipment index position.
Trigger Criteria:
Context: A 6-digit formatted car number and a valid equipment index position
Applied to: Store Converted Number in Canadian Output Table
Action: Storing converted car number for Canadian transmission
Logic Flow:
IF A 6-digit formatted car number and a valid equipment index position
AND 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 (+2)File: GCCU358T.cblBusiness Rule: Determine Car Kind Based on Equipment Type
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when train equipment record is being processed for car kind determination.
Trigger Criteria:
Context: A train equipment record is being processed for car kind determination
Applied to: Equipment Type = 'LO'?
Action: The equipment type code is 'LO' (Locomotive)
Logic Flow:
IF A train equipment record is being processed for car kind determination
AND The equipment type code is 'LO' (Locomotive)
THEN:
• The car kind should be set to 'L' to indicate locomotive equipment
Rule Belongs to : GCCU358T.cbl
Business Justification: Dictates the expected operational logic and validation steps when train equipment record is being processed for car kind determination and the equipment type is not 'lo'.
Trigger Criteria:
Context: A train equipment record is being processed for car kind determination and the equipment type is not 'LO'
Applied to: Equipment Type = 'ET'?
Action: The equipment type code is 'ET' (End-of-Train)
Logic Flow:
IF A train equipment record is being processed for car kind determination and the equipment type is not 'LO'
AND The equipment type code is 'ET' (End-of-Train)
THEN:
• The car kind should be set to 'E' to indicate end-of-train equipment
Rule Belongs to : GCCU358T.cbl
Business Justification: Ensures correct system behavior and process compliance when train equipment record is being processed for car kind determination and the equipment type is neither 'lo' nor 'et'.
Trigger Criteria:
Context: A train equipment record is being processed for car kind determination and the equipment type is neither 'LO' nor 'ET'
Applied to: Set Car Kind = SPACES for Standard Equipment
Action: The equipment type code is any value other than 'LO' or 'ET'
Logic Flow:
IF A train equipment record is being processed for car kind determination and the equipment type is neither 'LO' nor 'ET'
AND 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