🔍

CA Cargo - Thematically Grouped Rules

A dual-persona matrix designed specifically for Development scoping. Requirements are hierarchically structured by Epic → Module Program → Business Theme.

Unmapped Subprogram

Module Tracker: GCCCANRL

119 Validations & Rules
Module Objective: No description provided from architecture analysis.
⚙️ General Logic & Formats 7 logic blocks
R-GCCCANRL-cbl-00095 Return Flag = '0'?
Validation Rules
📊 Business Logic Narrative
When the process 'Return Flag = '0'?' is invoked, and assuming that a master control table lookup has been executed, when the service returns with a response, the desired outcome is that if the return flag equals '0', the lookup was successful, otherwise it failed.
💻 Technical Criteria
Given A Master Control table lookup has been executed
When The service returns with a response
Then If the return flag equals '0', the lookup was successful, otherwise it failed
R-GCCCANRL-cbl-00068 Send Log Entry to Audit System
Action Rules
📊 Business Logic Narrative
When the process 'Send Log Entry to Audit System' is invoked, and assuming that a formatted audit log message is ready, when sending the log entry to the audit system, the desired outcome is that the system should call the audit service to process the log entry.
💻 Technical Criteria
Given A formatted audit log message is ready
When Sending the log entry to the audit system
Then The system should call the audit service to process the log entry
R-GCCCANRL-cbl-00069 Write Message to Log
Action Rules
📊 Business Logic Narrative
When the process 'Write Message to Log' is invoked, and assuming that an audit log entry has been prepared, when writing to the system log, the desired outcome is that the message should be written to the log with proper message code, content, length, and module name.
💻 Technical Criteria
Given An audit log entry has been prepared
When Writing to the system log
Then The message should be written to the log with proper message code, content, length, and module name
R-GCCCANRL-cbl-00070 Complete Logging Process
Action Rules
📊 Business Logic Narrative
When the process 'Complete Logging Process' is invoked, and assuming that the audit log entry has been written, when completing the logging process, the desired outcome is that the system should purge any temporary logging resources.
💻 Technical Criteria
Given The audit log entry has been written
When Completing the logging process
Then The system should purge any temporary logging resources
R-GCCCANRL-cbl-00108 Format Complete Log Message
Process Rules
📊 Business Logic Narrative
When the process 'Format Complete Log Message' is invoked, and assuming that all audit log components have been prepared, when the log message needs to be transmitted, the desired outcome is that the complete log input structure is moved to the message format for processing.
💻 Technical Criteria
Given All audit log components have been prepared
When The log message needs to be transmitted
Then The complete log input structure is moved to the message format for processing
R-GCCCANRL-cbl-00116 Format Message for Logging
Process Rules
📊 Business Logic Narrative
When the process 'Format Message for Logging' is invoked, and assuming that all audit log data has been populated, when the system prepares to send the audit entry, the desired outcome is that the log input data must be moved to the message structure for proper formatting.
💻 Technical Criteria
Given All audit log data has been populated
When The system prepares to send the audit entry
Then The log input data must be moved to the message structure for proper formatting
R-GCCCANRL-cbl-00118 Write Message to Log
Action Rules
📊 Business Logic Narrative
When the process 'Write Message to Log' is invoked, and assuming that an audit message has been sent to the logging system, when the system writes the message to the log, the desired outcome is that the writmsgl program must be called with the message code, message content, message length, and module name.
💻 Technical Criteria
Given An audit message has been sent to the logging system
When The system writes the message to the log
Then The WRITMSGL program must be called with the message code, message content, message length, and module name

🏷️ CCN & Waybill Identification 23 logic blocks
R-GCCCANRL-cbl-00001 2:Get First Follower Manifest
Process Rules
📊 Business Logic Narrative
When the process '2:Get First Follower Manifest' is invoked, and assuming that a ccn key is provided for processing, when the system initializes follower manifest processing, the desired outcome is that the first follower manifest record matching the ccn key is retrieved and processing status is set based on record availability.
💻 Technical Criteria
Given A CCN key is provided for processing
When The system initializes follower manifest processing
Then The first follower manifest record matching the CCN key is retrieved and processing status is set based on record availability
R-GCCCANRL-cbl-00003 4:Validate Manifest for Processing
Validation Rules
📊 Business Logic Narrative
When the process '4:Validate Manifest for Processing' is invoked, and assuming that a follower manifest record is retrieved, when the system compares the manifest ccn key with the input ccn key, the desired outcome is that the manifest is processed only if the ccn keys are different, otherwise it is skipped.
💻 Technical Criteria
Given A follower manifest record is retrieved
When The system compares the manifest CCN key with the input CCN key
Then The manifest is processed only if the CCN keys are different, otherwise it is skipped
R-GCCCANRL-cbl-00011 13:Log Cancel Release Activity
Action Rules
📊 Business Logic Narrative
When the process '13:Log Cancel Release Activity' is invoked, and assuming that a manifest cancel release has been processed, when the system logs the activity, the desired outcome is that an audit record is created with ccn key, user id, current date and time, and cargo release removed action code.
💻 Technical Criteria
Given A manifest cancel release has been processed
When The system logs the activity
Then An audit record is created with CCN key, user ID, current date and time, and cargo release removed action code
R-GCCCANRL-cbl-00012 15:Get Next Follower Manifest
Process Rules
📊 Business Logic Narrative
When the process '15:Get Next Follower Manifest' is invoked, and assuming that current follower manifest processing is complete, when the system retrieves the next follower manifest, the desired outcome is that if status code is spaces and ccn key matches the master manifest ccn, processing continues, otherwise processing stops.
💻 Technical Criteria
Given Current follower manifest processing is complete
When The system retrieves the next follower manifest
Then If status code is spaces and CCN key matches the master manifest CCN, processing continues, otherwise processing stops
R-GCCCANRL-cbl-00015 Set Up CCN Key for Search
Process Rules
📊 Business Logic Narrative
When the process 'Set Up CCN Key for Search' is invoked, and assuming that a ccn key is provided as input for manifest processing, when the system prepares to search for follower manifests, the desired outcome is that the ccn key must be configured in the search parameters.
💻 Technical Criteria
Given A CCN key is provided as input for manifest processing
When The system prepares to search for follower manifests
Then The CCN key must be configured in the search parameters
R-GCCCANRL-cbl-00016 Position to First Follower Manifest
Action Rules
📊 Business Logic Narrative
When the process 'Position to First Follower Manifest' is invoked, and assuming that the ccn key is configured for searching follower manifests, when the system initiates the search for follower manifests, the desired outcome is that the system must attempt to retrieve the first follower manifest record.
💻 Technical Criteria
Given The CCN key is configured for searching follower manifests
When The system initiates the search for follower manifests
Then The system must attempt to retrieve the first follower manifest record
R-GCCCANRL-cbl-00020 Set Search Key to Lead Manifest CCN Number
Process Rules
📊 Business Logic Narrative
When the process 'Set Search Key to Lead Manifest CCN Number' is invoked, and assuming that a lead manifest ccn number is provided as input, when the system initializes the follower manifest search process, the desired outcome is that the search key is set to the lead manifest ccn number for database query.
💻 Technical Criteria
Given A lead manifest CCN number is provided as input
When The system initializes the follower manifest search process
Then The search key is set to the lead manifest CCN number for database query
R-GCCCANRL-cbl-00021 Execute Database Query for First Follower Manifest
Action Rules
📊 Business Logic Narrative
When the process 'Execute Database Query for First Follower Manifest' is invoked, and assuming that the search key is set to the lead manifest ccn number, when the system executes the database query for the first follower manifest, the desired outcome is that the database is queried using gu operation with the ccn key and status is returned.
💻 Technical Criteria
Given The search key is set to the lead manifest CCN number
When The system executes the database query for the first follower manifest
Then The database is queried using GU operation with the CCN key and status is returned
R-GCCCANRL-cbl-00025 Is Current Manifest Different from Lead Manifest?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Current Manifest Different from Lead Manifest?' is invoked, and assuming that a follower manifest record is being processed, when the current manifest ccn key equals the input lead manifest ccn key, the desired outcome is that skip all cancel release processing for this manifest and move to the next follower manifest.
💻 Technical Criteria
Given A follower manifest record is being processed
When The current manifest CCN key equals the input lead manifest CCN key
Then Skip all cancel release processing for this manifest and move to the next follower manifest
R-GCCCANRL-cbl-00026 Is Current Manifest Different from Lead Manifest?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is Current Manifest Different from Lead Manifest?', assuming that a follower manifest record is being processed, when the current manifest ccn key is not equal to the input lead manifest ccn key, the desired outcome is that proceed with getting manifest for hold and update, setting cancel release data, logging activity, and updating the manifest record.
💻 Technical Criteria
EXCLUDING A follower manifest record is being processed
When The current manifest CCN key is not equal to the input lead manifest CCN key
Then Proceed with getting manifest for hold and update, setting cancel release data, logging activity, and updating the manifest record
R-GCCCANRL-cbl-00027 Get Manifest for Hold and Update
Action Rules
📊 Business Logic Narrative
When the process 'Get Manifest for Hold and Update' is invoked, and assuming that a follower manifest needs to be processed for cancel release, when the manifest ccn key is different from the lead manifest, the desired outcome is that retrieve the manifest record using ghu (get hold for update) operation with the manifest ccn key.
💻 Technical Criteria
Given A follower manifest needs to be processed for cancel release
When The manifest CCN key is different from the lead manifest
Then Retrieve the manifest record using GHU (Get Hold for Update) operation with the manifest CCN key
R-GCCCANRL-cbl-00035 Log Cancel Release Activity
Action Rules
📊 Business Logic Narrative
When the process 'Log Cancel Release Activity' is invoked, and assuming that a manifest release has been canceled, when cancel release processing is complete, the desired outcome is that create audit log entry with security information, ccn key, transaction details, user id, timestamp, and cargo release removal action code, then write the log message to the system.
💻 Technical Criteria
Given A manifest release has been canceled
When Cancel release processing is complete
Then Create audit log entry with security information, CCN key, transaction details, user ID, timestamp, and cargo release removal action code, then write the log message to the system
R-GCCCANRL-cbl-00037 Get Next Follower Manifest
Action Rules
📊 Business Logic Narrative
When the process 'Get Next Follower Manifest' is invoked, and assuming that current follower manifest processing is complete, when getting the next follower manifest, the desired outcome is that retrieve next follower record and if successful, verify the master manifest ccn matches the input ccn key to continue processing, otherwise stop processing.
💻 Technical Criteria
Given Current follower manifest processing is complete
When Getting the next follower manifest
Then Retrieve next follower record and if successful, verify the master manifest CCN matches the input CCN key to continue processing, otherwise stop processing
R-GCCCANRL-cbl-00038 Check if the retrieved manifest is not the lead manifest to avoid processing it
Validation Rules
📊 Business Logic Narrative
When the process 'Check if the retrieved manifest is not the lead manifest to avoid processing it' is invoked, and assuming that a manifest record has been retrieved for cancel release processing, when the system compares the current manifest ccn key with the input lead manifest ccn key, the desired outcome is that if the ccn keys are the same, skip processing as this is the lead manifest; if the ccn keys are different, proceed with cancel release processing for the follower manifest.
💻 Technical Criteria
Given A manifest record has been retrieved for cancel release processing
When The system compares the current manifest CCN key with the input lead manifest CCN key
Then If the CCN keys are the same, skip processing as this is the lead manifest; if the CCN keys are different, proceed with cancel release processing for the follower manifest
R-GCCCANRL-cbl-00040 Set Manifest CCN Key for Retrieval
Process Rules
📊 Business Logic Narrative
When the process 'Set Manifest CCN Key for Retrieval' is invoked, and assuming that a specific manifest record needs to be retrieved for update, when the system prepares the retrieval parameters, the desired outcome is that the manifest ccn key must be set to the target record's ccn key to ensure correct record identification.
💻 Technical Criteria
Given A specific manifest record needs to be retrieved for update
When The system prepares the retrieval parameters
Then The manifest CCN key must be set to the target record's CCN key to ensure correct record identification
R-GCCCANRL-cbl-00041 Execute Get Hold for Update Command
Action Rules
📊 Business Logic Narrative
When the process 'Execute Get Hold for Update Command' is invoked, and assuming that the manifest ccn key has been set for a specific record, when the system needs to retrieve and lock the manifest record for update, the desired outcome is that a get hold update command must be executed to retrieve the record with exclusive lock.
💻 Technical Criteria
Given The manifest CCN key has been set for a specific record
When The system needs to retrieve and lock the manifest record for update
Then A get hold update command must be executed to retrieve the record with exclusive lock
R-GCCCANRL-cbl-00062 Record Manifest CCN Number
Process Rules
📊 Business Logic Narrative
When the process 'Record Manifest CCN Number' is invoked, and assuming that a manifest with a ccn key exists, when creating an audit log entry, the desired outcome is that the manifest ccn key should be recorded as the train or us ccn in the log.
💻 Technical Criteria
Given A manifest with a CCN key exists
When Creating an audit log entry
Then The manifest CCN key should be recorded as the train or US CCN in the log
R-GCCCANRL-cbl-00101 Set Manifest CCN Number
Process Rules
📊 Business Logic Narrative
When the process 'Set Manifest CCN Number' is invoked, and assuming that a manifest cancel release operation is being processed, when the audit log entry is being prepared, the desired outcome is that the manifest ccn key is recorded in the log entry train/ccn field.
💻 Technical Criteria
Given A manifest cancel release operation is being processed
When The audit log entry is being prepared
Then The manifest CCN key is recorded in the log entry train/CCN field
R-GCCCANRL-cbl-00110 Populate Log Entry with Manifest CCN
Process Rules
📊 Business Logic Narrative
When the process 'Populate Log Entry with Manifest CCN' is invoked, and assuming that a manifest record is being processed for release cancellation, when the system creates an audit log entry, the desired outcome is that the manifest ccn key must be recorded in the train or us ccn field of the log entry.
💻 Technical Criteria
Given A manifest record is being processed for release cancellation
When The system creates an audit log entry
Then The manifest CCN key must be recorded in the train or US CCN field of the log entry
R-GCCCANRL-cbl-00075 Does Manifest Belong to Same Master Group?
Validation Rules
📊 Business Logic Narrative
When the process 'Does Manifest Belong to Same Master Group?' is invoked, and assuming that a manifest record has been successfully retrieved and the input ccn key is available, when the system compares the master manifest ccn from the retrieved record with the input ccn key, the desired outcome is that if the master manifest ccn equals the input ccn key, the manifest belongs to the same group, otherwise it belongs to a different group.
💻 Technical Criteria
Given A manifest record has been successfully retrieved and the input CCN key is available
When The system compares the master manifest CCN from the retrieved record with the input CCN key
Then If the master manifest CCN equals the input CCN key, the manifest belongs to the same group, otherwise it belongs to a different group
R-GCCCANRL-cbl-00078 Does Next Manifest Master CCN Match Lead Manifest CCN?
Decision Rules
📊 Business Logic Narrative
When the process 'Does Next Manifest Master CCN Match Lead Manifest CCN?' is invoked, and assuming that a next follower manifest record has been successfully retrieved, when the system compares the next manifest's master ccn with the input ccn key, the desired outcome is that if the master ccn matches the input ccn key, set continue processing flag, otherwise set stop processing flag.
💻 Technical Criteria
Given A next follower manifest record has been successfully retrieved
When The system compares the next manifest's master CCN with the input CCN key
Then If the master CCN matches the input CCN key, set continue processing flag, otherwise set stop processing flag
R-GCCCANRL-cbl-00079 Set Continue Processing Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Continue Processing Flag' is invoked, and assuming that the next manifest's master ccn matches the input ccn key, when the system needs to indicate processing should continue, the desired outcome is that set the more records flag to true to continue processing.
💻 Technical Criteria
Given The next manifest's master CCN matches the input CCN key
When The system needs to indicate processing should continue
Then Set the more records flag to true to continue processing
R-GCCCANRL-cbl-00080 Set Stop Processing Flag
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Stop Processing Flag', assuming that the next manifest's master ccn does not match the input ccn key, when the system needs to indicate processing should stop, the desired outcome is that set the no more records flag to true to stop processing.
💻 Technical Criteria
EXCLUDING The next manifest's master CCN does not match the input CCN key
When The system needs to indicate processing should stop
Then Set the no more records flag to true to stop processing

💰 Bond & Financial Auth 4 logic blocks
R-GCCCANRL-cbl-00048 Initialize Table Access Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Table Access Parameters' is invoked, and assuming that a station lookup operation is being initiated, when the system prepares to access the master control table, the desired outcome is that all table key values and control flags are cleared to spaces to ensure clean lookup parameters.
💻 Technical Criteria
Given A station lookup operation is being initiated
When The system prepares to access the master control table
Then All table key values and control flags are cleared to spaces to ensure clean lookup parameters
R-GCCCANRL-cbl-00090 Clear Key Values and Flags
Process Rules
📊 Business Logic Narrative
When the process 'Clear Key Values and Flags' is invoked, and assuming that a table lookup operation is being initialized, when the lookup parameters need to be prepared, the desired outcome is that all key values, flags, and filler fields should be cleared to spaces.
💻 Technical Criteria
Given A table lookup operation is being initialized
When The lookup parameters need to be prepared
Then All key values, flags, and filler fields should be cleared to spaces
R-GCCCANRL-cbl-00061 Set Security Information
Process Rules
📊 Business Logic Narrative
When the process 'Set Security Information' is invoked, and assuming that a cancel release activity needs to be logged, when the logging process begins, the desired outcome is that the security byte should be set to high values.
💻 Technical Criteria
Given A cancel release activity needs to be logged
When The logging process begins
Then The security byte should be set to high values
R-GCCCANRL-cbl-00100 Set Security Information
Action Rules
📊 Business Logic Narrative
When the process 'Set Security Information' is invoked, and assuming that a cancel release operation is being logged, when the system prepares the audit log message, the desired outcome is that the security byte is set to high-values for maximum security classification.
💻 Technical Criteria
Given A cancel release operation is being logged
When The system prepares the audit log message
Then The security byte is set to high-values for maximum security classification

📍 Routing, Border & Port 13 logic blocks
R-GCCCANRL-cbl-00006 8:Lookup Station Information
Action Rules
📊 Business Logic Narrative
When the process '8:Lookup Station Information' is invoked, and assuming that a manifest has a destination station name, when the system performs station lookup using table id 'mc', the desired outcome is that if lookup is successful (return flag = '0'), station number from lookup is used, otherwise existing destination station number is retained.
💻 Technical Criteria
Given A manifest has a destination station name
When The system performs station lookup using table ID 'MC'
Then If lookup is successful (return flag = '0'), station number from lookup is used, otherwise existing destination station number is retained
R-GCCCANRL-cbl-00007 9:Update In-Transit Status
Decision Rules
📊 Business Logic Narrative
When the process '9:Update In-Transit Status' is invoked, and assuming that a manifest has an in-transit status, when the in-transit status is 'z' or 'e', the desired outcome is that the in-transit status is changed to 'l'.
💻 Technical Criteria
Given A manifest has an in-transit status
When The in-transit status is 'Z' or 'E'
Then The in-transit status is changed to 'L'
R-GCCCANRL-cbl-00008 10:Handle Special Transit Cases
Decision Rules
📊 Business Logic Narrative
When the process '10:Handle Special Transit Cases' is invoked, and assuming that a manifest has an in-transit status, when the in-transit status is 'r' or 't', the desired outcome is that the destination station number for index is cleared to spaces.
💻 Technical Criteria
Given A manifest has an in-transit status
When The in-transit status is 'R' or 'T'
Then The destination station number for index is cleared to spaces
R-GCCCANRL-cbl-00031 Set Cancel Release Data
Action Rules
📊 Business Logic Narrative
When the process 'Set Cancel Release Data' is invoked, and assuming that a manifest is being processed for cancel release, when station information lookup is performed using the manifest destination station name, the desired outcome is that if lookup is successful, use the station number from the lookup result; otherwise, use the existing destination station number.
💻 Technical Criteria
Given A manifest is being processed for cancel release
When Station information lookup is performed using the manifest destination station name
Then If lookup is successful, use the station number from the lookup result; otherwise, use the existing destination station number
R-GCCCANRL-cbl-00032 Set Cancel Release Data
Decision Rules
📊 Business Logic Narrative
When the process 'Set Cancel Release Data' is invoked, and assuming that a manifest is being processed for cancel release, when the in-transit status is z or e, the desired outcome is that change the in-transit status to l.
💻 Technical Criteria
Given A manifest is being processed for cancel release
When The in-transit status is Z or E
Then Change the in-transit status to L
R-GCCCANRL-cbl-00033 Set Cancel Release Data
Decision Rules
📊 Business Logic Narrative
When the process 'Set Cancel Release Data' is invoked, and assuming that a manifest is being processed for cancel release, when the in-transit status is r or t, the desired outcome is that clear the destination station number for index.
💻 Technical Criteria
Given A manifest is being processed for cancel release
When The in-transit status is R or T
Then Clear the destination station number for index
R-GCCCANRL-cbl-00050 Use Manifest Destination Station Name as Key
Process Rules
📊 Business Logic Narrative
When the process 'Use Manifest Destination Station Name as Key' is invoked, and assuming that a manifest record contains a destination station name, when the system performs a station lookup, the desired outcome is that the manifest destination station name is used as the search key for the master control table lookup.
💻 Technical Criteria
Given A manifest record contains a destination station name
When The system performs a station lookup
Then The manifest destination station name is used as the search key for the master control table lookup
R-GCCCANRL-cbl-00054 Set Destination Station Number for Index
Process Rules
📊 Business Logic Narrative
When the process 'Set Destination Station Number for Index' is invoked, and assuming that a station number was successfully retrieved from the master control table lookup, when the system updates the destination station information, the desired outcome is that the retrieved station number is assigned to the destination station number for index field.
💻 Technical Criteria
Given A station number was successfully retrieved from the master control table lookup
When The system updates the destination station information
Then The retrieved station number is assigned to the destination station number for index field
R-GCCCANRL-cbl-00056 Set Destination Station Number for Index
Process Rules
📊 Business Logic Narrative
When the process 'Set Destination Station Number for Index' is invoked, and assuming that a station lookup failed and the master control segment was initialized, when the system needs to set the destination station number for indexing, the desired outcome is that the existing destination station number from the manifest is used for the index field.
💻 Technical Criteria
Given A station lookup failed and the master control segment was initialized
When The system needs to set the destination station number for indexing
Then The existing destination station number from the manifest is used for the index field
R-GCCCANRL-cbl-00092 Set Station Name from Manifest
Process Rules
📊 Business Logic Narrative
When the process 'Set Station Name from Manifest' is invoked, and assuming that a manifest record contains a destination station name, when a master control table lookup is being performed, the desired outcome is that the manifest destination station name should be used as the lookup key.
💻 Technical Criteria
Given A manifest record contains a destination station name
When A Master Control table lookup is being performed
Then The manifest destination station name should be used as the lookup key
R-GCCCANRL-cbl-00097 Set Station Number for Index
Process Rules
📊 Business Logic Narrative
When the process 'Set Station Number for Index' is invoked, and assuming that a station number has been successfully extracted from table lookup, when the destination station information needs to be updated, the desired outcome is that the extracted station number should be assigned to the destination station number for index field.
💻 Technical Criteria
Given A station number has been successfully extracted from table lookup
When The destination station information needs to be updated
Then The extracted station number should be assigned to the destination station number for index field
R-GCCCANRL-cbl-00099 Use Original Station Number
Decision Rules
📊 Business Logic Narrative
When the process 'Use Original Station Number' is invoked, and assuming that a master control table lookup has failed, when station number information is still needed for processing, the desired outcome is that the original destination station number should be used for the index field.
💻 Technical Criteria
Given A Master Control table lookup has failed
When Station number information is still needed for processing
Then The original destination station number should be used for the index field
R-GCCCANRL-cbl-00058 Handle Special Transit Cases - Clear destination station number for returning (R) or transit (T) status manifests
Decision Rules
📊 Business Logic Narrative
When the process 'Handle Special Transit Cases - Clear destination station number for returning (R) or transit (T) status manifests' is invoked, and assuming that a manifest record is being processed for cancel release, when the manifest in-transit status is 'r' (returning) or 't' (transit), the desired outcome is that the destination station number for index should be cleared to spaces.
💻 Technical Criteria
Given A manifest record is being processed for cancel release
When The manifest in-transit status is 'R' (Returning) or 'T' (Transit)
Then The destination station number for index should be cleared to spaces

🔁 EDI, Status & Database 47 logic blocks
R-GCCCANRL-cbl-00002 More Follower Manifests?
Decision Rules
📊 Business Logic Narrative
When the process 'More Follower Manifests?' is invoked, and assuming that the system is processing follower manifest records, when a database operation is performed to retrieve records, the desired outcome is that processing continues if status code is spaces, otherwise processing stops.
💻 Technical Criteria
Given The system is processing follower manifest records
When A database operation is performed to retrieve records
Then Processing continues if status code is spaces, otherwise processing stops
R-GCCCANRL-cbl-00004 6:Set Manifest Status Based on CSA Indicator
Decision Rules
📊 Business Logic Narrative
When the process '6:Set Manifest Status Based on CSA Indicator' is invoked, and assuming that a manifest is being processed for cancel release, when the system checks the csa indicator status, the desired outcome is that if csa indicator is on, status is set to csa-dlv, otherwise status is set to manual.
💻 Technical Criteria
Given A manifest is being processed for cancel release
When The system checks the CSA indicator status
Then If CSA indicator is ON, status is set to CSA-DLV, otherwise status is set to MANUAL
R-GCCCANRL-cbl-00005 7:Update Release Information
Action Rules
📊 Business Logic Narrative
When the process '7:Update Release Information' is invoked, and assuming that a manifest is being cancelled, when the system updates release information, the desired outcome is that current machine date is recorded as unrelease date, current user id is recorded, original release date is preserved, release information is cleared, and unrelease reason is set.
💻 Technical Criteria
Given A manifest is being cancelled
When The system updates release information
Then Current machine date is recorded as unrelease date, current user ID is recorded, original release date is preserved, release information is cleared, and unrelease reason is set
R-GCCCANRL-cbl-00009 11:Set Manual Change Flag
Action Rules
📊 Business Logic Narrative
When the process '11:Set Manual Change Flag' is invoked, and assuming that a manifest is being processed for cancel release, when the system updates manifest data, the desired outcome is that the 309 manual change flag is set to true.
💻 Technical Criteria
Given A manifest is being processed for cancel release
When The system updates manifest data
Then The 309 manual change flag is set to true
R-GCCCANRL-cbl-00010 12:Clear Delete Status
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '12:Clear Delete Status', assuming that a manifest is being processed, when the current status is not equal to 'deleted', the desired outcome is that the delete status field is cleared to spaces.
💻 Technical Criteria
EXCLUDING A manifest is being processed
When The current status is not equal to 'DELETED'
Then The delete status field is cleared to spaces
R-GCCCANRL-cbl-00013 Save Current Program Name
Process Rules
📊 Business Logic Narrative
When the process 'Save Current Program Name' is invoked, and assuming that a program is currently executing with an active program name, when the system needs to switch to a new module for processing, the desired outcome is that the current program name must be saved for later restoration.
💻 Technical Criteria
Given A program is currently executing with an active program name
When The system needs to switch to a new module for processing
Then The current program name must be saved for later restoration
R-GCCCANRL-cbl-00014 Set Module Name as Active Program
Process Rules
📊 Business Logic Narrative
When the process 'Set Module Name as Active Program' is invoked, and assuming that a module name is defined for the current processing operation, when the system begins processing operations, the desired outcome is that the module name must be set as the active program identifier.
💻 Technical Criteria
Given A module name is defined for the current processing operation
When The system begins processing operations
Then The module name must be set as the active program identifier
R-GCCCANRL-cbl-00017 First Follower Found?
Decision Rules
📊 Business Logic Narrative
When the process 'First Follower Found?' is invoked, and assuming that the system has attempted to retrieve the first follower manifest, when the database search operation completes, the desired outcome is that if a follower manifest is found, the processing flag must be set to continue, otherwise it must be set to stop.
💻 Technical Criteria
Given The system has attempted to retrieve the first follower manifest
When The database search operation completes
Then If a follower manifest is found, the processing flag must be set to continue, otherwise it must be set to stop
R-GCCCANRL-cbl-00018 Set Processing Flag to Continue
Process Rules
📊 Business Logic Narrative
When the process 'Set Processing Flag to Continue' is invoked, and assuming that a follower manifest record has been successfully retrieved, when the system evaluates the search results, the desired outcome is that the processing flag must be set to indicate continuation of processing.
💻 Technical Criteria
Given A follower manifest record has been successfully retrieved
When The system evaluates the search results
Then The processing flag must be set to indicate continuation of processing
R-GCCCANRL-cbl-00019 Set Processing Flag to Stop
Process Rules
📊 Business Logic Narrative
When the process 'Set Processing Flag to Stop' is invoked, and assuming that no follower manifest records are found in the database search, when the system evaluates the search results, the desired outcome is that the processing flag must be set to indicate termination of processing.
💻 Technical Criteria
Given No follower manifest records are found in the database search
When The system evaluates the search results
Then The processing flag must be set to indicate termination of processing
R-GCCCANRL-cbl-00022 Follower Manifest Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Follower Manifest Found?' is invoked, and assuming that a database query for follower manifest has been executed, when the system checks the query status code, the desired outcome is that if status code is spaces then manifest is found, otherwise no manifest is available.
💻 Technical Criteria
Given A database query for follower manifest has been executed
When The system checks the query status code
Then If status code is spaces then manifest is found, otherwise no manifest is available
R-GCCCANRL-cbl-00023 Set Flag: More Manifests Available for Processing
Process Rules
📊 Business Logic Narrative
When the process 'Set Flag: More Manifests Available for Processing' is invoked, and assuming that a follower manifest record was successfully found in the database, when the system processes the successful query result, the desired outcome is that the processing flag is set to indicate more manifests are available for processing.
💻 Technical Criteria
Given A follower manifest record was successfully found in the database
When The system processes the successful query result
Then The processing flag is set to indicate more manifests are available for processing
R-GCCCANRL-cbl-00024 Set Flag: No Manifests Available for Processing
Process Rules
📊 Business Logic Narrative
When the process 'Set Flag: No Manifests Available for Processing' is invoked, and assuming that no follower manifest record was found in the database, when the system processes the unsuccessful query result, the desired outcome is that the processing flag is set to indicate no manifests are available for processing.
💻 Technical Criteria
Given No follower manifest record was found in the database
When The system processes the unsuccessful query result
Then The processing flag is set to indicate no manifests are available for processing
R-GCCCANRL-cbl-00028 Set Cancel Release Data
Decision Rules
📊 Business Logic Narrative
When the process 'Set Cancel Release Data' is invoked, and assuming that a manifest is being processed for cancel release, when the csa indicator is on, the desired outcome is that set the manifest status to csa delivery.
💻 Technical Criteria
Given A manifest is being processed for cancel release
When The CSA indicator is on
Then Set the manifest status to CSA delivery
R-GCCCANRL-cbl-00029 Set Cancel Release Data
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Cancel Release Data', assuming that a manifest is being processed for cancel release, when the csa indicator is not on, the desired outcome is that set the manifest status to manual.
💻 Technical Criteria
EXCLUDING A manifest is being processed for cancel release
When The CSA indicator is not on
Then Set the manifest status to manual
R-GCCCANRL-cbl-00030 Set Cancel Release Data
Process Rules
📊 Business Logic Narrative
When the process 'Set Cancel Release Data' is invoked, and assuming that a manifest release is being canceled, when cancel release data is being set, the desired outcome is that record the current machine date as unrelease date, current user id as unreleasing user, preserve original release date, clear release information, and set the unrelease reason.
💻 Technical Criteria
Given A manifest release is being canceled
When Cancel release data is being set
Then Record the current machine date as unrelease date, current user ID as unreleasing user, preserve original release date, clear release information, and set the unrelease reason
R-GCCCANRL-cbl-00034 Set Cancel Release Data
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Cancel Release Data', assuming that a manifest is being processed for cancel release, when the current status is not deleted, the desired outcome is that clear the delete status.
💻 Technical Criteria
EXCLUDING A manifest is being processed for cancel release
When The current status is not DELETED
Then Clear the delete status
R-GCCCANRL-cbl-00036 Update Manifest Record
Action Rules
📊 Business Logic Narrative
When the process 'Update Manifest Record' is invoked, and assuming that cancel release data has been set and logged, when all cancel release processing is complete for a manifest, the desired outcome is that update the manifest record using repl operation to save all changes.
💻 Technical Criteria
Given Cancel release data has been set and logged
When All cancel release processing is complete for a manifest
Then Update the manifest record using REPL operation to save all changes
R-GCCCANRL-cbl-00039 Clear Accept Status
Process Rules
📊 Business Logic Narrative
When the process 'Clear Accept Status' is invoked, and assuming that a manifest retrieval operation is about to be performed, when the system prepares to get a manifest record with hold for update, the desired outcome is that the system accept status must be cleared to ensure clean retrieval operation.
💻 Technical Criteria
Given A manifest retrieval operation is about to be performed
When The system prepares to get a manifest record with hold for update
Then The system accept status must be cleared to ensure clean retrieval operation
R-GCCCANRL-cbl-00088 Update Manifest Release Reason Field
Process Rules
📊 Business Logic Narrative
When the process 'Update Manifest Release Reason Field' is invoked, and assuming that the unrelease reason has been constructed with all required details, when the system needs to update the manifest with cancellation information, the desired outcome is that the manifest release reason field is updated with the constructed unrelease reason.
💻 Technical Criteria
Given The unrelease reason has been constructed with all required details
When The system needs to update the manifest with cancellation information
Then The manifest release reason field is updated with the constructed unrelease reason
R-GCCCANRL-cbl-00049 Set Table ID to 'MC' for Master Control
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Table ID to 'MC' for Master Control' is invoked, and assuming that a station lookup operation requires access to the master control table, when the system sets up table access parameters, the desired outcome is that the table identifier is set to 'mc' to specify master control table access.
💻 Technical Criteria
Given A station lookup operation requires access to the master control table
When The system sets up table access parameters
Then The table identifier is set to 'MC' to specify Master Control table access
R-GCCCANRL-cbl-00051 Call Master Control Table Service
Action Rules
📊 Business Logic Narrative
When the process 'Call Master Control Table Service' is invoked, and assuming that all lookup parameters are properly initialized with table id 'mc' and station name key, when the system needs to retrieve station information, the desired outcome is that the gcctbio service is called with gu function code to perform the table lookup.
💻 Technical Criteria
Given All lookup parameters are properly initialized with table ID 'MC' and station name key
When The system needs to retrieve station information
Then The GCCTBIO service is called with GU function code to perform the table lookup
R-GCCCANRL-cbl-00052 Station Found Successfully?
Decision Rules
📊 Business Logic Narrative
When the process 'Station Found Successfully?' is invoked, and assuming that a master control table lookup has been performed, when the system checks the lookup result, the desired outcome is that if the return flag equals '0', the station was found successfully, otherwise the station was not found.
💻 Technical Criteria
Given A master control table lookup has been performed
When The system checks the lookup result
Then If the return flag equals '0', the station was found successfully, otherwise the station was not found
R-GCCCANRL-cbl-00053 Extract Station Number from Retrieved Record
Process Rules
📊 Business Logic Narrative
When the process 'Extract Station Number from Retrieved Record' is invoked, and assuming that a station record was successfully retrieved from the master control table, when the system processes the retrieved station information, the desired outcome is that the station number is extracted from the master control segment and moved to the table segment.
💻 Technical Criteria
Given A station record was successfully retrieved from the master control table
When The system processes the retrieved station information
Then The station number is extracted from the master control segment and moved to the table segment
R-GCCCANRL-cbl-00089 Set Function Code to GU
Action Rules
📊 Business Logic Narrative
When the process 'Set Function Code to GU' is invoked, and assuming that a master control table lookup is required, when the table service is being prepared for execution, the desired outcome is that the function code should be set to gu for data retrieval operation.
💻 Technical Criteria
Given A master control table lookup is required
When The table service is being prepared for execution
Then The function code should be set to GU for data retrieval operation
R-GCCCANRL-cbl-00091 Set Table ID to 'MC'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Table ID to 'MC'' is invoked, and assuming that a table lookup operation is being configured, when the target table needs to be identified, the desired outcome is that the table id should be set to 'mc' to identify the master control table.
💻 Technical Criteria
Given A table lookup operation is being configured
When The target table needs to be identified
Then The table ID should be set to 'MC' to identify the Master Control table
R-GCCCANRL-cbl-00093 Clear Return Flag
Process Rules
📊 Business Logic Narrative
When the process 'Clear Return Flag' is invoked, and assuming that a table service call is about to be executed, when the service parameters are being finalized, the desired outcome is that the return flag should be cleared to spaces for proper response detection.
💻 Technical Criteria
Given A table service call is about to be executed
When The service parameters are being finalized
Then The return flag should be cleared to spaces for proper response detection
R-GCCCANRL-cbl-00094 Call GCCTBIO Service
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCTBIO Service' is invoked, and assuming that all table lookup parameters have been prepared, when station information needs to be retrieved from master control table, the desired outcome is that the gcctbio service should be called with the prepared parameters.
💻 Technical Criteria
Given All table lookup parameters have been prepared
When Station information needs to be retrieved from Master Control table
Then The GCCTBIO service should be called with the prepared parameters
R-GCCCANRL-cbl-00096 Extract Station Number from Response
Process Rules
📊 Business Logic Narrative
When the process 'Extract Station Number from Response' is invoked, and assuming that a master control table lookup was successful, when the response contains valid station information, the desired outcome is that the station number should be extracted from the response segment.
💻 Technical Criteria
Given A Master Control table lookup was successful
When The response contains valid station information
Then The station number should be extracted from the response segment
R-GCCCANRL-cbl-00060 Clear Delete Status Field
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Clear Delete Status Field', assuming that a manifest record is being processed for cancel release, when the manifest current status is not equal to 'deleted', the desired outcome is that the delete status field should be cleared to spaces.
💻 Technical Criteria
EXCLUDING A manifest record is being processed for cancel release
When The manifest current status is not equal to 'DELETED'
Then The delete status field should be cleared to spaces
R-GCCCANRL-cbl-00064 Record User ID and Transaction Code
Process Rules
📊 Business Logic Narrative
When the process 'Record User ID and Transaction Code' is invoked, and assuming that a user is performing a cancel release transaction, when creating the audit log entry, the desired outcome is that the user's acf2 id and the transaction code should be recorded in the log.
💻 Technical Criteria
Given A user is performing a cancel release transaction
When Creating the audit log entry
Then The user's ACF2 ID and the transaction code should be recorded in the log
R-GCCCANRL-cbl-00065 Capture Current Date and Time
Process Rules
📊 Business Logic Narrative
When the process 'Capture Current Date and Time' is invoked, and assuming that a cancel release activity is being processed, when creating the audit log entry, the desired outcome is that the current machine date, century, and time should be captured and recorded in the log.
💻 Technical Criteria
Given A cancel release activity is being processed
When Creating the audit log entry
Then The current machine date, century, and time should be captured and recorded in the log
R-GCCCANRL-cbl-00067 Prepare Log Message
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Log Message' is invoked, and assuming that all audit information has been collected, when preparing to send the log entry, the desired outcome is that the audit information should be formatted into the message structure and the accept status should be cleared.
💻 Technical Criteria
Given All audit information has been collected
When Preparing to send the log entry
Then The audit information should be formatted into the message structure and the accept status should be cleared
R-GCCCANRL-cbl-00103 Set Transaction Code
Process Rules
📊 Business Logic Narrative
When the process 'Set Transaction Code' is invoked, and assuming that a cancel release transaction is being processed, when the audit log is being prepared, the desired outcome is that the transaction code from the common communication area is recorded in the log entry.
💻 Technical Criteria
Given A cancel release transaction is being processed
When The audit log is being prepared
Then The transaction code from the common communication area is recorded in the log entry
R-GCCCANRL-cbl-00104 Set User ID
Authorization Rules
📊 Business Logic Narrative
When the process 'Set User ID' is invoked, and assuming that a user is performing a cancel release operation, when the audit log entry is being created, the desired outcome is that the user's acf2 id from the common communication area is recorded in the log.
💻 Technical Criteria
Given A user is performing a cancel release operation
When The audit log entry is being created
Then The user's ACF2 ID from the common communication area is recorded in the log
R-GCCCANRL-cbl-00105 Set Current Date
Process Rules
📊 Business Logic Narrative
When the process 'Set Current Date' is invoked, and assuming that a cancel release operation is being performed, when the audit log entry is being prepared, the desired outcome is that the current machine century and date are recorded in the log entry.
💻 Technical Criteria
Given A cancel release operation is being performed
When The audit log entry is being prepared
Then The current machine century and date are recorded in the log entry
R-GCCCANRL-cbl-00106 Set Current Time
Process Rules
📊 Business Logic Narrative
When the process 'Set Current Time' is invoked, and assuming that a cancel release operation is being performed, when the audit log entry is being prepared, the desired outcome is that the current machine time is recorded in the log entry.
💻 Technical Criteria
Given A cancel release operation is being performed
When The audit log entry is being prepared
Then The current machine time is recorded in the log entry
R-GCCCANRL-cbl-00117 Send Message to Audit System
Action Rules
📊 Business Logic Narrative
When the process 'Send Message to Audit System' is invoked, and assuming that an audit log entry has been formatted for transmission, when the system sends the audit entry, the desired outcome is that the cims program must be called with chng function to transmit the audit message through the alternate pcb.
💻 Technical Criteria
Given An audit log entry has been formatted for transmission
When The system sends the audit entry
Then The CIMS program must be called with CHNG function to transmit the audit message through the alternate PCB
R-GCCCANRL-cbl-00119 Purge Message Queue
Action Rules
📊 Business Logic Narrative
When the process 'Purge Message Queue' is invoked, and assuming that an audit message has been successfully written to the log, when the system completes the logging process, the desired outcome is that the cims program must be called with purg function to purge the message queue through the alternate pcb.
💻 Technical Criteria
Given An audit message has been successfully written to the log
When The system completes the logging process
Then The CIMS program must be called with PURG function to purge the message queue through the alternate PCB
R-GCCCANRL-cbl-00071 Clear Accept Status
Process Rules
📊 Business Logic Narrative
When the process 'Clear Accept Status' is invoked, and assuming that a manifest record update operation is about to be performed, when the system prepares to replace the manifest record, the desired outcome is that the accept status field must be cleared to spaces to reset operation status.
💻 Technical Criteria
Given A manifest record update operation is about to be performed
When The system prepares to replace the manifest record
Then The accept status field must be cleared to spaces to reset operation status
R-GCCCANRL-cbl-00072 Execute Database Replace Operation
Action Rules
📊 Business Logic Narrative
When the process 'Execute Database Replace Operation' is invoked, and assuming that the manifest record has been retrieved and updated with cancellation data, when the system needs to persist the updated manifest information, the desired outcome is that the system must call the database interface program with replace operation to update the manifest record.
💻 Technical Criteria
Given The manifest record has been retrieved and updated with cancellation data
When The system needs to persist the updated manifest information
Then The system must call the database interface program with replace operation to update the manifest record
R-GCCCANRL-cbl-00073 Retrieve Next Manifest Record
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Next Manifest Record' is invoked, and assuming that the system is processing follower manifests in sequence, when the system attempts to retrieve the next manifest record, the desired outcome is that the system executes a database get-next operation to fetch the subsequent manifest record.
💻 Technical Criteria
Given The system is processing follower manifests in sequence
When The system attempts to retrieve the next manifest record
Then The system executes a database get-next operation to fetch the subsequent manifest record
R-GCCCANRL-cbl-00074 Record Retrieved Successfully?
Validation Rules
📊 Business Logic Narrative
When the process 'Record Retrieved Successfully?' is invoked, and assuming that a database get-next operation has been executed for manifest records, when the system checks the operation result status, the desired outcome is that if the status code is spaces (successful), the system proceeds with record validation, otherwise it sets no-more-records flag.
💻 Technical Criteria
Given A database get-next operation has been executed for manifest records
When The system checks the operation result status
Then If the status code is spaces (successful), the system proceeds with record validation, otherwise it sets no-more-records flag
R-GCCCANRL-cbl-00076 Set Flag: More Manifests Available
Process Rules
📊 Business Logic Narrative
When the process 'Set Flag: More Manifests Available' is invoked, and assuming that a manifest record has been successfully retrieved and belongs to the same master manifest group, when the system needs to set the processing continuation flag, the desired outcome is that the system sets the flag to indicate more manifests are available for processing.
💻 Technical Criteria
Given A manifest record has been successfully retrieved and belongs to the same master manifest group
When The system needs to set the processing continuation flag
Then The system sets the flag to indicate more manifests are available for processing
R-GCCCANRL-cbl-00077 Set Flag: No More Manifests
Process Rules
📊 Business Logic Narrative
When the process 'Set Flag: No More Manifests' is invoked, and assuming that either the manifest record retrieval failed or the retrieved manifest belongs to a different master group, when the system needs to set the processing termination flag, the desired outcome is that the system sets the flag to indicate no more manifests are available for processing.
💻 Technical Criteria
Given Either the manifest record retrieval failed or the retrieved manifest belongs to a different master group
When The system needs to set the processing termination flag
Then The system sets the flag to indicate no more manifests are available for processing
R-GCCCANRL-cbl-00081 Next Manifest Retrieved Successfully
Validation Rules
📊 Business Logic Narrative
When the process 'Next Manifest Retrieved Successfully' is invoked, and assuming that a request to get the next follower manifest has been made, when the database status code is spaces indicating successful retrieval, the desired outcome is that proceed to validate if the manifest belongs to the same group, otherwise stop processing.
💻 Technical Criteria
Given A request to get the next follower manifest has been made
When The database status code is spaces indicating successful retrieval
Then Proceed to validate if the manifest belongs to the same group, otherwise stop processing
R-GCCCANRL-cbl-00082 Complete Processing - Restore original program name and return control to calling program
Process Rules
📊 Business Logic Narrative
When the process 'Complete Processing - Restore original program name and return control to calling program' is invoked, and assuming that all follower manifests have been processed through the cancel release workflow and the original program name was saved at the beginning of processing, when the cancel release processing loop has completed with no more follower records to process, the desired outcome is that the system restores the original program name to the program context and returns control to the calling program.
💻 Technical Criteria
Given All follower manifests have been processed through the cancel release workflow AND the original program name was saved at the beginning of processing
When The cancel release processing loop has completed with no more follower records to process
Then The system restores the original program name to the program context AND returns control to the calling program

🚂 Equipment & Cargo Specs 25 logic blocks
R-GCCCANRL-cbl-00042 Set Manifest Status Based on CSA Indicator - Update manifest status to CSA-DLV if CSA indicator is on, otherwise set to MANUAL
Decision Rules
📊 Business Logic Narrative
When the process 'Set Manifest Status Based on CSA Indicator - Update manifest status to CSA-DLV if CSA indicator is on, otherwise set to MANUAL' is invoked, and assuming that a cargo manifest record is being processed for cancel release, when the system evaluates the csa indicator status, the desired outcome is that if csa indicator is on, set manifest status to csa-dlv, otherwise set manifest status to manual.
💻 Technical Criteria
Given A cargo manifest record is being processed for cancel release
When The system evaluates the CSA indicator status
Then If CSA indicator is ON, set manifest status to CSA-DLV, otherwise set manifest status to MANUAL
R-GCCCANRL-cbl-00043 Capture Current Date for Unrelease
Process Rules
📊 Business Logic Narrative
When the process 'Capture Current Date for Unrelease' is invoked, and assuming that a cargo release is being canceled, when the system processes the cancel release request, the desired outcome is that the current machine date is captured and stored as the unrelease date.
💻 Technical Criteria
Given A cargo release is being canceled
When The system processes the cancel release request
Then The current machine date is captured and stored as the unrelease date
R-GCCCANRL-cbl-00044 Capture Current User ID
Process Rules
📊 Business Logic Narrative
When the process 'Capture Current User ID' is invoked, and assuming that a cargo release is being canceled by a user, when the system processes the cancel release request, the desired outcome is that the current user's acf2 user id is captured and stored as the unreleasing user.
💻 Technical Criteria
Given A cargo release is being canceled by a user
When The system processes the cancel release request
Then The current user's ACF2 user ID is captured and stored as the unreleasing user
R-GCCCANRL-cbl-00045 Save Original Release Date
Process Rules
📊 Business Logic Narrative
When the process 'Save Original Release Date' is invoked, and assuming that a cargo release with an existing release date is being canceled, when the system processes the cancel release request, the desired outcome is that the original release date is saved before any release information is cleared.
💻 Technical Criteria
Given A cargo release with an existing release date is being canceled
When The system processes the cancel release request
Then The original release date is saved before any release information is cleared
R-GCCCANRL-cbl-00046 Clear All Release Information
Process Rules
📊 Business Logic Narrative
When the process 'Clear All Release Information' is invoked, and assuming that a cargo release is being canceled, when the system processes the cancel release request, the desired outcome is that all release information fields are cleared and set to spaces.
💻 Technical Criteria
Given A cargo release is being canceled
When The system processes the cancel release request
Then All release information fields are cleared and set to spaces
R-GCCCANRL-cbl-00047 Set Unrelease Reason with Details
Process Rules
📊 Business Logic Narrative
When the process 'Set Unrelease Reason with Details' is invoked, and assuming that a cargo release is being canceled with a specific unrelease reason, when the system processes the cancel release request, the desired outcome is that the unrelease reason is recorded in the release reason field.
💻 Technical Criteria
Given A cargo release is being canceled with a specific unrelease reason
When The system processes the cancel release request
Then The unrelease reason is recorded in the release reason field
R-GCCCANRL-cbl-00083 Get Current Machine Date
Process Rules
📊 Business Logic Narrative
When the process 'Get Current Machine Date' is invoked, and assuming that a cargo release cancellation is being processed, when the system needs to record the unrelease date, the desired outcome is that the current machine date is captured and stored as the unrelease date.
💻 Technical Criteria
Given A cargo release cancellation is being processed
When The system needs to record the unrelease date
Then The current machine date is captured and stored as the unrelease date
R-GCCCANRL-cbl-00084 Get Current User ID
Process Rules
📊 Business Logic Narrative
When the process 'Get Current User ID' is invoked, and assuming that a cargo release cancellation is being processed, when the system needs to record who performed the unrelease action, the desired outcome is that the current acf2 user id is captured and stored as the unreleasing user.
💻 Technical Criteria
Given A cargo release cancellation is being processed
When The system needs to record who performed the unrelease action
Then The current ACF2 user ID is captured and stored as the unreleasing user
R-GCCCANRL-cbl-00085 Get Original Release Date from Manifest
Process Rules
📊 Business Logic Narrative
When the process 'Get Original Release Date from Manifest' is invoked, and assuming that a cargo release cancellation is being processed, when the system needs to preserve historical release information, the desired outcome is that the original release date from the manifest is captured and stored.
💻 Technical Criteria
Given A cargo release cancellation is being processed
When The system needs to preserve historical release information
Then The original release date from the manifest is captured and stored
R-GCCCANRL-cbl-00086 Clear Existing Release Information
Process Rules
📊 Business Logic Narrative
When the process 'Clear Existing Release Information' is invoked, and assuming that a cargo release cancellation is being processed, when the system needs to clear previous release information, the desired outcome is that the release information field is cleared to spaces.
💻 Technical Criteria
Given A cargo release cancellation is being processed
When The system needs to clear previous release information
Then The release information field is cleared to spaces
R-GCCCANRL-cbl-00087 Construct Unrelease Reason with All Details
Process Rules
📊 Business Logic Narrative
When the process 'Construct Unrelease Reason with All Details' is invoked, and assuming that a cargo release cancellation is being processed and all required details are available, when the system needs to document the reason for unreleasing, the desired outcome is that the unrelease reason is constructed with the predefined unrelease reason text.
💻 Technical Criteria
Given A cargo release cancellation is being processed and all required details are available
When The system needs to document the reason for unreleasing
Then The unrelease reason is constructed with the predefined unrelease reason text
R-GCCCANRL-cbl-00055 Use Current Manifest Station Number
Process Rules
📊 Business Logic Narrative
When the process 'Use Current Manifest Station Number' is invoked, and assuming that a station lookup operation failed to find the station in the master control table, when the system handles the lookup failure, the desired outcome is that the master control segment is initialized to empty values.
💻 Technical Criteria
Given A station lookup operation failed to find the station in the master control table
When The system handles the lookup failure
Then The master control segment is initialized to empty values
R-GCCCANRL-cbl-00098 Initialize Empty Segment
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Initialize Empty Segment', assuming that a master control table lookup has failed, when the table response is not available, the desired outcome is that the master control table segment should be initialized to empty values.
💻 Technical Criteria
EXCLUDING A Master Control table lookup has failed
When The table response is not available
Then The Master Control table segment should be initialized to empty values
R-GCCCANRL-cbl-00057 Update In-Transit Status - Change in-transit status from Z or E to L (Local) if applicable
Decision Rules
📊 Business Logic Narrative
When the process 'Update In-Transit Status - Change in-transit status from Z or E to L (Local) if applicable' is invoked, and assuming that a cargo manifest record is being processed for cancel release, when the current in-transit status is z or e, the desired outcome is that the in-transit status is changed to l (local).
💻 Technical Criteria
Given A cargo manifest record is being processed for cancel release
When The current in-transit status is Z or E
Then The in-transit status is changed to L (Local)
R-GCCCANRL-cbl-00059 Set Manual Change Flag to TRUE
Process Rules
📊 Business Logic Narrative
When the process 'Set Manual Change Flag to TRUE' is invoked, and assuming that a cargo manifest is being processed for cancellation or release changes, when the system is setting cancel release data for the manifest, the desired outcome is that the manual change flag (309-manual-change) must be set to true to indicate manual intervention.
💻 Technical Criteria
Given A cargo manifest is being processed for cancellation or release changes
When The system is setting cancel release data for the manifest
Then The manual change flag (309-MANUAL-CHANGE) must be set to TRUE to indicate manual intervention
R-GCCCANRL-cbl-00063 Set Transaction Type to Cargo
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Transaction Type to Cargo' is invoked, and assuming that a cancel release activity is being logged, when setting up the audit log entry, the desired outcome is that the transaction type should be set to cargo.
💻 Technical Criteria
Given A cancel release activity is being logged
When Setting up the audit log entry
Then The transaction type should be set to cargo
R-GCCCANRL-cbl-00066 Set Action Code to 'Cargo Release Removed'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Action Code to 'Cargo Release Removed'' is invoked, and assuming that a cargo release is being cancelled, when creating the audit log entry, the desired outcome is that the action code should be set to indicate cargo release removal.
💻 Technical Criteria
Given A cargo release is being cancelled
When Creating the audit log entry
Then The action code should be set to indicate cargo release removal
R-GCCCANRL-cbl-00102 Set Cargo Type Indicator
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Cargo Type Indicator' is invoked, and assuming that a cargo manifest cancel release is being logged, when the audit log entry is being created, the desired outcome is that the cargo type indicator is set to ca-cargo to identify this as a cargo operation.
💻 Technical Criteria
Given A cargo manifest cancel release is being logged
When The audit log entry is being created
Then The cargo type indicator is set to CA-CARGO to identify this as a cargo operation
R-GCCCANRL-cbl-00107 Set Action Code as 'Cargo Release Removed'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Action Code as 'Cargo Release Removed'' is invoked, and assuming that a cargo release is being cancelled, when the audit log entry is being created, the desired outcome is that the action code is set to log-cargo-release-removed to identify the type of operation.
💻 Technical Criteria
Given A cargo release is being cancelled
When The audit log entry is being created
Then The action code is set to LOG-CARGO-RELEASE-REMOVED to identify the type of operation
R-GCCCANRL-cbl-00109 Set Security Level to High
Policy Rules
📊 Business Logic Narrative
When the process 'Set Security Level to High' is invoked, and assuming that a cargo release cancellation audit log entry is being created, when the system prepares the security settings for the log entry, the desired outcome is that the security byte must be set to high values to establish maximum security level.
💻 Technical Criteria
Given A cargo release cancellation audit log entry is being created
When The system prepares the security settings for the log entry
Then The security byte must be set to high values to establish maximum security level
R-GCCCANRL-cbl-00111 Set Cargo Type Indicator
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Cargo Type Indicator' is invoked, and assuming that an audit log entry is being created for cargo release cancellation, when the system sets the cargo type classification, the desired outcome is that the cargo type indicator must be set to ca-cargo to identify this as a cargo-related transaction.
💻 Technical Criteria
Given An audit log entry is being created for cargo release cancellation
When The system sets the cargo type classification
Then The cargo type indicator must be set to CA-CARGO to identify this as a cargo-related transaction
R-GCCCANRL-cbl-00112 Record Transaction Code
Process Rules
📊 Business Logic Narrative
When the process 'Record Transaction Code' is invoked, and assuming that a cargo release cancellation is being processed, when the system creates an audit log entry, the desired outcome is that the transaction code from the common communication area must be recorded as the sending transaction in the log entry.
💻 Technical Criteria
Given A cargo release cancellation is being processed
When The system creates an audit log entry
Then The transaction code from the common communication area must be recorded as the sending transaction in the log entry
R-GCCCANRL-cbl-00113 Capture User ID
Authorization Rules
📊 Business Logic Narrative
When the process 'Capture User ID' is invoked, and assuming that a user initiates a cargo release cancellation, when the system creates an audit log entry, the desired outcome is that the acf2 user id from the common communication area must be recorded in the log entry.
💻 Technical Criteria
Given A user initiates a cargo release cancellation
When The system creates an audit log entry
Then The ACF2 user ID from the common communication area must be recorded in the log entry
R-GCCCANRL-cbl-00114 Set Current Date and Time
Process Rules
📊 Business Logic Narrative
When the process 'Set Current Date and Time' is invoked, and assuming that a cargo release cancellation is being processed, when the system creates an audit log entry, the desired outcome is that the current machine date (including century) and time must be recorded in the log entry.
💻 Technical Criteria
Given A cargo release cancellation is being processed
When The system creates an audit log entry
Then The current machine date (including century) and time must be recorded in the log entry
R-GCCCANRL-cbl-00115 Set Action Code as Release Removed
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Action Code as Release Removed' is invoked, and assuming that a cargo release is being cancelled, when the system creates an audit log entry, the desired outcome is that the action code must be set to log-cargo-release-removed to identify this specific type of transaction.
💻 Technical Criteria
Given A cargo release is being cancelled
When The system creates an audit log entry
Then The action code must be set to LOG-CARGO-RELEASE-REMOVED to identify this specific type of transaction

Module Tracker: GCCCBOL

454 Validations & Rules
Module Objective: No description provided from architecture analysis.
⚙️ General Logic & Formats 42 logic blocks
R-GCCCBOL-cbl-00011 15:Compress Reference Numbers
Computation Rules
📊 Business Logic Narrative
When the process '15:Compress Reference Numbers' is invoked, and assuming that reference numbers may contain leading spaces, when compressing reference number data, the desired outcome is that for each reference number that starts with spaces, shift all non-space characters to the left to remove leading spaces.
💻 Technical Criteria
Given Reference numbers may contain leading spaces
When Compressing reference number data
Then For each reference number that starts with spaces, shift all non-space characters to the left to remove leading spaces
R-GCCCBOL-cbl-00015 Multi-Manifest Indicator = Y?
Decision Rules
📊 Business Logic Narrative
When the process 'Multi-Manifest Indicator = Y?' is invoked, and assuming that shipment processing requires manifest checking, when evaluating manifest requirements, the desired outcome is that if multi-manifest-ind equals 'y', set multi-bill shipment flag and process n10 data, otherwise set not-multi-bill shipment flag.
💻 Technical Criteria
Given Shipment processing requires manifest checking
When Evaluating manifest requirements
Then If MULTI-MANIFEST-IND equals 'Y', set multi-bill shipment flag and process N10 data, otherwise set not-multi-bill shipment flag
R-GCCCBOL-cbl-00033 Initialize SHIPMINE segment
Process Rules
📊 Business Logic Narrative
When the process 'Initialize SHIPMINE segment' is invoked, and assuming that a request to retrieve shipment mine data, when the system begins the data retrieval process, the desired outcome is that the shipmine data structure is cleared to spaces.
💻 Technical Criteria
Given A request to retrieve shipment mine data
When The system begins the data retrieval process
Then The SHIPMINE data structure is cleared to spaces
R-GCCCBOL-cbl-00035 Set segment ID to 'E'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set segment ID to 'E'' is invoked, and assuming that a configured shipment mine segment type, when the system sets the segment identifier, the desired outcome is that the segment id is set to 'e' to identify the specific data category.
💻 Technical Criteria
Given A configured shipment mine segment type
When The system sets the segment identifier
Then The segment ID is set to 'E' to identify the specific data category
R-GCCCBOL-cbl-00048 Initialize Broker Name Variables
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Broker Name Variables' is invoked, and assuming that the broker building process is starting, when the system initializes broker processing variables, the desired outcome is that all broker name variables are set to spaces for clean processing.
💻 Technical Criteria
Given The broker building process is starting
When The system initializes broker processing variables
Then All broker name variables are set to spaces for clean processing
R-GCCCBOL-cbl-00309 CB Broker Found?
Decision Rules
📊 Business Logic Narrative
When the process 'CB Broker Found?' is invoked, and assuming that the broker search from bol data is complete, when a temporary cb broker was found during the search process, the desired outcome is that the system should move the temporary broker name to the final broker long name field.
💻 Technical Criteria
Given The broker search from BOL data is complete
When A temporary CB broker was found during the search process
Then The system should move the temporary broker name to the final broker long name field
R-GCCCBOL-cbl-00315 XQ Broker Already Found?
Decision Rules
📊 Business Logic Narrative
When the process 'XQ Broker Already Found?' is invoked, and assuming that a cb type special handling code is found, when the system checks if a temporary cb broker should be stored, the desired outcome is that the cb broker is only stored as temporary if no xq broker has been found and the temporary cb flag is not found.
💻 Technical Criteria
Given A CB type special handling code is found
When The system checks if a temporary CB broker should be stored
Then The CB broker is only stored as temporary if no XQ broker has been found and the temporary CB flag is not found
R-GCCCBOL-cbl-00318 Temporary CB Broker Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Temporary CB Broker Found?' is invoked, and assuming that all special handling codes have been processed and no xq broker was found, when a temporary cb broker was stored during the search, the desired outcome is that the temporary cb broker name is moved to the final broker name for parsing.
💻 Technical Criteria
Given All special handling codes have been processed and no XQ broker was found
When A temporary CB broker was stored during the search
Then The temporary CB broker name is moved to the final broker name for parsing
R-GCCCBOL-cbl-00091 Initialize Reference Number Variables
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Reference Number Variables' is invoked, and assuming that the system is ready to process n9 reference numbers, when reference number processing begins, the desired outcome is that initialize sequence counter to 0, array index to 1, set bol reference found flag to true, set bm not found flag to true, set si not found flag to true, and set blank n9 not found flag to true.
💻 Technical Criteria
Given The system is ready to process N9 reference numbers
When Reference number processing begins
Then Initialize sequence counter to 0, array index to 1, set BOL reference found flag to true, set BM not found flag to true, set SI not found flag to true, and set blank N9 not found flag to true
R-GCCCBOL-cbl-00097 Get BM Reference from Fastway Bill Number
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Get BM Reference from Fastway Bill Number', assuming that bm reference was not found in bol data, when falling back to fastway system data, the desired outcome is that set reference qualifier to 'bm', copy shipper bill number to reference array, set bm found flag to true, and increment array index by 1.
💻 Technical Criteria
EXCLUDING BM reference was not found in BOL data
When Falling back to Fastway system data
Then Set reference qualifier to 'BM', copy shipper bill number to reference array, set BM found flag to true, and increment array index by 1
R-GCCCBOL-cbl-00328 More Array Space Available?
Validation Rules
📊 Business Logic Narrative
When the process 'More Array Space Available?' is invoked, and assuming that the system has processed a reference number and incremented the array index, when the array index exceeds 10, the desired outcome is that the system sets blank n9 not found flag to true to stop further processing and prevent array overflow.
💻 Technical Criteria
Given The system has processed a reference number and incremented the array index
When The array index exceeds 10
Then The system sets blank N9 not found flag to true to stop further processing and prevent array overflow
R-GCCCBOL-cbl-00334 More Special Handling Codes to Check?
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'More Special Handling Codes to Check?', assuming that special handling data contains multiple codes and current index is less than or equal to 7 and si reference has not been found or reference array is not full, when the system processes special handling codes, the desired outcome is that continue to next special handling code in sequence.
💻 Technical Criteria
EXCLUDING special handling data contains multiple codes AND current index is less than or equal to 7 AND SI reference has not been found OR reference array is not full
When the system processes special handling codes
Then continue to next special handling code in sequence
R-GCCCBOL-cbl-00103 Store BM Reference Number
Decision Rules
📊 Business Logic Narrative
When the process 'Store BM Reference Number' is invoked, and assuming that a reference number with qualifier 'bm ' has been processed and no bm reference has been stored yet, when the system evaluates whether to store the bm reference, the desired outcome is that the system should store the bm reference number in the output array and mark bm as found.
💻 Technical Criteria
Given A reference number with qualifier 'BM ' has been processed and no BM reference has been stored yet
When The system evaluates whether to store the BM reference
Then The system should store the BM reference number in the output array and mark BM as found
R-GCCCBOL-cbl-00104 Store SI Reference Number
Decision Rules
📊 Business Logic Narrative
When the process 'Store SI Reference Number' is invoked, and assuming that a reference number with qualifier 'si ' has been processed and no si reference has been stored yet, when the system evaluates whether to store the si reference, the desired outcome is that the system should store the si reference number in the output array and mark si as found.
💻 Technical Criteria
Given A reference number with qualifier 'SI ' has been processed and no SI reference has been stored yet
When The system evaluates whether to store the SI reference
Then The system should store the SI reference number in the output array and mark SI as found
R-GCCCBOL-cbl-00123 Counter I <= 10?
Validation Rules
📊 Business Logic Narrative
When the process 'Counter I <= 10?' is invoked, and assuming that reference number fields are being processed sequentially, when the system checks if more fields need processing, the desired outcome is that processing continues only if the current field number is 10 or less, otherwise processing stops.
💻 Technical Criteria
Given Reference number fields are being processed sequentially
When The system checks if more fields need processing
Then Processing continues only if the current field number is 10 or less, otherwise processing stops
R-GCCCBOL-cbl-00126 Clear Original Reference Number Field
Process Rules
📊 Business Logic Narrative
When the process 'Clear Original Reference Number Field' is invoked, and assuming that reference number data has been copied to work area, when the original field needs to be prepared for compressed data, the desired outcome is that the original reference number field is cleared (set to spaces).
💻 Technical Criteria
Given Reference number data has been copied to work area
When The original field needs to be prepared for compressed data
Then The original reference number field is cleared (set to spaces)
R-GCCCBOL-cbl-00132 Increment Reference Counter I
Process Rules
📊 Business Logic Narrative
When the process 'Increment Reference Counter I' is invoked, and assuming that processing of current reference number field is complete, when the system needs to continue with remaining fields, the desired outcome is that the reference number counter is incremented by 1 to process the next field.
💻 Technical Criteria
Given Processing of current reference number field is complete
When The system needs to continue with remaining fields
Then The reference number counter is incremented by 1 to process the next field
R-GCCCBOL-cbl-00195 Initialize VIN Counter to Zero
Process Rules
📊 Business Logic Narrative
When the process 'Initialize VIN Counter to Zero' is invoked, and assuming that the vin retrieval process is starting for motor vehicle segments, when the system begins mv segment processing, the desired outcome is that the vin quantity counter is set to zero to track the number of vins found.
💻 Technical Criteria
Given The VIN retrieval process is starting for motor vehicle segments
When The system begins MV segment processing
Then The VIN quantity counter is set to zero to track the number of VINs found
R-GCCCBOL-cbl-00199 VIN Quantity = 0?
Decision Rules
📊 Business Logic Narrative
When the process 'VIN Quantity = 0?' is invoked, and assuming that motor vehicle segment processing has completed, when the vin quantity counter equals zero indicating no vins were found in mv segments, the desired outcome is that the system initiates co-loaded shipment vin processing as an alternative source.
💻 Technical Criteria
Given Motor vehicle segment processing has completed
When The VIN quantity counter equals zero indicating no VINs were found in MV segments
Then The system initiates co-loaded shipment VIN processing as an alternative source
R-GCCCBOL-cbl-00200 Initialize Co-Load Process
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Co-Load Process' is invoked, and assuming that no vins were found in motor vehicle segments, when co-loaded shipment processing begins, the desired outcome is that the system resets vin counter to zero and prepares to search rf reference segments for consolidated shipments.
💻 Technical Criteria
Given No VINs were found in motor vehicle segments
When Co-loaded shipment processing begins
Then The system resets VIN counter to zero and prepares to search RF reference segments for consolidated shipments
R-GCCCBOL-cbl-00201 Get RF Reference Segment
Process Rules
📊 Business Logic Narrative
When the process 'Get RF Reference Segment' is invoked, and assuming that co-loaded shipment processing is active, when the system searches for rf type segments with sequential numbering, the desired outcome is that each rf segment is retrieved to check for consolidated shipment indicators.
💻 Technical Criteria
Given Co-loaded shipment processing is active
When The system searches for RF type segments with sequential numbering
Then Each RF segment is retrieved to check for consolidated shipment indicators
R-GCCCBOL-cbl-00390 Initialize VIN Counter to Zero
Process Rules
📊 Business Logic Narrative
When the process 'Initialize VIN Counter to Zero' is invoked, and assuming that the system needs to process vins for co-loaded shipments, when the vin processing begins, the desired outcome is that the vin counter is set to zero and processing flags are initialized.
💻 Technical Criteria
Given The system needs to process VINs for co-loaded shipments
When The VIN processing begins
Then The VIN counter is set to zero and processing flags are initialized
R-GCCCBOL-cbl-00396 VIN Counter Within Limit?
Validation Rules
📊 Business Logic Narrative
When the process 'VIN Counter Within Limit?' is invoked, and assuming that a vin counter has been incremented for a valid vehicle, when the system checks the vin counter against the maximum allowed limit, the desired outcome is that vin formatting and storage proceeds if within limit, otherwise vin is discarded.
💻 Technical Criteria
Given A VIN counter has been incremented for a valid vehicle
When The system checks the VIN counter against the maximum allowed limit
Then VIN formatting and storage proceeds if within limit, otherwise VIN is discarded
R-GCCCBOL-cbl-00443 Store Formatted VIN
Validation Rules
📊 Business Logic Narrative
When the process 'Store Formatted VIN' is invoked, and assuming that a vin counter and maximum vin capacity limit, when the system attempts to store a vin, the desired outcome is that the vin is stored only if the current vin quantity is less than or equal to the maximum allowed vins.
💻 Technical Criteria
Given A VIN counter and maximum VIN capacity limit
When The system attempts to store a VIN
Then The VIN is stored only if the current VIN quantity is less than or equal to the maximum allowed VINs
R-GCCCBOL-cbl-00205 Initialize VIN Counter to Zero
Process Rules
📊 Business Logic Narrative
When the process 'Initialize VIN Counter to Zero' is invoked, and assuming that the system is ready to process motor vehicle segments for vin retrieval, when the vin retrieval process begins, the desired outcome is that the vin counter is set to zero to start counting from the beginning.
💻 Technical Criteria
Given The system is ready to process motor vehicle segments for VIN retrieval
When The VIN retrieval process begins
Then The VIN counter is set to zero to start counting from the beginning
R-GCCCBOL-cbl-00207 MV Segment Found?
Validation Rules
📊 Business Logic Narrative
When the process 'MV Segment Found?' is invoked, and assuming that the system is searching for motor vehicle segments with type 'mv', when a segment retrieval is attempted, the desired outcome is that the system determines if the motor vehicle segment was found or not found.
💻 Technical Criteria
Given The system is searching for motor vehicle segments with type 'MV'
When A segment retrieval is attempted
Then The system determines if the motor vehicle segment was found or not found
R-GCCCBOL-cbl-00209 Extract Vehicle ID Number
Process Rules
📊 Business Logic Narrative
When the process 'Extract Vehicle ID Number' is invoked, and assuming that a valid motor vehicle segment has been found, when the system processes the segment data, the desired outcome is that the vehicle id number is extracted from the segment's vehicle id field.
💻 Technical Criteria
Given A valid motor vehicle segment has been found
When The system processes the segment data
Then The vehicle ID number is extracted from the segment's vehicle ID field
R-GCCCBOL-cbl-00210 Format VIN String with 'VIN' Prefix
Process Rules
📊 Business Logic Narrative
When the process 'Format VIN String with 'VIN' Prefix' is invoked, and assuming that a vehicle id number has been extracted from the motor vehicle segment, when the system formats the vin for storage, the desired outcome is that the string 'vin' is concatenated with the vehicle id number to create the formatted vin string.
💻 Technical Criteria
Given A vehicle ID number has been extracted from the motor vehicle segment
When The system formats the VIN for storage
Then The string 'VIN' is concatenated with the vehicle ID number to create the formatted VIN string
R-GCCCBOL-cbl-00212 More Segments Available AND Counter < Maximum?
Decision Rules
📊 Business Logic Narrative
When the process 'More Segments Available AND Counter < Maximum?' is invoked, and assuming that the system has processed a motor vehicle segment, when the system evaluates whether to continue the loop, the desired outcome is that the loop continues if more motor vehicle segments are available and the vin counter has not exceeded the maximum allowed vins.
💻 Technical Criteria
Given The system has processed a motor vehicle segment
When The system evaluates whether to continue the loop
Then The loop continues if more motor vehicle segments are available AND the VIN counter has not exceeded the maximum allowed VINs
R-GCCCBOL-cbl-00213 Initialize VIN quantity to zero
Process Rules
📊 Business Logic Narrative
When the process 'Initialize VIN quantity to zero' is invoked, and assuming that the system needs to process vins from co-loaded shipments, when vin processing begins for co-loaded shipments, the desired outcome is that vin quantity counter is set to zero and processing flags are initialized.
💻 Technical Criteria
Given The system needs to process VINs from co-loaded shipments
When VIN processing begins for co-loaded shipments
Then VIN quantity counter is set to zero and processing flags are initialized
R-GCCCBOL-cbl-00214 Loop through RF segments Counter ≤ Max N7 Reference Loop?
Process Rules
📊 Business Logic Narrative
When the process 'Loop through RF segments Counter ≤ Max N7 Reference Loop?' is invoked, and assuming that rf segments exist for processing and maximum n7 reference loop limit is defined, when system processes rf segments for co-loaded shipments, the desired outcome is that system continues looping while counter is less than or equal to maximum n7 reference loop limit.
💻 Technical Criteria
Given RF segments exist for processing and maximum N7 reference loop limit is defined
When System processes RF segments for co-loaded shipments
Then System continues looping while counter is less than or equal to maximum N7 reference loop limit
R-GCCCBOL-cbl-00217 Contains consolidated shipment number?
Decision Rules
📊 Business Logic Narrative
When the process 'Contains consolidated shipment number?' is invoked, and assuming that rf segment data has been retrieved successfully, when system examines the rf segment content, the desired outcome is that system identifies if the segment contains consolidated shipment number data.
💻 Technical Criteria
Given RF segment data has been retrieved successfully
When System examines the RF segment content
Then System identifies if the segment contains consolidated shipment number data
R-GCCCBOL-cbl-00218 Initialize V2 segment counter to 1
Process Rules
📊 Business Logic Narrative
When the process 'Initialize V2 segment counter to 1' is invoked, and assuming that consolidated shipment number has been identified in rf segment, when system begins v2 segment processing, the desired outcome is that v2 segment counter is set to 1 to start sequential processing.
💻 Technical Criteria
Given Consolidated shipment number has been identified in RF segment
When System begins V2 segment processing
Then V2 segment counter is set to 1 to start sequential processing
R-GCCCBOL-cbl-00219 Loop through V2 segments Counter ≤ Max Motor Vehicles?
Process Rules
📊 Business Logic Narrative
When the process 'Loop through V2 segments Counter ≤ Max Motor Vehicles?' is invoked, and assuming that v2 segments exist for processing and maximum motor vehicles limit is defined, when system processes v2 segments for vehicle data, the desired outcome is that system continues looping while v2 counter is less than or equal to maximum motor vehicles limit.
💻 Technical Criteria
Given V2 segments exist for processing and maximum motor vehicles limit is defined
When System processes V2 segments for vehicle data
Then System continues looping while V2 counter is less than or equal to maximum motor vehicles limit
R-GCCCBOL-cbl-00225 Build VIN string: 'VIN' + Vehicle ID Number
Computation Rules
📊 Business Logic Narrative
When the process 'Build VIN string: 'VIN' + Vehicle ID Number' is invoked, and assuming that valid vehicle id number is available and vin quantity is within limits, when system formats the vin for storage, the desired outcome is that system creates vin string by concatenating 'vin' text with the vehicle id number.
💻 Technical Criteria
Given Valid vehicle ID number is available and VIN quantity is within limits
When System formats the VIN for storage
Then System creates VIN string by concatenating 'VIN' text with the vehicle ID number
R-GCCCBOL-cbl-00412 Move to Next SHIPMINE Segment
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Move to Next SHIPMINE Segment', assuming that the current shipmine segment has been searched and n1-01 im was not found, when the system needs to continue searching in subsequent segments, the desired outcome is that the shipmine segment number is incremented by 1, the next shipmine segment is retrieved, and the data start index is reset to 1.
💻 Technical Criteria
EXCLUDING The current SHIPMINE segment has been searched and N1-01 IM was not found
When The system needs to continue searching in subsequent segments
Then The shipmine segment number is incremented by 1, the next SHIPMINE segment is retrieved, and the data start index is reset to 1
R-GCCCBOL-cbl-00416 Set CSA Indicator ON
Decision Rules
📊 Business Logic Narrative
When the process 'Set CSA Indicator ON' is invoked, and assuming that a business number has been successfully extracted from the n1-04 segment, when the business number qualifier is 'm5', the desired outcome is that the csa indicator is set to on to enable csa-specific processing.
💻 Technical Criteria
Given A business number has been successfully extracted from the N1-04 segment
When The business number qualifier is 'M5'
Then The CSA indicator is set to ON to enable CSA-specific processing
R-GCCCBOL-cbl-00449 Increment Data Index
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Increment Data Index', assuming that the current data line does not contain the n1-01 im pattern and the search continues, when moving to examine the next data line in the current segment, the desired outcome is that the system increments the data index by 1 to advance to the next sequential data line.
💻 Technical Criteria
EXCLUDING The current data line does not contain the N1-01 IM pattern and the search continues
When Moving to examine the next data line in the current segment
Then The system increments the data index by 1 to advance to the next sequential data line
R-GCCCBOL-cbl-00454 Reset Data Index to 1
Process Rules
📊 Business Logic Narrative
When the process 'Reset Data Index to 1' is invoked, and assuming that a new shipmine segment has been successfully retrieved, when starting to search through the new segment's data lines, the desired outcome is that the system resets the data index to 1 to begin searching from the first data line of the new segment.
💻 Technical Criteria
Given A new SHIPMINE segment has been successfully retrieved
When Starting to search through the new segment's data lines
Then The system resets the data index to 1 to begin searching from the first data line of the new segment
R-GCCCBOL-cbl-00257 Move to Next SHIPMINE Segment
Process Rules
📊 Business Logic Narrative
When the process 'Move to Next SHIPMINE Segment' is invoked, and assuming that current shipmine segment data index is greater than 5, when more data processing is required, the desired outcome is that increment shipmine segment number and reset data index to 1 if next segment is found.
💻 Technical Criteria
Given current SHIPMINE segment data index is greater than 5
When more data processing is required
Then increment SHIPMINE segment number and reset data index to 1 if next segment is found
R-GCCCBOL-cbl-00261 Set CSA Indicator ON
Decision Rules
📊 Business Logic Narrative
When the process 'Set CSA Indicator ON' is invoked, and assuming that business number qualifier is set to m5, when processing n1-04 business number segment, the desired outcome is that set the csa indicator to on to enable csa processing.
💻 Technical Criteria
Given business number qualifier is set to M5
When processing N1-04 business number segment
Then set the CSA indicator to ON to enable CSA processing
R-GCCCBOL-cbl-00274 Set CSA Indicator ON
Decision Rules
📊 Business Logic Narrative
When the process 'Set CSA Indicator ON' is invoked, and assuming that business number has been extracted from fastway n1-04 segment, when the system checks if the business number qualifier equals 'm5', the desired outcome is that the system sets csa indicator on.
💻 Technical Criteria
Given Business number has been extracted from Fastway N1-04 segment
When The system checks if the business number qualifier equals 'M5'
Then The system sets CSA indicator ON

🏷️ CCN & Waybill Identification 46 logic blocks
R-GCCCBOL-cbl-00001 1:Initialize Program
Process Rules
📊 Business Logic Narrative
When the process '1:Initialize Program' is invoked, and assuming that the cargo report program is starting, when program initialization begins, the desired outcome is that description arrays are cleared to spaces, index counters are set to 1, and cargo control number array is initialized to spaces.
💻 Technical Criteria
Given The cargo report program is starting
When Program initialization begins
Then Description arrays are cleared to spaces, index counters are set to 1, and cargo control number array is initialized to spaces
R-GCCCBOL-cbl-00013 Multi-Bill Shipment?
Decision Rules
📊 Business Logic Narrative
When the process 'Multi-Bill Shipment?' is invoked, and assuming that shipment processing is in progress, when determining processing path, the desired outcome is that if gccc-multi-bill-to-be-created flag is true, proceed with multi-bill ccn processing.
💻 Technical Criteria
Given Shipment processing is in progress
When Determining processing path
Then If GCCC-MULTI-BILL-TO-BE-CREATED flag is true, proceed with multi-bill CCN processing
R-GCCCBOL-cbl-00014 17:Find Multi-Bill CCNs
Process Rules
📊 Business Logic Narrative
When the process '17:Find Multi-Bill CCNs' is invoked, and assuming that multi-bill processing is required and edi bol data exists, when finding related cargo control numbers, the desired outcome is that search 'rf' type records for 'xc' qualified cargo control numbers and add them to the ccn array, excluding the current cargo control number.
💻 Technical Criteria
Given Multi-bill processing is required and EDI BOL data exists
When Finding related cargo control numbers
Then Search 'RF' type records for 'XC' qualified cargo control numbers and add them to the CCN array, excluding the current cargo control number
R-GCCCBOL-cbl-00016 18:Process Multi-Bill N10 Data
Computation Rules
📊 Business Logic Narrative
When the process '18:Process Multi-Bill N10 Data' is invoked, and assuming that multi-manifest shipment with matching cargo control number found, when processing n10 lading data, the desired outcome is that extract numeric quantity from right to left, pad with leading zeros, set lading quantity and origin country, and collect description lines.
💻 Technical Criteria
Given Multi-manifest shipment with matching cargo control number found
When Processing N10 lading data
Then Extract numeric quantity from right to left, pad with leading zeros, set lading quantity and origin country, and collect description lines
R-GCCCBOL-cbl-00027 Clear CCN Array Table
Validation Rules
📊 Business Logic Narrative
When the process 'Clear CCN Array Table' is invoked, and assuming that multi-bill cargo processing is about to begin, when ccn array storage needs to be prepared, the desired outcome is that the gcwcbol ccn array table is cleared to spaces.
💻 Technical Criteria
Given Multi-bill cargo processing is about to begin
When CCN array storage needs to be prepared
Then The GCWCBOL CCN array table is cleared to spaces
R-GCCCBOL-cbl-00100 Get EBSBCCR Segment from BOL
Process Rules
📊 Business Logic Narrative
When the process 'Get EBSBCCR Segment from BOL' is invoked, and assuming that an edi bol key exists and reference number processing is required, when the system attempts to retrieve ebsbccr segments from the electronic bill of lading, the desired outcome is that the system should sequentially read ebsbccr segments until no more segments are found or required reference types are located.
💻 Technical Criteria
Given An EDI BOL key exists and reference number processing is required
When The system attempts to retrieve EBSBCCR segments from the Electronic Bill of Lading
Then The system should sequentially read EBSBCCR segments until no more segments are found or required reference types are located
R-GCCCBOL-cbl-00101 Reference Qualifier = BM or SI?
Decision Rules
📊 Business Logic Narrative
When the process 'Reference Qualifier = BM or SI?' is invoked, and assuming that an ebsbccr segment has been retrieved from the electronic bill of lading, when the system checks the reference number qualifier, the desired outcome is that the system should continue processing only if the qualifier equals 'bm ' or 'si ', otherwise skip to the next segment.
💻 Technical Criteria
Given An EBSBCCR segment has been retrieved from the Electronic Bill of Lading
When The system checks the reference number qualifier
Then The system should continue processing only if the qualifier equals 'BM ' or 'SI ', otherwise skip to the next segment
R-GCCCBOL-cbl-00147 Get First EBSBCCR Record
Process Rules
📊 Business Logic Narrative
When the process 'Get First EBSBCCR Record' is invoked, and assuming that a multi-bill shipment requires ccn processing, when the system starts the ccn retrieval process, the desired outcome is that the system retrieves the first ebsbccr record and initializes sequence counter to 0.
💻 Technical Criteria
Given A multi-bill shipment requires CCN processing
When The system starts the CCN retrieval process
Then The system retrieves the first EBSBCCR record and initializes sequence counter to 0
R-GCCCBOL-cbl-00148 EBSBCCR Record Found?
Validation Rules
📊 Business Logic Narrative
When the process 'EBSBCCR Record Found?' is invoked, and assuming that the system attempts to retrieve ebsbccr record for ccn processing, when the ebsbccr record retrieval is executed, the desired outcome is that if ebsbccr record is found, continue with ccn index initialization, otherwise terminate ccn processing.
💻 Technical Criteria
Given The system attempts to retrieve EBSBCCR record for CCN processing
When The EBSBCCR record retrieval is executed
Then If EBSBCCR record is found, continue with CCN index initialization, otherwise terminate CCN processing
R-GCCCBOL-cbl-00149 Initialize CCN Index to 1
Process Rules
📊 Business Logic Narrative
When the process 'Initialize CCN Index to 1' is invoked, and assuming that ebsbccr record is successfully found, when ccn processing begins, the desired outcome is that the ccn array index is set to 1 and ebsbccx indicator is cleared.
💻 Technical Criteria
Given EBSBCCR record is successfully found
When CCN processing begins
Then The CCN array index is set to 1 and EBSBCCX indicator is cleared
R-GCCCBOL-cbl-00150 Get EBSBCCX Segment with Type 'RF'
Process Rules
📊 Business Logic Narrative
When the process 'Get EBSBCCX Segment with Type 'RF'' is invoked, and assuming that ccn processing is active with valid ccn index, when the system searches for ebsbccx segments, the desired outcome is that the system retrieves ebsbccx segment with type 'rf' using current sequence number.
💻 Technical Criteria
Given CCN processing is active with valid CCN index
When The system searches for EBSBCCX segments
Then The system retrieves EBSBCCX segment with type 'RF' using current sequence number
R-GCCCBOL-cbl-00154 Found EBSBCCY with Qualifier 'XC'?
Validation Rules
📊 Business Logic Narrative
When the process 'Found EBSBCCY with Qualifier 'XC'?' is invoked, and assuming that ebsbccy segment search is completed, when the system checks the segment qualification, the desired outcome is that if ebsbccy segment is not found or qualifier is not 'xc', skip to next ebsbccx segment, otherwise proceed with ccn comparison.
💻 Technical Criteria
Given EBSBCCY segment search is completed
When The system checks the segment qualification
Then If EBSBCCY segment is not found or qualifier is not 'XC', skip to next EBSBCCX segment, otherwise proceed with CCN comparison
R-GCCCBOL-cbl-00155 CCN Different from Current?
Validation Rules
📊 Business Logic Narrative
When the process 'CCN Different from Current?' is invoked, and assuming that ebsbccy segment with 'xc' qualifier is found, when the system compares the ccn reference number with current cargo control number, the desired outcome is that if ccn equals current cargo control number, skip storage and continue to next segment, otherwise store the ccn.
💻 Technical Criteria
Given EBSBCCY segment with 'XC' qualifier is found
When The system compares the CCN reference number with current cargo control number
Then If CCN equals current cargo control number, skip storage and continue to next segment, otherwise store the CCN
R-GCCCBOL-cbl-00156 Store CCN in Array
Process Rules
📊 Business Logic Narrative
When the process 'Store CCN in Array' is invoked, and assuming that ccn is different from current cargo control number, when the system stores the ccn, the desired outcome is that the ccn reference number is moved to ccn array at current index position and index is incremented by 1.
💻 Technical Criteria
Given CCN is different from current cargo control number
When The system stores the CCN
Then The CCN reference number is moved to CCN array at current index position and index is incremented by 1
R-GCCCBOL-cbl-00335 Start CCN Retrieval
Process Rules
📊 Business Logic Narrative
When the process 'Start CCN Retrieval' is invoked, and assuming that a multi-bill shipment requires ccn extraction, when the ccn retrieval process begins, the desired outcome is that the system initializes ccn counter to 1 and clears ebsbccx indicators.
💻 Technical Criteria
Given A multi-bill shipment requires CCN extraction
When The CCN retrieval process begins
Then The system initializes CCN counter to 1 and clears EBSBCCX indicators
R-GCCCBOL-cbl-00336 Set RF Type for EBSBCCX Search
Definitional Rules
📊 Business Logic Narrative
When the process 'Set RF Type for EBSBCCX Search' is invoked, and assuming that ccn retrieval process is active, when searching for reference segments in ebsbccx, the desired outcome is that the system sets the type to 'rf' for reference segment identification.
💻 Technical Criteria
Given CCN retrieval process is active
When Searching for reference segments in EBSBCCX
Then The system sets the type to 'RF' for reference segment identification
R-GCCCBOL-cbl-00344 Reference Qualifier = XC?
Validation Rules
📊 Business Logic Narrative
When the process 'Reference Qualifier = XC?' is invoked, and assuming that a valid ebsbccy segment has been retrieved, when the reference qualifier is evaluated, the desired outcome is that the system checks if the reference qualifier equals 'xc' for cargo control number identification.
💻 Technical Criteria
Given A valid EBSBCCY segment has been retrieved
When The reference qualifier is evaluated
Then The system checks if the reference qualifier equals 'XC' for cargo control number identification
R-GCCCBOL-cbl-00345 CCN Same as Current?
Validation Rules
📊 Business Logic Narrative
When the process 'CCN Same as Current?' is invoked, and assuming that a valid xc qualified reference number has been found, when comparing the reference number with the current cargo control number, the desired outcome is that the system checks if the ccn matches the current cargo control number to prevent duplicate storage.
💻 Technical Criteria
Given A valid XC qualified reference number has been found
When Comparing the reference number with the current cargo control number
Then The system checks if the CCN matches the current cargo control number to prevent duplicate storage
R-GCCCBOL-cbl-00346 Store CCN in Array
Action Rules
📊 Business Logic Narrative
When the process 'Store CCN in Array' is invoked, and assuming that a unique ccn has been identified that differs from current cargo control number, when storing the ccn in the array, the desired outcome is that the system moves the ccn reference number to the ccn array at the current index position.
💻 Technical Criteria
Given A unique CCN has been identified that differs from current cargo control number
When Storing the CCN in the array
Then The system moves the CCN reference number to the CCN array at the current index position
R-GCCCBOL-cbl-00347 Increment CCN Index
Process Rules
📊 Business Logic Narrative
When the process 'Increment CCN Index' is invoked, and assuming that a ccn has been successfully stored in the array, when preparing for the next ccn storage, the desired outcome is that the system increments the ccn index by 1 to point to the next available array position.
💻 Technical Criteria
Given A CCN has been successfully stored in the array
When Preparing for the next CCN storage
Then The system increments the CCN index by 1 to point to the next available array position
R-GCCCBOL-cbl-00158 Get EBSBCCX segment with type 'RF'
Action Rules
📊 Business Logic Narrative
When the process 'Get EBSBCCX segment with type 'RF'' is invoked, and assuming that multi-bill processing is active and a sequence number is provided, when the system searches for ebsbccx segments, the desired outcome is that the system retrieves segments with type 'rf' using the current sequence number.
💻 Technical Criteria
Given Multi-bill processing is active and a sequence number is provided
When The system searches for EBSBCCX segments
Then The system retrieves segments with type 'RF' using the current sequence number
R-GCCCBOL-cbl-00159 Set EBSBCCX not found
Process Rules
📊 Business Logic Narrative
When the process 'Set EBSBCCX not found' is invoked, and assuming that multi-bill n10 processing is active, when the sequence number reaches 99, the desired outcome is that the system sets ebsbccx not found indicator to terminate processing.
💻 Technical Criteria
Given Multi-bill N10 processing is active
When The sequence number reaches 99
Then The system sets EBSBCCX not found indicator to terminate processing
R-GCCCBOL-cbl-00161 Loop until sequence = 99 or CCN matches or segment not found
Process Rules
📊 Business Logic Narrative
When the process 'Loop until sequence = 99 or CCN matches or segment not found' is invoked, and assuming that cargo reference segment search is initiated, when the system loops through ebsbccy segments, the desired outcome is that the system continues until sequence equals 99 or cargo control number matches current ccn or segment is not found.
💻 Technical Criteria
Given Cargo reference segment search is initiated
When The system loops through EBSBCCY segments
Then The system continues until sequence equals 99 OR cargo control number matches current CCN OR segment is not found
R-GCCCBOL-cbl-00162 CCN matches cargo control number
Validation Rules
📊 Business Logic Narrative
When the process 'CCN matches cargo control number' is invoked, and assuming that an ebsbccy segment is retrieved with reference number qualifier 'xc', when the system compares the reference number with the current cargo control number, the desired outcome is that processing continues only if the reference number matches the cargo control number.
💻 Technical Criteria
Given An EBSBCCY segment is retrieved with reference number qualifier 'XC'
When The system compares the reference number with the current cargo control number
Then Processing continues only if the reference number matches the cargo control number
R-GCCCBOL-cbl-00163 Get QD type EBSBCCY segment with sequence 1
Action Rules
📊 Business Logic Narrative
When the process 'Get QD type EBSBCCY segment with sequence 1' is invoked, and assuming that a matching cargo control number is found, when the system searches for quantity description data, the desired outcome is that the system retrieves ebsbccy segment with type 'qd' and sequence number 1.
💻 Technical Criteria
Given A matching cargo control number is found
When The system searches for quantity description data
Then The system retrieves EBSBCCY segment with type 'QD' and sequence number 1
R-GCCCBOL-cbl-00167 Get QD type EBSBCCY segment with sequence 2
Action Rules
📊 Business Logic Narrative
When the process 'Get QD type EBSBCCY segment with sequence 2' is invoked, and assuming that the first qd segment has been processed, when the system searches for additional quantity description data, the desired outcome is that the system retrieves ebsbccy segment with type 'qd' and sequence number 2.
💻 Technical Criteria
Given The first QD segment has been processed
When The system searches for additional quantity description data
Then The system retrieves EBSBCCY segment with type 'QD' and sequence number 2
R-GCCCBOL-cbl-00349 Set Type to 'QD' and Sequence to 1
Process Rules
📊 Business Logic Narrative
When the process 'Set Type to 'QD' and Sequence to 1' is invoked, and assuming that the system needs to extract n10 lading data from edi segments, when the extraction process begins, the desired outcome is that the system sets the segment type to 'qd' and sequence number to 1 to retrieve the first quantity/description segment.
💻 Technical Criteria
Given The system needs to extract N10 lading data from EDI segments
When The extraction process begins
Then The system sets the segment type to 'QD' and sequence number to 1 to retrieve the first quantity/description segment
R-GCCCBOL-cbl-00359 Set Type to 'QD' and Sequence to 2
Process Rules
📊 Business Logic Narrative
When the process 'Set Type to 'QD' and Sequence to 2' is invoked, and assuming that the first qd segment has been processed, when the system prepares for second segment retrieval, the desired outcome is that the system sets the segment type to 'qd' and sequence number to 2.
💻 Technical Criteria
Given The first QD segment has been processed
When The system prepares for second segment retrieval
Then The system sets the segment type to 'QD' and sequence number to 2
R-GCCCBOL-cbl-00169 Get First Lading Description from EBSBCCM
Process Rules
📊 Business Logic Narrative
When the process 'Get First Lading Description from EBSBCCM' is invoked, and assuming that a bol segment sequence number 1 exists in ebsbccm, when the system processes the first lading description segment, the desired outcome is that the primary lading description is extracted and added to the description array if not empty or low-values.
💻 Technical Criteria
Given A BOL segment sequence number 1 exists in EBSBCCM
When The system processes the first lading description segment
Then The primary lading description is extracted and added to the description array if not empty or low-values
R-GCCCBOL-cbl-00171 Loop Through Remaining EBSBCCM Segments
Process Rules
📊 Business Logic Narrative
When the process 'Loop Through Remaining EBSBCCM Segments' is invoked, and assuming that bol segments exist with sequence numbers from 2 to 25, when the system loops through each segment until no more segments found or maximum reached, the desired outcome is that each valid lading description is extracted and processed for additional content.
💻 Technical Criteria
Given BOL segments exist with sequence numbers from 2 to 25
When The system loops through each segment until no more segments found or maximum reached
Then Each valid lading description is extracted and processed for additional content
R-GCCCBOL-cbl-00176 Store Extra Descriptions in GCSCCS53 Using GCCDESC
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Store Extra Descriptions in GCSCCS53 Using GCCDESC', assuming that extra description data exists after compression and first 2 positions are not spaces or low-values, when the system processes extra descriptions beyond primary capacity, the desired outcome is that gccdesc program is called to store extra descriptions with cargo control number and insert operation.
💻 Technical Criteria
EXCLUDING Extra description data exists after compression and first 2 positions are not spaces or low-values
When The system processes extra descriptions beyond primary capacity
Then GCCDESC program is called to store extra descriptions with cargo control number and insert operation
R-GCCCBOL-cbl-00366 Get First EBSBCCM Segment
Action Rules
📊 Business Logic Narrative
When the process 'Get First EBSBCCM Segment' is invoked, and assuming that a ccm sequence number is available, when the system attempts to retrieve the ebsbccm segment, the desired outcome is that the segment data is fetched using the edi bol key and ccm sequence number.
💻 Technical Criteria
Given A CCM sequence number is available
When The system attempts to retrieve the EBSBCCM segment
Then The segment data is fetched using the EDI BOL key and CCM sequence number
R-GCCCBOL-cbl-00372 Increment CCM Sequence
Process Rules
📊 Business Logic Narrative
When the process 'Increment CCM Sequence' is invoked, and assuming that the current ebsbccm segment has been processed, when more segments need to be processed, the desired outcome is that the ccm sequence number is incremented by 1.
💻 Technical Criteria
Given The current EBSBCCM segment has been processed
When More segments need to be processed
Then The CCM sequence number is incremented by 1
R-GCCCBOL-cbl-00373 CCM Sequence > 25?
Validation Rules
📊 Business Logic Narrative
When the process 'CCM Sequence > 25?' is invoked, and assuming that ebsbccm segments are being processed sequentially, when the ccm sequence number is evaluated, the desired outcome is that processing stops if the sequence exceeds 25, otherwise continues to next segment.
💻 Technical Criteria
Given EBSBCCM segments are being processed sequentially
When The CCM sequence number is evaluated
Then Processing stops if the sequence exceeds 25, otherwise continues to next segment
R-GCCCBOL-cbl-00374 Get Next EBSBCCM Segment
Action Rules
📊 Business Logic Narrative
When the process 'Get Next EBSBCCM Segment' is invoked, and assuming that the ccm sequence is within the allowed limit and more segments may exist, when the system continues processing, the desired outcome is that the next ebsbccm segment is retrieved using the incremented sequence number.
💻 Technical Criteria
Given The CCM sequence is within the allowed limit and more segments may exist
When The system continues processing
Then The next EBSBCCM segment is retrieved using the incremented sequence number
R-GCCCBOL-cbl-00377 Retrieve EBSBCRT-AD Segment
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve EBSBCRT-AD Segment' is invoked, and assuming that the description sequence counter is within valid range, when the system attempts to retrieve an ebsbcrt-ad segment, the desired outcome is that the system calls the data access routine to fetch the segment using current sequence number.
💻 Technical Criteria
Given The description sequence counter is within valid range
When The system attempts to retrieve an EBSBCRT-AD segment
Then The system calls the data access routine to fetch the segment using current sequence number
R-GCCCBOL-cbl-00180 Retrieve EBSBCRT-AD Segment from BOL
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve EBSBCRT-AD Segment from BOL' is invoked, and assuming that the system needs to get additional description data for current sequence, when ebsbcrt-ad segment retrieval is requested with current sequence number, the desired outcome is that the system attempts to retrieve the ebsbcrt-ad segment from bol data.
💻 Technical Criteria
Given The system needs to get additional description data for current sequence
When EBSBCRT-AD segment retrieval is requested with current sequence number
Then The system attempts to retrieve the EBSBCRT-AD segment from BOL data
R-GCCCBOL-cbl-00197 Loop Through MV Segments
Process Rules
📊 Business Logic Narrative
When the process 'Loop Through MV Segments' is invoked, and assuming that motor vehicle segments exist in the shipment data, when the system loops through mv segments with incrementing sequence numbers, the desired outcome is that each mv segment is processed in order until either no more segments are found or the maximum vin limit is reached.
💻 Technical Criteria
Given Motor vehicle segments exist in the shipment data
When The system loops through MV segments with incrementing sequence numbers
Then Each MV segment is processed in order until either no more segments are found or the maximum VIN limit is reached
R-GCCCBOL-cbl-00391 Get RF Segment from EBSBCCX
Action Rules
📊 Business Logic Narrative
When the process 'Get RF Segment from EBSBCCX' is invoked, and assuming that a sequence number for rf segment retrieval is available, when the system attempts to get an rf segment from ebsbccx, the desired outcome is that the rf segment data is retrieved and availability status is determined.
💻 Technical Criteria
Given A sequence number for RF segment retrieval is available
When The system attempts to get an RF segment from EBSBCCX
Then The RF segment data is retrieved and availability status is determined
R-GCCCBOL-cbl-00393 Get V2 Segment from EBSBCCY
Action Rules
📊 Business Logic Narrative
When the process 'Get V2 Segment from EBSBCCY' is invoked, and assuming that a consolidated shipment exists and v2 sequence number is available, when the system attempts to get a v2 segment from ebsbccy, the desired outcome is that the v2 segment data is retrieved and availability status is determined.
💻 Technical Criteria
Given A consolidated shipment exists and V2 sequence number is available
When The system attempts to get a V2 segment from EBSBCCY
Then The V2 segment data is retrieved and availability status is determined
R-GCCCBOL-cbl-00215 Get EBSBCCX RF segment
Action Rules
📊 Business Logic Narrative
When the process 'Get EBSBCCX RF segment' is invoked, and assuming that rf segment sequence number is available, when system attempts to retrieve ebsbccx rf segment, the desired outcome is that system calls database routine to get rf segment data using current sequence number.
💻 Technical Criteria
Given RF segment sequence number is available
When System attempts to retrieve EBSBCCX RF segment
Then System calls database routine to get RF segment data using current sequence number
R-GCCCBOL-cbl-00220 Get EBSBCCY V2 segment
Action Rules
📊 Business Logic Narrative
When the process 'Get EBSBCCY V2 segment' is invoked, and assuming that v2 segment sequence number is available, when system attempts to retrieve ebsbccy v2 segment, the desired outcome is that system calls database routine to get v2 segment data using current sequence number.
💻 Technical Criteria
Given V2 segment sequence number is available
When System attempts to retrieve EBSBCCY V2 segment
Then System calls database routine to get V2 segment data using current sequence number
R-GCCCBOL-cbl-00232 Call GCCDESC to store excess descriptions
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Call GCCDESC to store excess descriptions', assuming that extra descriptions exist in ws-desc-gccc-extra-description with content that is not spaces or low-values, when excess description storage is required, the desired outcome is that the system should call the gccdesc program with cccom control block, gccc-ccn-key cargo control number, ws-desc-2 extra descriptions, and isrt insert operation code.
💻 Technical Criteria
EXCLUDING Extra descriptions exist in WS-DESC-GCCC-EXTRA-DESCRIPTION with content that is not spaces or low-values
When Excess description storage is required
Then The system should call the GCCDESC program with CCCOM control block, GCCC-CCN-KEY cargo control number, WS-DESC-2 extra descriptions, and ISRT insert operation code
R-GCCCBOL-cbl-00233 Check Extra Description Data
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check Extra Description Data', assuming that the system has processed cargo description data and populated the extra description field, when the extra description field contains data that is not empty spaces and not low-values, the desired outcome is that the system calls the gccdesc program to store the extra description data in gcsccs53 segments using the cargo control number key and insert operation.
💻 Technical Criteria
EXCLUDING The system has processed cargo description data and populated the extra description field
When The extra description field contains data that is not empty spaces and not low-values
Then The system calls the GCCDESC program to store the extra description data in GCSCCS53 segments using the cargo control number key and insert operation
R-GCCCBOL-cbl-00235 Call GCCDESC Program
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCDESC Program' is invoked, and assuming that extra description data exists and is valid for storage, when the system needs to store overflow description information, the desired outcome is that the system calls the gccdesc program with the cargo control number key, extra description data, and insert operation flag.
💻 Technical Criteria
Given Extra description data exists and is valid for storage
When The system needs to store overflow description information
Then The system calls the GCCDESC program with the cargo control number key, extra description data, and insert operation flag
R-GCCCBOL-cbl-00263 Get N1 Importer Segment from BOL
Action Rules
📊 Business Logic Narrative
When the process 'Get N1 Importer Segment from BOL' is invoked, and assuming that a valid edi bol key exists for the shipment, when the system searches for n1 importer segment with type 'sc' and sequence number 1, the desired outcome is that the system retrieves the importer segment data and sets the found indicator.
💻 Technical Criteria
Given A valid EDI BOL key exists for the shipment
When The system searches for N1 importer segment with type 'SC' and sequence number 1
Then The system retrieves the importer segment data and sets the found indicator

💰 Bond & Financial Auth 19 logic blocks
R-GCCCBOL-cbl-00030 Set Root Key from Current Shipment
Process Rules
📊 Business Logic Narrative
When the process 'Set Root Key from Current Shipment' is invoked, and assuming that database access parameters are initialized and a current shipment context exists with a valid root key, when the system sets the root key for the database query, the desired outcome is that the root key parameter should be populated with the current shipment's root key value to ensure accurate data retrieval.
💻 Technical Criteria
Given Database access parameters are initialized and a current shipment context exists with a valid root key
When The system sets the root key for the database query
Then The root key parameter should be populated with the current shipment's root key value to ensure accurate data retrieval
R-GCCCBOL-cbl-00036 Set segment number from counter
Process Rules
📊 Business Logic Narrative
When the process 'Set segment number from counter' is invoked, and assuming that a shipment mine segment counter value, when the system configures the segment number, the desired outcome is that the segment number is set from the ws-shipmine-seg-nbr counter.
💻 Technical Criteria
Given A shipment mine segment counter value
When The system configures the segment number
Then The segment number is set from the WS-SHIPMINE-SEG-NBR counter
R-GCCCBOL-cbl-00099 Extract BM Reference Number from BOL
Validation Rules
📊 Business Logic Narrative
When the process 'Extract BM Reference Number from BOL' is invoked, and assuming that a reference number field is blank or contains spaces, when processing any reference number from bol data, the desired outcome is that set the reference number value to 'n/a'.
💻 Technical Criteria
Given A reference number field is blank or contains spaces
When Processing any reference number from BOL data
Then Set the reference number value to 'N/A'
R-GCCCBOL-cbl-00429 Extract B2-SHIPMENT-METH-PAY from BOL
Process Rules
📊 Business Logic Narrative
When the process 'Extract B2-SHIPMENT-METH-PAY from BOL' is invoked, and assuming that ebsbcbc segment exists and payment method field contains valid data, when the system processes the payment method extraction, the desired outcome is that the b2-shipment-meth-pay value is extracted from the bol segment.
💻 Technical Criteria
Given EBSBCBC segment exists and payment method field contains valid data
When The system processes the payment method extraction
Then The B2-SHIPMENT-METH-PAY value is extracted from the BOL segment
R-GCCCBOL-cbl-00430 Store payment method in GCCC-BX03-SHIP-METH-PAY
Process Rules
📊 Business Logic Narrative
When the process 'Store payment method in GCCC-BX03-SHIP-METH-PAY' is invoked, and assuming that payment method has been successfully extracted from bol data, when the system stores the payment method, the desired outcome is that the extracted value is moved to gccc-bx03-ship-meth-pay field.
💻 Technical Criteria
Given Payment method has been successfully extracted from BOL data
When The system stores the payment method
Then The extracted value is moved to GCCC-BX03-SHIP-METH-PAY field
R-GCCCBOL-cbl-00108 Set BM Reference Number
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set BM Reference Number', assuming that bm reference number was not found in edi bol data and there is available space in the reference array, when the system processes fastway data for missing references, the desired outcome is that the system sets 'bm' as the reference qualifier, uses the shipper bill number as the reference value, marks bm as found, and increments to the next reference position.
💻 Technical Criteria
EXCLUDING BM reference number was not found in EDI BOL data and there is available space in the reference array
When the system processes Fastway data for missing references
Then the system sets 'BM' as the reference qualifier, uses the shipper bill number as the reference value, marks BM as found, and increments to the next reference position
R-GCCCBOL-cbl-00109 Set SI Reference Number
Decision Rules
📊 Business Logic Narrative
When the process 'Set SI Reference Number' is invoked, and assuming that si reference number is missing and a special handling record has code 'si', when the system processes special handling data, the desired outcome is that the system sets the special handling code as the reference qualifier, uses the special handling instruction as the reference value, marks si as found, and increments to the next reference position.
💻 Technical Criteria
Given SI reference number is missing and a special handling record has code 'SI'
When the system processes special handling data
Then the system sets the special handling code as the reference qualifier, uses the special handling instruction as the reference value, marks SI as found, and increments to the next reference position
R-GCCCBOL-cbl-00121 Move Shipment ID to Reference Number Field
Process Rules
📊 Business Logic Narrative
When the process 'Move Shipment ID to Reference Number Field' is invoked, and assuming that the reference qualifier has been set to 'cn' and the counter is positioned correctly, when the system stores the shipment identification data, the desired outcome is that the system should move the b2-shipment-id-no value to the reference number field at the current array position.
💻 Technical Criteria
Given The reference qualifier has been set to 'CN' and the counter is positioned correctly
When The system stores the shipment identification data
Then The system should move the B2-SHIPMENT-ID-NO value to the reference number field at the current array position
R-GCCCBOL-cbl-00128 Character is Space or Low-Value?
Decision Rules
📊 Business Logic Narrative
When the process 'Character is Space or Low-Value?' is invoked, and assuming that a character at a specific position is being evaluated, when the character is either a space or a low-value, the desired outcome is that the character is marked for exclusion and the system moves to the next position.
💻 Technical Criteria
Given A character at a specific position is being evaluated
When The character is either a space or a low-value
Then The character is marked for exclusion and the system moves to the next position
R-GCCCBOL-cbl-00129 Mark First Non-Space Position K
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Mark First Non-Space Position K', assuming that the system is scanning for the first meaningful character, when a character that is not a space or low-value is found, the desired outcome is that the position of this character is marked as the starting point for compression.
💻 Technical Criteria
EXCLUDING The system is scanning for the first meaningful character
When A character that is not a space or low-value is found
Then The position of this character is marked as the starting point for compression
R-GCCCBOL-cbl-00353 Replace Leading Spaces with Zeros
Computation Rules
📊 Business Logic Narrative
When the process 'Replace Leading Spaces with Zeros' is invoked, and assuming that a quantity string has been extracted with potential leading spaces, when the system formats the quantity value, the desired outcome is that the system replaces all leading spaces in the quantity string with zeros.
💻 Technical Criteria
Given A quantity string has been extracted with potential leading spaces
When The system formats the quantity value
Then The system replaces all leading spaces in the quantity string with zeros
R-GCCCBOL-cbl-00356 Description Available?
Validation Rules
📊 Business Logic Narrative
When the process 'Description Available?' is invoked, and assuming that a qd segment has been retrieved, when the system checks for description data, the desired outcome is that if cy-n10-description is not spaces and not low-values, proceed to store the description; otherwise, skip to second segment processing.
💻 Technical Criteria
Given A QD segment has been retrieved
When The system checks for description data
Then If CY-N10-DESCRIPTION is not spaces and not low-values, proceed to store the description; otherwise, skip to second segment processing
R-GCCCBOL-cbl-00362 Second Description Available?
Validation Rules
📊 Business Logic Narrative
When the process 'Second Description Available?' is invoked, and assuming that a second qd segment has been retrieved, when the system checks for description data in the second segment, the desired outcome is that if cy-n10-description is not spaces and not low-values, proceed to store the second description; otherwise, terminate the process.
💻 Technical Criteria
Given A second QD segment has been retrieved
When The system checks for description data in the second segment
Then If CY-N10-DESCRIPTION is not spaces and not low-values, proceed to store the second description; otherwise, terminate the process
R-GCCCBOL-cbl-00438 Replace Leading Spaces with Zeros
Computation Rules
📊 Business Logic Narrative
When the process 'Replace Leading Spaces with Zeros' is invoked, and assuming that a work field ws-quantity containing extracted numeric characters with potential leading spaces, when all character positions have been processed, the desired outcome is that the system should inspect ws-quantity and replace all leading spaces with zeros to create a properly formatted numeric value.
💻 Technical Criteria
Given A work field WS-QUANTITY containing extracted numeric characters with potential leading spaces
When All character positions have been processed
Then The system should inspect WS-QUANTITY and replace all leading spaces with zeros to create a properly formatted numeric value
R-GCCCBOL-cbl-00170 Lading Description Found?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Lading Description Found?', assuming that a lading description is retrieved from l5-lading-desc field, when the description is not equal to spaces and not equal to low-values, the desired outcome is that the description is considered valid and added to the description array with index increment.
💻 Technical Criteria
EXCLUDING A lading description is retrieved from L5-LADING-DESC field
When The description is not equal to spaces and not equal to low-values
Then The description is considered valid and added to the description array with index increment
R-GCCCBOL-cbl-00198 Extract Vehicle ID Number, Format VIN with 'VIN' Prefix, Store in VIN Array
Computation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Extract Vehicle ID Number, Format VIN with 'VIN' Prefix, Store in VIN Array', assuming that a motor vehicle segment is found with a valid vehicle id number, when the vehicle id number is not spaces or low-values, the desired outcome is that the system formats the vehicle id with 'vin' prefix and stores it in the vin description array, then increments the vin counter.
💻 Technical Criteria
EXCLUDING A motor vehicle segment is found with a valid vehicle ID number
When The vehicle ID number is not spaces or low-values
Then The system formats the vehicle ID with 'VIN' prefix and stores it in the VIN description array, then increments the VIN counter
R-GCCCBOL-cbl-00439 VIN Number Available?
Validation Rules
📊 Business Logic Narrative
When the process 'VIN Number Available?' is invoked, and assuming that a vehicle identification number field from motor vehicle segment, when the system evaluates the vin field content, the desired outcome is that processing continues if vin is not equal to spaces or low-values, otherwise vin processing is skipped.
💻 Technical Criteria
Given A vehicle identification number field from motor vehicle segment
When The system evaluates the VIN field content
Then Processing continues if VIN is not equal to spaces or low-values, otherwise VIN processing is skipped
R-GCCCBOL-cbl-00231 Are there extra descriptions?
Validation Rules
📊 Business Logic Narrative
When the process 'Are there extra descriptions?' is invoked, and assuming that the description compression process has completed, when checking for additional description content, the desired outcome is that the system should verify if the first two characters of ws-desc-gccc-extra-description contain data that is not spaces or low-values.
💻 Technical Criteria
Given The description compression process has completed
When Checking for additional description content
Then The system should verify if the first two characters of WS-DESC-GCCC-EXTRA-DESCRIPTION contain data that is not spaces or low-values
R-GCCCBOL-cbl-00299 Set EDI BOL Key as Root Key
Definitional Rules
📊 Business Logic Narrative
When the process 'Set EDI BOL Key as Root Key' is invoked, and assuming that database access parameters are being configured and edi bol key is available, when the system sets the root key parameter, the desired outcome is that the root key is set to the work-edi-bol-key value for record identification.
💻 Technical Criteria
Given Database access parameters are being configured and EDI BOL key is available
When The system sets the root key parameter
Then The root key is set to the WORK-EDI-BOL-KEY value for record identification

📍 Routing, Border & Port 83 logic blocks
R-GCCCBOL-cbl-00004 5:Build Broker Information
Decision Rules
📊 Business Logic Narrative
When the process '5:Build Broker Information' is invoked, and assuming that the system needs to identify the customs broker, when building broker information, the desired outcome is that first attempt to get broker from edi bol data, if not found then search fastway system data, if still not found then set broker name to 'unknown'.
💻 Technical Criteria
Given The system needs to identify the customs broker
When Building broker information
Then First attempt to get broker from EDI BOL data, if not found then search Fastway system data, if still not found then set broker name to 'UNKNOWN'
R-GCCCBOL-cbl-00006 5:Build Broker Information
Computation Rules
📊 Business Logic Narrative
When the process '5:Build Broker Information' is invoked, and assuming that broker name needs to be extracted from special handling instructions, when processing fastway data for broker information, the desired outcome is that remove standard prefixes ('customs broker ', 'customs broker: ', 'broker ', 'broker: ', 'cb ', 'xq ', 'cb: ', 'xq: ') from the instruction text to get the actual broker name.
💻 Technical Criteria
Given Broker name needs to be extracted from special handling instructions
When Processing Fastway data for broker information
Then Remove standard prefixes ('CUSTOMS BROKER ', 'CUSTOMS BROKER: ', 'BROKER ', 'BROKER: ', 'CB ', 'XQ ', 'CB: ', 'XQ: ') from the instruction text to get the actual broker name
R-GCCCBOL-cbl-00021 27:Process CSA Data
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '27:Process CSA Data', assuming that csa processing is required but edi bol importer segment is not found, when searching fastway data for csa information, the desired outcome is that search for 'n1-01 im' segments followed by 'n1-02' importer name, 'n1-03' qualifier ('m5', 'bn', or 'ai'), and 'n1-04' business number; set csa indicator on only for 'm5' qualifier.
💻 Technical Criteria
EXCLUDING CSA processing is required but EDI BOL importer segment is not found
When Searching Fastway data for CSA information
Then Search for 'N1-01 IM' segments followed by 'N1-02' importer name, 'N1-03' qualifier ('M5', 'BN', or 'AI'), and 'N1-04' business number; set CSA indicator ON only for 'M5' qualifier
R-GCCCBOL-cbl-00057 Starts with 'CUSTOMS BROKER '?
Computation Rules
📊 Business Logic Narrative
When the process 'Starts with 'CUSTOMS BROKER '?' is invoked, and assuming that a broker name has been identified from data sources, when the broker name starts with 'customs broker ' (15 characters), the desired outcome is that the actual broker name is extracted from position 16 onwards.
💻 Technical Criteria
Given A broker name has been identified from data sources
When The broker name starts with 'CUSTOMS BROKER ' (15 characters)
Then The actual broker name is extracted from position 16 onwards
R-GCCCBOL-cbl-00058 Parse Broker Name
Computation Rules
📊 Business Logic Narrative
When the process 'Parse Broker Name' is invoked, and assuming that a broker name starts with 'customs broker: ' (16 characters), when the system parses the broker name, the desired outcome is that the actual broker name is extracted from position 17 onwards.
💻 Technical Criteria
Given A broker name starts with 'CUSTOMS BROKER: ' (16 characters)
When The system parses the broker name
Then The actual broker name is extracted from position 17 onwards
R-GCCCBOL-cbl-00306 Initialize Search Variables
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Search Variables' is invoked, and assuming that the system is starting the broker search from bol data, when the search process begins, the desired outcome is that the system should set customs broker not found flag to true, ebsnrtd found flag to true, ebsbcbc found flag to true, and temporary customs broker not found flag to true.
💻 Technical Criteria
Given The system is starting the broker search from BOL data
When The search process begins
Then The system should set customs broker not found flag to true, EBSNRTD found flag to true, EBSBCBC found flag to true, and temporary customs broker not found flag to true
R-GCCCBOL-cbl-00307 Org ID = 'XQ'?
Decision Rules
📊 Business Logic Narrative
When the process 'Org ID = 'XQ'?' is invoked, and assuming that the system finds an ebsnrtd segment with organization data, when the organization id custom field equals 'xq', the desired outcome is that the system should immediately set the organization name as the primary broker name, mark xq broker as found, set temporary customs broker as not found, and stop searching for other broker types.
💻 Technical Criteria
Given The system finds an EBSNRTD segment with organization data
When The organization ID custom field equals 'XQ'
Then The system should immediately set the organization name as the primary broker name, mark XQ broker as found, set temporary customs broker as not found, and stop searching for other broker types
R-GCCCBOL-cbl-00308 Org ID = 'CB' AND No XQ Found?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Org ID = 'CB' AND No XQ Found?', assuming that the system finds an ebsnrtd segment and no xq broker has been found yet, when the organization id equals 'cb' and the temporary customs broker is not found and the organization id custom is not equal to 'xr' and not equal to 'xu', the desired outcome is that the system should store the organization name as temporary broker name and mark temporary customs broker as found.
💻 Technical Criteria
EXCLUDING The system finds an EBSNRTD segment and no XQ broker has been found yet
When The organization ID equals 'CB' and the temporary customs broker is not found and the organization ID custom is not equal to 'XR' and not equal to 'XU'
Then The system should store the organization name as temporary broker name and mark temporary customs broker as found
R-GCCCBOL-cbl-00311 Loop Through Special Handling Codes 1-7
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Loop Through Special Handling Codes 1-7', assuming that special handling data contains up to 7 entries that may contain broker information, when the system searches for broker data and has not found a special data customs broker and the current index is less than 7, the desired outcome is that the system continues to the next special handling entry.
💻 Technical Criteria
EXCLUDING Special handling data contains up to 7 entries that may contain broker information
When The system searches for broker data and has not found a special data customs broker and the current index is less than 7
Then The system continues to the next special handling entry
R-GCCCBOL-cbl-00313 Extract Broker Name from XQ Instruction
Action Rules
📊 Business Logic Narrative
When the process 'Extract Broker Name from XQ Instruction' is invoked, and assuming that a special handling code of type 'xq' is found, when the xq special handling instruction is processed, the desired outcome is that the broker name is extracted from the instruction, the special data customs broker found flag is set to true, and any temporary broker flag is reset to not found.
💻 Technical Criteria
Given A special handling code of type 'XQ' is found
When The XQ special handling instruction is processed
Then The broker name is extracted from the instruction, the special data customs broker found flag is set to true, and any temporary broker flag is reset to not found
R-GCCCBOL-cbl-00317 More Special Handling Codes?
Process Rules
📊 Business Logic Narrative
When the process 'More Special Handling Codes?' is invoked, and assuming that the system is searching through special handling codes for broker information, when the current special handling index is less than or equal to 7 and no special data customs broker has been found, the desired outcome is that the system continues to the next special handling code entry.
💻 Technical Criteria
Given The system is searching through special handling codes for broker information
When The current special handling index is less than or equal to 7 and no special data customs broker has been found
Then The system continues to the next special handling code entry
R-GCCCBOL-cbl-00320 Parse Final Broker Name
Action Rules
📊 Business Logic Narrative
When the process 'Parse Final Broker Name' is invoked, and assuming that a broker name exists in special handling instruction format, when the broker name needs to be cleaned and formatted, the desired outcome is that standard parsing rules are applied to remove prefixes like 'customs broker', 'broker', 'cb', or 'xq' and extract the actual broker name.
💻 Technical Criteria
Given A broker name exists in special handling instruction format
When The broker name needs to be cleaned and formatted
Then Standard parsing rules are applied to remove prefixes like 'CUSTOMS BROKER', 'BROKER', 'CB', or 'XQ' and extract the actual broker name
R-GCCCBOL-cbl-00419 Check if starts with 'CUSTOMS BROKER '
Process Rules
📊 Business Logic Narrative
When the process 'Check if starts with 'CUSTOMS BROKER '' is invoked, and assuming that a broker name string is provided for parsing, when the string starts with 'customs broker ' (15 characters including space), the desired outcome is that extract the broker name from position 16 to 43 (28 characters) and store it as the parsed broker name.
💻 Technical Criteria
Given A broker name string is provided for parsing
When The string starts with 'CUSTOMS BROKER ' (15 characters including space)
Then Extract the broker name from position 16 to 43 (28 characters) and store it as the parsed broker name
R-GCCCBOL-cbl-00420 Check if starts with 'CUSTOMS BROKER: '
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check if starts with 'CUSTOMS BROKER: '', assuming that a broker name string is provided for parsing and it does not start with 'customs broker ', when the string starts with 'customs broker: ' (16 characters including colon and space), the desired outcome is that extract the broker name from position 17 to 43 (27 characters) and store it as the parsed broker name.
💻 Technical Criteria
EXCLUDING A broker name string is provided for parsing and it does not start with 'CUSTOMS BROKER '
When The string starts with 'CUSTOMS BROKER: ' (16 characters including colon and space)
Then Extract the broker name from position 17 to 43 (27 characters) and store it as the parsed broker name
R-GCCCBOL-cbl-00421 Check if starts with 'BROKER '
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check if starts with 'BROKER '', assuming that a broker name string is provided for parsing and it does not start with 'customs broker ' or 'customs broker: ', when the string starts with 'broker ' (7 characters including space), the desired outcome is that extract the broker name from position 8 to 43 (36 characters) and store it as the parsed broker name.
💻 Technical Criteria
EXCLUDING A broker name string is provided for parsing and it does not start with 'CUSTOMS BROKER ' or 'CUSTOMS BROKER: '
When The string starts with 'BROKER ' (7 characters including space)
Then Extract the broker name from position 8 to 43 (36 characters) and store it as the parsed broker name
R-GCCCBOL-cbl-00422 Check if starts with 'BROKER: '
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check if starts with 'BROKER: '', assuming that a broker name string is provided for parsing and it does not start with 'customs broker ', 'customs broker: ', or 'broker ', when the string starts with 'broker: ' (8 characters including colon and space), the desired outcome is that extract the broker name from position 9 to 43 (35 characters) and store it as the parsed broker name.
💻 Technical Criteria
EXCLUDING A broker name string is provided for parsing and it does not start with 'CUSTOMS BROKER ', 'CUSTOMS BROKER: ', or 'BROKER '
When The string starts with 'BROKER: ' (8 characters including colon and space)
Then Extract the broker name from position 9 to 43 (35 characters) and store it as the parsed broker name
R-GCCCBOL-cbl-00423 Check if starts with 'CB ' or 'XQ '
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check if starts with 'CB ' or 'XQ '', assuming that a broker name string is provided for parsing and it does not start with 'customs broker ', 'customs broker: ', 'broker ', or 'broker: ', when the string starts with 'cb ' or 'xq ' (3 characters including space), the desired outcome is that extract the broker name from position 4 to 44 (41 characters) and store it as the parsed broker name.
💻 Technical Criteria
EXCLUDING A broker name string is provided for parsing and it does not start with 'CUSTOMS BROKER ', 'CUSTOMS BROKER: ', 'BROKER ', or 'BROKER: '
When The string starts with 'CB ' or 'XQ ' (3 characters including space)
Then Extract the broker name from position 4 to 44 (41 characters) and store it as the parsed broker name
R-GCCCBOL-cbl-00424 Check if starts with 'CB: ' or 'XQ: '
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check if starts with 'CB: ' or 'XQ: '', assuming that a broker name string is provided for parsing and it does not start with 'customs broker ', 'customs broker: ', 'broker ', 'broker: ', 'cb ', or 'xq ', when the string starts with 'cb: ' or 'xq: ' (4 characters including colon and space), the desired outcome is that extract the broker name from position 5 to 44 (40 characters) and store it as the parsed broker name.
💻 Technical Criteria
EXCLUDING A broker name string is provided for parsing and it does not start with 'CUSTOMS BROKER ', 'CUSTOMS BROKER: ', 'BROKER ', 'BROKER: ', 'CB ', or 'XQ '
When The string starts with 'CB: ' or 'XQ: ' (4 characters including colon and space)
Then Extract the broker name from position 5 to 44 (40 characters) and store it as the parsed broker name
R-GCCCBOL-cbl-00425 Use entire string as broker name
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use entire string as broker name', assuming that a broker name string is provided for parsing and it does not start with any standard prefixes, when the string does not start with 'customs broker ', 'customs broker: ', 'broker ', 'broker: ', 'cb ', 'xq ', 'cb: ', or 'xq: ', the desired outcome is that use the entire string as the parsed broker name without any modification.
💻 Technical Criteria
EXCLUDING A broker name string is provided for parsing and it does not start with any standard prefixes
When The string does not start with 'CUSTOMS BROKER ', 'CUSTOMS BROKER: ', 'BROKER ', 'BROKER: ', 'CB ', 'XQ ', 'CB: ', or 'XQ: '
Then Use the entire string as the parsed broker name without any modification
R-GCCCBOL-cbl-00068 Organization ID = 'CB'?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Organization ID = 'CB'?', assuming that an ebsnrtd segment is found with organization data, when the organization id is 'cb' and temporary customs broker is not found and custom id is not 'xr' or 'xu', the desired outcome is that store the organization name as temporary broker name and set temporary customs broker found indicator.
💻 Technical Criteria
EXCLUDING An EBSNRTD segment is found with organization data
When The organization ID is 'CB' and temporary customs broker is not found and custom ID is not 'XR' or 'XU'
Then Store the organization name as temporary broker name and set temporary customs broker found indicator
R-GCCCBOL-cbl-00069 Organization ID = 'XQ'?
Decision Rules
📊 Business Logic Narrative
When the process 'Organization ID = 'XQ'?' is invoked, and assuming that an ebsnrtd segment is found with organization data, when the organization custom id is 'xq', the desired outcome is that set the organization name as the final broker name, mark customs broker as found, and reset temporary customs broker indicator.
💻 Technical Criteria
Given An EBSNRTD segment is found with organization data
When The organization custom ID is 'XQ'
Then Set the organization name as the final broker name, mark customs broker as found, and reset temporary customs broker indicator
R-GCCCBOL-cbl-00070 Temporary Broker Available?
Decision Rules
📊 Business Logic Narrative
When the process 'Temporary Broker Available?' is invoked, and assuming that all ebsnrtd segments have been processed and no xq type customs broker was found, when a temporary customs broker was found during the search, the desired outcome is that use the temporary broker name as the final broker long name.
💻 Technical Criteria
Given All EBSNRTD segments have been processed and no XQ type customs broker was found
When A temporary customs broker was found during the search
Then Use the temporary broker name as the final broker long name
R-GCCCBOL-cbl-00071 More Sequences Available?
Process Rules
📊 Business Logic Narrative
When the process 'More Sequences Available?' is invoked, and assuming that the system is searching for customs broker information in ebsnrtd segments, when current sequence processing is complete, the desired outcome is that continue to next sequence if customs broker not found and more segments available, otherwise end search.
💻 Technical Criteria
Given The system is searching for customs broker information in EBSNRTD segments
When Current sequence processing is complete
Then Continue to next sequence if customs broker not found and more segments available, otherwise end search
R-GCCCBOL-cbl-00072 Initialize broker search flags
Process Rules
📊 Business Logic Narrative
When the process 'Initialize broker search flags' is invoked, and assuming that the system needs to search for customs broker information in fastway system, when the broker search process begins, the desired outcome is that all broker search flags are set to not found state and temporary broker name storage is cleared.
💻 Technical Criteria
Given The system needs to search for customs broker information in Fastway system
When The broker search process begins
Then All broker search flags are set to not found state and temporary broker name storage is cleared
R-GCCCBOL-cbl-00073 Loop through special handling codes 1-7
Process Rules
📊 Business Logic Narrative
When the process 'Loop through special handling codes 1-7' is invoked, and assuming that special handling codes array contains up to 7 positions, when searching for customs broker information, the desired outcome is that process each special handling code position from 1 to 7 or until customs broker with xq code is found.
💻 Technical Criteria
Given Special handling codes array contains up to 7 positions
When Searching for customs broker information
Then Process each special handling code position from 1 to 7 or until customs broker with XQ code is found
R-GCCCBOL-cbl-00075 Extract broker name from XQ instruction
Action Rules
📊 Business Logic Narrative
When the process 'Extract broker name from XQ instruction' is invoked, and assuming that special handling code is 'xq' type, when processing the xq handling instruction, the desired outcome is that move the handling instruction to broker name field and set customs broker found flag to true and temporary cb not found flag to true.
💻 Technical Criteria
Given Special handling code is 'XQ' type
When Processing the XQ handling instruction
Then Move the handling instruction to broker name field and set customs broker found flag to true and temporary CB not found flag to true
R-GCCCBOL-cbl-00078 More special handling codes to check?
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'More special handling codes to check?', assuming that currently processing special handling codes array, when current position is less than 7 and xq customs broker has not been found, the desired outcome is that continue to next special handling code position.
💻 Technical Criteria
EXCLUDING Currently processing special handling codes array
When Current position is less than 7 and XQ customs broker has not been found
Then Continue to next special handling code position
R-GCCCBOL-cbl-00079 Temporary CB broker found?
Decision Rules
📊 Business Logic Narrative
When the process 'Temporary CB broker found?' is invoked, and assuming that all special handling codes have been processed and temporary cb found flag is true, when no xq type customs broker was found, the desired outcome is that move the temporary broker name to the special handling instruction field for parsing.
💻 Technical Criteria
Given All special handling codes have been processed and temporary CB found flag is true
When No XQ type customs broker was found
Then Move the temporary broker name to the special handling instruction field for parsing
R-GCCCBOL-cbl-00080 Parse broker name using standard formats
Computation Rules
📊 Business Logic Narrative
When the process 'Parse broker name using standard formats' is invoked, and assuming that a broker name string contains standard prefixes, when the string starts with 'customs broker ', 'customs broker: ', 'broker ', 'broker: ', 'cb ', 'cb: ', 'xq ', or 'xq: ', the desired outcome is that remove the prefix and extract the remaining text as the broker long name, otherwise use the entire string as broker long name.
💻 Technical Criteria
Given A broker name string contains standard prefixes
When The string starts with 'CUSTOMS BROKER ', 'CUSTOMS BROKER: ', 'BROKER ', 'BROKER: ', 'CB ', 'CB: ', 'XQ ', or 'XQ: '
Then Remove the prefix and extract the remaining text as the broker long name, otherwise use the entire string as broker long name
R-GCCCBOL-cbl-00081 Check if starts with 'CUSTOMS BROKER '
Decision Rules
📊 Business Logic Narrative
When the process 'Check if starts with 'CUSTOMS BROKER '' is invoked, and assuming that a special handling instruction string is provided for broker name extraction, when the string starts with 'customs broker ' (15 characters including space), the desired outcome is that extract the broker name from position 16 to 43 (28 characters) and set it as the broker long name.
💻 Technical Criteria
Given A special handling instruction string is provided for broker name extraction
When The string starts with 'CUSTOMS BROKER ' (15 characters including space)
Then Extract the broker name from position 16 to 43 (28 characters) and set it as the broker long name
R-GCCCBOL-cbl-00082 Check if starts with 'CUSTOMS BROKER: '
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check if starts with 'CUSTOMS BROKER: '', assuming that a special handling instruction string is provided for broker name extraction and it does not start with 'customs broker ', when the string starts with 'customs broker: ' (16 characters including colon and space), the desired outcome is that extract the broker name from position 17 to 43 (27 characters) and set it as the broker long name.
💻 Technical Criteria
EXCLUDING A special handling instruction string is provided for broker name extraction and it does not start with 'CUSTOMS BROKER '
When The string starts with 'CUSTOMS BROKER: ' (16 characters including colon and space)
Then Extract the broker name from position 17 to 43 (27 characters) and set it as the broker long name
R-GCCCBOL-cbl-00083 Check if starts with 'BROKER '
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check if starts with 'BROKER '', assuming that a special handling instruction string is provided for broker name extraction and it does not start with 'customs broker ' or 'customs broker: ', when the string starts with 'broker ' (7 characters including space), the desired outcome is that extract the broker name from position 8 to 43 (36 characters) and set it as the broker long name.
💻 Technical Criteria
EXCLUDING A special handling instruction string is provided for broker name extraction and it does not start with 'CUSTOMS BROKER ' or 'CUSTOMS BROKER: '
When The string starts with 'BROKER ' (7 characters including space)
Then Extract the broker name from position 8 to 43 (36 characters) and set it as the broker long name
R-GCCCBOL-cbl-00084 Check if starts with 'BROKER: '
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check if starts with 'BROKER: '', assuming that a special handling instruction string is provided for broker name extraction and it does not start with 'customs broker ', 'customs broker: ', or 'broker ', when the string starts with 'broker: ' (8 characters including colon and space), the desired outcome is that extract the broker name from position 9 to 43 (35 characters) and set it as the broker long name.
💻 Technical Criteria
EXCLUDING A special handling instruction string is provided for broker name extraction and it does not start with 'CUSTOMS BROKER ', 'CUSTOMS BROKER: ', or 'BROKER '
When The string starts with 'BROKER: ' (8 characters including colon and space)
Then Extract the broker name from position 9 to 43 (35 characters) and set it as the broker long name
R-GCCCBOL-cbl-00085 Check if starts with 'CB ' or 'XQ '
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check if starts with 'CB ' or 'XQ '', assuming that a special handling instruction string is provided for broker name extraction and it does not start with any customs broker or broker prefixes, when the string starts with 'cb ' or 'xq ' (3 characters including space), the desired outcome is that extract the broker name from position 4 to 44 (41 characters) and set it as the broker long name.
💻 Technical Criteria
EXCLUDING A special handling instruction string is provided for broker name extraction and it does not start with any CUSTOMS BROKER or BROKER prefixes
When The string starts with 'CB ' or 'XQ ' (3 characters including space)
Then Extract the broker name from position 4 to 44 (41 characters) and set it as the broker long name
R-GCCCBOL-cbl-00086 Check if starts with 'CB: ' or 'XQ: '
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check if starts with 'CB: ' or 'XQ: '', assuming that a special handling instruction string is provided for broker name extraction and it does not start with any customs broker, broker, cb, or xq prefixes, when the string starts with 'cb: ' or 'xq: ' (4 characters including colon and space), the desired outcome is that extract the broker name from position 5 to 44 (40 characters) and set it as the broker long name.
💻 Technical Criteria
EXCLUDING A special handling instruction string is provided for broker name extraction and it does not start with any CUSTOMS BROKER, BROKER, CB, or XQ prefixes
When The string starts with 'CB: ' or 'XQ: ' (4 characters including colon and space)
Then Extract the broker name from position 5 to 44 (40 characters) and set it as the broker long name
R-GCCCBOL-cbl-00087 Use entire string as broker name
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use entire string as broker name', assuming that a special handling instruction string is provided for broker name extraction and it does not start with any recognized broker prefixes, when the string does not start with 'customs broker ', 'customs broker: ', 'broker ', 'broker: ', 'cb ', 'xq ', 'cb: ', or 'xq: ', the desired outcome is that use the entire special handling instruction string as the broker long name.
💻 Technical Criteria
EXCLUDING A special handling instruction string is provided for broker name extraction and it does not start with any recognized broker prefixes
When The string does not start with 'CUSTOMS BROKER ', 'CUSTOMS BROKER: ', 'BROKER ', 'BROKER: ', 'CB ', 'XQ ', 'CB: ', or 'XQ: '
Then Use the entire special handling instruction string as the broker long name
R-GCCCBOL-cbl-00236 Destination = 105 AND No Haulage Rights?
Decision Rules
📊 Business Logic Narrative
When the process 'Destination = 105 AND No Haulage Rights?' is invoked, and assuming that a shipment with destination and haulage carrier information, when the destination is 105 (canada) and there is no haulage rights carrier assigned, the desired outcome is that the shipment is eligible for csa processing.
💻 Technical Criteria
Given A shipment with destination and haulage carrier information
When The destination is 105 (Canada) AND there is no haulage rights carrier assigned
Then The shipment is eligible for CSA processing
R-GCCCBOL-cbl-00237 Check BOL for CSA
Process Rules
📊 Business Logic Narrative
When the process 'Check BOL for CSA' is invoked, and assuming that an edi bol key is available for the shipment, when searching for n1 importer segments with entity id 'im', non-blank name, qualifier 'm5'/'bn'/'ai', and non-blank id code, the desired outcome is that return the importer segment if found, otherwise indicate not found.
💻 Technical Criteria
Given An EDI BOL key is available for the shipment
When Searching for N1 importer segments with entity ID 'IM', non-blank name, qualifier 'M5'/'BN'/'AI', and non-blank ID code
Then Return the importer segment if found, otherwise indicate not found
R-GCCCBOL-cbl-00238 Check Fastway for CSA
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check Fastway for CSA', assuming that fastway shipment data is available and edi bol importer was not found, when searching for n1-01 'im' segments with n1-02 importer name, n1-03 qualifier ('m5'/'bn'/'ai'), and n1-04 business number, the desired outcome is that extract and return the importer information if complete sequence is found.
💻 Technical Criteria
EXCLUDING Fastway shipment data is available and EDI BOL importer was not found
When Searching for N1-01 'IM' segments with N1-02 importer name, N1-03 qualifier ('M5'/'BN'/'AI'), and N1-04 business number
Then Extract and return the importer information if complete sequence is found
R-GCCCBOL-cbl-00239 Qualifies as CSA?
Decision Rules
📊 Business Logic Narrative
When the process 'Qualifies as CSA?' is invoked, and assuming that an importer record with entity id 'im', non-blank name, and business number qualifier, when the business number qualifier is 'm5', the desired outcome is that set csa indicator to on and copy all importer data including name, qualifier, and business number.
💻 Technical Criteria
Given An importer record with entity ID 'IM', non-blank name, and business number qualifier
When The business number qualifier is 'M5'
Then Set CSA indicator to ON and copy all importer data including name, qualifier, and business number
R-GCCCBOL-cbl-00240 Copy Importer Data
Decision Rules
📊 Business Logic Narrative
When the process 'Copy Importer Data' is invoked, and assuming that an importer record with entity id 'im', non-blank name, and business number qualifier, when the business number qualifier is 'bn' or 'ai' (not 'm5'), the desired outcome is that copy importer data (name, qualifier, business number) without setting csa indicator.
💻 Technical Criteria
Given An importer record with entity ID 'IM', non-blank name, and business number qualifier
When The business number qualifier is 'BN' or 'AI' (not 'M5')
Then Copy importer data (name, qualifier, business number) without setting CSA indicator
R-GCCCBOL-cbl-00241 Set CSA Indicator OFF
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set CSA Indicator OFF', assuming that a shipment being processed for csa, when the shipment does not meet destination 105 criteria or has haulage carrier or no valid importer found, the desired outcome is that set csa indicator to off.
💻 Technical Criteria
EXCLUDING A shipment being processed for CSA
When The shipment does not meet destination 105 criteria OR has haulage carrier OR no valid importer found
Then Set CSA indicator to OFF
R-GCCCBOL-cbl-00242 Extract Importer Information
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Extract Importer Information', assuming that an n1 segment from edi bol data, when the segment has entity id code 'im' and name is not blank and id code qualifier is 'm5', 'bn', or 'ai' and id code is not blank, the desired outcome is that consider the importer data valid and complete for csa processing.
💻 Technical Criteria
EXCLUDING An N1 segment from EDI BOL data
When The segment has entity ID code 'IM' AND name is not blank AND ID code qualifier is 'M5', 'BN', or 'AI' AND ID code is not blank
Then Consider the importer data valid and complete for CSA processing
R-GCCCBOL-cbl-00243 Validate CSA Qualification
Validation Rules
📊 Business Logic Narrative
When the process 'Validate CSA Qualification' is invoked, and assuming that fastway shipment data segments, when a complete sequence exists with n1-01 'im', n1-02 importer name (not blank), n1-03 qualifier ('m5'/'bn'/'ai'), and n1-04 business number (not blank), the desired outcome is that consider the importer information valid for csa processing.
💻 Technical Criteria
Given Fastway shipment data segments
When A complete sequence exists with N1-01 'IM', N1-02 importer name (not blank), N1-03 qualifier ('M5'/'BN'/'AI'), and N1-04 business number (not blank)
Then Consider the importer information valid for CSA processing
R-GCCCBOL-cbl-00401 Get N1 Importer Segment from BOL
Action Rules
📊 Business Logic Narrative
When the process 'Get N1 Importer Segment from BOL' is invoked, and assuming that an edi bol key exists for the shipment, when the system searches for n1 importer segment data, the desired outcome is that the system retrieves the first n1 importer segment from the edi bol data source.
💻 Technical Criteria
Given An EDI BOL key exists for the shipment
When The system searches for N1 importer segment data
Then The system retrieves the first N1 importer segment from the EDI BOL data source
R-GCCCBOL-cbl-00402 N1 Segment Found?
Validation Rules
📊 Business Logic Narrative
When the process 'N1 Segment Found?' is invoked, and assuming that the system has attempted to retrieve n1 importer segment data, when the retrieval operation completes, the desired outcome is that the system checks if a valid n1 segment was found and continues csa processing only if found, otherwise skips csa validation.
💻 Technical Criteria
Given The system has attempted to retrieve N1 importer segment data
When The retrieval operation completes
Then The system checks if a valid N1 segment was found and continues CSA processing only if found, otherwise skips CSA validation
R-GCCCBOL-cbl-00409 Copy Importer Data Only
Action Rules
📊 Business Logic Narrative
When the process 'Copy Importer Data Only' is invoked, and assuming that a valid n1 importer segment with bn or ai qualifier exists, when the system processes the non-m5 qualified importer, the desired outcome is that the system copies the importer name to gccc-importer, id code qualifier to gccc-business-nbr-qual, and id code to gccc-business-nbr fields without setting csa indicator.
💻 Technical Criteria
Given A valid N1 importer segment with BN or AI qualifier exists
When The system processes the non-M5 qualified importer
Then The system copies the importer name to GCCC-IMPORTER, ID code qualifier to GCCC-BUSINESS-NBR-QUAL, and ID code to GCCC-BUSINESS-NBR fields without setting CSA indicator
R-GCCCBOL-cbl-00410 Initialize N101 Search Flag
Process Rules
📊 Business Logic Narrative
When the process 'Initialize N101 Search Flag' is invoked, and assuming that the system needs to search fastway data for csa importer information, when the csa fastway search process begins, the desired outcome is that the n101 search flag is set to not found and data start index is set to 1.
💻 Technical Criteria
Given The system needs to search Fastway data for CSA importer information
When The CSA Fastway search process begins
Then The N101 search flag is set to not found and data start index is set to 1
R-GCCCBOL-cbl-00413 Extract N1-02 Importer Name
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract N1-02 Importer Name' is invoked, and assuming that an n1-01 im segment has been found in the current data position, when the system checks the next data line for n1-02 importer name information, the desired outcome is that if the next data line contains ' n1-02', the importer name is extracted from positions 8-28 of that line and stored as the csa importer name.
💻 Technical Criteria
Given An N1-01 IM segment has been found in the current data position
When The system checks the next data line for N1-02 importer name information
Then If the next data line contains ' N1-02', the importer name is extracted from positions 8-28 of that line and stored as the CSA importer name
R-GCCCBOL-cbl-00414 Check Next Data Line for N1-03
Validation Rules
📊 Business Logic Narrative
When the process 'Check Next Data Line for N1-03' is invoked, and assuming that the importer name has been extracted from n1-02 segment, when the system examines the next data line for n1-03 qualifier information, the desired outcome is that if the data line contains ' n1-03 m5', ' n1-03 bn', or ' n1-03 ai', the corresponding qualifier (m5, bn, or ai) is stored as the business number qualifier.
💻 Technical Criteria
Given The importer name has been extracted from N1-02 segment
When The system examines the next data line for N1-03 qualifier information
Then If the data line contains ' N1-03 M5', ' N1-03 BN', or ' N1-03 AI', the corresponding qualifier (M5, BN, or AI) is stored as the business number qualifier
R-GCCCBOL-cbl-00417 Store Importer Name and Business Number
Definitional Rules
📊 Business Logic Narrative
When the process 'Store Importer Name and Business Number' is invoked, and assuming that valid importer name and business number have been extracted from shipmine data, when the n1-04 business number segment has been processed, the desired outcome is that the importer name is stored in the importer field and the business number is stored in the business number field for subsequent csa processing.
💻 Technical Criteria
Given Valid importer name and business number have been extracted from SHIPMINE data
When The N1-04 business number segment has been processed
Then The importer name is stored in the importer field and the business number is stored in the business number field for subsequent CSA processing
R-GCCCBOL-cbl-00418 More SHIPMINE Segments?
Process Rules
📊 Business Logic Narrative
When the process 'More SHIPMINE Segments?' is invoked, and assuming that the system is searching through shipmine segments for csa importer information, when the current data index exceeds position 5 in the current segment, the desired outcome is that the system attempts to retrieve the next shipmine segment and continues processing if available, or terminates the search if no more segments exist.
💻 Technical Criteria
Given The system is searching through SHIPMINE segments for CSA importer information
When The current data index exceeds position 5 in the current segment
Then The system attempts to retrieve the next SHIPMINE segment and continues processing if available, or terminates the search if no more segments exist
R-GCCCBOL-cbl-00444 Set N1-01 Not Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set N1-01 Not Found Flag' is invoked, and assuming that the system needs to search for n1-01 im importer segments in shipmine data, when the search process begins, the desired outcome is that the system sets the n1-01 found flag to false (not found) to initialize the search state.
💻 Technical Criteria
Given The system needs to search for N1-01 IM importer segments in SHIPMINE data
When The search process begins
Then The system sets the N1-01 found flag to false (not found) to initialize the search state
R-GCCCBOL-cbl-00447 Data Line Contains 'N1-01 IM'?
Decision Rules
📊 Business Logic Narrative
When the process 'Data Line Contains 'N1-01 IM'?' is invoked, and assuming that the system is examining a shipmine data line at the current index position, when checking the data line content for importer segment identification, the desired outcome is that the system determines if the data line contains the exact pattern 'n1-01 im' starting at position 1 through 9.
💻 Technical Criteria
Given The system is examining a SHIPMINE data line at the current index position
When Checking the data line content for importer segment identification
Then The system determines if the data line contains the exact pattern 'N1-01 IM' starting at position 1 through 9
R-GCCCBOL-cbl-00448 Set N1-01 Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set N1-01 Found Flag' is invoked, and assuming that the system has identified a data line containing the n1-01 im pattern, when the importer segment is successfully located, the desired outcome is that the system sets the n1-01 found flag to true to indicate successful discovery.
💻 Technical Criteria
Given The system has identified a data line containing the N1-01 IM pattern
When The importer segment is successfully located
Then The system sets the N1-01 found flag to true to indicate successful discovery
R-GCCCBOL-cbl-00244 Get N1 Importer Segment from BOL
Action Rules
📊 Business Logic Narrative
When the process 'Get N1 Importer Segment from BOL' is invoked, and assuming that an edi bol key exists for the shipment, when the system searches for n1 importer segment data in the edi bol, the desired outcome is that the system retrieves the importer segment if it exists or sets not found status.
💻 Technical Criteria
Given An EDI BOL key exists for the shipment
When The system searches for N1 importer segment data in the EDI BOL
Then The system retrieves the importer segment if it exists or sets not found status
R-GCCCBOL-cbl-00245 N1 Importer Segment Found?
Validation Rules
📊 Business Logic Narrative
When the process 'N1 Importer Segment Found?' is invoked, and assuming that the system has attempted to retrieve n1 importer segment from edi bol, when the system evaluates the retrieval status, the desired outcome is that processing continues if segment is found, otherwise csa processing is skipped.
💻 Technical Criteria
Given The system has attempted to retrieve N1 importer segment from EDI BOL
When The system evaluates the retrieval status
Then Processing continues if segment is found, otherwise CSA processing is skipped
R-GCCCBOL-cbl-00246 Check Entity ID Code = 'IM'
Validation Rules
📊 Business Logic Narrative
When the process 'Check Entity ID Code = 'IM'' is invoked, and assuming that an n1 segment has been retrieved from the edi bol, when the system checks the entity id code in the n1 segment, the desired outcome is that processing continues only if the entity id code equals 'im' indicating an importer.
💻 Technical Criteria
Given An N1 segment has been retrieved from the EDI BOL
When The system checks the entity ID code in the N1 segment
Then Processing continues only if the entity ID code equals 'IM' indicating an importer
R-GCCCBOL-cbl-00248 ID Code Qualifier = 'M5'?
Decision Rules
📊 Business Logic Narrative
When the process 'ID Code Qualifier = 'M5'?' is invoked, and assuming that a valid importer n1 segment with entity id 'im', valid name and id code, when the system checks if the id code qualifier equals 'm5', the desired outcome is that csa indicator is set on if qualifier is m5, otherwise check for other qualifiers.
💻 Technical Criteria
Given A valid importer N1 segment with entity ID 'IM', valid name and ID code
When The system checks if the ID code qualifier equals 'M5'
Then CSA indicator is set ON if qualifier is M5, otherwise check for other qualifiers
R-GCCCBOL-cbl-00249 Set CSA Indicator ON
Action Rules
📊 Business Logic Narrative
When the process 'Set CSA Indicator ON' is invoked, and assuming that an importer n1 segment with m5 qualifier has been validated, when the system processes the m5 qualified importer, the desired outcome is that the csa indicator is set to on to enable canada-us trade processing.
💻 Technical Criteria
Given An importer N1 segment with M5 qualifier has been validated
When The system processes the M5 qualified importer
Then The CSA indicator is set to ON to enable Canada-US trade processing
R-GCCCBOL-cbl-00250 Copy BOL N1 Importer Data
Action Rules
📊 Business Logic Narrative
When the process 'Copy BOL N1 Importer Data' is invoked, and assuming that a valid importer n1 segment with m5 qualifier, when the system copies importer data from the n1 segment, the desired outcome is that importer name is copied to gccc-importer, id code qualifier to gccc-business-nbr-qual, and id code to gccc-business-nbr.
💻 Technical Criteria
Given A valid importer N1 segment with M5 qualifier
When The system copies importer data from the N1 segment
Then Importer name is copied to GCCC-IMPORTER, ID code qualifier to GCCC-BUSINESS-NBR-QUAL, and ID code to GCCC-BUSINESS-NBR
R-GCCCBOL-cbl-00251 ID Code Qualifier = 'BN'?
Decision Rules
📊 Business Logic Narrative
When the process 'ID Code Qualifier = 'BN'?' is invoked, and assuming that a valid importer n1 segment without m5 qualifier, when the system checks if the id code qualifier equals 'bn', the desired outcome is that importer data is copied if qualifier is bn, otherwise check for ai qualifier.
💻 Technical Criteria
Given A valid importer N1 segment without M5 qualifier
When The system checks if the ID code qualifier equals 'BN'
Then Importer data is copied if qualifier is BN, otherwise check for AI qualifier
R-GCCCBOL-cbl-00252 ID Code Qualifier = 'AI'?
Decision Rules
📊 Business Logic Narrative
When the process 'ID Code Qualifier = 'AI'?' is invoked, and assuming that a valid importer n1 segment without m5 or bn qualifier, when the system checks if the id code qualifier equals 'ai', the desired outcome is that importer data is copied if qualifier is ai, otherwise csa processing ends.
💻 Technical Criteria
Given A valid importer N1 segment without M5 or BN qualifier
When The system checks if the ID code qualifier equals 'AI'
Then Importer data is copied if qualifier is AI, otherwise CSA processing ends
R-GCCCBOL-cbl-00254 Initialize N101 Search Flag
Process Rules
📊 Business Logic Narrative
When the process 'Initialize N101 Search Flag' is invoked, and assuming that csa processing is required for fastway shipment data, when the system begins searching for csa importer information, the desired outcome is that the n101 search flag is set to not found and data start index is initialized to 1.
💻 Technical Criteria
Given CSA processing is required for Fastway shipment data
When the system begins searching for CSA importer information
Then the N101 search flag is set to not found and data start index is initialized to 1
R-GCCCBOL-cbl-00255 Search SHIPMINE for N101 Importer Segment
Decision Rules
📊 Business Logic Narrative
When the process 'Search SHIPMINE for N101 Importer Segment' is invoked, and assuming that shipmine data is available for processing, when searching for importer segments with data line containing ' n1-01 im', the desired outcome is that the n101 found flag is set to true when the segment is located.
💻 Technical Criteria
Given SHIPMINE data is available for processing
When searching for importer segments with data line containing ' N1-01 IM'
Then the N101 found flag is set to true when the segment is located
R-GCCCBOL-cbl-00256 Exit - No CSA Data
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Exit - No CSA Data', assuming that the system is searching for csa importer data in shipmine, when shipmine data is not found or exhausted, the desired outcome is that the csa search process exits without setting csa indicators.
💻 Technical Criteria
EXCLUDING the system is searching for CSA importer data in SHIPMINE
When SHIPMINE data is not found or exhausted
Then the CSA search process exits without setting CSA indicators
R-GCCCBOL-cbl-00258 Extract Importer Name
Action Rules
📊 Business Logic Narrative
When the process 'Extract Importer Name' is invoked, and assuming that a data line contains ' n1-02' segment identifier, when processing csa importer information, the desired outcome is that extract characters 8-28 from the data line as the csa importer name.
💻 Technical Criteria
Given a data line contains ' N1-02' segment identifier
When processing CSA importer information
Then extract characters 8-28 from the data line as the CSA importer name
R-GCCCBOL-cbl-00260 Extract Business Number
Action Rules
📊 Business Logic Narrative
When the process 'Extract Business Number' is invoked, and assuming that a data line contains ' n1-04' segment identifier, when processing business number information, the desired outcome is that extract characters 8-17 as business number and copy importer name to csa importer field.
💻 Technical Criteria
Given a data line contains ' N1-04' segment identifier
When processing business number information
Then extract characters 8-17 as business number and copy importer name to CSA importer field
R-GCCCBOL-cbl-00264 Check Entity ID Code = 'IM'
Validation Rules
📊 Business Logic Narrative
When the process 'Check Entity ID Code = 'IM'' is invoked, and assuming that an n1 segment has been retrieved from the edi bol, when the system checks the entity id code in the n1 segment, the desired outcome is that the system proceeds only if the entity id code equals 'im' (importer).
💻 Technical Criteria
Given An N1 segment has been retrieved from the EDI BOL
When The system checks the entity ID code in the N1 segment
Then The system proceeds only if the entity ID code equals 'IM' (Importer)
R-GCCCBOL-cbl-00265 Valid Importer Name?
Validation Rules
📊 Business Logic Narrative
When the process 'Valid Importer Name?' is invoked, and assuming that an n1 segment with entity id code 'im' has been found, when the system checks the n1 name field, the desired outcome is that the system proceeds only if the name field is not spaces.
💻 Technical Criteria
Given An N1 segment with entity ID code 'IM' has been found
When The system checks the N1 name field
Then The system proceeds only if the name field is not spaces
R-GCCCBOL-cbl-00266 Qualifier = 'M5'?
Decision Rules
📊 Business Logic Narrative
When the process 'Qualifier = 'M5'?' is invoked, and assuming that a valid importer n1 segment with name and id code exists, when the system checks if the id code qualifier equals 'm5', the desired outcome is that the system sets csa indicator on and copies importer data to output fields.
💻 Technical Criteria
Given A valid importer N1 segment with name and ID code exists
When The system checks if the ID code qualifier equals 'M5'
Then The system sets CSA indicator ON and copies importer data to output fields
R-GCCCBOL-cbl-00267 Qualifier = 'BN'?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Qualifier = 'BN'?', assuming that a valid importer n1 segment exists with id code qualifier not equal to 'm5', when the system checks if the id code qualifier equals 'bn', the desired outcome is that the system copies importer data to output fields without setting csa indicator.
💻 Technical Criteria
EXCLUDING A valid importer N1 segment exists with ID code qualifier not equal to 'M5'
When The system checks if the ID code qualifier equals 'BN'
Then The system copies importer data to output fields without setting CSA indicator
R-GCCCBOL-cbl-00268 Qualifier = 'AI'?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Qualifier = 'AI'?', assuming that a valid importer n1 segment exists with id code qualifier not equal to 'm5' or 'bn', when the system checks if the id code qualifier equals 'ai', the desired outcome is that the system copies importer data to output fields without setting csa indicator.
💻 Technical Criteria
EXCLUDING A valid importer N1 segment exists with ID code qualifier not equal to 'M5' or 'BN'
When The system checks if the ID code qualifier equals 'AI'
Then The system copies importer data to output fields without setting CSA indicator
R-GCCCBOL-cbl-00269 Copy BOL Importer Data
Process Rules
📊 Business Logic Narrative
When the process 'Copy BOL Importer Data' is invoked, and assuming that a valid n1 importer segment with acceptable qualifier (m5, bn, or ai) has been found, when the system processes the importer data, the desired outcome is that the system moves n1 name to importer field, id code qualifier to business number qualifier field, and id code to business number field.
💻 Technical Criteria
Given A valid N1 importer segment with acceptable qualifier (M5, BN, or AI) has been found
When The system processes the importer data
Then The system moves N1 name to importer field, ID code qualifier to business number qualifier field, and ID code to business number field
R-GCCCBOL-cbl-00270 Search Fastway for N1-01 IM
Action Rules
📊 Business Logic Narrative
When the process 'Search Fastway for N1-01 IM' is invoked, and assuming that no valid importer segment was found in edi bol data, when the system searches through fastway shipment mine segments, the desired outcome is that the system looks for data lines containing 'n1-01 im' pattern.
💻 Technical Criteria
Given No valid importer segment was found in EDI BOL data
When The system searches through Fastway shipment mine segments
Then The system looks for data lines containing 'N1-01 IM' pattern
R-GCCCBOL-cbl-00271 Extract N1-02 Importer Name
Process Rules
📊 Business Logic Narrative
When the process 'Extract N1-02 Importer Name' is invoked, and assuming that an n1-01 im segment has been found in fastway data, when the system processes the next data line expecting n1-02 format, the desired outcome is that the system extracts the importer name from positions 8-28 of the n1-02 data line.
💻 Technical Criteria
Given An N1-01 IM segment has been found in Fastway data
When The system processes the next data line expecting N1-02 format
Then The system extracts the importer name from positions 8-28 of the N1-02 data line
R-GCCCBOL-cbl-00272 Check N1-03 Qualifier
Validation Rules
📊 Business Logic Narrative
When the process 'Check N1-03 Qualifier' is invoked, and assuming that n1-02 importer name has been extracted from fastway data, when the system checks the next data line for n1-03 format, the desired outcome is that the system validates if the qualifier is 'm5', 'bn', or 'ai' and extracts the qualifier type.
💻 Technical Criteria
Given N1-02 importer name has been extracted from Fastway data
When The system checks the next data line for N1-03 format
Then The system validates if the qualifier is 'M5', 'BN', or 'AI' and extracts the qualifier type
R-GCCCBOL-cbl-00275 Store Importer Information
Process Rules
📊 Business Logic Narrative
When the process 'Store Importer Information' is invoked, and assuming that complete importer information has been extracted from fastway segments, when the system finalizes the importer data processing, the desired outcome is that the system moves the extracted business number to business number field and importer name to importer field.
💻 Technical Criteria
Given Complete importer information has been extracted from Fastway segments
When The system finalizes the importer data processing
Then The system moves the extracted business number to business number field and importer name to importer field
R-GCCCBOL-cbl-00276 Destination Road Number = 105?
Decision Rules
📊 Business Logic Narrative
When the process 'Destination Road Number = 105?' is invoked, and assuming that a shipment with destination road number information, when the destination road number is evaluated for csa qualification, the desired outcome is that if destination road number equals 105, proceed to check haulage carrier; otherwise set csa indicator off.
💻 Technical Criteria
Given A shipment with destination road number information
When The destination road number is evaluated for CSA qualification
Then If destination road number equals 105, proceed to check haulage carrier; otherwise set CSA indicator OFF
R-GCCCBOL-cbl-00278 Check BOL for CSA Data
Action Rules
📊 Business Logic Narrative
When the process 'Check BOL for CSA Data' is invoked, and assuming that a qualified shipment for csa processing, when edi bol system is checked for importer segment data, the desired outcome is that retrieve n1 importer segment and evaluate for valid csa data.
💻 Technical Criteria
Given A qualified shipment for CSA processing
When EDI BOL system is checked for importer segment data
Then Retrieve N1 importer segment and evaluate for valid CSA data
R-GCCCBOL-cbl-00280 Check Fastway for CSA Data
Action Rules
📊 Business Logic Narrative
When the process 'Check Fastway for CSA Data' is invoked, and assuming that no valid csa data found in edi bol system, when fastway system is searched for csa importer information, the desired outcome is that search shipment mine segments for n1-01 im entity data.
💻 Technical Criteria
Given No valid CSA data found in EDI BOL system
When Fastway system is searched for CSA importer information
Then Search shipment mine segments for N1-01 IM entity data
R-GCCCBOL-cbl-00281 CSA Data Found in Fastway?
Validation Rules
📊 Business Logic Narrative
When the process 'CSA Data Found in Fastway?' is invoked, and assuming that shipment mine segments searched for n1-01 im entity, when the fastway importer data is evaluated for csa validity, the desired outcome is that if n1-01 im entity found with n1-02 name, n1-03 qualifier ('m5', 'bn', or 'ai'), and n1-04 id code, then if qualifier is 'm5' set csa indicator on and copy all data; otherwise copy data without setting csa indicator; if no valid data found, set csa indicator off.
💻 Technical Criteria
Given Shipment mine segments searched for N1-01 IM entity
When The Fastway importer data is evaluated for CSA validity
Then If N1-01 IM entity found with N1-02 name, N1-03 qualifier ('M5', 'BN', or 'AI'), and N1-04 ID code, then if qualifier is 'M5' set CSA indicator ON and copy all data; otherwise copy data without setting CSA indicator; if no valid data found, set CSA indicator OFF
R-GCCCBOL-cbl-00282 Set CSA Indicator ON
Action Rules
📊 Business Logic Narrative
When the process 'Set CSA Indicator ON' is invoked, and assuming that valid csa importer data found with m5 qualification, when csa indicator is set to active status, the desired outcome is that set csa indicator on, copy importer name to gccc-importer, copy id code qualifier to gccc-business-nbr-qual, and copy id code to gccc-business-nbr.
💻 Technical Criteria
Given Valid CSA importer data found with M5 qualification
When CSA indicator is set to active status
Then Set CSA indicator ON, copy importer name to GCCC-IMPORTER, copy ID code qualifier to GCCC-BUSINESS-NBR-QUAL, and copy ID code to GCCC-BUSINESS-NBR

🔁 EDI, Status & Database 177 logic blocks
R-GCCCBOL-cbl-00002 2:Get Shipment Root Data
Action Rules
📊 Business Logic Narrative
When the process '2:Get Shipment Root Data' is invoked, and assuming that a valid shipment root key exists, when the system needs to access shipment root data, the desired outcome is that the shiproot segment is retrieved using the root key with 'gu' function code.
💻 Technical Criteria
Given A valid shipment root key exists
When The system needs to access shipment root data
Then The SHIPROOT segment is retrieved using the root key with 'GU' function code
R-GCCCBOL-cbl-00003 4:Extract EDI BOL Key
Decision Rules
📊 Business Logic Narrative
When the process '4:Extract EDI BOL Key' is invoked, and assuming that shipment mine data has been retrieved, when the system needs to identify the edi bol key, the desired outcome is that if shipment mine data is found, the first data line becomes the edi bol key, otherwise the key is set to spaces.
💻 Technical Criteria
Given Shipment mine data has been retrieved
When The system needs to identify the EDI BOL key
Then If shipment mine data is found, the first data line becomes the EDI BOL key, otherwise the key is set to spaces
R-GCCCBOL-cbl-00005 5:Build Broker Information
Decision Rules
📊 Business Logic Narrative
When the process '5:Build Broker Information' is invoked, and assuming that multiple broker records exist in edi bol data, when processing broker information from edi bol, the desired outcome is that if organization id is 'xq', use that broker name and stop searching; if organization id is 'cb' and no xq found yet and custom id is not 'xr' or 'xu', store as temporary broker.
💻 Technical Criteria
Given Multiple broker records exist in EDI BOL data
When Processing broker information from EDI BOL
Then If organization ID is 'XQ', use that broker name and stop searching; if organization ID is 'CB' and no XQ found yet and custom ID is not 'XR' or 'XU', store as temporary broker
R-GCCCBOL-cbl-00007 5:Build Broker Information
Action Rules
📊 Business Logic Narrative
When the process '5:Build Broker Information' is invoked, and assuming that a broker long name has been determined, when finalizing broker information, the desired outcome is that look up the broker in gcst2rt table and if found use the short name, otherwise use the long name.
💻 Technical Criteria
Given A broker long name has been determined
When Finalizing broker information
Then Look up the broker in GCST2RT table and if found use the short name, otherwise use the long name
R-GCCCBOL-cbl-00010 10:Build N9 Reference Numbers
Decision Rules
📊 Business Logic Narrative
When the process '10:Build N9 Reference Numbers' is invoked, and assuming that bm or si reference numbers are missing from edi bol and space is available in reference array, when building reference numbers, the desired outcome is that use shipper bill number as 'bm' reference and search special handling codes for 'si' type references.
💻 Technical Criteria
Given BM or SI reference numbers are missing from EDI BOL and space is available in reference array
When Building reference numbers
Then Use shipper bill number as 'BM' reference and search special handling codes for 'SI' type references
R-GCCCBOL-cbl-00026 Reset Array Indexes
Process Rules
📊 Business Logic Narrative
When the process 'Reset Array Indexes' is invoked, and assuming that description array processing is about to begin, when array indexes need to be initialized, the desired outcome is that the description array index ws-indexeb is set to position 1.
💻 Technical Criteria
Given Description array processing is about to begin
When Array indexes need to be initialized
Then The description array index WS-INDEXEB is set to position 1
R-GCCCBOL-cbl-00029 Initialize Database Access Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Database Access Parameters' is invoked, and assuming that a request to retrieve shipment root data is made, when the system initializes database access parameters, the desired outcome is that the communication area should be cleared to spaces and the segment type should be set to 'shiproot' to identify the target data structure.
💻 Technical Criteria
Given A request to retrieve shipment root data is made
When The system initializes database access parameters
Then The communication area should be cleared to spaces and the segment type should be set to 'SHIPROOT' to identify the target data structure
R-GCCCBOL-cbl-00031 Set Database Function to Get Unique
Process Rules
📊 Business Logic Narrative
When the process 'Set Database Function to Get Unique' is invoked, and assuming that database access parameters are configured with segment type and root key, when the system sets the database function type, the desired outcome is that the function code should be set to 'gu' (get unique) and accept status should be set to 'ge' (get equal) to retrieve exactly one matching shipment root record.
💻 Technical Criteria
Given Database access parameters are configured with segment type and root key
When The system sets the database function type
Then The function code should be set to 'GU' (Get Unique) and accept status should be set to 'GE' (Get Equal) to retrieve exactly one matching shipment root record
R-GCCCBOL-cbl-00032 Call Database Access Routine
Action Rules
📊 Business Logic Narrative
When the process 'Call Database Access Routine' is invoked, and assuming that all database access parameters are properly configured including segment type, root key, and function codes, when the system calls the database access routine fwcwbio, the desired outcome is that the database call should be executed with the communication control area, database parameters, and shipment root data structure to attempt data retrieval.
💻 Technical Criteria
Given All database access parameters are properly configured including segment type, root key, and function codes
When The system calls the database access routine FWCWBIO
Then The database call should be executed with the communication control area, database parameters, and shipment root data structure to attempt data retrieval
R-GCCCBOL-cbl-00034 Set segment type to 'SHIPMIN'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set segment type to 'SHIPMIN'' is invoked, and assuming that a shipment mine data retrieval request, when the system configures the segment type, the desired outcome is that the segment type is set to 'shipmin' to identify shipment mine records.
💻 Technical Criteria
Given A shipment mine data retrieval request
When The system configures the segment type
Then The segment type is set to 'SHIPMIN' to identify shipment mine records
R-GCCCBOL-cbl-00037 Set function code to 'GU' - Get Unique
Action Rules
📊 Business Logic Narrative
When the process 'Set function code to 'GU' - Get Unique' is invoked, and assuming that a configured shipment mine segment request, when the system sets the database function code, the desired outcome is that the function code is set to 'gu' for get unique operation.
💻 Technical Criteria
Given A configured shipment mine segment request
When The system sets the database function code
Then The function code is set to 'GU' for Get Unique operation
R-GCCCBOL-cbl-00038 Call FWCWBIO to retrieve data
Action Rules
📊 Business Logic Narrative
When the process 'Call FWCWBIO to retrieve data' is invoked, and assuming that a fully configured shipment mine data request, when the system calls the fwcwbio database interface, the desired outcome is that the database retrieval operation is executed with the configured parameters.
💻 Technical Criteria
Given A fully configured shipment mine data request
When The system calls the FWCWBIO database interface
Then The database retrieval operation is executed with the configured parameters
R-GCCCBOL-cbl-00039 Data Retrieved Successfully?
Validation Rules
📊 Business Logic Narrative
When the process 'Data Retrieved Successfully?' is invoked, and assuming that a completed database retrieval operation, when the system checks the operation status, the desired outcome is that if the status code is spaces, the retrieval is considered successful, otherwise it failed.
💻 Technical Criteria
Given A completed database retrieval operation
When The system checks the operation status
Then If the status code is spaces, the retrieval is considered successful, otherwise it failed
R-GCCCBOL-cbl-00040 Set SHIPMINE-FOUND flag
Process Rules
📊 Business Logic Narrative
When the process 'Set SHIPMINE-FOUND flag' is invoked, and assuming that a successful shipment mine data retrieval, when the system updates the status flag, the desired outcome is that the ws-shipmine-found flag is set to true.
💻 Technical Criteria
Given A successful shipment mine data retrieval
When The system updates the status flag
Then The WS-SHIPMINE-FOUND flag is set to TRUE
R-GCCCBOL-cbl-00041 Extract EDI BOL key from data line 1
Process Rules
📊 Business Logic Narrative
When the process 'Extract EDI BOL key from data line 1' is invoked, and assuming that successfully retrieved shipment mine data, when the system processes the first data line, the desired outcome is that the edi bol key is extracted from data-line(1) and stored in work-edi-bol-key.
💻 Technical Criteria
Given Successfully retrieved shipment mine data
When The system processes the first data line
Then The EDI BOL key is extracted from DATA-LINE(1) and stored in WORK-EDI-BOL-KEY
R-GCCCBOL-cbl-00042 Set SHIPMINE-NOT-FOUND flag
Process Rules
📊 Business Logic Narrative
When the process 'Set SHIPMINE-NOT-FOUND flag' is invoked, and assuming that a failed shipment mine data retrieval, when the system updates the status flag, the desired outcome is that the ws-shipmine-not-found flag is set to true.
💻 Technical Criteria
Given A failed shipment mine data retrieval
When The system updates the status flag
Then The WS-SHIPMINE-NOT-FOUND flag is set to TRUE
R-GCCCBOL-cbl-00043 Extract EDI BOL key from data line 1
Process Rules
📊 Business Logic Narrative
When the process 'Extract EDI BOL key from data line 1' is invoked, and assuming that shipment mine data retrieval failed, when the system processes the edi bol key extraction, the desired outcome is that the work-edi-bol-key is set to spaces.
💻 Technical Criteria
Given Shipment mine data retrieval failed
When The system processes the EDI BOL key extraction
Then The WORK-EDI-BOL-KEY is set to spaces
R-GCCCBOL-cbl-00044 Set Shipmine Segment Number to 1
Process Rules
📊 Business Logic Narrative
When the process 'Set Shipmine Segment Number to 1' is invoked, and assuming that the system needs to extract edi bol key from shipment data, when the extraction process begins, the desired outcome is that the shipmine segment number is set to 1 to start from the first segment.
💻 Technical Criteria
Given The system needs to extract EDI BOL key from shipment data
When The extraction process begins
Then The shipmine segment number is set to 1 to start from the first segment
R-GCCCBOL-cbl-00045 Retrieve Shipmine Data
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Shipmine Data' is invoked, and assuming that the shipmine segment number is set, when the system attempts to retrieve shipmine data, the desired outcome is that the system calls the database access routine to get the shipmine segment data.
💻 Technical Criteria
Given The shipmine segment number is set
When The system attempts to retrieve shipmine data
Then The system calls the database access routine to get the shipmine segment data
R-GCCCBOL-cbl-00046 Extract BOL Key from First Data Line
Decision Rules
📊 Business Logic Narrative
When the process 'Extract BOL Key from First Data Line' is invoked, and assuming that shipmine data has been successfully retrieved from the database, when the system processes the retrieved shipmine segment, the desired outcome is that the edi bol key is extracted from the first data line and stored in the work area.
💻 Technical Criteria
Given Shipmine data has been successfully retrieved from the database
When The system processes the retrieved shipmine segment
Then The EDI BOL key is extracted from the first data line and stored in the work area
R-GCCCBOL-cbl-00047 Set BOL Key to Blank
Decision Rules
📊 Business Logic Narrative
When the process 'Set BOL Key to Blank' is invoked, and assuming that the system attempts to retrieve shipmine data, when no shipmine data is found in the database, the desired outcome is that the edi bol key is set to blank spaces.
💻 Technical Criteria
Given The system attempts to retrieve shipmine data
When No shipmine data is found in the database
Then The EDI BOL key is set to blank spaces
R-GCCCBOL-cbl-00049 Search EBSNRTD Segments
Action Rules
📊 Business Logic Narrative
When the process 'Search EBSNRTD Segments' is invoked, and assuming that an edi bol key exists for the shipment, when the system searches ebsnrtd segments for organization data, the desired outcome is that organization records with type 'tn' are retrieved sequentially for broker identification.
💻 Technical Criteria
Given An EDI BOL key exists for the shipment
When The system searches EBSNRTD segments for organization data
Then Organization records with type 'TN' are retrieved sequentially for broker identification
R-GCCCBOL-cbl-00050 Organization ID = 'XQ'?
Decision Rules
📊 Business Logic Narrative
When the process 'Organization ID = 'XQ'?' is invoked, and assuming that organization data is being processed from bol segments, when an organization record has custom id equal to 'xq', the desired outcome is that the organization name is set as the final broker name and search is completed.
💻 Technical Criteria
Given Organization data is being processed from BOL segments
When An organization record has custom ID equal to 'XQ'
Then The organization name is set as the final broker name and search is completed
R-GCCCBOL-cbl-00051 Organization ID = 'CB'?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Organization ID = 'CB'?', assuming that organization data is being processed from bol segments and no xq type broker has been found, when an organization record has id equal to 'cb' and custom id is not 'xr' or 'xu', the desired outcome is that the organization name is stored as temporary broker name for potential use.
💻 Technical Criteria
EXCLUDING Organization data is being processed from BOL segments and no XQ type broker has been found
When An organization record has ID equal to 'CB' and custom ID is not 'XR' or 'XU'
Then The organization name is stored as temporary broker name for potential use
R-GCCCBOL-cbl-00052 Get Broker from BOL
Decision Rules
📊 Business Logic Narrative
When the process 'Get Broker from BOL' is invoked, and assuming that all bol organization segments have been processed and a temporary cb broker exists, when no xq type broker was found during the search, the desired outcome is that the temporary cb broker name becomes the final broker name.
💻 Technical Criteria
Given All BOL organization segments have been processed and a temporary CB broker exists
When No XQ type broker was found during the search
Then The temporary CB broker name becomes the final broker name
R-GCCCBOL-cbl-00053 Search Special Handling Codes
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Search Special Handling Codes', assuming that no broker was found in bol data or bol key is not available, when the system searches fastway special handling codes, the desired outcome is that special handling records are examined for xq and cb type broker codes.
💻 Technical Criteria
EXCLUDING No broker was found in BOL data or BOL key is not available
When The system searches Fastway special handling codes
Then Special handling records are examined for XQ and CB type broker codes
R-GCCCBOL-cbl-00054 Code = 'XQ'?
Decision Rules
📊 Business Logic Narrative
When the process 'Code = 'XQ'?' is invoked, and assuming that fastway special handling codes are being processed, when a special handling code equals 'xq', the desired outcome is that the handling instruction is extracted as broker name and search is completed.
💻 Technical Criteria
Given Fastway special handling codes are being processed
When A special handling code equals 'XQ'
Then The handling instruction is extracted as broker name and search is completed
R-GCCCBOL-cbl-00055 Code = 'CB'?
Decision Rules
📊 Business Logic Narrative
When the process 'Code = 'CB'?' is invoked, and assuming that fastway special handling codes are being processed and no xq code has been found, when a special handling code equals 'cb', the desired outcome is that the handling instruction is stored as temporary broker name.
💻 Technical Criteria
Given Fastway special handling codes are being processed and no XQ code has been found
When A special handling code equals 'CB'
Then The handling instruction is stored as temporary broker name
R-GCCCBOL-cbl-00056 Set Broker Name to 'UNKNOWN'
Decision Rules
📊 Business Logic Narrative
When the process 'Set Broker Name to 'UNKNOWN'' is invoked, and assuming that no broker information was found in bol data or fastway special handling, when all broker search attempts have been exhausted, the desired outcome is that the broker name is set to 'unknown'.
💻 Technical Criteria
Given No broker information was found in BOL data or Fastway special handling
When All broker search attempts have been exhausted
Then The broker name is set to 'UNKNOWN'
R-GCCCBOL-cbl-00059 Starts with 'BROKER '?
Computation Rules
📊 Business Logic Narrative
When the process 'Starts with 'BROKER '?' is invoked, and assuming that a broker name starts with 'broker ' (7 characters), when the system parses the broker name, the desired outcome is that the actual broker name is extracted from position 8 onwards.
💻 Technical Criteria
Given A broker name starts with 'BROKER ' (7 characters)
When The system parses the broker name
Then The actual broker name is extracted from position 8 onwards
R-GCCCBOL-cbl-00060 Parse Broker Name
Computation Rules
📊 Business Logic Narrative
When the process 'Parse Broker Name' is invoked, and assuming that a broker name starts with 'broker: ' (8 characters), when the system parses the broker name, the desired outcome is that the actual broker name is extracted from position 9 onwards.
💻 Technical Criteria
Given A broker name starts with 'BROKER: ' (8 characters)
When The system parses the broker name
Then The actual broker name is extracted from position 9 onwards
R-GCCCBOL-cbl-00061 Starts with 'CB ' or 'XQ '?
Computation Rules
📊 Business Logic Narrative
When the process 'Starts with 'CB ' or 'XQ '?' is invoked, and assuming that a broker name starts with 'cb ' or 'xq ' (3 characters), when the system parses the broker name, the desired outcome is that the actual broker name is extracted from position 4 onwards.
💻 Technical Criteria
Given A broker name starts with 'CB ' or 'XQ ' (3 characters)
When The system parses the broker name
Then The actual broker name is extracted from position 4 onwards
R-GCCCBOL-cbl-00062 Parse Broker Name
Computation Rules
📊 Business Logic Narrative
When the process 'Parse Broker Name' is invoked, and assuming that a broker name starts with 'cb: ' or 'xq: ' (4 characters), when the system parses the broker name, the desired outcome is that the actual broker name is extracted from position 5 onwards.
💻 Technical Criteria
Given A broker name starts with 'CB: ' or 'XQ: ' (4 characters)
When The system parses the broker name
Then The actual broker name is extracted from position 5 onwards
R-GCCCBOL-cbl-00063 Use Full String as Name
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Full String as Name', assuming that a broker name does not start with any recognized prefixes, when the system parses the broker name, the desired outcome is that the entire string is used as the broker name without modification.
💻 Technical Criteria
EXCLUDING A broker name does not start with any recognized prefixes
When The system parses the broker name
Then The entire string is used as the broker name without modification
R-GCCCBOL-cbl-00064 Lookup Broker Short Name
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Broker Short Name' is invoked, and assuming that a broker long name has been identified and parsed, when the system looks up the broker name in gcst2rt table, the desired outcome is that the system searches for a corresponding short name translation.
💻 Technical Criteria
Given A broker long name has been identified and parsed
When The system looks up the broker name in GCST2RT table
Then The system searches for a corresponding short name translation
R-GCCCBOL-cbl-00065 Use Short Name from GCST2RT
Decision Rules
📊 Business Logic Narrative
When the process 'Use Short Name from GCST2RT' is invoked, and assuming that a broker short name translation exists in gcst2rt table, when the lookup operation finds a matching record, the desired outcome is that the short name from gcst2rt is used as the final broker name.
💻 Technical Criteria
Given A broker short name translation exists in GCST2RT table
When The lookup operation finds a matching record
Then The short name from GCST2RT is used as the final broker name
R-GCCCBOL-cbl-00066 Use Original Long Name
Decision Rules
📊 Business Logic Narrative
When the process 'Use Original Long Name' is invoked, and assuming that no broker short name translation exists in gcst2rt table, when the lookup operation finds no matching record, the desired outcome is that the original parsed long name is used as the final broker name.
💻 Technical Criteria
Given No broker short name translation exists in GCST2RT table
When The lookup operation finds no matching record
Then The original parsed long name is used as the final broker name
R-GCCCBOL-cbl-00310 Initialize Search Variables
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Search Variables' is invoked, and assuming that the system needs to search for broker information in fastway data, when the fastway broker search process begins, the desired outcome is that all search control flags are set to not found state and temporary broker name is cleared.
💻 Technical Criteria
Given The system needs to search for broker information in Fastway data
When The Fastway broker search process begins
Then All search control flags are set to not found state and temporary broker name is cleared
R-GCCCBOL-cbl-00312 Special Handling Code = 'XQ'?
Decision Rules
📊 Business Logic Narrative
When the process 'Special Handling Code = 'XQ'?' is invoked, and assuming that a special handling code entry is being evaluated for broker information, when the special handling code equals 'xq', the desired outcome is that the system recognizes this as the highest priority broker type and processes the xq broker instruction.
💻 Technical Criteria
Given A special handling code entry is being evaluated for broker information
When The special handling code equals 'XQ'
Then The system recognizes this as the highest priority broker type and processes the XQ broker instruction
R-GCCCBOL-cbl-00314 Special Handling Code = 'CB'?
Decision Rules
📊 Business Logic Narrative
When the process 'Special Handling Code = 'CB'?' is invoked, and assuming that a special handling code entry is being evaluated and no xq broker has been found, when the special handling code equals 'cb', the desired outcome is that the system recognizes this as a secondary priority broker type.
💻 Technical Criteria
Given A special handling code entry is being evaluated and no XQ broker has been found
When The special handling code equals 'CB'
Then The system recognizes this as a secondary priority broker type
R-GCCCBOL-cbl-00316 Set CB as Temporary Broker
Action Rules
📊 Business Logic Narrative
When the process 'Set CB as Temporary Broker' is invoked, and assuming that a cb type special handling code is found and no xq broker has been identified and no temporary cb broker exists, when the cb special handling instruction is processed, the desired outcome is that the broker name is stored as temporary broker and the temporary cb found flag is set to true.
💻 Technical Criteria
Given A CB type special handling code is found and no XQ broker has been identified and no temporary CB broker exists
When The CB special handling instruction is processed
Then The broker name is stored as temporary broker and the temporary CB found flag is set to true
R-GCCCBOL-cbl-00319 Use Temporary CB Broker Name
Action Rules
📊 Business Logic Narrative
When the process 'Use Temporary CB Broker Name' is invoked, and assuming that a temporary cb broker was found and no xq broker exists, when the final broker selection is made, the desired outcome is that the temporary broker name is moved to the special handling instruction field for final parsing.
💻 Technical Criteria
Given A temporary CB broker was found and no XQ broker exists
When The final broker selection is made
Then The temporary broker name is moved to the special handling instruction field for final parsing
R-GCCCBOL-cbl-00067 EDI BOL Key Available?
Validation Rules
📊 Business Logic Narrative
When the process 'EDI BOL Key Available?' is invoked, and assuming that the system is processing broker information retrieval, when the edi bol key is checked for availability, the desired outcome is that if edi bol key is spaces, set indicators to not found and exit, otherwise proceed with broker search.
💻 Technical Criteria
Given The system is processing broker information retrieval
When The EDI BOL key is checked for availability
Then If EDI BOL key is spaces, set indicators to not found and exit, otherwise proceed with broker search
R-GCCCBOL-cbl-00074 Special handling code = 'XQ'?
Decision Rules
📊 Business Logic Narrative
When the process 'Special handling code = 'XQ'?' is invoked, and assuming that a special handling code position contains data, when the special handling code equals 'xq', the desired outcome is that extract the broker name from the handling instruction and set xq broker found flag to true.
💻 Technical Criteria
Given A special handling code position contains data
When The special handling code equals 'XQ'
Then Extract the broker name from the handling instruction and set XQ broker found flag to true
R-GCCCBOL-cbl-00076 Special handling code = 'CB' and no temp broker found?
Decision Rules
📊 Business Logic Narrative
When the process 'Special handling code = 'CB' and no temp broker found?' is invoked, and assuming that a special handling code position contains data and no temporary cb broker has been found, when the special handling code equals 'cb', the desired outcome is that store the handling instruction as temporary broker name and set temporary cb found flag to true.
💻 Technical Criteria
Given A special handling code position contains data and no temporary CB broker has been found
When The special handling code equals 'CB'
Then Store the handling instruction as temporary broker name and set temporary CB found flag to true
R-GCCCBOL-cbl-00077 Store CB instruction as temporary broker name
Action Rules
📊 Business Logic Narrative
When the process 'Store CB instruction as temporary broker name' is invoked, and assuming that special handling code is 'cb' type and no temporary broker found yet, when processing the cb handling instruction, the desired outcome is that move the handling instruction to temporary broker name field and set temporary cb found flag to true.
💻 Technical Criteria
Given Special handling code is 'CB' type and no temporary broker found yet
When Processing the CB handling instruction
Then Move the handling instruction to temporary broker name field and set temporary CB found flag to true
R-GCCCBOL-cbl-00088 Broker Long Name Available?
Validation Rules
📊 Business Logic Narrative
When the process 'Broker Long Name Available?' is invoked, and assuming that the system has processed broker information from edi bol or fastway sources, when the broker long name field is evaluated for availability, the desired outcome is that the system proceeds to standardization lookup only if broker long name is not spaces.
💻 Technical Criteria
Given The system has processed broker information from EDI BOL or Fastway sources
When The broker long name field is evaluated for availability
Then The system proceeds to standardization lookup only if broker long name is not spaces
R-GCCCBOL-cbl-00089 Query GCST2RT Table
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Query GCST2RT Table', assuming that a valid broker long name exists and is not spaces, when the system queries the gcst2rt table using the broker long name as the search key, the desired outcome is that the system retrieves the corresponding broker record from gcst2rt table.
💻 Technical Criteria
EXCLUDING A valid broker long name exists and is not spaces
When The system queries the GCST2RT table using the broker long name as the search key
Then The system retrieves the corresponding broker record from GCST2RT table
R-GCCCBOL-cbl-00090 Broker Found in GCST2RT?
Decision Rules
📊 Business Logic Narrative
When the process 'Broker Found in GCST2RT?' is invoked, and assuming that the system has performed a lookup in gcst2rt table using broker long name, when the lookup result indicates whether a matching broker record was found in gcst2rt, the desired outcome is that if broker is found in gcst2rt, use the standardized short name from gct2-broker-name-short field, otherwise use the original broker long name.
💻 Technical Criteria
Given The system has performed a lookup in GCST2RT table using broker long name
When The lookup result indicates whether a matching broker record was found in GCST2RT
Then If broker is found in GCST2RT, use the standardized short name from GCT2-BROKER-NAME-SHORT field, otherwise use the original broker long name
R-GCCCBOL-cbl-00093 Extract BM Reference Number from BOL
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Extract BM Reference Number from BOL', assuming that bol reference data is found and reference qualifier equals 'bm' and bm reference has not been found yet, when processing bol reference records, the desired outcome is that set reference qualifier to 'bm', copy reference number to array (or 'n/a' if blank), set bm found flag to true, and increment array index by 1.
💻 Technical Criteria
EXCLUDING BOL reference data is found and reference qualifier equals 'BM' and BM reference has not been found yet
When Processing BOL reference records
Then Set reference qualifier to 'BM', copy reference number to array (or 'N/A' if blank), set BM found flag to true, and increment array index by 1
R-GCCCBOL-cbl-00094 Extract SI Reference Number from BOL
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Extract SI Reference Number from BOL', assuming that bol reference data is found and reference qualifier equals 'si' and si reference has not been found yet, when processing bol reference records, the desired outcome is that set reference qualifier to 'si', copy reference number to array (or 'n/a' if blank), set si found flag to true, and increment array index by 1.
💻 Technical Criteria
EXCLUDING BOL reference data is found and reference qualifier equals 'SI' and SI reference has not been found yet
When Processing BOL reference records
Then Set reference qualifier to 'SI', copy reference number to array (or 'N/A' if blank), set SI found flag to true, and increment array index by 1
R-GCCCBOL-cbl-00096 Extract Shipment ID Number from BOL
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Extract Shipment ID Number from BOL', assuming that bol basic data is found and shipment id number is not blank, when processing bol basic data after payment method extraction, the desired outcome is that increment array index by 1, set reference qualifier to 'cn', and copy shipment id number to reference array.
💻 Technical Criteria
EXCLUDING BOL basic data is found and shipment ID number is not blank
When Processing BOL basic data after payment method extraction
Then Increment array index by 1, set reference qualifier to 'CN', and copy shipment ID number to reference array
R-GCCCBOL-cbl-00098 Extract SI Reference from Fastway
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Extract SI Reference from Fastway', assuming that si reference was not found in bol data and special handling code equals 'si' and si has not been found yet and array index is within limit, when processing fastway special handling data from positions 1 to 7, the desired outcome is that set si found flag to true, copy special handling code to reference qualifier, copy special handling instruction to reference number, increment array index by 1, and set blank n9 not found flag if array exceeds limit.
💻 Technical Criteria
EXCLUDING SI reference was not found in BOL data and special handling code equals 'SI' and SI has not been found yet and array index is within limit
When Processing Fastway special handling data from positions 1 to 7
Then Set SI found flag to true, copy special handling code to reference qualifier, copy special handling instruction to reference number, increment array index by 1, and set blank N9 not found flag if array exceeds limit
R-GCCCBOL-cbl-00321 Initialize N9 Processing Variables
Process Rules
📊 Business Logic Narrative
When the process 'Initialize N9 Processing Variables' is invoked, and assuming that the system needs to process n9 reference numbers from bol data, when the n9 processing begins, the desired outcome is that the system initializes sequence counter to 0, n9 array index to 1, sets ebsbccr found flag to true, and sets bm and si not found flags to true, and sets blank n9 not found flag to true.
💻 Technical Criteria
Given The system needs to process N9 reference numbers from BOL data
When The N9 processing begins
Then The system initializes sequence counter to 0, N9 array index to 1, sets EBSBCCR found flag to true, and sets BM and SI not found flags to true, and sets blank N9 not found flag to true
R-GCCCBOL-cbl-00323 Get First EBSBCCR Segment
Action Rules
📊 Business Logic Narrative
When the process 'Get First EBSBCCR Segment' is invoked, and assuming that a valid edi bol key exists for reference data retrieval, when the system retrieves ebsbccr segments with type cr, the desired outcome is that the system increments the sequence counter and attempts to get the next ebsbccr segment, setting the found flag based on retrieval success.
💻 Technical Criteria
Given A valid EDI BOL key exists for reference data retrieval
When The system retrieves EBSBCCR segments with type CR
Then The system increments the sequence counter and attempts to get the next EBSBCCR segment, setting the found flag based on retrieval success
R-GCCCBOL-cbl-00324 Reference Qualifier = BM or SI?
Decision Rules
📊 Business Logic Narrative
When the process 'Reference Qualifier = BM or SI?' is invoked, and assuming that an ebsbccr segment has been successfully retrieved, when the system checks the reference number qualifier, the desired outcome is that the system continues processing only if the qualifier equals 'bm ' or 'si ', otherwise it retrieves the next segment.
💻 Technical Criteria
Given An EBSBCCR segment has been successfully retrieved
When The system checks the reference number qualifier
Then The system continues processing only if the qualifier equals 'BM ' or 'SI ', otherwise it retrieves the next segment
R-GCCCBOL-cbl-00326 Store BM Reference Number
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Store BM Reference Number', assuming that a reference with qualifier 'bm ' has been found and bm reference has not been previously stored, when the system processes the bm reference, the desired outcome is that the system stores 'bm' as the reference qualifier and the reference number in the current n9 array position, sets bm found flag to true, and increments the array index.
💻 Technical Criteria
EXCLUDING A reference with qualifier 'BM ' has been found and BM reference has not been previously stored
When The system processes the BM reference
Then The system stores 'BM' as the reference qualifier and the reference number in the current N9 array position, sets BM found flag to true, and increments the array index
R-GCCCBOL-cbl-00327 Store SI Reference Number
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Store SI Reference Number', assuming that a reference with qualifier 'si ' has been found and si reference has not been previously stored, when the system processes the si reference, the desired outcome is that the system stores 'si' as the reference qualifier and the reference number in the current n9 array position, sets si found flag to true, and increments the array index.
💻 Technical Criteria
EXCLUDING A reference with qualifier 'SI ' has been found and SI reference has not been previously stored
When The system processes the SI reference
Then The system stores 'SI' as the reference qualifier and the reference number in the current N9 array position, sets SI found flag to true, and increments the array index
R-GCCCBOL-cbl-00426 Call 8430-GET-EBSBCBC to retrieve BOL data
Action Rules
📊 Business Logic Narrative
When the process 'Call 8430-GET-EBSBCBC to retrieve BOL data' is invoked, and assuming that a shipment requires payment method information, when the system calls the bol data retrieval service, the desired outcome is that the ebsbcbc segment data is retrieved from the bol system.
💻 Technical Criteria
Given A shipment requires payment method information
When The system calls the BOL data retrieval service
Then The EBSBCBC segment data is retrieved from the BOL system
R-GCCCBOL-cbl-00427 EBSBCBC segment found?
Validation Rules
📊 Business Logic Narrative
When the process 'EBSBCBC segment found?' is invoked, and assuming that bol data retrieval has been attempted, when the system checks if ebsbcbc segment was found, the desired outcome is that processing continues only if the bol segment exists, otherwise payment method processing is skipped.
💻 Technical Criteria
Given BOL data retrieval has been attempted
When The system checks if EBSBCBC segment was found
Then Processing continues only if the BOL segment exists, otherwise payment method processing is skipped
R-GCCCBOL-cbl-00331 BM Reference Number Missing?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'BM Reference Number Missing?', assuming that bm reference number was not found in edi bol data and shipper bill number exists in fastway data, when the system processes n9 reference numbers from fastway source, the desired outcome is that extract bm reference from shipper bill number and set bm found flag to true and increment reference array index.
💻 Technical Criteria
EXCLUDING BM reference number was not found in EDI BOL data AND shipper bill number exists in Fastway data
When the system processes N9 reference numbers from Fastway source
Then extract BM reference from shipper bill number AND set BM found flag to true AND increment reference array index
R-GCCCBOL-cbl-00332 Special Handling Code = 'SI' AND SI Not Found?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Special Handling Code = 'SI' AND SI Not Found?', assuming that special handling code equals 'si' and si reference number has not been found yet and reference array is not full, when the system processes special handling codes from fastway data, the desired outcome is that extract si reference from special handling instruction and set si found flag to true and increment reference array index.
💻 Technical Criteria
EXCLUDING special handling code equals 'SI' AND SI reference number has not been found yet AND reference array is not full
When the system processes special handling codes from Fastway data
Then extract SI reference from special handling instruction AND set SI found flag to true AND increment reference array index
R-GCCCBOL-cbl-00333 Reference Number Array Full?
Validation Rules
📊 Business Logic Narrative
When the process 'Reference Number Array Full?' is invoked, and assuming that reference number array index exceeds 10, when the system attempts to add another reference number, the desired outcome is that set blank n9 not found flag to true and stop processing additional references.
💻 Technical Criteria
Given reference number array index exceeds 10
When the system attempts to add another reference number
Then set blank N9 not found flag to true AND stop processing additional references
R-GCCCBOL-cbl-00105 Get EBSBCBC Segment
Process Rules
📊 Business Logic Narrative
When the process 'Get EBSBCBC Segment' is invoked, and assuming that bm or si reference numbers have been processed from ebsbccr segments, when the system attempts to retrieve the ebsbcbc segment, the desired outcome is that the system should read the ebsbcbc segment to extract payment method and shipment identification information.
💻 Technical Criteria
Given BM or SI reference numbers have been processed from EBSBCCR segments
When The system attempts to retrieve the EBSBCBC segment
Then The system should read the EBSBCBC segment to extract payment method and shipment identification information
R-GCCCBOL-cbl-00110 Reference Position Limit Reached
Validation Rules
📊 Business Logic Narrative
When the process 'Reference Position Limit Reached' is invoked, and assuming that the system is processing reference numbers from fastway data, when the reference position counter exceeds 10, the desired outcome is that the system sets the blank reference indicator to not found and stops processing additional references.
💻 Technical Criteria
Given the system is processing reference numbers from Fastway data
When the reference position counter exceeds 10
Then the system sets the blank reference indicator to not found and stops processing additional references
R-GCCCBOL-cbl-00111 Loop Through Special Handling Data
Process Rules
📊 Business Logic Narrative
When the process 'Loop Through Special Handling Data' is invoked, and assuming that there are special handling records available and si reference is still missing, when the system loops through special handling data, the desired outcome is that the system processes each record from position 1 to 7 until either si is found, reference limit is reached, or all records are processed.
💻 Technical Criteria
Given there are special handling records available and SI reference is still missing
When the system loops through special handling data
Then the system processes each record from position 1 to 7 until either SI is found, reference limit is reached, or all records are processed
R-GCCCBOL-cbl-00113 EBSBCBC segment found?
Validation Rules
📊 Business Logic Narrative
When the process 'EBSBCBC segment found?' is invoked, and assuming that a request to extract payment method from bol data, when the system attempts to retrieve the ebsbcbc bol segment, the desired outcome is that the system proceeds with payment method extraction only if the bol segment is successfully found.
💻 Technical Criteria
Given A request to extract payment method from BOL data
When The system attempts to retrieve the EBSBCBC BOL segment
Then The system proceeds with payment method extraction only if the BOL segment is successfully found
R-GCCCBOL-cbl-00116 Get EBSBCBC Segment from BOL
Action Rules
📊 Business Logic Narrative
When the process 'Get EBSBCBC Segment from BOL' is invoked, and assuming that a bol record exists with shipment data segment ebsbcbc, when the system processes the bol data for shipment identification, the desired outcome is that the system should retrieve the ebsbcbc segment containing shipment id information.
💻 Technical Criteria
Given A BOL record exists with shipment data segment EBSBCBC
When The system processes the BOL data for shipment identification
Then The system should retrieve the EBSBCBC segment containing shipment ID information
R-GCCCBOL-cbl-00117 EBSBCBC Segment Found?
Validation Rules
📊 Business Logic Narrative
When the process 'EBSBCBC Segment Found?' is invoked, and assuming that the system has attempted to retrieve ebsbcbc segment from bol data, when the system checks if the ebsbcbc segment was successfully found, the desired outcome is that the system should continue processing if segment is found, otherwise terminate the shipment id extraction process.
💻 Technical Criteria
Given The system has attempted to retrieve EBSBCBC segment from BOL data
When The system checks if the EBSBCBC segment was successfully found
Then The system should continue processing if segment is found, otherwise terminate the shipment ID extraction process
R-GCCCBOL-cbl-00118 Shipment ID Number Available?
Validation Rules
📊 Business Logic Narrative
When the process 'Shipment ID Number Available?' is invoked, and assuming that the ebsbcbc segment has been successfully retrieved from bol data, when the system checks the b2-shipment-id-no field for valid content, the desired outcome is that the system should proceed with reference number creation if shipment id is not spaces, otherwise skip the shipment id processing.
💻 Technical Criteria
Given The EBSBCBC segment has been successfully retrieved from BOL data
When The system checks the B2-SHIPMENT-ID-NO field for valid content
Then The system should proceed with reference number creation if shipment ID is not spaces, otherwise skip the shipment ID processing
R-GCCCBOL-cbl-00119 Increment Reference Number Counter
Process Rules
📊 Business Logic Narrative
When the process 'Increment Reference Number Counter' is invoked, and assuming that the shipment id number is valid and available in the ebsbcbc segment, when the system prepares to add the shipment id as a reference number, the desired outcome is that the system should increment the reference number counter by 1 to point to the next available array position.
💻 Technical Criteria
Given The shipment ID number is valid and available in the EBSBCBC segment
When The system prepares to add the shipment ID as a reference number
Then The system should increment the reference number counter by 1 to point to the next available array position
R-GCCCBOL-cbl-00122 Initialize Counter I = 1
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Counter I = 1' is invoked, and assuming that a reference number processing operation is initiated, when the system begins processing reference number fields, the desired outcome is that the counter is set to 1 to start processing from the first reference number field.
💻 Technical Criteria
Given A reference number processing operation is initiated
When The system begins processing reference number fields
Then The counter is set to 1 to start processing from the first reference number field
R-GCCCBOL-cbl-00125 Move Reference Number to Work Table
Process Rules
📊 Business Logic Narrative
When the process 'Move Reference Number to Work Table' is invoked, and assuming that a reference number field requires compression processing, when the field contains leading spaces that need to be removed, the desired outcome is that the entire reference number content is copied to a work table for manipulation.
💻 Technical Criteria
Given A reference number field requires compression processing
When The field contains leading spaces that need to be removed
Then The entire reference number content is copied to a work table for manipulation
R-GCCCBOL-cbl-00127 Position J <= 30?
Validation Rules
📊 Business Logic Narrative
When the process 'Position J <= 30?' is invoked, and assuming that the system is scanning characters in a reference number field, when each character position is being evaluated, the desired outcome is that scanning continues only if the current position is 30 or less, otherwise scanning stops.
💻 Technical Criteria
Given The system is scanning characters in a reference number field
When Each character position is being evaluated
Then Scanning continues only if the current position is 30 or less, otherwise scanning stops
R-GCCCBOL-cbl-00130 Position K <= 30?
Validation Rules
📊 Business Logic Narrative
When the process 'Position K <= 30?' is invoked, and assuming that meaningful characters are being copied from work area to compressed field, when each source position is being processed, the desired outcome is that copying continues only if the source position is 30 or less, otherwise copying stops.
💻 Technical Criteria
Given Meaningful characters are being copied from work area to compressed field
When Each source position is being processed
Then Copying continues only if the source position is 30 or less, otherwise copying stops
R-GCCCBOL-cbl-00131 Copy Non-Space Character to Compressed Position
Process Rules
📊 Business Logic Narrative
When the process 'Copy Non-Space Character to Compressed Position' is invoked, and assuming that a meaningful character has been identified in the work area, when the character needs to be placed in the compressed reference number, the desired outcome is that the character is copied to the current position in the compressed field.
💻 Technical Criteria
Given A meaningful character has been identified in the work area
When The character needs to be placed in the compressed reference number
Then The character is copied to the current position in the compressed field
R-GCCCBOL-cbl-00135 Get EBSBCCX segment from BOL
Action Rules
📊 Business Logic Narrative
When the process 'Get EBSBCCX segment from BOL' is invoked, and assuming that the system has a valid edi bol key and segment counter, when retrieving ebsbccx segments with type 'sn', the desired outcome is that the system attempts to get the ebsbccx segment and sets found/not found status.
💻 Technical Criteria
Given The system has a valid EDI BOL key and segment counter
When Retrieving EBSBCCX segments with type 'SN'
Then The system attempts to get the EBSBCCX segment and sets found/not found status
R-GCCCBOL-cbl-00151 EBSBCCX Segment Found?
Validation Rules
📊 Business Logic Narrative
When the process 'EBSBCCX Segment Found?' is invoked, and assuming that the system attempts to retrieve ebsbccx segment with type 'rf', when ebsbccx segment retrieval is executed or sequence reaches 99, the desired outcome is that if ebsbccx segment is not found or sequence equals 99, terminate processing, otherwise continue with ebsbccy processing.
💻 Technical Criteria
Given The system attempts to retrieve EBSBCCX segment with type 'RF'
When EBSBCCX segment retrieval is executed or sequence reaches 99
Then If EBSBCCX segment is not found or sequence equals 99, terminate processing, otherwise continue with EBSBCCY processing
R-GCCCBOL-cbl-00152 Initialize EBSBCCY Processing
Process Rules
📊 Business Logic Narrative
When the process 'Initialize EBSBCCY Processing' is invoked, and assuming that valid ebsbccx segment with type 'rf' is found, when ebsbccy processing begins, the desired outcome is that the system clears ebsbccy indicator and segment data, sets type to 'cr' and initializes sequence to 0.
💻 Technical Criteria
Given Valid EBSBCCX segment with type 'RF' is found
When EBSBCCY processing begins
Then The system clears EBSBCCY indicator and segment data, sets type to 'CR' and initializes sequence to 0
R-GCCCBOL-cbl-00153 Search for EBSBCCY Segment
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Search for EBSBCCY Segment', assuming that ebsbccy processing is initialized with type 'cr', when the system searches for ebsbccy segments until sequence reaches 99 or segment is not found or xc qualifier is found, the desired outcome is that the system increments sequence and retrieves ebsbccy segment until termination condition is met.
💻 Technical Criteria
EXCLUDING EBSBCCY processing is initialized with type 'CR'
When The system searches for EBSBCCY segments until sequence reaches 99 or segment is not found or XC qualifier is found
Then The system increments sequence and retrieves EBSBCCY segment until termination condition is met
R-GCCCBOL-cbl-00337 Get EBSBCCX RF Segment
Action Rules
📊 Business Logic Narrative
When the process 'Get EBSBCCX RF Segment' is invoked, and assuming that rf type is set and sequence counter is positioned, when retrieving ebsbccx segment with rf type, the desired outcome is that the system fetches the corresponding rf segment from ebsbccx.
💻 Technical Criteria
Given RF type is set and sequence counter is positioned
When Retrieving EBSBCCX segment with RF type
Then The system fetches the corresponding RF segment from EBSBCCX
R-GCCCBOL-cbl-00338 EBSBCCX Found?
Validation Rules
📊 Business Logic Narrative
When the process 'EBSBCCX Found?' is invoked, and assuming that an attempt to retrieve ebsbccx rf segment has been made, when checking the retrieval result, the desired outcome is that the system determines if the ebsbccx segment was found or not found.
💻 Technical Criteria
Given An attempt to retrieve EBSBCCX RF segment has been made
When Checking the retrieval result
Then The system determines if the EBSBCCX segment was found or not found
R-GCCCBOL-cbl-00339 Reached Max Segments?
Validation Rules
📊 Business Logic Narrative
When the process 'Reached Max Segments?' is invoked, and assuming that ebsbccx segment processing is in progress, when the sequence counter equals 99, the desired outcome is that the system sets ebsbccx not found indicator to terminate processing.
💻 Technical Criteria
Given EBSBCCX segment processing is in progress
When The sequence counter equals 99
Then The system sets EBSBCCX not found indicator to terminate processing
R-GCCCBOL-cbl-00340 Initialize EBSBCCY Search
Process Rules
📊 Business Logic Narrative
When the process 'Initialize EBSBCCY Search' is invoked, and assuming that a valid ebsbccx rf segment has been found, when preparing to search for related ebsbccy segments, the desired outcome is that the system clears ebsbccy indicators and resets sequence counter to 0.
💻 Technical Criteria
Given A valid EBSBCCX RF segment has been found
When Preparing to search for related EBSBCCY segments
Then The system clears EBSBCCY indicators and resets sequence counter to 0
R-GCCCBOL-cbl-00342 Get EBSBCCY Segment
Process Rules
📊 Business Logic Narrative
When the process 'Get EBSBCCY Segment' is invoked, and assuming that cr type is set and sequence counter is incremented, when searching for ebsbccy segments with xc qualifier and sequence is less than 99, the desired outcome is that the system retrieves ebsbccy segments until xc qualifier is found or search limit is reached.
💻 Technical Criteria
Given CR type is set and sequence counter is incremented
When Searching for EBSBCCY segments with XC qualifier and sequence is less than 99
Then The system retrieves EBSBCCY segments until XC qualifier is found or search limit is reached
R-GCCCBOL-cbl-00343 EBSBCCY Found?
Validation Rules
📊 Business Logic Narrative
When the process 'EBSBCCY Found?' is invoked, and assuming that an attempt to retrieve ebsbccy segment has been made, when checking the retrieval result, the desired outcome is that the system determines if the ebsbccy segment was found or not found.
💻 Technical Criteria
Given An attempt to retrieve EBSBCCY segment has been made
When Checking the retrieval result
Then The system determines if the EBSBCCY segment was found or not found
R-GCCCBOL-cbl-00348 Increment CX Counter
Process Rules
📊 Business Logic Narrative
When the process 'Increment CX Counter' is invoked, and assuming that current ebsbccx segment processing is complete, when moving to the next segment, the desired outcome is that the system increments the cx counter by 1 to process the next ebsbccx rf segment.
💻 Technical Criteria
Given Current EBSBCCX segment processing is complete
When Moving to the next segment
Then The system increments the CX counter by 1 to process the next EBSBCCX RF segment
R-GCCCBOL-cbl-00157 Initialize EBSBCCX and EBSBCCY indicators
Process Rules
📊 Business Logic Narrative
When the process 'Initialize EBSBCCX and EBSBCCY indicators' is invoked, and assuming that multi-bill n10 processing is starting, when the system begins processing multi-bill n10 data, the desired outcome is that ebsbccx and ebsbccy processing indicators are cleared to spaces.
💻 Technical Criteria
Given Multi-bill N10 processing is starting
When The system begins processing multi-bill N10 data
Then EBSBCCX and EBSBCCY processing indicators are cleared to spaces
R-GCCCBOL-cbl-00350 Get EBSBCCY Segment
Action Rules
📊 Business Logic Narrative
When the process 'Get EBSBCCY Segment' is invoked, and assuming that the segment type is set to 'qd' and sequence is set to 1, when the system performs segment retrieval, the desired outcome is that the system calls the segment retrieval function to get the ebsbccy segment data.
💻 Technical Criteria
Given The segment type is set to 'QD' and sequence is set to 1
When The system performs segment retrieval
Then The system calls the segment retrieval function to get the EBSBCCY segment data
R-GCCCBOL-cbl-00351 Segment Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Segment Found?' is invoked, and assuming that a qd segment retrieval has been attempted, when the system checks the retrieval result, the desired outcome is that if the segment is found, continue with quantity processing; otherwise, terminate the extraction process.
💻 Technical Criteria
Given A QD segment retrieval has been attempted
When The system checks the retrieval result
Then If the segment is found, continue with quantity processing; otherwise, terminate the extraction process
R-GCCCBOL-cbl-00352 Extract Numeric Characters from Quantity Field
Computation Rules
📊 Business Logic Narrative
When the process 'Extract Numeric Characters from Quantity Field' is invoked, and assuming that a qd segment with quantity data is available, when the system processes the quantity field cy-n10-quantity, the desired outcome is that the system extracts numeric characters from position 7 down to position 1, building the quantity string from right to left.
💻 Technical Criteria
Given A QD segment with quantity data is available
When The system processes the quantity field CY-N10-QUANTITY
Then The system extracts numeric characters from position 7 down to position 1, building the quantity string from right to left
R-GCCCBOL-cbl-00355 Move Country Code to Origin Country
Process Rules
📊 Business Logic Narrative
When the process 'Move Country Code to Origin Country' is invoked, and assuming that a qd segment contains country code information, when the system processes country data, the desired outcome is that the system moves cy-n10-country-code to gccc-orig-country field.
💻 Technical Criteria
Given A QD segment contains country code information
When The system processes country data
Then The system moves CY-N10-COUNTRY-CODE to GCCC-ORIG-COUNTRY field
R-GCCCBOL-cbl-00357 Store Description in Array
Process Rules
📊 Business Logic Narrative
When the process 'Store Description in Array' is invoked, and assuming that a valid description exists in the first qd segment, when the system processes the description data, the desired outcome is that the system moves cy-n10-description to ws-desc-eb array at the current index position.
💻 Technical Criteria
Given A valid description exists in the first QD segment
When The system processes the description data
Then The system moves CY-N10-DESCRIPTION to WS-DESC-EB array at the current index position
R-GCCCBOL-cbl-00358 Increment Description Index
Process Rules
📊 Business Logic Narrative
When the process 'Increment Description Index' is invoked, and assuming that a description has been stored in the description array, when the system updates the array pointer, the desired outcome is that the system increments ws-indexeb by 1 to point to the next available array position.
💻 Technical Criteria
Given A description has been stored in the description array
When The system updates the array pointer
Then The system increments WS-INDEXEB by 1 to point to the next available array position
R-GCCCBOL-cbl-00360 Get Second EBSBCCY Segment
Action Rules
📊 Business Logic Narrative
When the process 'Get Second EBSBCCY Segment' is invoked, and assuming that the segment type is set to 'qd' and sequence is set to 2, when the system performs the second segment retrieval, the desired outcome is that the system calls the segment retrieval function to get the second ebsbccy segment data.
💻 Technical Criteria
Given The segment type is set to 'QD' and sequence is set to 2
When The system performs the second segment retrieval
Then The system calls the segment retrieval function to get the second EBSBCCY segment data
R-GCCCBOL-cbl-00361 Second Segment Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Second Segment Found?' is invoked, and assuming that a second qd segment retrieval has been attempted, when the system checks the second retrieval result, the desired outcome is that if the second segment is found, proceed with description validation; otherwise, terminate the extraction process.
💻 Technical Criteria
Given A second QD segment retrieval has been attempted
When The system checks the second retrieval result
Then If the second segment is found, proceed with description validation; otherwise, terminate the extraction process
R-GCCCBOL-cbl-00363 Store Second Description in Array
Process Rules
📊 Business Logic Narrative
When the process 'Store Second Description in Array' is invoked, and assuming that a valid description exists in the second qd segment, when the system processes the second description data, the desired outcome is that the system moves cy-n10-description to ws-desc-eb array at the current index position.
💻 Technical Criteria
Given A valid description exists in the second QD segment
When The system processes the second description data
Then The system moves CY-N10-DESCRIPTION to WS-DESC-EB array at the current index position
R-GCCCBOL-cbl-00364 Increment Description Index
Process Rules
📊 Business Logic Narrative
When the process 'Increment Description Index' is invoked, and assuming that the second description has been stored in the description array, when the system finalizes the array update, the desired outcome is that the system increments ws-indexeb by 1 to point to the next available array position.
💻 Technical Criteria
Given The second description has been stored in the description array
When The system finalizes the array update
Then The system increments WS-INDEXEB by 1 to point to the next available array position
R-GCCCBOL-cbl-00434 Extract Numeric Characters from Quantity Field - Process quantity field character by character to build numeric string with right-to-left positioning
Computation Rules
📊 Business Logic Narrative
When the process 'Extract Numeric Characters from Quantity Field - Process quantity field character by character to build numeric string with right-to-left positioning' is invoked, and assuming that a quantity field cy-n10-quantity with 7 character positions that may contain mixed alphanumeric data, when the system processes the quantity field for multi-bill shipment data extraction, the desired outcome is that the system should iterate through positions 7 down to 1, extract only numeric characters, place them in corresponding positions in a work field, replace leading spaces with zeros, and move the final cleaned quantity to the output field gccc-lading-quantity.
💻 Technical Criteria
Given A quantity field CY-N10-QUANTITY with 7 character positions that may contain mixed alphanumeric data
When The system processes the quantity field for multi-bill shipment data extraction
Then The system should iterate through positions 7 down to 1, extract only numeric characters, place them in corresponding positions in a work field, replace leading spaces with zeros, and move the final cleaned quantity to the output field GCCC-LADING-QUANTITY
R-GCCCBOL-cbl-00435 Set Index to Position 7
Process Rules
📊 Business Logic Narrative
When the process 'Set Index to Position 7' is invoked, and assuming that a quantity extraction process is starting, when the system begins to process the quantity field, the desired outcome is that the system should set the index ws-index to position 7 and initialize the quantity work field ws-quantity to spaces.
💻 Technical Criteria
Given A quantity extraction process is starting
When The system begins to process the quantity field
Then The system should set the index WS-INDEX to position 7 and initialize the quantity work field WS-QUANTITY to spaces
R-GCCCBOL-cbl-00436 Is Character at Current Position Numeric?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Character at Current Position Numeric?' is invoked, and assuming that a character at a specific position in the cy-n10-quantity field, when the system evaluates the character during quantity processing, the desired outcome is that the system should check if the character at ws-data-idx position is numeric and only process numeric characters for inclusion in the final quantity.
💻 Technical Criteria
Given A character at a specific position in the CY-N10-QUANTITY field
When The system evaluates the character during quantity processing
Then The system should check if the character at WS-DATA-IDX position is numeric and only process numeric characters for inclusion in the final quantity
R-GCCCBOL-cbl-00437 Move Character to Work Field at Index Position
Computation Rules
📊 Business Logic Narrative
When the process 'Move Character to Work Field at Index Position' is invoked, and assuming that a numeric character found at the current position in cy-n10-quantity, when the character passes numeric validation, the desired outcome is that the system should move the numeric character to the ws-quantity work field at the current ws-index position and decrement the index by 1.
💻 Technical Criteria
Given A numeric character found at the current position in CY-N10-QUANTITY
When The character passes numeric validation
Then The system should move the numeric character to the WS-QUANTITY work field at the current WS-INDEX position and decrement the index by 1
R-GCCCBOL-cbl-00173 Extract Special Instructions from Fastway
Process Rules
📊 Business Logic Narrative
When the process 'Extract Special Instructions from Fastway' is invoked, and assuming that special handling codes exist in fastway system with index from 1 to 7, when the special handling code equals 'va' or 'vs' or 'ev' and description index is less than 3, the desired outcome is that the special handling code and instruction are formatted and added to special instruction array.
💻 Technical Criteria
Given Special handling codes exist in Fastway system with index from 1 to 7
When The special handling code equals 'VA' or 'VS' or 'EV' and description index is less than 3
Then The special handling code and instruction are formatted and added to special instruction array
R-GCCCBOL-cbl-00174 Retrieve VIN Numbers
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve VIN Numbers' is invoked, and assuming that automotive shipment data exists in mv or v2/co segments, when the system processes vehicle identification numbers from available segments, the desired outcome is that each vin is prefixed with 'vin' text and added to description array up to maximum limit.
💻 Technical Criteria
Given Automotive shipment data exists in MV or V2/CO segments
When The system processes vehicle identification numbers from available segments
Then Each VIN is prefixed with 'VIN' text and added to description array up to maximum limit
R-GCCCBOL-cbl-00365 Initialize CCM Sequence to 1
Process Rules
📊 Business Logic Narrative
When the process 'Initialize CCM Sequence to 1' is invoked, and assuming that the system needs to process ebsbccm segments for lading descriptions, when the processing begins, the desired outcome is that the ccm sequence counter is set to 1 to start with the first segment.
💻 Technical Criteria
Given The system needs to process EBSBCCM segments for lading descriptions
When The processing begins
Then The CCM sequence counter is set to 1 to start with the first segment
R-GCCCBOL-cbl-00367 EBSBCCM Found?
Validation Rules
📊 Business Logic Narrative
When the process 'EBSBCCM Found?' is invoked, and assuming that an attempt to retrieve ebsbccm segment has been made, when the system checks the retrieval status, the desired outcome is that processing continues if segment is found, otherwise processing ends.
💻 Technical Criteria
Given An attempt to retrieve EBSBCCM segment has been made
When The system checks the retrieval status
Then Processing continues if segment is found, otherwise processing ends
R-GCCCBOL-cbl-00370 Increment Description Index
Process Rules
📊 Business Logic Narrative
When the process 'Increment Description Index' is invoked, and assuming that a lading description has been stored in the description array, when the storage operation is complete, the desired outcome is that the description array index is incremented by 1 to point to the next available position.
💻 Technical Criteria
Given A lading description has been stored in the description array
When The storage operation is complete
Then The description array index is incremented by 1 to point to the next available position
R-GCCCBOL-cbl-00371 Get Additional Description Data from BOL
Action Rules
📊 Business Logic Narrative
When the process 'Get Additional Description Data from BOL' is invoked, and assuming that an ebsbccm segment is being processed, when additional description data is needed, the desired outcome is that the system retrieves up to 7 additional description lines from related ebsbcrt segments.
💻 Technical Criteria
Given An EBSBCCM segment is being processed
When Additional description data is needed
Then The system retrieves up to 7 additional description lines from related EBSBCRT segments
R-GCCCBOL-cbl-00375 Initialize EBSBCRT-AD Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Initialize EBSBCRT-AD Found Flag' is invoked, and assuming that the system needs to retrieve additional lading descriptions from bol data, when the additional description processing begins, the desired outcome is that the system sets the ebsbcrt-ad found flag to true and initializes the description sequence counter to 1.
💻 Technical Criteria
Given The system needs to retrieve additional lading descriptions from BOL data
When The additional description processing begins
Then The system sets the EBSBCRT-AD found flag to true and initializes the description sequence counter to 1
R-GCCCBOL-cbl-00376 Description Sequence <= 10?
Validation Rules
📊 Business Logic Narrative
When the process 'Description Sequence <= 10?' is invoked, and assuming that the system is processing additional bol descriptions, when the description sequence counter is evaluated, the desired outcome is that processing continues if the sequence counter is less than or equal to 10, otherwise processing stops.
💻 Technical Criteria
Given The system is processing additional BOL descriptions
When The description sequence counter is evaluated
Then Processing continues if the sequence counter is less than or equal to 10, otherwise processing stops
R-GCCCBOL-cbl-00378 EBSBCRT-AD Segment Found?
Decision Rules
📊 Business Logic Narrative
When the process 'EBSBCRT-AD Segment Found?' is invoked, and assuming that the system has attempted to retrieve an ebsbcrt-ad segment, when the retrieval operation completes, the desired outcome is that if the segment is found, processing continues with description extraction, otherwise the sequence counter is incremented to try the next segment.
💻 Technical Criteria
Given The system has attempted to retrieve an EBSBCRT-AD segment
When The retrieval operation completes
Then If the segment is found, processing continues with description extraction, otherwise the sequence counter is incremented to try the next segment
R-GCCCBOL-cbl-00379 Description Index <= 7?
Process Rules
📊 Business Logic Narrative
When the process 'Description Index <= 7?' is invoked, and assuming that an ebsbcrt-ad segment has been successfully retrieved, when the system processes individual description lines within the segment, the desired outcome is that processing continues for description indexes 1 through 7, then moves to the next segment.
💻 Technical Criteria
Given An EBSBCRT-AD segment has been successfully retrieved
When The system processes individual description lines within the segment
Then Processing continues for description indexes 1 through 7, then moves to the next segment
R-GCCCBOL-cbl-00178 Initialize EBSBCRT-AD Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Initialize EBSBCRT-AD Found Flag' is invoked, and assuming that the system needs to retrieve additional lading descriptions from bol segments, when the additional description retrieval process begins, the desired outcome is that the ebsbcrt-ad found flag is set to true and description sequence counter is initialized to 1.
💻 Technical Criteria
Given The system needs to retrieve additional lading descriptions from BOL segments
When The additional description retrieval process begins
Then The EBSBCRT-AD found flag is set to TRUE and description sequence counter is initialized to 1
R-GCCCBOL-cbl-00179 Description Sequence <= 10 AND EBSBCRT-AD Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Description Sequence <= 10 AND EBSBCRT-AD Found?' is invoked, and assuming that the system is processing additional lading descriptions, when the description sequence counter is evaluated, the desired outcome is that processing continues only if sequence counter is 10 or less and ebsbcrt-ad segments are still available.
💻 Technical Criteria
Given The system is processing additional lading descriptions
When The description sequence counter is evaluated
Then Processing continues only if sequence counter is 10 or less AND EBSBCRT-AD segments are still available
R-GCCCBOL-cbl-00181 EBSBCRT-AD Segment Found?
Decision Rules
📊 Business Logic Narrative
When the process 'EBSBCRT-AD Segment Found?' is invoked, and assuming that an ebsbcrt-ad segment retrieval has been attempted, when the system checks the retrieval result, the desired outcome is that if segment is found, processing continues with description extraction, otherwise sequence counter is incremented.
💻 Technical Criteria
Given An EBSBCRT-AD segment retrieval has been attempted
When The system checks the retrieval result
Then If segment is found, processing continues with description extraction, otherwise sequence counter is incremented
R-GCCCBOL-cbl-00182 Additional Description Index <= 7?
Process Rules
📊 Business Logic Narrative
When the process 'Additional Description Index <= 7?' is invoked, and assuming that an ebsbcrt-ad segment has been successfully retrieved, when the system processes individual additional descriptions within the segment, the desired outcome is that processing continues for additional description index from 1 to 7.
💻 Technical Criteria
Given An EBSBCRT-AD segment has been successfully retrieved
When The system processes individual additional descriptions within the segment
Then Processing continues for additional description index from 1 to 7
R-GCCCBOL-cbl-00184 Move Additional Lading Description to Description Array
Process Rules
📊 Business Logic Narrative
When the process 'Move Additional Lading Description to Description Array' is invoked, and assuming that a valid additional lading description has been identified, when the description needs to be stored, the desired outcome is that the additional lading description is moved to the description array at the current index position.
💻 Technical Criteria
Given A valid additional lading description has been identified
When The description needs to be stored
Then The additional lading description is moved to the description array at the current index position
R-GCCCBOL-cbl-00185 Increment Description Array Index
Process Rules
📊 Business Logic Narrative
When the process 'Increment Description Array Index' is invoked, and assuming that an additional lading description has been successfully stored, when the system needs to prepare for the next description, the desired outcome is that the description array index is incremented by 1.
💻 Technical Criteria
Given An additional lading description has been successfully stored
When The system needs to prepare for the next description
Then The description array index is incremented by 1
R-GCCCBOL-cbl-00186 Initialize Special Instruction Index to 1
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Special Instruction Index to 1' is invoked, and assuming that the system needs to process special handling instructions from fastway data, when the special instruction extraction process begins, the desired outcome is that the special instruction index should be set to 1 to start processing from the first available slot.
💻 Technical Criteria
Given The system needs to process special handling instructions from Fastway data
When The special instruction extraction process begins
Then The special instruction index should be set to 1 to start processing from the first available slot
R-GCCCBOL-cbl-00187 Loop Through Special Handling Records Index 1 to 7
Process Rules
📊 Business Logic Narrative
When the process 'Loop Through Special Handling Records Index 1 to 7' is invoked, and assuming that special handling records exist in the fastway system, when processing special handling instructions, the desired outcome is that the system should loop through special handling records from index 1 to 7 and continue until either all 7 records are processed or 3 special instructions are found.
💻 Technical Criteria
Given Special handling records exist in the Fastway system
When Processing special handling instructions
Then The system should loop through special handling records from index 1 to 7 AND continue until either all 7 records are processed OR 3 special instructions are found
R-GCCCBOL-cbl-00188 Special Handling Code = VA, VS, or EV?
Decision Rules
📊 Business Logic Narrative
When the process 'Special Handling Code = VA, VS, or EV?' is invoked, and assuming that a special handling record is being processed, when the system checks the special handling code, the desired outcome is that the record should be processed only if the special handling code equals 'va' or 'vs' or 'ev'.
💻 Technical Criteria
Given A special handling record is being processed
When The system checks the special handling code
Then The record should be processed only if the special handling code equals 'VA' OR 'VS' OR 'EV'
R-GCCCBOL-cbl-00189 Extract Special Handling Code
Action Rules
📊 Business Logic Narrative
When the process 'Extract Special Handling Code' is invoked, and assuming that a special handling record has a code of va, vs, or ev, when the system processes the qualified record, the desired outcome is that the special handling code should be extracted and stored in the work area.
💻 Technical Criteria
Given A special handling record has a code of VA, VS, or EV
When The system processes the qualified record
Then The special handling code should be extracted and stored in the work area
R-GCCCBOL-cbl-00190 Extract Special Handling Instruction
Action Rules
📊 Business Logic Narrative
When the process 'Extract Special Handling Instruction' is invoked, and assuming that a special handling record has been qualified for processing, when the system extracts the special handling code, the desired outcome is that the corresponding special handling instruction text should also be extracted and stored.
💻 Technical Criteria
Given A special handling record has been qualified for processing
When The system extracts the special handling code
Then The corresponding special handling instruction text should also be extracted and stored
R-GCCCBOL-cbl-00191 Store Code and Instruction in Work Area
Action Rules
📊 Business Logic Narrative
When the process 'Store Code and Instruction in Work Area' is invoked, and assuming that special handling code and instruction have been extracted from a qualified record, when the system processes the extracted data, the desired outcome is that the code and instruction should be combined and stored in the designated work area slot.
💻 Technical Criteria
Given Special handling code and instruction have been extracted from a qualified record
When The system processes the extracted data
Then The code and instruction should be combined and stored in the designated work area slot
R-GCCCBOL-cbl-00192 Move to Next Special Instruction Slot
Process Rules
📊 Business Logic Narrative
When the process 'Move to Next Special Instruction Slot' is invoked, and assuming that a special instruction has been successfully stored in the work area, when the system completes processing of one special handling record, the desired outcome is that the special instruction index should be incremented by 1 to point to the next available slot.
💻 Technical Criteria
Given A special instruction has been successfully stored in the work area
When The system completes processing of one special handling record
Then The special instruction index should be incremented by 1 to point to the next available slot
R-GCCCBOL-cbl-00193 More Records to Process AND Less than 3 Instructions Found?
Decision Rules
📊 Business Logic Narrative
When the process 'More Records to Process AND Less than 3 Instructions Found?' is invoked, and assuming that the system is processing special handling records, when evaluating whether to continue the processing loop, the desired outcome is that processing should continue if the special handling index is less than or equal to 7 and the special instruction index is less than 3.
💻 Technical Criteria
Given The system is processing special handling records
When Evaluating whether to continue the processing loop
Then Processing should continue if the special handling index is less than or equal to 7 AND the special instruction index is less than 3
R-GCCCBOL-cbl-00194 Get MV Loaded Shipments VINs
Process Rules
📊 Business Logic Narrative
When the process 'Get MV Loaded Shipments VINs' is invoked, and assuming that a shipment contains motor vehicle segments with mv type records, when the system processes vin retrieval and searches through mv segments sequentially, the desired outcome is that each valid vehicle id number from mv segments is extracted, formatted with 'vin' prefix, and stored in the vin array with incremented counter.
💻 Technical Criteria
Given A shipment contains motor vehicle segments with MV type records
When The system processes VIN retrieval and searches through MV segments sequentially
Then Each valid vehicle ID number from MV segments is extracted, formatted with 'VIN' prefix, and stored in the VIN array with incremented counter
R-GCCCBOL-cbl-00196 Set MV Type Filter
Process Rules
📊 Business Logic Narrative
When the process 'Set MV Type Filter' is invoked, and assuming that the system needs to retrieve motor vehicle segments, when vin processing begins for mv segments, the desired outcome is that the type filter is set to 'mv' to identify motor vehicle records.
💻 Technical Criteria
Given The system needs to retrieve motor vehicle segments
When VIN processing begins for MV segments
Then The type filter is set to 'MV' to identify motor vehicle records
R-GCCCBOL-cbl-00202 Has Consolidated Shipment Number?
Validation Rules
📊 Business Logic Narrative
When the process 'Has Consolidated Shipment Number?' is invoked, and assuming that an rf reference segment has been retrieved, when the system checks the segment for consolidated shipment indicators, the desired outcome is that if a consolidated shipment number is present, the system proceeds to process v2 motor vehicle segments within that consolidation.
💻 Technical Criteria
Given An RF reference segment has been retrieved
When The system checks the segment for consolidated shipment indicators
Then If a consolidated shipment number is present, the system proceeds to process V2 motor vehicle segments within that consolidation
R-GCCCBOL-cbl-00203 Loop Through V2 Motor Vehicle Segments
Process Rules
📊 Business Logic Narrative
When the process 'Loop Through V2 Motor Vehicle Segments' is invoked, and assuming that a consolidated shipment with rf segment has been identified, when the system loops through v2 motor vehicle segments within the consolidation, the desired outcome is that each v2 segment is processed sequentially until no more segments are found or maximum vehicle limit is reached.
💻 Technical Criteria
Given A consolidated shipment with RF segment has been identified
When The system loops through V2 motor vehicle segments within the consolidation
Then Each V2 segment is processed sequentially until no more segments are found or maximum vehicle limit is reached
R-GCCCBOL-cbl-00382 Initialize VIN Quantity to Zero
Process Rules
📊 Business Logic Narrative
When the process 'Initialize VIN Quantity to Zero' is invoked, and assuming that the system is ready to process motor vehicle segments for vin extraction, when vin processing begins, the desired outcome is that the vin quantity counter is set to zero.
💻 Technical Criteria
Given The system is ready to process motor vehicle segments for VIN extraction
When VIN processing begins
Then The VIN quantity counter is set to zero
R-GCCCBOL-cbl-00383 Set Segment Type to MV Motor Vehicle
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Segment Type to MV Motor Vehicle' is invoked, and assuming that the system needs to process motor vehicle segments, when segment type configuration is required, the desired outcome is that the segment type is set to mv for motor vehicle processing.
💻 Technical Criteria
Given The system needs to process motor vehicle segments
When Segment type configuration is required
Then The segment type is set to MV for motor vehicle processing
R-GCCCBOL-cbl-00384 EBSBCCX MV Segment Found?
Validation Rules
📊 Business Logic Narrative
When the process 'EBSBCCX MV Segment Found?' is invoked, and assuming that the system is processing motor vehicle segments from ebsbccx data source, when a segment retrieval is attempted, the desired outcome is that the system determines if the motor vehicle segment was found or not found.
💻 Technical Criteria
Given The system is processing motor vehicle segments from EBSBCCX data source
When A segment retrieval is attempted
Then The system determines if the motor vehicle segment was found or not found
R-GCCCBOL-cbl-00385 Extract Vehicle ID Number from Segment
Action Rules
📊 Business Logic Narrative
When the process 'Extract Vehicle ID Number from Segment' is invoked, and assuming that a motor vehicle segment is found in ebsbccx data source, when vin extraction is performed, the desired outcome is that the vehicle identification number is extracted from the segment.
💻 Technical Criteria
Given A motor vehicle segment is found in EBSBCCX data source
When VIN extraction is performed
Then The vehicle identification number is extracted from the segment
R-GCCCBOL-cbl-00386 Format VIN with VIN Prefix
Computation Rules
📊 Business Logic Narrative
When the process 'Format VIN with VIN Prefix' is invoked, and assuming that a vehicle identification number has been extracted from a motor vehicle segment, when vin formatting is applied, the desired outcome is that the vin is formatted with the vin prefix to create a complete vin string.
💻 Technical Criteria
Given A vehicle identification number has been extracted from a motor vehicle segment
When VIN formatting is applied
Then The VIN is formatted with the VIN prefix to create a complete VIN string
R-GCCCBOL-cbl-00387 Store VIN in Description Array
Action Rules
📊 Business Logic Narrative
When the process 'Store VIN in Description Array' is invoked, and assuming that a vin has been formatted with the proper prefix, when vin storage is performed, the desired outcome is that the formatted vin is stored in the description array.
💻 Technical Criteria
Given A VIN has been formatted with the proper prefix
When VIN storage is performed
Then The formatted VIN is stored in the description array
R-GCCCBOL-cbl-00388 Increment VIN Counter
Computation Rules
📊 Business Logic Narrative
When the process 'Increment VIN Counter' is invoked, and assuming that a vin has been successfully processed and stored, when vin counter update is performed, the desired outcome is that the vin quantity counter is incremented by one.
💻 Technical Criteria
Given A VIN has been successfully processed and stored
When VIN counter update is performed
Then The VIN quantity counter is incremented by one
R-GCCCBOL-cbl-00389 More Segments Available AND Counter < Maximum?
Decision Rules
📊 Business Logic Narrative
When the process 'More Segments Available AND Counter < Maximum?' is invoked, and assuming that the system has processed a motor vehicle segment, when continuation evaluation is performed, the desired outcome is that processing continues if more segments are available and the vin counter is below the maximum limit, otherwise processing stops.
💻 Technical Criteria
Given The system has processed a motor vehicle segment
When Continuation evaluation is performed
Then Processing continues if more segments are available AND the VIN counter is below the maximum limit, otherwise processing stops
R-GCCCBOL-cbl-00392 Has Consolidated Shipment Number?
Decision Rules
📊 Business Logic Narrative
When the process 'Has Consolidated Shipment Number?' is invoked, and assuming that an rf segment has been successfully retrieved from ebsbccx, when the system evaluates the consolidated shipment number field, the desired outcome is that processing continues to v2 segments if consolidated shipment number exists, otherwise skips to next rf segment.
💻 Technical Criteria
Given An RF segment has been successfully retrieved from EBSBCCX
When The system evaluates the consolidated shipment number field
Then Processing continues to V2 segments if consolidated shipment number exists, otherwise skips to next RF segment
R-GCCCBOL-cbl-00395 Increment VIN Counter
Computation Rules
📊 Business Logic Narrative
When the process 'Increment VIN Counter' is invoked, and assuming that a valid vehicle identification number exists in the v2 segment, when the system processes the vehicle id, the desired outcome is that the vin counter is incremented by one.
💻 Technical Criteria
Given A valid vehicle identification number exists in the V2 segment
When The system processes the vehicle ID
Then The VIN counter is incremented by one
R-GCCCBOL-cbl-00397 Format VIN with Prefix
Process Rules
📊 Business Logic Narrative
When the process 'Format VIN with Prefix' is invoked, and assuming that a valid vehicle identification number is within storage capacity limits, when the system formats the vin for storage, the desired outcome is that the vehicle id is prefixed with 'vin' text and formatted as a complete string.
💻 Technical Criteria
Given A valid vehicle identification number is within storage capacity limits
When The system formats the VIN for storage
Then The vehicle ID is prefixed with 'VIN' text and formatted as a complete string
R-GCCCBOL-cbl-00398 Store VIN in Description Array
Process Rules
📊 Business Logic Narrative
When the process 'Store VIN in Description Array' is invoked, and assuming that a vin has been formatted with proper prefix, when the system stores the vin data, the desired outcome is that the formatted vin is placed in the description array at the current vin counter position.
💻 Technical Criteria
Given A VIN has been formatted with proper prefix
When The system stores the VIN data
Then The formatted VIN is placed in the description array at the current VIN counter position
R-GCCCBOL-cbl-00399 More V2 Segments?
Process Rules
📊 Business Logic Narrative
When the process 'More V2 Segments?' is invoked, and assuming that a v2 segment has been processed for vehicle data, when the system evaluates continuation of v2 processing, the desired outcome is that processing continues with next v2 segment if more exist and limits not exceeded, otherwise moves to next rf segment.
💻 Technical Criteria
Given A V2 segment has been processed for vehicle data
When The system evaluates continuation of V2 processing
Then Processing continues with next V2 segment if more exist and limits not exceeded, otherwise moves to next RF segment
R-GCCCBOL-cbl-00400 More RF Segments?
Process Rules
📊 Business Logic Narrative
When the process 'More RF Segments?' is invoked, and assuming that an rf segment and its associated v2 segments have been processed, when the system evaluates continuation of rf processing, the desired outcome is that processing continues with next rf segment if more exist and limits not exceeded, otherwise ends vin processing.
💻 Technical Criteria
Given An RF segment and its associated V2 segments have been processed
When The system evaluates continuation of RF processing
Then Processing continues with next RF segment if more exist and limits not exceeded, otherwise ends VIN processing
R-GCCCBOL-cbl-00440 Get Vehicle ID Number
Process Rules
📊 Business Logic Narrative
When the process 'Get Vehicle ID Number' is invoked, and assuming that a motor vehicle segment with vehicle identification data, when the system processes the mv segment, the desired outcome is that the vehicle id number is extracted from the vc-vehicle-id-no field.
💻 Technical Criteria
Given A motor vehicle segment with vehicle identification data
When The system processes the MV segment
Then The vehicle ID number is extracted from the VC-VEHICLE-ID-NO field
R-GCCCBOL-cbl-00441 Create VIN String
Computation Rules
📊 Business Logic Narrative
When the process 'Create VIN String' is invoked, and assuming that a valid vehicle identification number, when the system formats the vin for storage, the desired outcome is that a string is created by concatenating 'vin' text followed by the vehicle identification number.
💻 Technical Criteria
Given A valid vehicle identification number
When The system formats the VIN for storage
Then A string is created by concatenating 'VIN' text followed by the vehicle identification number
R-GCCCBOL-cbl-00442 Store Formatted VIN
Process Rules
📊 Business Logic Narrative
When the process 'Store Formatted VIN' is invoked, and assuming that a successfully formatted vin string, when the vin is stored in the description array, the desired outcome is that the vin quantity counter is incremented by 1.
💻 Technical Criteria
Given A successfully formatted VIN string
When The VIN is stored in the description array
Then The VIN quantity counter is incremented by 1
R-GCCCBOL-cbl-00206 Set Search Type to 'MV' Motor Vehicle
Process Rules
📊 Business Logic Narrative
When the process 'Set Search Type to 'MV' Motor Vehicle' is invoked, and assuming that the system needs to search for motor vehicle segments, when the vin retrieval process is initiated, the desired outcome is that the search type is set to 'mv' to filter for motor vehicle records.
💻 Technical Criteria
Given The system needs to search for motor vehicle segments
When The VIN retrieval process is initiated
Then The search type is set to 'MV' to filter for motor vehicle records
R-GCCCBOL-cbl-00208 Increment VIN Counter
Computation Rules
📊 Business Logic Narrative
When the process 'Increment VIN Counter' is invoked, and assuming that a motor vehicle segment has been successfully found, when the system processes the segment for vin extraction, the desired outcome is that the vin counter is incremented by one.
💻 Technical Criteria
Given A motor vehicle segment has been successfully found
When The system processes the segment for VIN extraction
Then The VIN counter is incremented by one
R-GCCCBOL-cbl-00211 Store VIN in Description Array
Process Rules
📊 Business Logic Narrative
When the process 'Store VIN in Description Array' is invoked, and assuming that a vin string has been formatted with the 'vin' prefix and vehicle id, when the system stores the vin information, the desired outcome is that the formatted vin string is placed in the description array at the index position matching the current vin counter.
💻 Technical Criteria
Given A VIN string has been formatted with the 'VIN' prefix and vehicle ID
When The system stores the VIN information
Then The formatted VIN string is placed in the description array at the index position matching the current VIN counter
R-GCCCBOL-cbl-00216 RF segment found?
Validation Rules
📊 Business Logic Narrative
When the process 'RF segment found?' is invoked, and assuming that system has attempted to retrieve an rf segment, when database operation completes, the desired outcome is that system checks if rf segment data was found and sets appropriate processing flag.
💻 Technical Criteria
Given System has attempted to retrieve an RF segment
When Database operation completes
Then System checks if RF segment data was found and sets appropriate processing flag
R-GCCCBOL-cbl-00221 V2 segment found?
Validation Rules
📊 Business Logic Narrative
When the process 'V2 segment found?' is invoked, and assuming that system has attempted to retrieve a v2 segment, when database operation completes, the desired outcome is that system checks if v2 segment data was found and continues processing accordingly.
💻 Technical Criteria
Given System has attempted to retrieve a V2 segment
When Database operation completes
Then System checks if V2 segment data was found and continues processing accordingly
R-GCCCBOL-cbl-00223 Increment VIN quantity
Computation Rules
📊 Business Logic Narrative
When the process 'Increment VIN quantity' is invoked, and assuming that valid vehicle id number has been identified in v2 segment, when system processes the vehicle identification data, the desired outcome is that vin quantity counter is incremented by 1.
💻 Technical Criteria
Given Valid vehicle ID number has been identified in V2 segment
When System processes the vehicle identification data
Then VIN quantity counter is incremented by 1
R-GCCCBOL-cbl-00224 VIN quantity ≤ Max VIN descriptions?
Validation Rules
📊 Business Logic Narrative
When the process 'VIN quantity ≤ Max VIN descriptions?' is invoked, and assuming that vin quantity counter has been incremented and maximum vin descriptions limit is defined, when system checks vin processing capacity, the desired outcome is that system verifies current vin quantity is less than or equal to maximum vin descriptions allowed.
💻 Technical Criteria
Given VIN quantity counter has been incremented and maximum VIN descriptions limit is defined
When System checks VIN processing capacity
Then System verifies current VIN quantity is less than or equal to maximum VIN descriptions allowed
R-GCCCBOL-cbl-00226 Store VIN in description array
Process Rules
📊 Business Logic Narrative
When the process 'Store VIN in description array' is invoked, and assuming that vin string has been formatted and description array position is available, when system stores the vin data, the desired outcome is that formatted vin string is stored in the description array at the current vin quantity position.
💻 Technical Criteria
Given VIN string has been formatted and description array position is available
When System stores the VIN data
Then Formatted VIN string is stored in the description array at the current VIN quantity position
R-GCCCBOL-cbl-00229 Call GCCCOMP program
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCCOMP program' is invoked, and assuming that description compression parameters are configured with ws-length-1 set to 45000 and ws-length-2 set to 22500, when the description compression is required, the desired outcome is that the system should call the gcccomp program with cccom control block, ws-desc-1 source descriptions, ws-desc-2 target descriptions, and the configured length parameters.
💻 Technical Criteria
Given Description compression parameters are configured with WS-LENGTH-1 set to 45000 and WS-LENGTH-2 set to 22500
When The description compression is required
Then The system should call the GCCCOMP program with CCCOM control block, WS-DESC-1 source descriptions, WS-DESC-2 target descriptions, and the configured length parameters
R-GCCCBOL-cbl-00411 Search SHIPMINE for N1-01 IM Segment
Validation Rules
📊 Business Logic Narrative
When the process 'Search SHIPMINE for N1-01 IM Segment' is invoked, and assuming that shipmine data contains multiple data lines with various segment types, when the system searches through data lines from the current start index to position 5, the desired outcome is that the system identifies any data line that begins with ' n1-01 im' and sets the n101 found flag.
💻 Technical Criteria
Given SHIPMINE data contains multiple data lines with various segment types
When The system searches through data lines from the current start index to position 5
Then The system identifies any data line that begins with ' N1-01 IM' and sets the N101 found flag
R-GCCCBOL-cbl-00415 Check Next Data Line for N1-04
Definitional Rules
📊 Business Logic Narrative
When the process 'Check Next Data Line for N1-04' is invoked, and assuming that a valid business number qualifier has been found in the n1-03 segment, when the system checks the next data line for n1-04 business number information, the desired outcome is that if the data line contains ' n1-04', the business number is extracted from positions 8-17 of that line and stored as the business number.
💻 Technical Criteria
Given A valid business number qualifier has been found in the N1-03 segment
When The system checks the next data line for N1-04 business number information
Then If the data line contains ' N1-04', the business number is extracted from positions 8-17 of that line and stored as the business number
R-GCCCBOL-cbl-00445 Initialize Data Index from Start Position
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Data Index from Start Position' is invoked, and assuming that the system has a defined starting position for data search, when beginning to search through shipmine data lines, the desired outcome is that the system sets the data index to the specified starting position to begin sequential search.
💻 Technical Criteria
Given The system has a defined starting position for data search
When Beginning to search through SHIPMINE data lines
Then The system sets the data index to the specified starting position to begin sequential search
R-GCCCBOL-cbl-00446 Data Index <= 5?
Validation Rules
📊 Business Logic Narrative
When the process 'Data Index <= 5?' is invoked, and assuming that the system is searching through shipmine data lines with a current data index position, when checking if more data lines exist in the current segment, the desired outcome is that the system validates that the data index is less than or equal to 5 to stay within segment boundaries.
💻 Technical Criteria
Given The system is searching through SHIPMINE data lines with a current data index position
When Checking if more data lines exist in the current segment
Then The system validates that the data index is less than or equal to 5 to stay within segment boundaries
R-GCCCBOL-cbl-00450 N1-01 Found?
Decision Rules
📊 Business Logic Narrative
When the process 'N1-01 Found?' is invoked, and assuming that the system has completed searching the current segment or reached segment boundary, when determining next action based on search results, the desired outcome is that the system checks if the n1-01 found flag is true to decide whether to continue searching or proceed with processing.
💻 Technical Criteria
Given The system has completed searching the current segment or reached segment boundary
When Determining next action based on search results
Then The system checks if the N1-01 found flag is true to decide whether to continue searching or proceed with processing
R-GCCCBOL-cbl-00451 Move to Next SHIPMINE Segment
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Move to Next SHIPMINE Segment', assuming that the n1-01 im pattern was not found in the current shipmine segment, when continuing the search in additional segments, the desired outcome is that the system increments the shipmine segment number by 1 to access the next available segment.
💻 Technical Criteria
EXCLUDING The N1-01 IM pattern was not found in the current SHIPMINE segment
When Continuing the search in additional segments
Then The system increments the SHIPMINE segment number by 1 to access the next available segment
R-GCCCBOL-cbl-00452 Get Next SHIPMINE Data
Action Rules
📊 Business Logic Narrative
When the process 'Get Next SHIPMINE Data' is invoked, and assuming that the system needs to access the next shipmine segment for continued searching, when retrieving data from the next segment number, the desired outcome is that the system performs a database call to get shipmine data using the incremented segment number.
💻 Technical Criteria
Given The system needs to access the next SHIPMINE segment for continued searching
When Retrieving data from the next segment number
Then The system performs a database call to get SHIPMINE data using the incremented segment number
R-GCCCBOL-cbl-00453 SHIPMINE Data Found?
Validation Rules
📊 Business Logic Narrative
When the process 'SHIPMINE Data Found?' is invoked, and assuming that the system has attempted to retrieve the next shipmine segment, when checking if the segment retrieval was successful, the desired outcome is that the system validates that the shipmine data was found (status code is spaces) to determine if more data is available for searching.
💻 Technical Criteria
Given The system has attempted to retrieve the next SHIPMINE segment
When Checking if the segment retrieval was successful
Then The system validates that the SHIPMINE data was found (status code is spaces) to determine if more data is available for searching
R-GCCCBOL-cbl-00259 Set Business Number Qualifier M5/BN/AI
Validation Rules
📊 Business Logic Narrative
When the process 'Set Business Number Qualifier M5/BN/AI' is invoked, and assuming that a data line contains ' n1-03' segment with qualifier m5, bn, or ai, when processing business number qualifier information, the desired outcome is that set the business number qualifier to m5, bn, or ai respectively based on the segment data.
💻 Technical Criteria
Given a data line contains ' N1-03' segment with qualifier M5, BN, or AI
When processing business number qualifier information
Then set the business number qualifier to M5, BN, or AI respectively based on the segment data
R-GCCCBOL-cbl-00262 Clear Business Number Qualifier
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Clear Business Number Qualifier', assuming that n1-04 segment is not found in the current data processing, when business number extraction fails, the desired outcome is that clear the business number qualifier field to spaces.
💻 Technical Criteria
EXCLUDING N1-04 segment is not found in the current data processing
When business number extraction fails
Then clear the business number qualifier field to spaces
R-GCCCBOL-cbl-00273 Extract N1-04 Business Number
Process Rules
📊 Business Logic Narrative
When the process 'Extract N1-04 Business Number' is invoked, and assuming that a valid n1-03 qualifier has been found in fastway data, when the system processes the next data line expecting n1-04 format, the desired outcome is that the system extracts the business number from positions 8-17 of the n1-04 data line.
💻 Technical Criteria
Given A valid N1-03 qualifier has been found in Fastway data
When The system processes the next data line expecting N1-04 format
Then The system extracts the business number from positions 8-17 of the N1-04 data line
R-GCCCBOL-cbl-00283 Set CSA Indicator OFF
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set CSA Indicator OFF', assuming that shipment does not meet csa qualification criteria or no valid csa data found, when csa processing determination is completed, the desired outcome is that set csa indicator off to indicate no csa processing required.
💻 Technical Criteria
EXCLUDING Shipment does not meet CSA qualification criteria or no valid CSA data found
When CSA processing determination is completed
Then Set CSA indicator OFF to indicate no CSA processing required
R-GCCCBOL-cbl-00290 EBSBCRT-AD Segment Found?
Decision Rules
📊 Business Logic Narrative
When the process 'EBSBCRT-AD Segment Found?' is invoked, and assuming that the system attempts to retrieve an ebsbcrt-ad segment from bol for a specific sequence, when the ebsbcrt-ad segment is successfully found, the desired outcome is that the system should initialize description index to 1 and begin processing the segment's description data.
💻 Technical Criteria
Given The system attempts to retrieve an EBSBCRT-AD segment from BOL for a specific sequence
When The EBSBCRT-AD segment is successfully found
Then The system should initialize description index to 1 and begin processing the segment's description data
R-GCCCBOL-cbl-00291 EBSBCRT-AD Segment Found?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'EBSBCRT-AD Segment Found?', assuming that the system attempts to retrieve an ebsbcrt-ad segment from bol for a specific sequence, when the ebsbcrt-ad segment is not found, the desired outcome is that the system should increment the description sequence counter and continue to the next sequence without processing description data.
💻 Technical Criteria
EXCLUDING The system attempts to retrieve an EBSBCRT-AD segment from BOL for a specific sequence
When The EBSBCRT-AD segment is not found
Then The system should increment the description sequence counter and continue to the next sequence without processing description data
R-GCCCBOL-cbl-00292 Description Index <= 7?
Validation Rules
📊 Business Logic Narrative
When the process 'Description Index <= 7?' is invoked, and assuming that the system is processing descriptions within an ebsbcrt-ad segment with a current description index, when the description index exceeds 7, the desired outcome is that the system should stop processing descriptions for the current segment and increment the description sequence counter.
💻 Technical Criteria
Given The system is processing descriptions within an EBSBCRT-AD segment with a current description index
When The description index exceeds 7
Then The system should stop processing descriptions for the current segment and increment the description sequence counter
R-GCCCBOL-cbl-00295 Clear Database Access Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Clear Database Access Parameters' is invoked, and assuming that a database access request needs to be prepared for ebsbccx segment retrieval, when the system initializes the database access setup process, the desired outcome is that all database access parameters are cleared to ensure clean state.
💻 Technical Criteria
Given A database access request needs to be prepared for EBSBCCX segment retrieval
When The system initializes the database access setup process
Then All database access parameters are cleared to ensure clean state
R-GCCCBOL-cbl-00296 Set Segment Type to EBSBCCX
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Segment Type to EBSBCCX' is invoked, and assuming that database access parameters are being configured for segment retrieval, when the system sets the segment type parameter, the desired outcome is that the segment type is set to ebsbccx-lit to identify the target data structure.
💻 Technical Criteria
Given Database access parameters are being configured for segment retrieval
When The system sets the segment type parameter
Then The segment type is set to EBSBCCX-LIT to identify the target data structure
R-GCCCBOL-cbl-00297 Set Function Code to GU - Get Unique
Process Rules
📊 Business Logic Narrative
When the process 'Set Function Code to GU - Get Unique' is invoked, and assuming that database access parameters are being configured, when the system sets the function code parameter, the desired outcome is that the function code is set to 'gu' to perform a get unique operation.
💻 Technical Criteria
Given Database access parameters are being configured
When The system sets the function code parameter
Then The function code is set to 'GU' to perform a Get Unique operation
R-GCCCBOL-cbl-00298 Set Operator to Equal
Process Rules
📊 Business Logic Narrative
When the process 'Set Operator to Equal' is invoked, and assuming that database access parameters are being configured for record matching, when the system sets the operator parameter, the desired outcome is that the operator is set to '=' to perform exact match comparison.
💻 Technical Criteria
Given Database access parameters are being configured for record matching
When The system sets the operator parameter
Then The operator is set to '=' to perform exact match comparison
R-GCCCBOL-cbl-00300 Set Dependent Key to CR001
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Dependent Key to CR001' is invoked, and assuming that database access parameters are being configured for ebsbccx segment retrieval, when the system sets the dependent key parameter, the desired outcome is that the dependent key is set to 'cr001' to identify the specific segment hierarchy.
💻 Technical Criteria
Given Database access parameters are being configured for EBSBCCX segment retrieval
When The system sets the dependent key parameter
Then The dependent key is set to 'CR001' to identify the specific segment hierarchy
R-GCCCBOL-cbl-00301 Set Accept Status to GE - Get Equal
Process Rules
📊 Business Logic Narrative
When the process 'Set Accept Status to GE - Get Equal' is invoked, and assuming that database access parameters are being finalized, when the system sets the accept status parameter, the desired outcome is that the accept status is set to 'ge' to accept successful get equal operations.
💻 Technical Criteria
Given Database access parameters are being finalized
When The system sets the accept status parameter
Then The accept status is set to 'GE' to accept successful Get Equal operations

🚂 Equipment & Cargo Specs 87 logic blocks
R-GCCCBOL-cbl-00008 10:Build N9 Reference Numbers
Process Rules
📊 Business Logic Narrative
When the process '10:Build N9 Reference Numbers' is invoked, and assuming that edi bol data is available and reference number processing is needed, when building n9 reference numbers from bol data, the desired outcome is that search for 'bm' and 'si' qualified reference numbers, set empty references to 'n/a', and add them to the reference array up to maximum of 10 entries.
💻 Technical Criteria
Given EDI BOL data is available and reference number processing is needed
When Building N9 reference numbers from BOL data
Then Search for 'BM' and 'SI' qualified reference numbers, set empty references to 'N/A', and add them to the reference array up to maximum of 10 entries
R-GCCCBOL-cbl-00009 10:Build N9 Reference Numbers
Process Rules
📊 Business Logic Narrative
When the process '10:Build N9 Reference Numbers' is invoked, and assuming that shipment data contains a non-empty shipment id number, when processing reference numbers from bol data, the desired outcome is that add the shipment id as a 'cn' (container number) qualified reference to the reference array.
💻 Technical Criteria
Given Shipment data contains a non-empty shipment ID number
When Processing reference numbers from BOL data
Then Add the shipment ID as a 'CN' (Container Number) qualified reference to the reference array
R-GCCCBOL-cbl-00012 16:Build Seal Numbers
Process Rules
📊 Business Logic Narrative
When the process '16:Build Seal Numbers' is invoked, and assuming that equipment seal records exist with 'sn' type, when building seal number information, the desired outcome is that extract up to 4 seal numbers from each record, excluding spaces and low-values, up to a maximum of 20 total seal numbers.
💻 Technical Criteria
Given Equipment seal records exist with 'SN' type
When Building seal number information
Then Extract up to 4 seal numbers from each record, excluding spaces and low-values, up to a maximum of 20 total seal numbers
R-GCCCBOL-cbl-00017 19:Process Lading Descriptions
Process Rules
📊 Business Logic Narrative
When the process '19:Process Lading Descriptions' is invoked, and assuming that lading description processing is required, when building cargo descriptions, the desired outcome is that collect primary descriptions from l5 segments, additional descriptions from related records, special instructions with codes 'va', 'vs', or 'ev', and vehicle identification numbers.
💻 Technical Criteria
Given Lading description processing is required
When Building cargo descriptions
Then Collect primary descriptions from L5 segments, additional descriptions from related records, special instructions with codes 'VA', 'VS', or 'EV', and vehicle identification numbers
R-GCCCBOL-cbl-00018 19:Process Lading Descriptions
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '19:Process Lading Descriptions', assuming that description data has been collected and is not empty, when finalizing description processing, the desired outcome is that call gcccomp to compress descriptions, move compressed result to lading description field, and if extra descriptions exist, call gccdesc to store them separately.
💻 Technical Criteria
EXCLUDING Description data has been collected and is not empty
When Finalizing description processing
Then Call GCCCOMP to compress descriptions, move compressed result to lading description field, and if extra descriptions exist, call GCCDESC to store them separately
R-GCCCBOL-cbl-00019 27:Process CSA Data
Policy Rules
📊 Business Logic Narrative
When the process '27:Process CSA Data' is invoked, and assuming that shipment processing is complete, when checking for csa requirements, the desired outcome is that if destination road number is 105 (canada) and haulage right carrier is empty, proceed with csa data processing.
💻 Technical Criteria
Given Shipment processing is complete
When Checking for CSA requirements
Then If destination road number is 105 (Canada) and haulage right carrier is empty, proceed with CSA data processing
R-GCCCBOL-cbl-00020 27:Process CSA Data
Validation Rules
📊 Business Logic Narrative
When the process '27:Process CSA Data' is invoked, and assuming that csa processing is required and edi bol importer segment is found, when validating importer information, the desired outcome is that if entity id is 'im' with non-empty name and id code qualifier is 'm5' with non-empty id code, set csa indicator on and copy importer data; if qualifier is 'bn' or 'ai', only copy importer data without setting csa indicator.
💻 Technical Criteria
Given CSA processing is required and EDI BOL importer segment is found
When Validating importer information
Then If entity ID is 'IM' with non-empty name and ID code qualifier is 'M5' with non-empty ID code, set CSA indicator ON and copy importer data; if qualifier is 'BN' or 'AI', only copy importer data without setting CSA indicator
R-GCCCBOL-cbl-00022 Get System Date and Time
Process Rules
📊 Business Logic Narrative
When the process 'Get System Date and Time' is invoked, and assuming that the cargo report processing program is initiated, when the system begins execution, the desired outcome is that the current system date and time are captured and stored for processing audit trail.
💻 Technical Criteria
Given The cargo report processing program is initiated
When The system begins execution
Then The current system date and time are captured and stored for processing audit trail
R-GCCCBOL-cbl-00023 Save Current Program Name
Process Rules
📊 Business Logic Narrative
When the process 'Save Current Program Name' is invoked, and assuming that a cargo report processing module is about to be executed, when the module processing begins, the desired outcome is that the current program name from the common control area is saved to a temporary storage location.
💻 Technical Criteria
Given A cargo report processing module is about to be executed
When The module processing begins
Then The current program name from the common control area is saved to a temporary storage location
R-GCCCBOL-cbl-00024 Set Module Name to Current Program
Process Rules
📊 Business Logic Narrative
When the process 'Set Module Name to Current Program' is invoked, and assuming that the cargo report processing module needs to establish its identity, when module processing context is being set up, the desired outcome is that the module name is assigned to the program identifier in the common control area.
💻 Technical Criteria
Given The cargo report processing module needs to establish its identity
When Module processing context is being set up
Then The module name is assigned to the program identifier in the common control area
R-GCCCBOL-cbl-00025 Clear Description Fields
Validation Rules
📊 Business Logic Narrative
When the process 'Clear Description Fields' is invoked, and assuming that cargo report processing is starting, when working storage areas need to be prepared for description data, the desired outcome is that the primary description field ws-desc-1 is cleared to spaces.
💻 Technical Criteria
Given Cargo report processing is starting
When Working storage areas need to be prepared for description data
Then The primary description field WS-DESC-1 is cleared to spaces
R-GCCCBOL-cbl-00028 Get Shipment Root Data
Action Rules
📊 Business Logic Narrative
When the process 'Get Shipment Root Data' is invoked, and assuming that a shipment processing request is initiated and a root key exists for the current shipment, when the system attempts to retrieve shipment root data from the shiproot database using the shipment's root key, the desired outcome is that the system should successfully access and load the shipment root information making it available for subsequent cargo processing operations.
💻 Technical Criteria
Given A shipment processing request is initiated and a root key exists for the current shipment
When The system attempts to retrieve shipment root data from the SHIPROOT database using the shipment's root key
Then The system should successfully access and load the shipment root information making it available for subsequent cargo processing operations
R-GCCCBOL-cbl-00305 EDI BOL Key Available?
Validation Rules
📊 Business Logic Narrative
When the process 'EDI BOL Key Available?' is invoked, and assuming that the system is processing broker information from bol data, when the edi bol key (work-edi-bol-key) is spaces or empty, the desired outcome is that the system should skip edi bol broker search and exit the process.
💻 Technical Criteria
Given The system is processing broker information from BOL data
When The EDI BOL key (WORK-EDI-BOL-KEY) is spaces or empty
Then The system should skip EDI BOL broker search and exit the process
R-GCCCBOL-cbl-00092 Initialize Reference Number Variables
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Reference Number Variables' is invoked, and assuming that reference number array exists with 10 possible slots, when system needs to find an empty slot for new reference numbers, the desired outcome is that search through array positions 1 to 10 until finding a blank reference number qualifier or reaching position 10, and set blank n9 found flag when empty slot is located.
💻 Technical Criteria
Given Reference number array exists with 10 possible slots
When System needs to find an empty slot for new reference numbers
Then Search through array positions 1 to 10 until finding a blank reference number qualifier or reaching position 10, and set blank N9 found flag when empty slot is located
R-GCCCBOL-cbl-00095 Extract Payment Method from BOL
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Extract Payment Method from BOL', assuming that bol basic data is found and shipment method payment field is not blank, when processing bol basic data after reference extraction, the desired outcome is that copy shipment method payment value to cargo report payment method field.
💻 Technical Criteria
EXCLUDING BOL basic data is found and shipment method payment field is not blank
When Processing BOL basic data after reference extraction
Then Copy shipment method payment value to cargo report payment method field
R-GCCCBOL-cbl-00322 Initialize N9 Processing Variables
Process Rules
📊 Business Logic Narrative
When the process 'Initialize N9 Processing Variables' is invoked, and assuming that the n9 reference array needs to store new reference numbers, when the system searches for available array positions, the desired outcome is that the system iterates through array positions 1 to 10 until it finds an empty reference qualifier field or reaches the limit, and sets the blank n9 found flag when an empty position is located.
💻 Technical Criteria
Given The N9 reference array needs to store new reference numbers
When The system searches for available array positions
Then The system iterates through array positions 1 to 10 until it finds an empty reference qualifier field or reaches the limit, and sets the blank N9 found flag when an empty position is located
R-GCCCBOL-cbl-00325 Set Reference Number to N/A
Validation Rules
📊 Business Logic Narrative
When the process 'Set Reference Number to N/A' is invoked, and assuming that a bm or si reference qualifier has been found in the bol data, when the reference number field is empty or contains only spaces, the desired outcome is that the system sets the reference number to 'n/a' to indicate no available reference.
💻 Technical Criteria
Given A BM or SI reference qualifier has been found in the BOL data
When The reference number field is empty or contains only spaces
Then The system sets the reference number to 'N/A' to indicate no available reference
R-GCCCBOL-cbl-00329 Store Payment Method
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Store Payment Method', assuming that ebsbcbc segment data is available for the current bol, when the system retrieves the ebsbcbc segment and the shipment method payment field is not empty, the desired outcome is that the system stores the shipment method payment value in the cargo report payment method field.
💻 Technical Criteria
EXCLUDING EBSBCBC segment data is available for the current BOL
When The system retrieves the EBSBCBC segment and the shipment method payment field is not empty
Then The system stores the shipment method payment value in the cargo report payment method field
R-GCCCBOL-cbl-00330 Store CN Reference Number
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Store CN Reference Number', assuming that ebsbcbc segment data is available and contains shipment information, when the shipment id number field is not empty and array space is available, the desired outcome is that the system increments the n9 array index, stores 'cn' as the reference qualifier, and stores the shipment id number as the reference number.
💻 Technical Criteria
EXCLUDING EBSBCBC segment data is available and contains shipment information
When The shipment ID number field is not empty and array space is available
Then The system increments the N9 array index, stores 'CN' as the reference qualifier, and stores the shipment ID number as the reference number
R-GCCCBOL-cbl-00428 Payment method field not empty?
Validation Rules
📊 Business Logic Narrative
When the process 'Payment method field not empty?' is invoked, and assuming that ebsbcbc bol segment is available, when the system checks the b2-shipment-meth-pay field, the desired outcome is that payment method is processed only if the field is not empty or spaces.
💻 Technical Criteria
Given EBSBCBC BOL segment is available
When The system checks the B2-SHIPMENT-METH-PAY field
Then Payment method is processed only if the field is not empty or spaces
R-GCCCBOL-cbl-00102 Set Reference Number to 'N/A'
Validation Rules
📊 Business Logic Narrative
When the process 'Set Reference Number to 'N/A'' is invoked, and assuming that a reference number segment with bm or si qualifier has been found, when the reference number field is empty or contains only spaces, the desired outcome is that the system should set the reference number to 'n/a'.
💻 Technical Criteria
Given A reference number segment with BM or SI qualifier has been found
When The reference number field is empty or contains only spaces
Then The system should set the reference number to 'N/A'
R-GCCCBOL-cbl-00106 Store Payment Method
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Store Payment Method', assuming that an ebsbcbc segment has been successfully retrieved, when the shipment payment method field is not empty or spaces, the desired outcome is that the system should store the payment method in the cargo report output structure.
💻 Technical Criteria
EXCLUDING An EBSBCBC segment has been successfully retrieved
When The shipment payment method field is not empty or spaces
Then The system should store the payment method in the cargo report output structure
R-GCCCBOL-cbl-00107 Store Shipment ID as CN Reference
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Store Shipment ID as CN Reference', assuming that an ebsbcbc segment has been retrieved and payment method has been processed, when the shipment identification number field is not empty or spaces, the desired outcome is that the system should store the shipment id as a 'cn' qualified reference number in the next available array position.
💻 Technical Criteria
EXCLUDING An EBSBCBC segment has been retrieved and payment method has been processed
When The shipment identification number field is not empty or spaces
Then The system should store the shipment ID as a 'CN' qualified reference number in the next available array position
R-GCCCBOL-cbl-00112 Extract B2-SHIPMENT-METH-PAY from BOL
Action Rules
📊 Business Logic Narrative
When the process 'Extract B2-SHIPMENT-METH-PAY from BOL' is invoked, and assuming that a shipment requires payment method extraction from bol data, when the system retrieves the ebsbcbc bol segment and the payment method field contains valid data, the desired outcome is that the payment method is extracted and stored in the cargo report structure.
💻 Technical Criteria
Given A shipment requires payment method extraction from BOL data
When The system retrieves the EBSBCBC BOL segment and the payment method field contains valid data
Then The payment method is extracted and stored in the cargo report structure
R-GCCCBOL-cbl-00114 Payment method field not empty?
Validation Rules
📊 Business Logic Narrative
When the process 'Payment method field not empty?' is invoked, and assuming that an ebsbcbc bol segment has been successfully retrieved, when the system checks the b2-shipment-meth-pay field for content, the desired outcome is that the payment method is processed only if the field is not empty or contains spaces.
💻 Technical Criteria
Given An EBSBCBC BOL segment has been successfully retrieved
When The system checks the B2-SHIPMENT-METH-PAY field for content
Then The payment method is processed only if the field is not empty or contains spaces
R-GCCCBOL-cbl-00115 Store payment method in GCCC-BX03-SHIP-METH-PAY
Process Rules
📊 Business Logic Narrative
When the process 'Store payment method in GCCC-BX03-SHIP-METH-PAY' is invoked, and assuming that a valid payment method has been extracted from the bol segment, when the b2-shipment-meth-pay field contains valid payment method data, the desired outcome is that the payment method value is moved to gccc-bx03-ship-meth-pay field in the cargo report.
💻 Technical Criteria
Given A valid payment method has been extracted from the BOL segment
When The B2-SHIPMENT-METH-PAY field contains valid payment method data
Then The payment method value is moved to GCCC-BX03-SHIP-METH-PAY field in the cargo report
R-GCCCBOL-cbl-00120 Set Reference Qualifier to 'CN'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Reference Qualifier to 'CN'' is invoked, and assuming that the reference number counter has been incremented for a new shipment id entry, when the system sets the reference number qualifier, the desired outcome is that the system should assign 'cn' as the qualifier to indicate this is a container number reference.
💻 Technical Criteria
Given The reference number counter has been incremented for a new shipment ID entry
When The system sets the reference number qualifier
Then The system should assign 'CN' as the qualifier to indicate this is a Container Number reference
R-GCCCBOL-cbl-00124 Reference Number is Spaces OR First Character Not Space?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Reference Number is Spaces OR First Character Not Space?', assuming that a reference number field is being evaluated for compression, when the field is either completely empty (spaces) or the first character is not a space, the desired outcome is that the field is skipped from compression processing and the system moves to the next field.
💻 Technical Criteria
EXCLUDING A reference number field is being evaluated for compression
When The field is either completely empty (spaces) OR the first character is not a space
Then The field is skipped from compression processing and the system moves to the next field
R-GCCCBOL-cbl-00133 Initialize seal counter to 1
Process Rules
📊 Business Logic Narrative
When the process 'Initialize seal counter to 1' is invoked, and assuming that the system needs to process seal numbers from edi bol data, when the seal number building process starts, the desired outcome is that the seal counter is set to 1 and ebsbccx segment counter is initialized.
💻 Technical Criteria
Given The system needs to process seal numbers from EDI BOL data
When The seal number building process starts
Then The seal counter is set to 1 and EBSBCCX segment counter is initialized
R-GCCCBOL-cbl-00134 Set seal type to 'SN'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set seal type to 'SN'' is invoked, and assuming that the system is processing seal numbers from edi bol segments, when preparing to retrieve ebsbccx segments, the desired outcome is that the type identifier is set to 'sn' for seal number segment retrieval.
💻 Technical Criteria
Given The system is processing seal numbers from EDI BOL segments
When Preparing to retrieve EBSBCCX segments
Then The type identifier is set to 'SN' for seal number segment retrieval
R-GCCCBOL-cbl-00136 Seal counter ≤ 20
Validation Rules
📊 Business Logic Narrative
When the process 'Seal counter ≤ 20' is invoked, and assuming that the system is processing seal numbers from edi bol segments, when the seal counter reaches or exceeds 20, the desired outcome is that the seal number processing stops to prevent exceeding the maximum capacity.
💻 Technical Criteria
Given The system is processing seal numbers from EDI BOL segments
When The seal counter reaches or exceeds 20
Then The seal number processing stops to prevent exceeding the maximum capacity
R-GCCCBOL-cbl-00137 Seal Number 1 not empty
Validation Rules
📊 Business Logic Narrative
When the process 'Seal Number 1 not empty' is invoked, and assuming that an ebsbccx segment has been retrieved successfully, when checking the first seal number field (m7-seal-number-1), the desired outcome is that the seal number is processed only if it is not equal to spaces or low-values.
💻 Technical Criteria
Given An EBSBCCX segment has been retrieved successfully
When Checking the first seal number field (M7-SEAL-NUMBER-1)
Then The seal number is processed only if it is not equal to spaces or low-values
R-GCCCBOL-cbl-00138 Store Seal Number 1 in array
Process Rules
📊 Business Logic Narrative
When the process 'Store Seal Number 1 in array' is invoked, and assuming that the first seal number in the ebsbccx segment is valid (not spaces or low-values), when storing the seal number data, the desired outcome is that m7-seal-number-1 is moved to gcsccs56-seal-number at the current seal counter position.
💻 Technical Criteria
Given The first seal number in the EBSBCCX segment is valid (not spaces or low-values)
When Storing the seal number data
Then M7-SEAL-NUMBER-1 is moved to GCSCCS56-SEAL-NUMBER at the current seal counter position
R-GCCCBOL-cbl-00139 Seal Number 2 not empty
Validation Rules
📊 Business Logic Narrative
When the process 'Seal Number 2 not empty' is invoked, and assuming that an ebsbccx segment has been retrieved and first seal number processed, when checking the second seal number field (m7-seal-number-2), the desired outcome is that the seal number is processed only if it is not equal to spaces or low-values.
💻 Technical Criteria
Given An EBSBCCX segment has been retrieved and first seal number processed
When Checking the second seal number field (M7-SEAL-NUMBER-2)
Then The seal number is processed only if it is not equal to spaces or low-values
R-GCCCBOL-cbl-00140 Store Seal Number 2 in array
Process Rules
📊 Business Logic Narrative
When the process 'Store Seal Number 2 in array' is invoked, and assuming that the second seal number in the ebsbccx segment is valid (not spaces or low-values), when storing the seal number data, the desired outcome is that m7-seal-number-2 is moved to gcsccs56-seal-number at the current seal counter position.
💻 Technical Criteria
Given The second seal number in the EBSBCCX segment is valid (not spaces or low-values)
When Storing the seal number data
Then M7-SEAL-NUMBER-2 is moved to GCSCCS56-SEAL-NUMBER at the current seal counter position
R-GCCCBOL-cbl-00141 Seal Number 3 not empty
Validation Rules
📊 Business Logic Narrative
When the process 'Seal Number 3 not empty' is invoked, and assuming that an ebsbccx segment has been retrieved and previous seal numbers processed, when checking the third seal number field (m7-seal-number-3), the desired outcome is that the seal number is processed only if it is not equal to spaces or low-values.
💻 Technical Criteria
Given An EBSBCCX segment has been retrieved and previous seal numbers processed
When Checking the third seal number field (M7-SEAL-NUMBER-3)
Then The seal number is processed only if it is not equal to spaces or low-values
R-GCCCBOL-cbl-00142 Store Seal Number 3 in array
Process Rules
📊 Business Logic Narrative
When the process 'Store Seal Number 3 in array' is invoked, and assuming that the third seal number in the ebsbccx segment is valid (not spaces or low-values), when storing the seal number data, the desired outcome is that m7-seal-number-3 is moved to gcsccs56-seal-number at the current seal counter position.
💻 Technical Criteria
Given The third seal number in the EBSBCCX segment is valid (not spaces or low-values)
When Storing the seal number data
Then M7-SEAL-NUMBER-3 is moved to GCSCCS56-SEAL-NUMBER at the current seal counter position
R-GCCCBOL-cbl-00143 Seal Number 4 not empty
Validation Rules
📊 Business Logic Narrative
When the process 'Seal Number 4 not empty' is invoked, and assuming that an ebsbccx segment has been retrieved and previous seal numbers processed, when checking the fourth seal number field (m7-seal-number-4), the desired outcome is that the seal number is processed only if it is not equal to spaces or low-values.
💻 Technical Criteria
Given An EBSBCCX segment has been retrieved and previous seal numbers processed
When Checking the fourth seal number field (M7-SEAL-NUMBER-4)
Then The seal number is processed only if it is not equal to spaces or low-values
R-GCCCBOL-cbl-00144 Store Seal Number 4 in array
Process Rules
📊 Business Logic Narrative
When the process 'Store Seal Number 4 in array' is invoked, and assuming that the fourth seal number in the ebsbccx segment is valid (not spaces or low-values), when storing the seal number data, the desired outcome is that m7-seal-number-4 is moved to gcsccs56-seal-number at the current seal counter position.
💻 Technical Criteria
Given The fourth seal number in the EBSBCCX segment is valid (not spaces or low-values)
When Storing the seal number data
Then M7-SEAL-NUMBER-4 is moved to GCSCCS56-SEAL-NUMBER at the current seal counter position
R-GCCCBOL-cbl-00145 Increment EBSBCCX segment counter
Process Rules
📊 Business Logic Narrative
When the process 'Increment EBSBCCX segment counter' is invoked, and assuming that all seal numbers from the current ebsbccx segment have been processed, when moving to the next segment, the desired outcome is that the ebsbccx segment counter (ws-sub-cx) is incremented by 1.
💻 Technical Criteria
Given All seal numbers from the current EBSBCCX segment have been processed
When Moving to the next segment
Then The EBSBCCX segment counter (WS-SUB-CX) is incremented by 1
R-GCCCBOL-cbl-00146 End Build Seal Numbers
Process Rules
📊 Business Logic Narrative
When the process 'End Build Seal Numbers' is invoked, and assuming that the system is processing seal numbers from edi bol segments, when no more ebsbccx segments are found or the seal counter exceeds 20, the desired outcome is that the seal number building process terminates.
💻 Technical Criteria
Given The system is processing seal numbers from EDI BOL segments
When No more EBSBCCX segments are found OR the seal counter exceeds 20
Then The seal number building process terminates
R-GCCCBOL-cbl-00341 Set CR Type for EBSBCCY
Definitional Rules
📊 Business Logic Narrative
When the process 'Set CR Type for EBSBCCY' is invoked, and assuming that ebsbccy search is initialized, when setting up cargo reference segment search, the desired outcome is that the system sets the type to 'cr' for cargo reference identification.
💻 Technical Criteria
Given EBSBCCY search is initialized
When Setting up cargo reference segment search
Then The system sets the type to 'CR' for cargo reference identification
R-GCCCBOL-cbl-00431 Set EBSBCCY Indicator to Spaces
Process Rules
📊 Business Logic Narrative
When the process 'Set EBSBCCY Indicator to Spaces' is invoked, and assuming that a cargo reference data search is being initiated for ebsbccy segments, when the system prepares to search for cargo reference information, the desired outcome is that the ebsbccy indicator should be set to spaces and the ebsbccy segment data should be cleared.
💻 Technical Criteria
Given A cargo reference data search is being initiated for EBSBCCY segments
When The system prepares to search for cargo reference information
Then The EBSBCCY indicator should be set to spaces and the EBSBCCY segment data should be cleared
R-GCCCBOL-cbl-00432 Set Type-3 to 'CR'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Type-3 to 'CR'' is invoked, and assuming that the system is preparing to search for cargo reference data in ebsbccy segments, when the search parameters are being configured, the desired outcome is that the type-3 parameter should be set to 'cr' to identify cargo reference segment types.
💻 Technical Criteria
Given The system is preparing to search for cargo reference data in EBSBCCY segments
When The search parameters are being configured
Then The Type-3 parameter should be set to 'CR' to identify cargo reference segment types
R-GCCCBOL-cbl-00433 Initialize Sequence Counter to 0
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Sequence Counter to 0' is invoked, and assuming that the system is preparing to process multiple cargo reference segments sequentially, when the sequence management is being initialized, the desired outcome is that the sequence counter (ws-seq) should be set to 0 to start from the beginning.
💻 Technical Criteria
Given The system is preparing to process multiple cargo reference segments sequentially
When The sequence management is being initialized
Then The sequence counter (WS-SEQ) should be set to 0 to start from the beginning
R-GCCCBOL-cbl-00160 Set type to 'CR' and sequence to 0
Process Rules
📊 Business Logic Narrative
When the process 'Set type to 'CR' and sequence to 0' is invoked, and assuming that a valid ebsbccx segment is found, when the system prepares to search for related cargo data, the desired outcome is that the system sets type to 'cr', initializes sequence to 0, and clears ebsbccy indicator.
💻 Technical Criteria
Given A valid EBSBCCX segment is found
When The system prepares to search for related cargo data
Then The system sets type to 'CR', initializes sequence to 0, and clears EBSBCCY indicator
R-GCCCBOL-cbl-00164 Extract quantity from N10 quantity field
Computation Rules
📊 Business Logic Narrative
When the process 'Extract quantity from N10 quantity field' is invoked, and assuming that a qd type segment is found with n10 quantity data, when the system processes the quantity field, the desired outcome is that the system extracts numeric characters from right to left, removes leading spaces, replaces them with zeros, and stores the formatted quantity in cargo lading quantity.
💻 Technical Criteria
Given A QD type segment is found with N10 quantity data
When The system processes the quantity field
Then The system extracts numeric characters from right to left, removes leading spaces, replaces them with zeros, and stores the formatted quantity in cargo lading quantity
R-GCCCBOL-cbl-00165 Move country code to origin country
Definitional Rules
📊 Business Logic Narrative
When the process 'Move country code to origin country' is invoked, and assuming that a valid qd segment with n10 data is processed, when the system extracts country information, the desired outcome is that the system moves the n10 country code to the cargo origin country field.
💻 Technical Criteria
Given A valid QD segment with N10 data is processed
When The system extracts country information
Then The system moves the N10 country code to the cargo origin country field
R-GCCCBOL-cbl-00166 Store N10 description in description array
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Store N10 description in description array', assuming that a qd segment with sequence 1 is processed, when the n10 description field is not empty and not low-values, the desired outcome is that the system stores the n10 description in the description array at the current index and increments the index.
💻 Technical Criteria
EXCLUDING A QD segment with sequence 1 is processed
When The N10 description field is not empty and not low-values
Then The system stores the N10 description in the description array at the current index and increments the index
R-GCCCBOL-cbl-00168 Store second N10 description in array
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Store second N10 description in array', assuming that a second qd segment is found and processed, when the second n10 description field is not empty and not low-values, the desired outcome is that the system stores the second n10 description in the description array at the current index and increments the index.
💻 Technical Criteria
EXCLUDING A second QD segment is found and processed
When The second N10 description field is not empty and not low-values
Then The system stores the second N10 description in the description array at the current index and increments the index
R-GCCCBOL-cbl-00354 Move Quantity to Cargo Report
Process Rules
📊 Business Logic Narrative
When the process 'Move Quantity to Cargo Report' is invoked, and assuming that a properly formatted quantity value is available, when the system updates the cargo report data, the desired outcome is that the system moves the formatted quantity to gccc-lading-quantity field.
💻 Technical Criteria
Given A properly formatted quantity value is available
When The system updates the cargo report data
Then The system moves the formatted quantity to GCCC-LADING-QUANTITY field
R-GCCCBOL-cbl-00172 Get Additional BOL Descriptions for Current Segment
Process Rules
📊 Business Logic Narrative
When the process 'Get Additional BOL Descriptions for Current Segment' is invoked, and assuming that a bol segment contains additional lading description fields, when the system processes l5-additional-lading-desc array with index from 1 to 7, the desired outcome is that each non-empty additional description line is added to the description array.
💻 Technical Criteria
Given A BOL segment contains additional lading description fields
When The system processes L5-ADDITIONAL-LADING-DESC array with index from 1 to 7
Then Each non-empty additional description line is added to the description array
R-GCCCBOL-cbl-00175 Compress All Descriptions Using GCCCOMP
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Compress All Descriptions Using GCCCOMP', assuming that description data has been collected and is not empty, when the system calls gcccomp program with description arrays and length parameters 45000 and 22500, the desired outcome is that the descriptions are compressed and formatted into primary and extra description fields.
💻 Technical Criteria
EXCLUDING Description data has been collected and is not empty
When The system calls GCCCOMP program with description arrays and length parameters 45000 and 22500
Then The descriptions are compressed and formatted into primary and extra description fields
R-GCCCBOL-cbl-00177 Move Final Description to Cargo Report
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Move Final Description to Cargo Report', assuming that description processing is complete and primary description is not empty, when the system finalizes cargo description data, the desired outcome is that the compressed primary description is moved to gccc-lading-description field.
💻 Technical Criteria
EXCLUDING Description processing is complete and primary description is not empty
When The system finalizes cargo description data
Then The compressed primary description is moved to GCCC-LADING-DESCRIPTION field
R-GCCCBOL-cbl-00368 Lading Description Not Empty?
Validation Rules
📊 Business Logic Narrative
When the process 'Lading Description Not Empty?' is invoked, and assuming that an ebsbccm segment has been retrieved, when the lading description field is evaluated, the desired outcome is that the description is processed only if it is not spaces or low-values.
💻 Technical Criteria
Given An EBSBCCM segment has been retrieved
When The lading description field is evaluated
Then The description is processed only if it is not spaces or low-values
R-GCCCBOL-cbl-00369 Store Lading Description in Description Array
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Store Lading Description in Description Array', assuming that a valid lading description exists in the ebsbccm segment, when the description content is not empty, the desired outcome is that the lading description is stored in the description array at the current index position.
💻 Technical Criteria
EXCLUDING A valid lading description exists in the EBSBCCM segment
When The description content is not empty
Then The lading description is stored in the description array at the current index position
R-GCCCBOL-cbl-00380 Additional Lading Description Not Empty?
Validation Rules
📊 Business Logic Narrative
When the process 'Additional Lading Description Not Empty?' is invoked, and assuming that the system is processing an individual description line from an ebsbcrt-ad segment, when the additional lading description content is evaluated, the desired outcome is that if the description is not spaces, the content is moved to the description array, otherwise it is skipped.
💻 Technical Criteria
Given The system is processing an individual description line from an EBSBCRT-AD segment
When The additional lading description content is evaluated
Then If the description is not spaces, the content is moved to the description array, otherwise it is skipped
R-GCCCBOL-cbl-00381 Move Additional Description to Description Array
Process Rules
📊 Business Logic Narrative
When the process 'Move Additional Description to Description Array' is invoked, and assuming that an additional lading description contains valid non-empty content, when the description content is processed, the desired outcome is that the system moves the description content to the current position in the description array and increments the array index.
💻 Technical Criteria
Given An additional lading description contains valid non-empty content
When The description content is processed
Then The system moves the description content to the current position in the description array and increments the array index
R-GCCCBOL-cbl-00183 Additional Lading Description Not Empty?
Validation Rules
📊 Business Logic Narrative
When the process 'Additional Lading Description Not Empty?' is invoked, and assuming that an additional lading description field is being processed, when the system checks the description content, the desired outcome is that if description is not empty (not spaces), it is moved to the description array, otherwise it is skipped.
💻 Technical Criteria
Given An additional lading description field is being processed
When The system checks the description content
Then If description is not empty (not spaces), it is moved to the description array, otherwise it is skipped
R-GCCCBOL-cbl-00204 Extract Co-Load Vehicle ID, Format Co-Load VIN with Prefix, Store Co-Load VIN in Array
Computation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Extract Co-Load Vehicle ID, Format Co-Load VIN with Prefix, Store Co-Load VIN in Array', assuming that a v2 motor vehicle segment is found within a consolidated shipment, when the vehicle id number in the v2 segment is not spaces or empty, the desired outcome is that the system formats the vehicle id with 'vin' prefix, stores it in the vin array if under the maximum limit, and increments the vin counter.
💻 Technical Criteria
EXCLUDING A V2 motor vehicle segment is found within a consolidated shipment
When The vehicle ID number in the V2 segment is not spaces or empty
Then The system formats the vehicle ID with 'VIN' prefix, stores it in the VIN array if under the maximum limit, and increments the VIN counter
R-GCCCBOL-cbl-00394 Vehicle ID Number Not Empty?
Validation Rules
📊 Business Logic Narrative
When the process 'Vehicle ID Number Not Empty?' is invoked, and assuming that a v2 segment has been successfully retrieved from ebsbccy, when the system evaluates the vehicle identification number field, the desired outcome is that vin processing continues if the vehicle id is not empty or spaces, otherwise moves to next v2 segment.
💻 Technical Criteria
Given A V2 segment has been successfully retrieved from EBSBCCY
When The system evaluates the vehicle identification number field
Then VIN processing continues if the vehicle ID is not empty or spaces, otherwise moves to next V2 segment
R-GCCCBOL-cbl-00222 Vehicle ID number not empty?
Validation Rules
📊 Business Logic Narrative
When the process 'Vehicle ID number not empty?' is invoked, and assuming that v2 segment has been successfully retrieved, when system examines the vehicle id number field, the desired outcome is that system verifies the vehicle id number is not empty or spaces.
💻 Technical Criteria
Given V2 segment has been successfully retrieved
When System examines the vehicle ID number field
Then System verifies the vehicle ID number is not empty or spaces
R-GCCCBOL-cbl-00227 Are cargo descriptions available?
Validation Rules
📊 Business Logic Narrative
When the process 'Are cargo descriptions available?' is invoked, and assuming that the system has processed cargo shipment data, when the description compression process is initiated, the desired outcome is that the system should verify that cargo descriptions (ws-desc-1) contain actual data and are not empty spaces before proceeding with compression.
💻 Technical Criteria
Given The system has processed cargo shipment data
When The description compression process is initiated
Then The system should verify that cargo descriptions (WS-DESC-1) contain actual data and are not empty spaces before proceeding with compression
R-GCCCBOL-cbl-00228 Set compression parameters
Process Rules
📊 Business Logic Narrative
When the process 'Set compression parameters' is invoked, and assuming that cargo descriptions are available for compression, when the compression parameters need to be set, the desired outcome is that the system should set the primary description length to 45000 characters and secondary description length to 22500 characters.
💻 Technical Criteria
Given Cargo descriptions are available for compression
When The compression parameters need to be set
Then The system should set the primary description length to 45000 characters and secondary description length to 22500 characters
R-GCCCBOL-cbl-00230 Transfer compressed description to cargo report
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Transfer compressed description to cargo report', assuming that the gcccomp program has successfully compressed the cargo descriptions into ws-desc-gccc-description, when the compressed description is not empty spaces, the desired outcome is that the system should move the compressed description from ws-desc-gccc-description to gccc-lading-description.
💻 Technical Criteria
EXCLUDING The GCCCOMP program has successfully compressed the cargo descriptions into WS-DESC-GCCC-DESCRIPTION
When The compressed description is not empty spaces
Then The system should move the compressed description from WS-DESC-GCCC-DESCRIPTION to GCCC-LADING-DESCRIPTION
R-GCCCBOL-cbl-00234 Extra Description Not Empty?
Validation Rules
📊 Business Logic Narrative
When the process 'Extra Description Not Empty?' is invoked, and assuming that the system has processed cargo description data, when the extra description field is empty spaces or contains low-values in the first two positions, the desired outcome is that the system skips the description storage process and continues with normal processing flow.
💻 Technical Criteria
Given The system has processed cargo description data
When The extra description field is empty spaces or contains low-values in the first two positions
Then The system skips the description storage process and continues with normal processing flow
R-GCCCBOL-cbl-00403 Entity ID = 'IM' AND Name Not Empty?
Validation Rules
📊 Business Logic Narrative
When the process 'Entity ID = 'IM' AND Name Not Empty?' is invoked, and assuming that an n1 importer segment has been retrieved from edi bol, when the system validates the segment data, the desired outcome is that the system verifies that the entity id code equals 'im' and the name field is not empty, proceeding with qualifier validation only if both conditions are met.
💻 Technical Criteria
Given An N1 importer segment has been retrieved from EDI BOL
When The system validates the segment data
Then The system verifies that the entity ID code equals 'IM' AND the name field is not empty, proceeding with qualifier validation only if both conditions are met
R-GCCCBOL-cbl-00404 ID Code Qualifier = 'M5'?
Decision Rules
📊 Business Logic Narrative
When the process 'ID Code Qualifier = 'M5'?' is invoked, and assuming that a valid n1 importer segment with entity id 'im' and non-empty name exists, when the system checks the id code qualifier, the desired outcome is that if the qualifier equals 'm5', the system sets the csa indicator on and copies all importer data to the cargo report.
💻 Technical Criteria
Given A valid N1 importer segment with entity ID 'IM' and non-empty name exists
When The system checks the ID code qualifier
Then If the qualifier equals 'M5', the system sets the CSA indicator ON and copies all importer data to the cargo report
R-GCCCBOL-cbl-00405 ID Code Qualifier = 'BN'?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'ID Code Qualifier = 'BN'?', assuming that a valid n1 importer segment exists with entity id 'im', non-empty name, and qualifier is not 'm5', when the system checks if the id code qualifier equals 'bn', the desired outcome is that if the qualifier equals 'bn', the system copies importer data to cargo report without setting csa indicator.
💻 Technical Criteria
EXCLUDING A valid N1 importer segment exists with entity ID 'IM', non-empty name, and qualifier is not 'M5'
When The system checks if the ID code qualifier equals 'BN'
Then If the qualifier equals 'BN', the system copies importer data to cargo report without setting CSA indicator
R-GCCCBOL-cbl-00406 ID Code Qualifier = 'AI'?
Decision Rules
📊 Business Logic Narrative
When the process 'ID Code Qualifier = 'AI'?' is invoked, and assuming that a valid n1 importer segment exists with entity id 'im', non-empty name, and qualifier is neither 'm5' nor 'bn', when the system checks if the id code qualifier equals 'ai', the desired outcome is that if the qualifier equals 'ai', the system copies importer data to cargo report without setting csa indicator.
💻 Technical Criteria
Given A valid N1 importer segment exists with entity ID 'IM', non-empty name, and qualifier is neither 'M5' nor 'BN'
When The system checks if the ID code qualifier equals 'AI'
Then If the qualifier equals 'AI', the system copies importer data to cargo report without setting CSA indicator
R-GCCCBOL-cbl-00407 Set CSA Indicator ON
Action Rules
📊 Business Logic Narrative
When the process 'Set CSA Indicator ON' is invoked, and assuming that a valid n1 importer segment with entity id 'im', non-empty name, and id code qualifier 'm5' exists, when the system processes the m5 qualified importer, the desired outcome is that the system sets the csa indicator to on status to enable canada-us trade processing.
💻 Technical Criteria
Given A valid N1 importer segment with entity ID 'IM', non-empty name, and ID code qualifier 'M5' exists
When The system processes the M5 qualified importer
Then The system sets the CSA indicator to ON status to enable Canada-US trade processing
R-GCCCBOL-cbl-00408 Copy Importer Data to Cargo Report
Action Rules
📊 Business Logic Narrative
When the process 'Copy Importer Data to Cargo Report' is invoked, and assuming that a valid n1 importer segment with m5 qualifier has been processed and csa indicator is set on, when the system copies importer data, the desired outcome is that the system copies the importer name to gccc-importer, id code qualifier to gccc-business-nbr-qual, and id code to gccc-business-nbr fields.
💻 Technical Criteria
Given A valid N1 importer segment with M5 qualifier has been processed and CSA indicator is set ON
When The system copies importer data
Then The system copies the importer name to GCCC-IMPORTER, ID code qualifier to GCCC-BUSINESS-NBR-QUAL, and ID code to GCCC-BUSINESS-NBR fields
R-GCCCBOL-cbl-00247 Entity ID = 'IM' AND Name Not Empty?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Entity ID = 'IM' AND Name Not Empty?', assuming that an n1 segment exists with entity id code 'im', when the system validates the entity name and id code are not empty, the desired outcome is that processing continues if both name and id code contain valid data, otherwise csa processing ends.
💻 Technical Criteria
EXCLUDING An N1 segment exists with entity ID code 'IM'
When The system validates the entity name and ID code are not empty
Then Processing continues if both name and ID code contain valid data, otherwise CSA processing ends
R-GCCCBOL-cbl-00253 Copy BOL N1 Importer Data Only
Action Rules
📊 Business Logic Narrative
When the process 'Copy BOL N1 Importer Data Only' is invoked, and assuming that a valid importer n1 segment with bn or ai qualifier, when the system copies importer data from the n1 segment, the desired outcome is that importer name, id code qualifier, and id code are copied to cargo fields but csa indicator remains off.
💻 Technical Criteria
Given A valid importer N1 segment with BN or AI qualifier
When The system copies importer data from the N1 segment
Then Importer name, ID code qualifier, and ID code are copied to cargo fields but CSA indicator remains OFF
R-GCCCBOL-cbl-00277 Haulage Right Carrier = SPACES?
Decision Rules
📊 Business Logic Narrative
When the process 'Haulage Right Carrier = SPACES?' is invoked, and assuming that a shipment with destination road number 105, when the haulage right carrier field is evaluated, the desired outcome is that if haulage right carrier is empty (spaces), proceed to check for csa data; otherwise set csa indicator off.
💻 Technical Criteria
Given A shipment with destination road number 105
When The haulage right carrier field is evaluated
Then If haulage right carrier is empty (SPACES), proceed to check for CSA data; otherwise set CSA indicator OFF
R-GCCCBOL-cbl-00279 CSA Data Found in BOL?
Validation Rules
📊 Business Logic Narrative
When the process 'CSA Data Found in BOL?' is invoked, and assuming that n1 importer segment retrieved from edi bol, when the importer data is evaluated for csa validity, the desired outcome is that if entity id is 'im' with non-empty name and id code qualifier is 'm5' with non-empty id code, set csa indicator on and copy data; if qualifier is 'bn' or 'ai' with valid data, copy data only; otherwise check fastway system.
💻 Technical Criteria
Given N1 importer segment retrieved from EDI BOL
When The importer data is evaluated for CSA validity
Then If entity ID is 'IM' with non-empty name and ID code qualifier is 'M5' with non-empty ID code, set CSA indicator ON and copy data; if qualifier is 'BN' or 'AI' with valid data, copy data only; otherwise check Fastway system
R-GCCCBOL-cbl-00284 Transfer Importer Name to Cargo Report
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Transfer Importer Name to Cargo Report', assuming that a valid n1 importer segment has been found in edi bol data with entity id code 'im' and the importer name is not empty, when the copy importer data process is executed, the desired outcome is that the n1-name field value is transferred to the gccc-importer field in the cargo report segment.
💻 Technical Criteria
EXCLUDING A valid N1 importer segment has been found in EDI BOL data with entity ID code 'IM' and the importer name is not empty
When The copy importer data process is executed
Then The N1-NAME field value is transferred to the GCCC-IMPORTER field in the cargo report segment
R-GCCCBOL-cbl-00285 Transfer Business Number Qualifier to Cargo Report
Action Rules
📊 Business Logic Narrative
When the process 'Transfer Business Number Qualifier to Cargo Report' is invoked, and assuming that a valid n1 importer segment contains a business number qualifier code (m5, bn, or ai), when the copy importer data process is executed, the desired outcome is that the n1-id-code-qualifier field value is transferred to the gccc-business-nbr-qual field in the cargo report segment.
💻 Technical Criteria
Given A valid N1 importer segment contains a business number qualifier code (M5, BN, or AI)
When The copy importer data process is executed
Then The N1-ID-CODE-QUALIFIER field value is transferred to the GCCC-BUSINESS-NBR-QUAL field in the cargo report segment
R-GCCCBOL-cbl-00286 Transfer Business Number to Cargo Report
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Transfer Business Number to Cargo Report', assuming that a valid n1 importer segment contains a business registration number that is not empty, when the copy importer data process is executed, the desired outcome is that the n1-id-code field value is transferred to the gccc-business-nbr field in the cargo report segment.
💻 Technical Criteria
EXCLUDING A valid N1 importer segment contains a business registration number that is not empty
When The copy importer data process is executed
Then The N1-ID-CODE field value is transferred to the GCCC-BUSINESS-NBR field in the cargo report segment
R-GCCCBOL-cbl-00287 Log Transfer Completion with Details
Process Rules
📊 Business Logic Narrative
When the process 'Log Transfer Completion with Details' is invoked, and assuming that the csa importer data transfer process has completed successfully, when all importer data fields have been copied to the cargo report segment, the desired outcome is that the system logs the completion with timestamp, root key, car id, edi bol key, importer name, business number qualifier, and business number to the system error log.
💻 Technical Criteria
Given The CSA importer data transfer process has completed successfully
When All importer data fields have been copied to the cargo report segment
Then The system logs the completion with timestamp, root key, car ID, EDI BOL key, importer name, business number qualifier, and business number to the system error log
R-GCCCBOL-cbl-00288 Get Additional Cargo Description Data
Process Rules
📊 Business Logic Narrative
When the process 'Get Additional Cargo Description Data' is invoked, and assuming that a cargo shipment exists with bol data and current description sequence counter and description array index are initialized, when the system processes additional cargo description segments from ebsbcrt-ad bol segments, the desired outcome is that the system should retrieve up to 10 description sequences, each containing up to 7 additional lading descriptions, and store non-empty descriptions in the description array while incrementing the array index.
💻 Technical Criteria
Given A cargo shipment exists with BOL data and current description sequence counter and description array index are initialized
When The system processes additional cargo description segments from EBSBCRT-AD BOL segments
Then The system should retrieve up to 10 description sequences, each containing up to 7 additional lading descriptions, and store non-empty descriptions in the description array while incrementing the array index
R-GCCCBOL-cbl-00289 Description Sequence <= 10?
Validation Rules
📊 Business Logic Narrative
When the process 'Description Sequence <= 10?' is invoked, and assuming that the system is processing additional cargo descriptions with a current description sequence counter, when the description sequence counter exceeds 10, the desired outcome is that the system should stop processing additional description sequences and complete the operation.
💻 Technical Criteria
Given The system is processing additional cargo descriptions with a current description sequence counter
When The description sequence counter exceeds 10
Then The system should stop processing additional description sequences and complete the operation
R-GCCCBOL-cbl-00293 Additional Lading Description Not Empty?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Additional Lading Description Not Empty?', assuming that the system is processing an additional lading description from an ebsbcrt-ad segment, when the additional lading description is not empty (not spaces), the desired outcome is that the system should store the description in the description array at the current array index and increment both the description array index and description index.
💻 Technical Criteria
EXCLUDING The system is processing an additional lading description from an EBSBCRT-AD segment
When The additional lading description is not empty (not spaces)
Then The system should store the description in the description array at the current array index and increment both the description array index and description index
R-GCCCBOL-cbl-00294 Additional Lading Description Not Empty?
Validation Rules
📊 Business Logic Narrative
When the process 'Additional Lading Description Not Empty?' is invoked, and assuming that the system is processing an additional lading description from an ebsbcrt-ad segment, when the additional lading description is empty (contains only spaces), the desired outcome is that the system should skip storing the description and only increment the description index to continue processing the next description.
💻 Technical Criteria
Given The system is processing an additional lading description from an EBSBCRT-AD segment
When The additional lading description is empty (contains only spaces)
Then The system should skip storing the description and only increment the description index to continue processing the next description
R-GCCCBOL-cbl-00302 Move N1-NAME to GCCC-IMPORTER
Action Rules
📊 Business Logic Narrative
When the process 'Move N1-NAME to GCCC-IMPORTER' is invoked, and assuming that a valid n1 importer segment exists in the edi bol data, when the system processes csa importer data transfer, the desired outcome is that the importer name from n1-name field is copied to gccc-importer field in the cargo report.
💻 Technical Criteria
Given A valid N1 importer segment exists in the EDI BOL data
When The system processes CSA importer data transfer
Then The importer name from N1-NAME field is copied to GCCC-IMPORTER field in the cargo report
R-GCCCBOL-cbl-00303 Move N1-ID-CODE-QUALIFIER to GCCC-BUSINESS-NBR-QUAL
Action Rules
📊 Business Logic Narrative
When the process 'Move N1-ID-CODE-QUALIFIER to GCCC-BUSINESS-NBR-QUAL' is invoked, and assuming that a valid n1 importer segment exists in the edi bol data with a business number qualifier, when the system processes csa importer data transfer, the desired outcome is that the business number qualifier from n1-id-code-qualifier field is copied to gccc-business-nbr-qual field in the cargo report.
💻 Technical Criteria
Given A valid N1 importer segment exists in the EDI BOL data with a business number qualifier
When The system processes CSA importer data transfer
Then The business number qualifier from N1-ID-CODE-QUALIFIER field is copied to GCCC-BUSINESS-NBR-QUAL field in the cargo report
R-GCCCBOL-cbl-00304 Move N1-ID-CODE to GCCC-BUSINESS-NBR
Action Rules
📊 Business Logic Narrative
When the process 'Move N1-ID-CODE to GCCC-BUSINESS-NBR' is invoked, and assuming that a valid n1 importer segment exists in the edi bol data with a business identification number, when the system processes csa importer data transfer, the desired outcome is that the business number from n1-id-code field is copied to gccc-business-nbr field in the cargo report.
💻 Technical Criteria
Given A valid N1 importer segment exists in the EDI BOL data with a business identification number
When The system processes CSA importer data transfer
Then The business number from N1-ID-CODE field is copied to GCCC-BUSINESS-NBR field in the cargo report

Module Tracker: GCCCCADD

3028 Validations & Rules
Module Objective: No description provided from architecture analysis.
⚙️ General Logic & Formats 206 logic blocks
R-GCCCCADD-cbl-02320 Set Table ID to 'MC'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Table ID to 'MC'' is invoked, and assuming that a table lookup is being prepared, when the system needs to identify which table to access, the desired outcome is that the table id is set to 'mc' for manifest code table.
💻 Technical Criteria
Given A table lookup is being prepared
When The system needs to identify which table to access
Then The table ID is set to 'MC' for manifest code table
R-GCCCCADD-cbl-02323 Lookup Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Lookup Successful?' is invoked, and assuming that a table lookup has been executed, when the system checks the lookup result, the desired outcome is that the lookup is considered successful if the return flag indicates success.
💻 Technical Criteria
Given A table lookup has been executed
When The system checks the lookup result
Then The lookup is considered successful if the return flag indicates success
R-GCCCCADD-cbl-02324 Move Table Data to GCSTBRTMC
Process Rules
📊 Business Logic Narrative
When the process 'Move Table Data to GCSTBRTMC' is invoked, and assuming that the mc table lookup was successful, when valid table data is returned, the desired outcome is that the table segment data is moved to the mc table structure.
💻 Technical Criteria
Given The MC table lookup was successful
When Valid table data is returned
Then The table segment data is moved to the MC table structure
R-GCCCCADD-cbl-02332 Clear Table Data for Failed Lookup
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Clear Table Data for Failed Lookup', assuming that the mc table lookup was not successful, when the system handles the lookup failure, the desired outcome is that the mc table data is cleared to spaces.
💻 Technical Criteria
EXCLUDING The MC table lookup was not successful
When The system handles the lookup failure
Then The MC table data is cleared to spaces
R-GCCCCADD-cbl-02335 Retrieve Error Message Text
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Error Message Text' is invoked, and assuming that an error number for mc table lookup failure is set, when the system needs the error message text, the desired outcome is that the error message text is retrieved from the message table.
💻 Technical Criteria
Given An error number for MC table lookup failure is set
When The system needs the error message text
Then The error message text is retrieved from the message table
R-GCCCCADD-cbl-01945 Add Lading Quantity to Total
Computation Rules
📊 Business Logic Narrative
When the process 'Add Lading Quantity to Total' is invoked, and assuming that a commodity segment is found with lading quantity data, when processing the commodity segment, the desired outcome is that add the lading quantity from the segment to the total number of units counter.
💻 Technical Criteria
Given A commodity segment is found with lading quantity data
When Processing the commodity segment
Then Add the lading quantity from the segment to the total number of units counter
R-GCCCCADD-cbl-01954 Set Quantity Qualifier to PCS
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Quantity Qualifier to PCS' is invoked, and assuming that processing fastway shipcomm data, when setting quantity qualifier, the desired outcome is that set quantity qualifier to 'pcs' (pieces).
💻 Technical Criteria
Given Processing Fastway SHIPCOMM data
When Setting quantity qualifier
Then Set quantity qualifier to 'PCS' (pieces)
R-GCCCCADD-cbl-02682 Set CCM Sequence to 1
Process Rules
📊 Business Logic Narrative
When the process 'Set CCM Sequence to 1' is invoked, and assuming that commodity processing is being initialized, when the system prepares to read commodity segments, the desired outcome is that the ccm sequence counter is set to 1.
💻 Technical Criteria
Given Commodity processing is being initialized
When The system prepares to read commodity segments
Then The CCM sequence counter is set to 1
R-GCCCCADD-cbl-02694 Increment CCM Sequence Counter
Process Rules
📊 Business Logic Narrative
When the process 'Increment CCM Sequence Counter' is invoked, and assuming that current commodity segment has been processed, when the system prepares for the next segment, the desired outcome is that the ccm sequence counter (ws-ccm-cm-seq) is incremented by 1.
💻 Technical Criteria
Given Current commodity segment has been processed
When The system prepares for the next segment
Then The CCM sequence counter (WS-CCM-CM-SEQ) is incremented by 1
R-GCCCCADD-cbl-01976 Validate Quantity Qualifier
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Quantity Qualifier' is invoked, and assuming that a quantity qualifier has been determined for the shipment, when the system validates the qualifier against the mu (measurement unit) table, the desired outcome is that if the qualifier is not found in the table, an error message is generated for invalid measurement unit.
💻 Technical Criteria
Given A quantity qualifier has been determined for the shipment
When The system validates the qualifier against the MU (Measurement Unit) table
Then If the qualifier is not found in the table, an error message is generated for invalid measurement unit
R-GCCCCADD-cbl-00166 Validate Qualifier Against MU Table
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Qualifier Against MU Table' is invoked, and assuming that a quantity qualifier has been determined and mu table lookup is available, when quantity qualifier is validated against mu table, the desired outcome is that if qualifier not found in mu table, generate error message for invalid measurement unit.
💻 Technical Criteria
Given A quantity qualifier has been determined and MU table lookup is available
When Quantity qualifier is validated against MU table
Then If qualifier not found in MU table, generate error message for invalid measurement unit
R-GCCCCADD-cbl-00169 Initialize CNS Indicator Search
Process Rules
📊 Business Logic Narrative
When the process 'Initialize CNS Indicator Search' is invoked, and assuming that a consolidated load indicator retrieval process is starting, when the system begins the search for cns indicator, the desired outcome is that the cns indicator search flag is set to not found and sequence counter is initialized to 1.
💻 Technical Criteria
Given A consolidated load indicator retrieval process is starting
When The system begins the search for CNS indicator
Then The CNS indicator search flag is set to not found and sequence counter is initialized to 1
R-GCCCCADD-cbl-00175 Set Consolidated Indicator Found
Process Rules
📊 Business Logic Narrative
When the process 'Set Consolidated Indicator Found' is invoked, and assuming that the h3 special handling code equals 'cns', when the consolidated indicator is detected, the desired outcome is that the cns indicator found flag is set to true.
💻 Technical Criteria
Given The H3 special handling code equals 'CNS'
When The consolidated indicator is detected
Then The CNS indicator found flag is set to true
R-GCCCCADD-cbl-00177 More Sequences to Check?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'More Sequences to Check?', assuming that the search sequence has been incremented or cns indicator has not been found, when the system checks if more sequences can be searched, the desired outcome is that if the sequence counter is less than or equal to 98 and cns indicator is not found, continue searching, otherwise end the search.
💻 Technical Criteria
EXCLUDING The search sequence has been incremented or CNS indicator has not been found
When The system checks if more sequences can be searched
Then If the sequence counter is less than or equal to 98 and CNS indicator is not found, continue searching, otherwise end the search
R-GCCCCADD-cbl-02876 Move Code to Work Area
Process Rules
📊 Business Logic Narrative
When the process 'Move Code to Work Area' is invoked, and assuming that a valid special handling code has been extracted, when preparing the code for storage, the desired outcome is that move the special handling code to desc-work-code work area.
💻 Technical Criteria
Given A valid special handling code has been extracted
When Preparing the code for storage
Then Move the special handling code to DESC-WORK-CODE work area
R-GCCCCADD-cbl-00261 Fastway Hazmat Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Fastway Hazmat Found?' is invoked, and assuming that fastway shipment commodity data is available, when the system examines the emergency response un/na code, the desired outcome is that if emergency response data is found and the un/na code starts with 'un', the system accepts it as valid hazmat data.
💻 Technical Criteria
Given Fastway shipment commodity data is available
When The system examines the emergency response UN/NA code
Then If emergency response data is found and the UN/NA code starts with 'UN', the system accepts it as valid hazmat data
R-GCCCCADD-cbl-00262 Extract UN Number from Fastway
Action Rules
📊 Business Logic Narrative
When the process 'Extract UN Number from Fastway' is invoked, and assuming that valid fastway emergency response data with un number is found, when the un/na code starts with 'un', the desired outcome is that the system moves the un/na code to the commodity un number field and sets hazmat found flag.
💻 Technical Criteria
Given Valid Fastway emergency response data with UN number is found
When The UN/NA code starts with 'UN'
Then The system moves the UN/NA code to the commodity UN number field and sets hazmat found flag
R-GCCCCADD-cbl-01997 Initialize Hazmat Sequence Counter
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Hazmat Sequence Counter' is invoked, and assuming that hazmat processing is being initialized, when the system prepares to read hazmat segments, the desired outcome is that the hazmat sequence counter is set to 1.
💻 Technical Criteria
Given Hazmat processing is being initialized
When The system prepares to read hazmat segments
Then The hazmat sequence counter is set to 1
R-GCCCCADD-cbl-02001 Initialize Hazmat Sequence Counter
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Hazmat Sequence Counter' is invoked, and assuming that a valid un number has been extracted from hazmat data, when the system prepares to retrieve proper shipping name details, the desired outcome is that the chi hs sequence counter is set to 1.
💻 Technical Criteria
Given A valid UN number has been extracted from hazmat data
When The system prepares to retrieve proper shipping name details
Then The CHI HS sequence counter is set to 1
R-GCCCCADD-cbl-02005 Increment Sequence Counter
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Increment Sequence Counter', assuming that current hazmat segment does not contain valid un number and more segments may exist, when the sequence counter is less than or equal to 98 and hazmat is not found, the desired outcome is that the hazmat sequence counter is incremented by 1.
💻 Technical Criteria
EXCLUDING Current hazmat segment does not contain valid UN number and more segments may exist
When The sequence counter is less than or equal to 98 and hazmat is not found
Then The hazmat sequence counter is incremented by 1
R-GCCCCADD-cbl-02390 Set Sequence Counter to 1
Process Rules
📊 Business Logic Narrative
When the process 'Set Sequence Counter to 1' is invoked, and assuming that hazmat processing variables have been initialized, when beginning to search for hazmat segments, the desired outcome is that the commodity hazmat sequence counter is set to 1.
💻 Technical Criteria
Given Hazmat processing variables have been initialized
When Beginning to search for hazmat segments
Then The commodity hazmat sequence counter is set to 1
R-GCCCCADD-cbl-02394 UN Number Starts with 'UN'?
Validation Rules
📊 Business Logic Narrative
When the process 'UN Number Starts with 'UN'?' is invoked, and assuming that a hazmat commodity segment has been found, when the lh1-un-na-id-cd field starts with 'un', the desired outcome is that the un number format is considered valid for hazmat processing.
💻 Technical Criteria
Given A hazmat commodity segment has been found
When The LH1-UN-NA-ID-CD field starts with 'UN'
Then The UN number format is considered valid for hazmat processing
R-GCCCCADD-cbl-02719 Move to Next Hazmat Sequence
Process Rules
📊 Business Logic Narrative
When the process 'Move to Next Hazmat Sequence' is invoked, and assuming that the current hazmat sequence has been processed and no valid un number was found, when the system needs to continue searching for hazardous materials, the desired outcome is that the system should increment the hazmat sequence counter and continue processing if within the maximum limit of 98 sequences.
💻 Technical Criteria
Given The current hazmat sequence has been processed and no valid UN number was found
When The system needs to continue searching for hazardous materials
Then The system should increment the hazmat sequence counter and continue processing if within the maximum limit of 98 sequences
R-GCCCCADD-cbl-02888 Set Type to CH - Chemical Hazmat
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Type to CH - Chemical Hazmat' is invoked, and assuming that the system is processing hazmat commodity data, when specifying the type of hazmat segment to retrieve, the desired outcome is that the type is set to 'ch' to identify chemical hazmat segments.
💻 Technical Criteria
Given The system is processing hazmat commodity data
When Specifying the type of hazmat segment to retrieve
Then The type is set to 'CH' to identify chemical hazmat segments
R-GCCCCADD-cbl-02898 Increment CCM Sequence
Process Rules
📊 Business Logic Narrative
When the process 'Increment CCM Sequence' is invoked, and assuming that the current hazmat segment has been processed but no valid un number was found, when the system continues searching for hazmat data, the desired outcome is that the ccm sequence counter is incremented by 1 to target the next segment.
💻 Technical Criteria
Given The current hazmat segment has been processed but no valid UN number was found
When The system continues searching for hazmat data
Then The CCM sequence counter is incremented by 1 to target the next segment
R-GCCCCADD-cbl-02008 SHIPERP Data Found?
Validation Rules
📊 Business Logic Narrative
When the process 'SHIPERP Data Found?' is invoked, and assuming that shipcomm data is available in fastway system, when system accesses shiperp segment for emergency response data, the desired outcome is that if shiperp data is found, validate un code format, otherwise mark no fastway hazmat data available.
💻 Technical Criteria
Given SHIPCOMM data is available in Fastway system
When System accesses SHIPERP segment for emergency response data
Then If SHIPERP data is found, validate UN code format, otherwise mark no Fastway hazmat data available
R-GCCCCADD-cbl-02009 UN Code Format Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'UN Code Format Valid?' is invoked, and assuming that shiperp emergency response data is found, when system validates the un code format in erp-un-na-code field, the desired outcome is that if the first two characters equal 'un', proceed to extract un number, otherwise mark no fastway hazmat data available.
💻 Technical Criteria
Given SHIPERP emergency response data is found
When System validates the UN code format in ERP-UN-NA-CODE field
Then If the first two characters equal 'UN', proceed to extract UN number, otherwise mark no Fastway hazmat data available
R-GCCCCADD-cbl-02407 Check UN Code Format
Validation Rules
📊 Business Logic Narrative
When the process 'Check UN Code Format' is invoked, and assuming that emergency response data is available in shiperp segment, when the system examines the un/na code field, the desired outcome is that the un code format is validated to ensure it starts with 'un' prefix.
💻 Technical Criteria
Given Emergency response data is available in SHIPERP segment
When The system examines the UN/NA code field
Then The UN code format is validated to ensure it starts with 'UN' prefix
R-GCCCCADD-cbl-02438 Determine Country Code from State/Province
Process Rules
📊 Business Logic Narrative
When the process 'Determine Country Code from State/Province' is invoked, and assuming that a state or province code is available for shipper or consignee, when the system needs to determine the corresponding country code, the desired outcome is that search tb-state-country table for matching state/province code and set country code from the corresponding table entry, or set to spaces if no match found.
💻 Technical Criteria
Given A state or province code is available for shipper or consignee
When The system needs to determine the corresponding country code
Then Search TB-STATE-COUNTRY table for matching state/province code and set country code from the corresponding table entry, or set to spaces if no match found
R-GCCCCADD-cbl-02732 Start MCOA Entity Processing
Process Rules
📊 Business Logic Narrative
When the process 'Start MCOA Entity Processing' is invoked, and assuming that the system needs to process mcoa entity segments, when mcoa entity processing begins, the desired outcome is that the mcoa sequence counter is initialized and processing flags are reset.
💻 Technical Criteria
Given The system needs to process MCOA entity segments
When MCOA entity processing begins
Then The MCOA sequence counter is initialized and processing flags are reset
R-GCCCCADD-cbl-02738 Address Segment Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Address Segment Found?' is invoked, and assuming that an attempt to retrieve mcoa address segment has been made, when the system checks if address data is available, the desired outcome is that if address segment is found, extract address lines 1 and 2, otherwise set address line 1 to 'na' and clear address line 2.
💻 Technical Criteria
Given An attempt to retrieve MCOA address segment has been made
When The system checks if address data is available
Then If address segment is found, extract address lines 1 and 2, otherwise set address line 1 to 'NA' and clear address line 2
R-GCCCCADD-cbl-02743 More MCOA Segments?
Process Rules
📊 Business Logic Narrative
When the process 'More MCOA Segments?' is invoked, and assuming that an mcoa entity has been processed, when the system checks for more segments, the desired outcome is that the sequence counter is incremented and processing continues if more segments are available, otherwise mcoa processing ends.
💻 Technical Criteria
Given An MCOA entity has been processed
When The system checks for more segments
Then The sequence counter is incremented and processing continues if more segments are available, otherwise MCOA processing ends
R-GCCCCADD-cbl-02918 Set MCOA Not Found Flag
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set MCOA Not Found Flag', assuming that mcoa segment retrieval has been attempted, when segment retrieval fails or segment type is not 'ot', the desired outcome is that system sets mcoa not found flag to indicate unsuccessful retrieval.
💻 Technical Criteria
EXCLUDING MCOA segment retrieval has been attempted
When Segment retrieval fails or segment type is not 'OT'
Then System sets MCOA not found flag to indicate unsuccessful retrieval
R-GCCCCADD-cbl-02933 Extract City Name from F7-CITY-NAME, Extract State/Province Code from F7-STATE-PROV-CODE, Extract Postal Code from F7-POSTAL-CODE, Extract Country Code from F7-COUNTRY-CODE
Process Rules
📊 Business Logic Narrative
When the process 'Extract City Name from F7-CITY-NAME, Extract State/Province Code from F7-STATE-PROV-CODE, Extract Postal Code from F7-POSTAL-CODE, Extract Country Code from F7-COUNTRY-CODE' is invoked, and assuming that a successfully retrieved mcoa oc geographic segment, when the system processes the segment data, the desired outcome is that the city name, state/province code, postal code, and country code are extracted from the f7 fields in the segment.
💻 Technical Criteria
Given A successfully retrieved MCOA OC geographic segment
When The system processes the segment data
Then The city name, state/province code, postal code, and country code are extracted from the F7 fields in the segment
R-GCCCCADD-cbl-02934 Move Data to N4 Address Fields
Process Rules
📊 Business Logic Narrative
When the process 'Move Data to N4 Address Fields' is invoked, and assuming that successfully extracted geographic data from mcoa oc segment including city name, state/province code, postal code, and country code, when the system populates the address fields, the desired outcome is that the extracted data is moved to the corresponding n4 address fields (n401-city-name, n402-state-prov-cde, n403-postal-cde, n404-country-cde).
💻 Technical Criteria
Given Successfully extracted geographic data from MCOA OC segment including city name, state/province code, postal code, and country code
When The system populates the address fields
Then The extracted data is moved to the corresponding N4 address fields (N401-CITY-NAME, N402-STATE-PROV-CDE, N403-POSTAL-CDE, N404-COUNTRY-CDE)
R-GCCCCADD-cbl-02937 Set Geographic Data Not Found Flag
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Geographic Data Not Found Flag', assuming that mcoa oc geographic segment data could not be retrieved or is not available, when the system completes the failed retrieval processing, the desired outcome is that the geographic data not found flag is set to indicate unsuccessful processing.
💻 Technical Criteria
EXCLUDING MCOA OC geographic segment data could not be retrieved or is not available
When The system completes the failed retrieval processing
Then The geographic data not found flag is set to indicate unsuccessful processing
R-GCCCCADD-cbl-02466 Set Consignee CHOP as Key
Process Rules
📊 Business Logic Narrative
When the process 'Set Consignee CHOP as Key' is invoked, and assuming that au table lookup parameters are initialized and consignee chop code exists in the shipment data, when the system prepares the au table lookup key, the desired outcome is that the system sets the consignee chop code from the shipment root as the chop key in the au table lookup parameters.
💻 Technical Criteria
Given AU table lookup parameters are initialized and consignee CHOP code exists in the shipment data
When The system prepares the AU table lookup key
Then The system sets the consignee CHOP code from the shipment root as the CHOP key in the AU table lookup parameters
R-GCCCCADD-cbl-02475 Set Business Number Qualifier to M5
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Business Number Qualifier to M5' is invoked, and assuming that au business number has been assigned to the manifest, when the system sets the business number qualifier, the desired outcome is that the system sets the business number qualifier field to 'm5' to indicate the business number source type.
💻 Technical Criteria
Given AU business number has been assigned to the manifest
When The system sets the business number qualifier
Then The system sets the business number qualifier field to 'M5' to indicate the business number source type
R-GCCCCADD-cbl-02065 Check if AU Table Data Available?
Validation Rules
📊 Business Logic Narrative
When the process 'Check if AU Table Data Available?' is invoked, and assuming that a shipment with consignee chop code and commodity code, when the system checks au table availability using consignee chop and commodity code as lookup keys, the desired outcome is that the system should determine if au table data is available for further csa processing.
💻 Technical Criteria
Given A shipment with consignee CHOP code and commodity code
When The system checks AU table availability using consignee CHOP and commodity code as lookup keys
Then The system should determine if AU table data is available for further CSA processing
R-GCCCCADD-cbl-02749 No Broker Data Found
Process Rules
📊 Business Logic Narrative
When the process 'No Broker Data Found' is invoked, and assuming that all three crossing table searches (specific, partial wildcard, and maximum wildcard) have been executed, when none of the searches return matching broker data, the desired outcome is that the system concludes that no broker data is available for the given shipment criteria.
💻 Technical Criteria
Given All three crossing table searches (specific, partial wildcard, and maximum wildcard) have been executed
When None of the searches return matching broker data
Then The system concludes that no broker data is available for the given shipment criteria
R-GCCCCADD-cbl-02944 Broker Data Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Broker Data Found?' is invoked, and assuming that a crossing table lookup has been executed with exact match parameters, when evaluating the result of the crossing table search, the desired outcome is that if broker data is found, set the data found flag to true, otherwise continue to the next search attempt.
💻 Technical Criteria
Given A crossing table lookup has been executed with exact match parameters
When Evaluating the result of the crossing table search
Then If broker data is found, set the data found flag to true, otherwise continue to the next search attempt
R-GCCCCADD-cbl-02948 Keep Original Commodity Code
Process Rules
📊 Business Logic Narrative
When the process 'Keep Original Commodity Code' is invoked, and assuming that a crossing table lookup with wildcard shipper chop is being performed and commodity code exists in shipment commodity data, when the system prepares the second search pattern parameters, the desired outcome is that the commodity code from shipment commodity data is preserved and used in the crossing table lookup.
💻 Technical Criteria
Given A crossing table lookup with wildcard shipper CHOP is being performed AND commodity code exists in shipment commodity data
When The system prepares the second search pattern parameters
Then The commodity code from shipment commodity data is preserved and used in the crossing table lookup
R-GCCCCADD-cbl-02952 Proceed to Next Search Pattern
Process Rules
📊 Business Logic Narrative
When the process 'Proceed to Next Search Pattern' is invoked, and assuming that the wildcard shipper chop crossing table lookup has been executed and no broker data was found, when the system evaluates the failed lookup result, the desired outcome is that the system proceeds to execute the next search pattern with different wildcard criteria.
💻 Technical Criteria
Given The wildcard shipper CHOP crossing table lookup has been executed AND no broker data was found
When The system evaluates the failed lookup result
Then The system proceeds to execute the next search pattern with different wildcard criteria
R-GCCCCADD-cbl-02959 Broker Data Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Broker Data Found?' is invoked, and assuming that the crossing table lookup with maximum wildcard criteria has been executed, when the system evaluates the lookup result, the desired outcome is that if the return code indicates data was found, the broker data is considered successfully retrieved, otherwise the lookup is considered unsuccessful.
💻 Technical Criteria
Given The crossing table lookup with maximum wildcard criteria has been executed
When The system evaluates the lookup result
Then If the return code indicates data was found, the broker data is considered successfully retrieved, otherwise the lookup is considered unsuccessful
R-GCCCCADD-cbl-02960 Return Success - Broker Data Retrieved
Process Rules
📊 Business Logic Narrative
When the process 'Return Success - Broker Data Retrieved' is invoked, and assuming that the crossing table lookup with maximum wildcard criteria has been executed, when the lookup result indicates that broker data was found, the desired outcome is that the broker lookup process is marked as successful and the retrieved broker data is available for use.
💻 Technical Criteria
Given The crossing table lookup with maximum wildcard criteria has been executed
When The lookup result indicates that broker data was found
Then The broker lookup process is marked as successful and the retrieved broker data is available for use
R-GCCCCADD-cbl-02961 Continue to Next Search Strategy
Process Rules
📊 Business Logic Narrative
When the process 'Continue to Next Search Strategy' is invoked, and assuming that the crossing table lookup with maximum wildcard criteria has been executed, when the lookup result indicates that no broker data was found, the desired outcome is that the system continues with the next step in the broker assignment process since all crossing table lookup attempts have been exhausted.
💻 Technical Criteria
Given The crossing table lookup with maximum wildcard criteria has been executed
When The lookup result indicates that no broker data was found
Then The system continues with the next step in the broker assignment process since all crossing table lookup attempts have been exhausted
R-GCCCCADD-cbl-00410 Add Units from SHIPCOMM to Total
Computation Rules
📊 Business Logic Narrative
When the process 'Add Units from SHIPCOMM to Total' is invoked, and assuming that fastway shipcomm segment is successfully retrieved, when the segment contains number of units data, the desired outcome is that the number of units is added to the total quantity counter.
💻 Technical Criteria
Given Fastway SHIPCOMM segment is successfully retrieved
When The segment contains number of units data
Then The number of units is added to the total quantity counter
R-GCCCCADD-cbl-00414 Use Calculated Quantity
Decision Rules
📊 Business Logic Narrative
When the process 'Use Calculated Quantity' is invoked, and assuming that commodity processing has completed and total quantity is calculated, when the total quantity is greater than zero, the desired outcome is that the final lading quantity is set to the calculated total quantity.
💻 Technical Criteria
Given Commodity processing has completed and total quantity is calculated
When The total quantity is greater than zero
Then The final lading quantity is set to the calculated total quantity
R-GCCCCADD-cbl-00427 Set Quantity Qualifier from Segment
Process Rules
📊 Business Logic Narrative
When the process 'Set Quantity Qualifier from Segment' is invoked, and assuming that a valid commodity segment with quantity qualifier, when processing the first commodity segment, the desired outcome is that move the l0-lading-qty-qual to the lading quantity qualifier field.
💻 Technical Criteria
Given A valid commodity segment with quantity qualifier
When Processing the first commodity segment
Then Move the L0-LADING-QTY-QUAL to the lading quantity qualifier field
R-GCCCCADD-cbl-00445 Found in MU Table?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Found in MU Table?', assuming that a quantity qualifier has been looked up in the mu table, when the quantity qualifier is not found in the measurement units reference table, the desired outcome is that the system generates a 'not found on mu table' error message.
💻 Technical Criteria
EXCLUDING A quantity qualifier has been looked up in the MU table
When The quantity qualifier is not found in the measurement units reference table
Then The system generates a 'not found on MU table' error message
R-GCCCCADD-cbl-00459 Determine Country Code from State Lookup
Action Rules
📊 Business Logic Narrative
When the process 'Determine Country Code from State Lookup' is invoked, and assuming that a state or province code has been extracted from shipper address data, when the system needs to determine the corresponding country code, the desired outcome is that the system searches the tb-state-country table using the state code to find the matching country code.
💻 Technical Criteria
Given A state or province code has been extracted from shipper address data
When The system needs to determine the corresponding country code
Then The system searches the TB-STATE-COUNTRY table using the state code to find the matching country code
R-GCCCCADD-cbl-00520 Search for UA Address Segment
Action Rules
📊 Business Logic Narrative
When the process 'Search for UA Address Segment' is invoked, and assuming that ultimate consignee un segment has been processed, when the system searches for corresponding ua address segment with un type and sequence '01', the desired outcome is that the system retrieves address data if the ua segment exists.
💻 Technical Criteria
Given Ultimate Consignee UN segment has been processed
When The system searches for corresponding UA address segment with UN type and sequence '01'
Then The system retrieves address data if the UA segment exists
R-GCCCCADD-cbl-00553 Set Entity Type to 'C1'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Entity Type to 'C1'' is invoked, and assuming that a c1 carrier entity segment is being created, when the entity type needs to be specified, the desired outcome is that the entity type code is set to 'c1' to identify it as a carrier entity.
💻 Technical Criteria
Given A C1 carrier entity segment is being created
When The entity type needs to be specified
Then The entity type code is set to 'C1' to identify it as a carrier entity
R-GCCCCADD-cbl-00566 Lookup Country Code from State
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Country Code from State' is invoked, and assuming that a state or province code is available for the carrier, when determining the corresponding country code, the desired outcome is that the system searches the state-country lookup table to find the matching country code for the given state/province code.
💻 Technical Criteria
Given A state or province code is available for the carrier
When Determining the corresponding country code
Then The system searches the state-country lookup table to find the matching country code for the given state/province code
R-GCCCCADD-cbl-00577 Clear ID Code Qualifier and ID Code
Process Rules
📊 Business Logic Narrative
When the process 'Clear ID Code Qualifier and ID Code' is invoked, and assuming that notify party entity name is extracted, when setting up notify party n1 segment fields, the desired outcome is that id code qualifier and id code fields are set to spaces.
💻 Technical Criteria
Given Notify party entity name is extracted
When Setting up notify party N1 segment fields
Then ID code qualifier and ID code fields are set to spaces
R-GCCCCADD-cbl-00604 Set Default Address as 'NA'
Validation Rules
📊 Business Logic Narrative
When the process 'Set Default Address as 'NA'' is invoked, and assuming that address segment retrieval failed, when the system needs to populate address fields, the desired outcome is that move 'na' to gccs-n301-address-info-1 and spaces to gccs-n302-address-info-2.
💻 Technical Criteria
Given address segment retrieval failed
When the system needs to populate address fields
Then move 'NA' to GCCS-N301-ADDRESS-INFO-1 and spaces to GCCS-N302-ADDRESS-INFO-2
R-GCCCCADD-cbl-00655 Set Hazmat Search Sequence to 1
Process Rules
📊 Business Logic Narrative
When the process 'Set Hazmat Search Sequence to 1' is invoked, and assuming that hazmat processing variables have been initialized, when beginning hazmat segment search, the desired outcome is that hazmat search sequence counter is set to 1.
💻 Technical Criteria
Given Hazmat processing variables have been initialized
When Beginning hazmat segment search
Then Hazmat search sequence counter is set to 1
R-GCCCCADD-cbl-00666 Increment Hazmat Search Sequence
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Increment Hazmat Search Sequence', assuming that current hazmat segment does not contain valid un number format, when continuing search for valid hazmat data, the desired outcome is that hazmat search sequence counter is incremented by 1.
💻 Technical Criteria
EXCLUDING Current hazmat segment does not contain valid UN number format
When Continuing search for valid hazmat data
Then Hazmat search sequence counter is incremented by 1
R-GCCCCADD-cbl-00669 SHIPCOMM Found?
Validation Rules
📊 Business Logic Narrative
When the process 'SHIPCOMM Found?' is invoked, and assuming that the system has attempted to retrieve shipcomm data, when the system checks if commodity data was successfully retrieved, the desired outcome is that if shipcomm data is found, continue with emergency response data retrieval, otherwise terminate hazmat processing.
💻 Technical Criteria
Given The system has attempted to retrieve SHIPCOMM data
When The system checks if commodity data was successfully retrieved
Then If SHIPCOMM data is found, continue with emergency response data retrieval, otherwise terminate hazmat processing
R-GCCCCADD-cbl-00671 SHIPERP Found?
Validation Rules
📊 Business Logic Narrative
When the process 'SHIPERP Found?' is invoked, and assuming that the system has attempted to retrieve shiperp data, when the system checks if emergency response data was successfully retrieved, the desired outcome is that if shiperp data is found, validate un code format, otherwise terminate hazmat processing.
💻 Technical Criteria
Given The system has attempted to retrieve SHIPERP data
When The system checks if emergency response data was successfully retrieved
Then If SHIPERP data is found, validate UN code format, otherwise terminate hazmat processing
R-GCCCCADD-cbl-00695 City name length >= 2 characters?
Validation Rules
📊 Business Logic Narrative
When the process 'City name length >= 2 characters?' is invoked, and assuming that an n1 segment has a city name provided, when city name length is less than 2 characters, the desired outcome is that generate a minimum length requirement error message.
💻 Technical Criteria
Given An N1 segment has a city name provided
When City name length is less than 2 characters
Then Generate a minimum length requirement error message
R-GCCCCADD-cbl-02761 Validate N4 Geographic Fields
Validation Rules
📊 Business Logic Narrative
When the process 'Validate N4 Geographic Fields' is invoked, and assuming that an n4 segment contains a city name and the city name length is less than 2 characters, when the system validates city name format, the desired outcome is that the system generates an error message indicating minimum length of 2 characters is required.
💻 Technical Criteria
Given An N4 segment contains a city name AND the city name length is less than 2 characters
When The system validates city name format
Then The system generates an error message indicating minimum length of 2 characters is required
R-GCCCCADD-cbl-02762 Validate N4 Geographic Fields
Validation Rules
📊 Business Logic Narrative
When the process 'Validate N4 Geographic Fields' is invoked, and assuming that an n4 segment contains a postal code and the postal code length is less than 3 characters, when the system validates postal code format, the desired outcome is that the system generates an error message indicating minimum length of 3 characters is required.
💻 Technical Criteria
Given An N4 segment contains a postal code AND the postal code length is less than 3 characters
When The system validates postal code format
Then The system generates an error message indicating minimum length of 3 characters is required
R-GCCCCADD-cbl-02764 Validate N4 Geographic Fields
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Validate N4 Geographic Fields', assuming that an n4 segment has both state/province code and country code populated and the state code is not valid for the specified country, when the system cross-validates state and country codes, the desired outcome is that the system generates an error message indicating invalid state/province code for the country.
💻 Technical Criteria
EXCLUDING An N4 segment has both state/province code and country code populated AND the state code is not valid for the specified country
When The system cross-validates state and country codes
Then The system generates an error message indicating invalid state/province code for the country
R-GCCCCADD-cbl-02980 Add Error Messages to Message Array
Process Rules
📊 Business Logic Narrative
When the process 'Add Error Messages to Message Array' is invoked, and assuming that error messages have been generated for missing consignee fields, when the message index is less than 10, the desired outcome is that the system adds each error message to the message array and increments the message index.
💻 Technical Criteria
Given Error messages have been generated for missing consignee fields
When The message index is less than 10
Then The system adds each error message to the message array and increments the message index
R-GCCCCADD-cbl-02121 City Length < 2 Characters?
Validation Rules
📊 Business Logic Narrative
When the process 'City Length < 2 Characters?' is invoked, and assuming that a city name is provided in the address data, when the city name contains fewer than 2 non-space characters, the desired outcome is that generate a minimum length error message requiring at least 2 characters (gccs-e-gen-min-len2-req).
💻 Technical Criteria
Given A city name is provided in the address data
When The city name contains fewer than 2 non-space characters
Then Generate a minimum length error message requiring at least 2 characters (GCCS-E-GEN-MIN-LEN2-REQ)
R-GCCCCADD-cbl-02122 Postal Code Length < 3 Characters?
Validation Rules
📊 Business Logic Narrative
When the process 'Postal Code Length < 3 Characters?' is invoked, and assuming that a postal code is provided in the address data, when the postal code contains fewer than 3 non-space characters, the desired outcome is that generate a minimum length error message requiring at least 3 characters (gccs-e-gen-min-len3-req).
💻 Technical Criteria
Given A postal code is provided in the address data
When The postal code contains fewer than 3 non-space characters
Then Generate a minimum length error message requiring at least 3 characters (GCCS-E-GEN-MIN-LEN3-REQ)
R-GCCCCADD-cbl-02528 City Name Length >= 2?
Validation Rules
📊 Business Logic Narrative
When the process 'City Name Length >= 2?' is invoked, and assuming that a city name is provided in the address data, when the city name has fewer than 2 characters after removing trailing spaces, the desired outcome is that the system should generate a minimum length requirement error message.
💻 Technical Criteria
Given A city name is provided in the address data
When The city name has fewer than 2 characters after removing trailing spaces
Then The system should generate a minimum length requirement error message
R-GCCCCADD-cbl-02529 Postal Code Length >= 3?
Validation Rules
📊 Business Logic Narrative
When the process 'Postal Code Length >= 3?' is invoked, and assuming that a postal code is provided in the address data, when the postal code has fewer than 3 characters after removing trailing spaces, the desired outcome is that the system should generate a postal code minimum length requirement error message.
💻 Technical Criteria
Given A postal code is provided in the address data
When The postal code has fewer than 3 characters after removing trailing spaces
Then The system should generate a postal code minimum length requirement error message
R-GCCCCADD-cbl-02532 Auto-Assign Country from State
Decision Rules
📊 Business Logic Narrative
When the process 'Auto-Assign Country from State' is invoked, and assuming that address data contains a state/province code but no country code, when the state/province code is found in the state-country lookup table, the desired outcome is that the system should automatically assign the corresponding country code from the lookup table.
💻 Technical Criteria
Given Address data contains a state/province code but no country code
When The state/province code is found in the state-country lookup table
Then The system should automatically assign the corresponding country code from the lookup table
R-GCCCCADD-cbl-02772 Move Country Code to Output Field
Decision Rules
📊 Business Logic Narrative
When the process 'Move Country Code to Output Field' is invoked, and assuming that a state/province code that exists in the state-country lookup table, when the system finds a matching entry in the tb-state-country table, the desired outcome is that the system automatically sets the corresponding country code from the lookup table entry.
💻 Technical Criteria
Given A state/province code that exists in the state-country lookup table
When The system finds a matching entry in the TB-STATE-COUNTRY table
Then The system automatically sets the corresponding country code from the lookup table entry
R-GCCCCADD-cbl-00728 State must match country in lookup table
Validation Rules
📊 Business Logic Narrative
When the process 'State must match country in lookup table' is invoked, and assuming that a state/province code and country code are provided in address data, when the system searches the tb-state-country lookup table, the desired outcome is that the state entry must match the provided state/province code and the country entry must match the provided country code.
💻 Technical Criteria
Given A state/province code and country code are provided in address data
When The system searches the TB-STATE-COUNTRY lookup table
Then The state entry must match the provided state/province code AND the country entry must match the provided country code
R-GCCCCADD-cbl-00729 Other countries auto-assign country from state
Computation Rules
📊 Business Logic Narrative
When the process 'Other countries auto-assign country from state' is invoked, and assuming that an address has a state/province code but no country code specified, when the system looks up the state/province in the tb-state-country table, the desired outcome is that the system automatically assigns the corresponding country code from the lookup table to the n404 country field.
💻 Technical Criteria
Given An address has a state/province code but no country code specified
When The system looks up the state/province in the TB-STATE-COUNTRY table
Then The system automatically assigns the corresponding country code from the lookup table to the N404 country field
R-GCCCCADD-cbl-00731 Check Message Index Limit
Validation Rules
📊 Business Logic Narrative
When the process 'Check Message Index Limit' is invoked, and assuming that an error message needs to be added to the error message array, when the current message index is checked against the maximum limit of 10, the desired outcome is that if the index is less than 10, the message should be added; otherwise, the message should be skipped to prevent array overflow.
💻 Technical Criteria
Given An error message needs to be added to the error message array
When The current message index is checked against the maximum limit of 10
Then If the index is less than 10, the message should be added; otherwise, the message should be skipped to prevent array overflow
R-GCCCCADD-cbl-00733 Clear Working Variables
Process Rules
📊 Business Logic Narrative
When the process 'Clear Working Variables' is invoked, and assuming that an error message has been processed and added to the error array, when the error processing is complete, the desired outcome is that the working message variable and working error message number variable should be cleared to spaces to prepare for the next error processing cycle.
💻 Technical Criteria
Given An error message has been processed and added to the error array
When The error processing is complete
Then The working message variable and working error message number variable should be cleared to spaces to prepare for the next error processing cycle
R-GCCCCADD-cbl-00770 IMA Code = 'HM'?
Decision Rules
📊 Business Logic Narrative
When the process 'IMA Code = 'HM'?' is invoked, and assuming that a shipment with an ima code, when the ima code is evaluated for haulage requirements, the desired outcome is that if ima code equals 'hm' then haulage processing is required, otherwise haulage fields are cleared.
💻 Technical Criteria
Given A shipment with an IMA code
When The IMA code is evaluated for haulage requirements
Then If IMA code equals 'HM' then haulage processing is required, otherwise haulage fields are cleared
R-GCCCCADD-cbl-00771 Haulage Right Carrier exists?
Validation Rules
📊 Business Logic Narrative
When the process 'Haulage Right Carrier exists?' is invoked, and assuming that a shipment in haulage mode, when the haulage right carrier field is checked, the desired outcome is that if haulage right carrier is spaces then set unknown scac and reject haulage, otherwise proceed with carrier lookup.
💻 Technical Criteria
Given A shipment in haulage mode
When The haulage right carrier field is checked
Then If haulage right carrier is spaces then set unknown SCAC and reject haulage, otherwise proceed with carrier lookup
R-GCCCCADD-cbl-00772 Lookup Carrier Code in CC Table
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Carrier Code in CC Table' is invoked, and assuming that a valid haulage right carrier code, when the carrier code is looked up in the cc table, the desired outcome is that the system retrieves the corresponding ccra code for the carrier.
💻 Technical Criteria
Given A valid haulage right carrier code
When The carrier code is looked up in the CC table
Then The system retrieves the corresponding CCRA code for the carrier
R-GCCCCADD-cbl-00773 Carrier Code Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Carrier Code Found?' is invoked, and assuming that a carrier code lookup has been performed, when the lookup result is evaluated, the desired outcome is that if carrier code is found then set haulage rights scac from table, otherwise set unknown scac and reject haulage.
💻 Technical Criteria
Given A carrier code lookup has been performed
When The lookup result is evaluated
Then If carrier code is found then set haulage rights SCAC from table, otherwise set unknown SCAC and reject haulage
R-GCCCCADD-cbl-00776 Clear Haulage Fields for Non-HM
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Clear Haulage Fields for Non-HM', assuming that a shipment with ima code not equal to 'hm', when haulage processing is performed, the desired outcome is that clear haulage rights scac, haulage automated flag, and reject haulage indicator.
💻 Technical Criteria
EXCLUDING A shipment with IMA code not equal to 'HM'
When Haulage processing is performed
Then Clear haulage rights SCAC, haulage automated flag, and reject haulage indicator
R-GCCCCADD-cbl-00779 Haulage Agreement = 'Y'?
Policy Rules
📊 Business Logic Narrative
When the process 'Haulage Agreement = 'Y'?' is invoked, and assuming that ss table data for a haulage shipment, when the haulage agreement flag is evaluated, the desired outcome is that if haulage agreement equals 'y' then accept haulage, otherwise reject haulage.
💻 Technical Criteria
Given SS table data for a haulage shipment
When The haulage agreement flag is evaluated
Then If haulage agreement equals 'Y' then accept haulage, otherwise reject haulage
R-GCCCCADD-cbl-00780 Set Automated Carrier Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Automated Carrier Flag' is invoked, and assuming that a haulage shipment with ss table data found, when automated carrier processing is performed, the desired outcome is that set haulage automated flag from ss table automated carrier field, and if automated haulage then set bill owner to '6105'.
💻 Technical Criteria
Given A haulage shipment with SS table data found
When Automated carrier processing is performed
Then Set haulage automated flag from SS table automated carrier field, and if automated haulage then set bill owner to '6105'
R-GCCCCADD-cbl-00781 Set Bill-As SCAC from Haulage Bill Init
Process Rules
📊 Business Logic Narrative
When the process 'Set Bill-As SCAC from Haulage Bill Init' is invoked, and assuming that a haulage shipment with valid ss table data, when bill-as scac assignment is performed, the desired outcome is that set bill-as scac from ss table haulage bill initial field.
💻 Technical Criteria
Given A haulage shipment with valid SS table data
When Bill-as SCAC assignment is performed
Then Set bill-as SCAC from SS table haulage bill initial field
R-GCCCCADD-cbl-00782 Set Bill-As SCAC from Line Bill Init
Process Rules
📊 Business Logic Narrative
When the process 'Set Bill-As SCAC from Line Bill Init' is invoked, and assuming that a non-haulage shipment with valid ss table data, when bill-as scac assignment is performed, the desired outcome is that set bill-as scac from ss table line bill initial field.
💻 Technical Criteria
Given A non-haulage shipment with valid SS table data
When Bill-as SCAC assignment is performed
Then Set bill-as SCAC from SS table line bill initial field
R-GCCCCADD-cbl-00829 Initialize MCOA Sequence Counter
Process Rules
📊 Business Logic Narrative
When the process 'Initialize MCOA Sequence Counter' is invoked, and assuming that mcoa charge processing is initiated, when the system begins processing miscellaneous charges or allowances, the desired outcome is that the mcoa sequence counter is initialized to 1 to start processing from the first segment.
💻 Technical Criteria
Given MCOA charge processing is initiated
When the system begins processing miscellaneous charges or allowances
Then the MCOA sequence counter is initialized to 1 to start processing from the first segment
R-GCCCCADD-cbl-00831 MCOA Segment Found?
Decision Rules
📊 Business Logic Narrative
When the process 'MCOA Segment Found?' is invoked, and assuming that an attempt to retrieve an mcoa segment has been made, when the system checks the retrieval result, the desired outcome is that if no mcoa segment is found, processing moves to check for more segments, otherwise processing continues with the found segment.
💻 Technical Criteria
Given an attempt to retrieve an MCOA segment has been made
When the system checks the retrieval result
Then if no MCOA segment is found, processing moves to check for more segments, otherwise processing continues with the found segment
R-GCCCCADD-cbl-00842 Set Default Address as 'NA'
Validation Rules
📊 Business Logic Narrative
When the process 'Set Default Address as 'NA'' is invoked, and assuming that no mcoa address segment was found, when the system needs to populate address fields, the desired outcome is that the n301 address field is set to 'na' and the n302 address field is set to spaces.
💻 Technical Criteria
Given no MCOA address segment was found
When the system needs to populate address fields
Then the N301 address field is set to 'NA' and the N302 address field is set to spaces
R-GCCCCADD-cbl-00852 Increment Sequence Counter
Process Rules
📊 Business Logic Narrative
When the process 'Increment Sequence Counter' is invoked, and assuming that an mcoa segment has been processed, when the system completes processing the current segment, the desired outcome is that the mcoa sequence counter is incremented by 1 to move to the next segment.
💻 Technical Criteria
Given an MCOA segment has been processed
When the system completes processing the current segment
Then the MCOA sequence counter is incremented by 1 to move to the next segment
R-GCCCCADD-cbl-00853 More MCOA Segments?
Decision Rules
📊 Business Logic Narrative
When the process 'More MCOA Segments?' is invoked, and assuming that an mcoa segment has been processed and the counter incremented, when the system checks for more segments to process, the desired outcome is that if more mcoa segments are found, processing continues with the next segment, otherwise mcoa processing ends.
💻 Technical Criteria
Given an MCOA segment has been processed and the counter incremented
When the system checks for more segments to process
Then if more MCOA segments are found, processing continues with the next segment, otherwise MCOA processing ends
R-GCCCCADD-cbl-02142 Lookup Country Code from State
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Country Code from State' is invoked, and assuming that a state or province code is available, when the system needs to determine the country, the desired outcome is that the state-country lookup table is searched to find the corresponding country code.
💻 Technical Criteria
Given A state or province code is available
When The system needs to determine the country
Then The state-country lookup table is searched to find the corresponding country code
R-GCCCCADD-cbl-02545 Lookup Country Code from State
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Country Code from State' is invoked, and assuming that state or province code has been extracted from address data, when the system needs to determine the corresponding country code, the desired outcome is that country code is looked up from state-country reference table using the state/province code as key.
💻 Technical Criteria
Given State or province code has been extracted from address data
When The system needs to determine the corresponding country code
Then Country code is looked up from state-country reference table using the state/province code as key
R-GCCCCADD-cbl-02780 Validate Extracted Components
Decision Rules
📊 Business Logic Narrative
When the process 'Validate Extracted Components' is invoked, and assuming that a state or province code has been extracted from an address field, when the system needs to determine the corresponding country code, the desired outcome is that the system searches the tb-state-country table to find the matching country code for the state/province and moves it to the country field, or leaves it blank if no match is found.
💻 Technical Criteria
Given A state or province code has been extracted from an address field
When The system needs to determine the corresponding country code
Then The system searches the TB-STATE-COUNTRY table to find the matching country code for the state/province and moves it to the country field, or leaves it blank if no match is found
R-GCCCCADD-cbl-02985 City Name >= 2 Characters?
Validation Rules
📊 Business Logic Narrative
When the process 'City Name >= 2 Characters?' is invoked, and assuming that a city name has been extracted from an address string, when the city name length is validated, the desired outcome is that if the city name has fewer than 2 characters, a minimum length error message is generated.
💻 Technical Criteria
Given A city name has been extracted from an address string
When The city name length is validated
Then If the city name has fewer than 2 characters, a minimum length error message is generated
R-GCCCCADD-cbl-02996 Validate Postal Code Length
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Postal Code Length' is invoked, and assuming that a postal code has been extracted from an address field, when the postal code length is validated, the desired outcome is that the system determines if the postal code meets the minimum 5 character requirement.
💻 Technical Criteria
Given A postal code has been extracted from an address field
When The postal code length is validated
Then The system determines if the postal code meets the minimum 5 character requirement
R-GCCCCADD-cbl-02998 Store Parsed Postal Code
Process Rules
📊 Business Logic Narrative
When the process 'Store Parsed Postal Code' is invoked, and assuming that a postal code has been extracted and processed (padded if necessary), when the postal code storage process is executed, the desired outcome is that the processed postal code is stored in the target postal code field.
💻 Technical Criteria
Given A postal code has been extracted and processed (padded if necessary)
When The postal code storage process is executed
Then The processed postal code is stored in the target postal code field
R-GCCCCADD-cbl-00914 Extract Address Line 2 from N3 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Address Line 2 from N3 Segment' is invoked, and assuming that the n3 address segment has been successfully retrieved and address line 1 has been extracted, when the system extracts address line 2 from the n3 segment, the desired outcome is that the system should capture the second address line data for storage.
💻 Technical Criteria
Given The N3 address segment has been successfully retrieved and address line 1 has been extracted
When The system extracts address line 2 from the N3 segment
Then The system should capture the second address line data for storage
R-GCCCCADD-cbl-00963 Broker Data Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Broker Data Found?' is invoked, and assuming that the crossing table search has been executed with full criteria, when the search results are evaluated, the desired outcome is that if broker data is found, the lookup process completes successfully, otherwise proceed to secondary search with wildcards.
💻 Technical Criteria
Given The crossing table search has been executed with full criteria
When The search results are evaluated
Then If broker data is found, the lookup process completes successfully, otherwise proceed to secondary search with wildcards
R-GCCCCADD-cbl-00965 Broker Data Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Broker Data Found?' is invoked, and assuming that the crossing table search has been executed with shipper and origin wildcards, when the search results are evaluated, the desired outcome is that if broker data is found, the lookup process completes successfully, otherwise proceed to final search with commodity wildcard.
💻 Technical Criteria
Given The crossing table search has been executed with shipper and origin wildcards
When The search results are evaluated
Then If broker data is found, the lookup process completes successfully, otherwise proceed to final search with commodity wildcard
R-GCCCCADD-cbl-00966 Call Crossing Table Search - Third Attempt
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Call Crossing Table Search - Third Attempt', assuming that both primary and secondary searches did not find broker data, when the commodity code is set to wildcard and the crossing table search is executed, the desired outcome is that the system attempts to find broker data with the most general search criteria.
💻 Technical Criteria
EXCLUDING Both primary and secondary searches did not find broker data
When The commodity code is set to wildcard and the crossing table search is executed
Then The system attempts to find broker data with the most general search criteria
R-GCCCCADD-cbl-00995 Store AU Table Data
Process Rules
📊 Business Logic Narrative
When the process 'Store AU Table Data' is invoked, and assuming that an authorized user table lookup has been performed, when the lookup returns valid data, the desired outcome is that the authorized user table data should be stored in the working storage area.
💻 Technical Criteria
Given An authorized user table lookup has been performed
When The lookup returns valid data
Then The authorized user table data should be stored in the working storage area
R-GCCCCADD-cbl-00996 Clear AU Table Data
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Clear AU Table Data', assuming that an authorized user table lookup has been performed, when the lookup does not return valid data, the desired outcome is that the authorized user table data area should be cleared to spaces.
💻 Technical Criteria
EXCLUDING An authorized user table lookup has been performed
When The lookup does not return valid data
Then The authorized user table data area should be cleared to spaces
R-GCCCCADD-cbl-01003 Length < 5 Characters?
Validation Rules
📊 Business Logic Narrative
When the process 'Length < 5 Characters?' is invoked, and assuming that the shipper postal code length has been calculated, when the system compares the length to the minimum requirement of 5 characters, the desired outcome is that if length is less than 5 characters, proceed with padding, otherwise continue to consignee processing.
💻 Technical Criteria
Given The shipper postal code length has been calculated
When The system compares the length to the minimum requirement of 5 characters
Then If length is less than 5 characters, proceed with padding, otherwise continue to consignee processing
R-GCCCCADD-cbl-01007 Length < 5 Characters?
Validation Rules
📊 Business Logic Narrative
When the process 'Length < 5 Characters?' is invoked, and assuming that the consignee postal code length has been calculated, when the system compares the length to the minimum requirement of 5 characters, the desired outcome is that if length is less than 5 characters, proceed with padding, otherwise continue to notify party processing.
💻 Technical Criteria
Given The consignee postal code length has been calculated
When The system compares the length to the minimum requirement of 5 characters
Then If length is less than 5 characters, proceed with padding, otherwise continue to notify party processing
R-GCCCCADD-cbl-01011 Length < 5 Characters?
Validation Rules
📊 Business Logic Narrative
When the process 'Length < 5 Characters?' is invoked, and assuming that the notify party postal code length has been calculated, when the system compares the length to the minimum requirement of 5 characters, the desired outcome is that if length is less than 5 characters, proceed with padding, otherwise complete processing.
💻 Technical Criteria
Given The notify party postal code length has been calculated
When The system compares the length to the minimum requirement of 5 characters
Then If length is less than 5 characters, proceed with padding, otherwise complete processing
R-GCCCCADD-cbl-01052 Is Country Code 'US'?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Country Code 'US'?' is invoked, and assuming that a state code match is found in the lookup table, when the system checks the corresponding country code for the matched state, the desired outcome is that the system should determine if the country code equals 'us'.
💻 Technical Criteria
Given A state code match is found in the lookup table
When The system checks the corresponding country code for the matched state
Then The system should determine if the country code equals 'US'
R-GCCCCADD-cbl-01057 Set Consignee CHOP from Shipment Root
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Consignee CHOP from Shipment Root' is invoked, and assuming that shipment root data containing consignee chop code, when the system prepares rf table lookup parameters, the desired outcome is that the consignee chop code from shipment root is assigned to the rf table lookup key.
💻 Technical Criteria
Given Shipment root data containing consignee CHOP code
When The system prepares RF table lookup parameters
Then The consignee CHOP code from shipment root is assigned to the RF table lookup key
R-GCCCCADD-cbl-01059 Set Table ID to 'RF'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Table ID to 'RF'' is invoked, and assuming that a requirement to lookup rail facility data, when the system sets up table lookup parameters, the desired outcome is that the table id is set to 'rf' to identify the rail facility table.
💻 Technical Criteria
Given A requirement to lookup rail facility data
When The system sets up table lookup parameters
Then The table ID is set to 'RF' to identify the Rail Facility table
R-GCCCCADD-cbl-03006 Move Table Data to GCSTBRTCM
Process Rules
📊 Business Logic Narrative
When the process 'Move Table Data to GCSTBRTCM' is invoked, and assuming that cm table lookup completed successfully, when the system processes the returned table data, the desired outcome is that the table segment data is moved to gcstbrtcm structure for further processing.
💻 Technical Criteria
Given CM table lookup completed successfully
When The system processes the returned table data
Then The table segment data is moved to GCSTBRTCM structure for further processing
R-GCCCCADD-cbl-03016 Move Table Segment to GCSTBRTMC
Process Rules
📊 Business Logic Narrative
When the process 'Move Table Segment to GCSTBRTMC' is invoked, and assuming that an mc table lookup has completed successfully, when the system processes the successful lookup result, the desired outcome is that the system moves the returned table segment data to the mc table structure.
💻 Technical Criteria
Given An MC table lookup has completed successfully
When The system processes the successful lookup result
Then The system moves the returned table segment data to the MC table structure
R-GCCCCADD-cbl-01083 Validate Quantity Qualifier Against MU Table
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Quantity Qualifier Against MU Table' is invoked, and assuming that a quantity qualifier has been determined for the shipment, when the quantity qualifier is looked up in the mu (measurement unit) table, the desired outcome is that if qualifier is not found in mu table, generate error message indicating qualifier is not valid.
💻 Technical Criteria
Given A quantity qualifier has been determined for the shipment
When The quantity qualifier is looked up in the MU (Measurement Unit) table
Then If qualifier is not found in MU table, generate error message indicating qualifier is not valid
R-GCCCCADD-cbl-01084 Validate Quantity Qualifier Against MU Table
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Quantity Qualifier Against MU Table' is invoked, and assuming that shipment processing requires a quantity qualifier, when quantity qualifier is blank or spaces, the desired outcome is that generate error message indicating quantity qualifier is required.
💻 Technical Criteria
Given Shipment processing requires a quantity qualifier
When Quantity qualifier is blank or spaces
Then Generate error message indicating quantity qualifier is required
R-GCCCCADD-cbl-01085 Initialize CNS Search Variables
Process Rules
📊 Business Logic Narrative
When the process 'Initialize CNS Search Variables' is invoked, and assuming that a consolidated load indicator search is initiated, when the search parameters need to be initialized, the desired outcome is that the cns sequence counter is set to 1 and the cns indicator flag is set to not found.
💻 Technical Criteria
Given A consolidated load indicator search is initiated
When The search parameters need to be initialized
Then The CNS sequence counter is set to 1 and the CNS indicator flag is set to not found
R-GCCCCADD-cbl-01089 Set CNS Indicator Found
Definitional Rules
📊 Business Logic Narrative
When the process 'Set CNS Indicator Found' is invoked, and assuming that the h3 special handling code equals 'cns', when the consolidated load indicator is identified, the desired outcome is that the cns indicator found flag is set to true.
💻 Technical Criteria
Given The H3 special handling code equals 'CNS'
When The consolidated load indicator is identified
Then The CNS indicator found flag is set to true
R-GCCCCADD-cbl-01090 Set Consolidated Load = 'Y'
Action Rules
📊 Business Logic Narrative
When the process 'Set Consolidated Load = 'Y'' is invoked, and assuming that a cns indicator has been found in the special handling segments, when the consolidated load flag needs to be set, the desired outcome is that the consolidated load indicator is set to 'y'.
💻 Technical Criteria
Given A CNS indicator has been found in the special handling segments
When The consolidated load flag needs to be set
Then The consolidated load indicator is set to 'Y'
R-GCCCCADD-cbl-01099 Get Shipper State/Province Code
Decision Rules
📊 Business Logic Narrative
When the process 'Get Shipper State/Province Code' is invoked, and assuming that a shipper address exists with a state/province code, when the system looks up the state/province code in the state-country reference table, the desired outcome is that the corresponding country code is assigned to the shipper.
💻 Technical Criteria
Given A shipper address exists with a state/province code
When The system looks up the state/province code in the state-country reference table
Then The corresponding country code is assigned to the shipper
R-GCCCCADD-cbl-01101 Generate Invalid State Error Message
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Invalid State Error Message', assuming that a shipper has a state/province code that is not spaces, when the state/province code is not found in the state-country lookup table, the desired outcome is that an invalid shipper province/state code error message is generated.
💻 Technical Criteria
EXCLUDING A shipper has a state/province code that is not spaces
When The state/province code is not found in the state-country lookup table
Then An invalid shipper province/state code error message is generated
R-GCCCCADD-cbl-01102 Get Consignee State/Province Code
Decision Rules
📊 Business Logic Narrative
When the process 'Get Consignee State/Province Code' is invoked, and assuming that a consignee address exists with a state/province code, when the system looks up the state/province code in the state-country reference table, the desired outcome is that the corresponding country code is assigned to the consignee.
💻 Technical Criteria
Given A consignee address exists with a state/province code
When The system looks up the state/province code in the state-country reference table
Then The corresponding country code is assigned to the consignee
R-GCCCCADD-cbl-01104 Generate Invalid State Error Message
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Invalid State Error Message', assuming that a consignee has a state/province code that is not spaces, when the state/province code is not found in the state-country lookup table, the desired outcome is that an invalid consignee province/state code error message is generated.
💻 Technical Criteria
EXCLUDING A consignee has a state/province code that is not spaces
When The state/province code is not found in the state-country lookup table
Then An invalid consignee province/state code error message is generated
R-GCCCCADD-cbl-01107 Copy Consignee Address Line 1 to Notify Party Address Line 1
Process Rules
📊 Business Logic Narrative
When the process 'Copy Consignee Address Line 1 to Notify Party Address Line 1' is invoked, and assuming that a notify party name exists and consignee address line 1 is available, when the system processes notify party address inheritance, the desired outcome is that the consignee's address line 1 is copied to the notify party's address line 1 field.
💻 Technical Criteria
Given A notify party name exists and consignee address line 1 is available
When The system processes notify party address inheritance
Then The consignee's address line 1 is copied to the notify party's address line 1 field
R-GCCCCADD-cbl-01108 Copy Consignee Address Line 2 to Notify Party Address Line 2
Process Rules
📊 Business Logic Narrative
When the process 'Copy Consignee Address Line 2 to Notify Party Address Line 2' is invoked, and assuming that a notify party name exists and consignee address line 2 is available, when the system processes notify party address inheritance, the desired outcome is that the consignee's address line 2 is copied to the notify party's address line 2 field.
💻 Technical Criteria
Given A notify party name exists and consignee address line 2 is available
When The system processes notify party address inheritance
Then The consignee's address line 2 is copied to the notify party's address line 2 field
R-GCCCCADD-cbl-01109 Copy Consignee Country Code to Notify Party Country Code
Process Rules
📊 Business Logic Narrative
When the process 'Copy Consignee Country Code to Notify Party Country Code' is invoked, and assuming that a notify party name exists and consignee country code is available, when the system processes notify party address inheritance, the desired outcome is that the consignee's country code is copied to the notify party's country code field.
💻 Technical Criteria
Given A notify party name exists and consignee country code is available
When The system processes notify party address inheritance
Then The consignee's country code is copied to the notify party's country code field
R-GCCCCADD-cbl-01140 AU Table Data Available?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'AU Table Data Available?', assuming that a shipment is being processed and csa indicator is not already on, when au table data is not available or accessible, the desired outcome is that skip csa indicator management and continue with normal processing.
💻 Technical Criteria
EXCLUDING A shipment is being processed and CSA indicator is not already on
When AU table data is not available or accessible
Then Skip CSA indicator management and continue with normal processing
R-GCCCCADD-cbl-01228 Setup AU Table Lookup Parameters
Action Rules
📊 Business Logic Narrative
When the process 'Setup AU Table Lookup Parameters' is invoked, and assuming that the system needs to determine origin country from au table, when setting up the au table lookup parameters, the desired outcome is that the table id should be set to 'au', consignee chop should be used as the chop key, and commodity code should be used as the commodity key.
💻 Technical Criteria
Given The system needs to determine origin country from AU table
When Setting up the AU table lookup parameters
Then The table ID should be set to 'AU', consignee CHOP should be used as the CHOP key, and commodity code should be used as the commodity key
R-GCCCCADD-cbl-01247 Use Calculated Quantity
Validation Rules
📊 Business Logic Narrative
When the process 'Use Calculated Quantity' is invoked, and assuming that all commodity data processing is complete, when the system validates the final calculated quantity, the desired outcome is that the system uses the calculated quantity if greater than zero, otherwise sets quantity to 1 as default.
💻 Technical Criteria
Given All commodity data processing is complete
When The system validates the final calculated quantity
Then The system uses the calculated quantity if greater than zero, otherwise sets quantity to 1 as default
R-GCCCCADD-cbl-01377 BN Address Found?
Decision Rules
📊 Business Logic Narrative
When the process 'BN Address Found?' is invoked, and assuming that a search for beneficial owner address has been performed, when checking if address data exists for beneficial owner, the desired outcome is that if address is found, extract address lines; otherwise, set default address to 'na'.
💻 Technical Criteria
Given A search for beneficial owner address has been performed
When Checking if address data exists for beneficial owner
Then If address is found, extract address lines; otherwise, set default address to 'NA'
R-GCCCCADD-cbl-01385 Validate BN Segment Data
Validation Rules
📊 Business Logic Narrative
When the process 'Validate BN Segment Data' is invoked, and assuming that all beneficial owner segment fields have been processed, when validating the beneficial owner segment, the desired outcome is that the segment data is validated according to business rules for entity segments.
💻 Technical Criteria
Given All beneficial owner segment fields have been processed
When Validating the beneficial owner segment
Then The segment data is validated according to business rules for entity segments
R-GCCCCADD-cbl-01399 Lookup Country Code from State
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Country Code from State' is invoked, and assuming that state/province code is available from parsed fastway address data, when country code needs to be determined for the carrier address, the desired outcome is that the state-country lookup table is searched to find the corresponding country code for the state/province code.
💻 Technical Criteria
Given State/province code is available from parsed Fastway address data
When Country code needs to be determined for the carrier address
Then The state-country lookup table is searched to find the corresponding country code for the state/province code
R-GCCCCADD-cbl-01411 Address Segment Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Address Segment Found?' is invoked, and assuming that a request for t2 address segment has been made, when checking if address data is available, the desired outcome is that address processing continues if t2 segment found, otherwise skip to city/state processing.
💻 Technical Criteria
Given A request for T2 address segment has been made
When Checking if address data is available
Then Address processing continues if T2 segment found, otherwise skip to city/state processing
R-GCCCCADD-cbl-01415 City/State Segment Found?
Validation Rules
📊 Business Logic Narrative
When the process 'City/State Segment Found?' is invoked, and assuming that a request for ta city/state segment has been made, when checking if city/state data is available, the desired outcome is that city/state processing continues if ta segment found, otherwise skip to contact processing.
💻 Technical Criteria
Given A request for TA city/state segment has been made
When Checking if city/state data is available
Then City/state processing continues if TA segment found, otherwise skip to contact processing
R-GCCCCADD-cbl-01421 Contact Segment Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Contact Segment Found?' is invoked, and assuming that a request for t3 contact segment has been made, when checking if contact data is available, the desired outcome is that contact processing continues if t3 segment found, otherwise skip to address defaulting.
💻 Technical Criteria
Given A request for T3 contact segment has been made
When Checking if contact data is available
Then Contact processing continues if T3 segment found, otherwise skip to address defaulting
R-GCCCCADD-cbl-01430 Initialize Entity Segment
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Entity Segment' is invoked, and assuming that mcoa segment processing is starting, when the system begins to build pf or ss entity segments, the desired outcome is that the entity segment data structure is initialized to spaces.
💻 Technical Criteria
Given MCOA segment processing is starting
When the system begins to build PF or SS entity segments
Then the entity segment data structure is initialized to spaces
R-GCCCCADD-cbl-01432 MCOA Segment Found?
Validation Rules
📊 Business Logic Narrative
When the process 'MCOA Segment Found?' is invoked, and assuming that mcoa segment retrieval has been attempted, when the system checks if segment data exists and type equals 'ot', the desired outcome is that processing continues if segment is found, otherwise moves to next sequence.
💻 Technical Criteria
Given MCOA segment retrieval has been attempted
When the system checks if segment data exists and type equals 'OT'
Then processing continues if segment is found, otherwise moves to next sequence
R-GCCCCADD-cbl-01439 Set Address Lines from MCOA
Process Rules
📊 Business Logic Narrative
When the process 'Set Address Lines from MCOA' is invoked, and assuming that valid mcoa on segment address data, when address fields are populated, the desired outcome is that address line 1 and address line 2 are set from the mcoa segment data.
💻 Technical Criteria
Given valid MCOA ON segment address data
When address fields are populated
Then address line 1 and address line 2 are set from the MCOA segment data
R-GCCCCADD-cbl-01440 Set Default Address as 'NA'
Definitional Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Default Address as 'NA'', assuming that mcoa on segment address data is not found, when address fields need to be populated, the desired outcome is that address line 1 is set to 'na' and address line 2 is cleared.
💻 Technical Criteria
EXCLUDING MCOA ON segment address data is not found
When address fields need to be populated
Then address line 1 is set to 'NA' and address line 2 is cleared
R-GCCCCADD-cbl-01443 Set City, State, Postal, Country
Process Rules
📊 Business Logic Narrative
When the process 'Set City, State, Postal, Country' is invoked, and assuming that valid mcoa oc segment geographic data, when geographic fields are populated, the desired outcome is that city name, state/province code, postal code, and country code are set from mcoa segment.
💻 Technical Criteria
Given valid MCOA OC segment geographic data
When geographic fields are populated
Then city name, state/province code, postal code, and country code are set from MCOA segment
R-GCCCCADD-cbl-01444 Clear City/State Fields
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Clear City/State Fields', assuming that mcoa oc segment geographic data is not found, when geographic fields need to be populated, the desired outcome is that city name, state/province code, postal code, and country code are all cleared.
💻 Technical Criteria
EXCLUDING MCOA OC segment geographic data is not found
When geographic fields need to be populated
Then city name, state/province code, postal code, and country code are all cleared
R-GCCCCADD-cbl-01448 More MCOA Sequences?
Decision Rules
📊 Business Logic Narrative
When the process 'More MCOA Sequences?' is invoked, and assuming that mcoa sequence processing loop is active, when the system checks for more sequences to process, the desired outcome is that processing continues if more mcoa sequences are found, otherwise processing ends.
💻 Technical Criteria
Given MCOA sequence processing loop is active
When the system checks for more sequences to process
Then processing continues if more MCOA sequences are found, otherwise processing ends
R-GCCCCADD-cbl-01476 City name too short?
Validation Rules
📊 Business Logic Narrative
When the process 'City name too short?' is invoked, and assuming that an n1 segment has a city name provided, when the city name length is less than 2 characters, the desired outcome is that generate a minimum length requirement error message.
💻 Technical Criteria
Given An N1 segment has a city name provided
When The city name length is less than 2 characters
Then Generate a minimum length requirement error message
R-GCCCCADD-cbl-01477 Postal code too short?
Validation Rules
📊 Business Logic Narrative
When the process 'Postal code too short?' is invoked, and assuming that an n1 segment has a postal code provided, when the postal code length is less than 3 characters, the desired outcome is that generate a postal code minimum length error message.
💻 Technical Criteria
Given An N1 segment has a postal code provided
When The postal code length is less than 3 characters
Then Generate a postal code minimum length error message
R-GCCCCADD-cbl-01502 Search State-Country Lookup Table
Action Rules
📊 Business Logic Narrative
When the process 'Search State-Country Lookup Table' is invoked, and assuming that a state/province code and country code are provided, when the system searches the state-country lookup table, the desired outcome is that find matching entry where state code equals table state entry and country code equals table country entry.
💻 Technical Criteria
Given A state/province code and country code are provided
When The system searches the state-country lookup table
Then Find matching entry where state code equals table state entry and country code equals table country entry
R-GCCCCADD-cbl-01508 Search State-Country Table for Country
Action Rules
📊 Business Logic Narrative
When the process 'Search State-Country Table for Country' is invoked, and assuming that country code is missing but state/province code is provided, when the system searches the state-country table using state/province code, the desired outcome is that find matching entry where state/province code equals table state entry.
💻 Technical Criteria
Given Country code is missing but state/province code is provided
When The system searches the state-country table using state/province code
Then Find matching entry where state/province code equals table state entry
R-GCCCCADD-cbl-01538 Set Default Consignee Address
Validation Rules
📊 Business Logic Narrative
When the process 'Set Default Consignee Address' is invoked, and assuming that consignee address data from fastway shipment root is being processed, when consignee address field 3 is spaces or consignee address field 4 is spaces or has only first character with remaining spaces, the desired outcome is that set consignee address field 1 to 'na' when field 3 is spaces and set consignee address field 2 to 'na' for first 18 characters when field 4 is spaces or incomplete and set consignee country code to 'ca' when address field 4 is defaulted.
💻 Technical Criteria
Given Consignee address data from Fastway shipment root is being processed
When Consignee address field 3 is spaces OR consignee address field 4 is spaces or has only first character with remaining spaces
Then Set consignee address field 1 to 'NA' when field 3 is spaces AND set consignee address field 2 to 'NA' for first 18 characters when field 4 is spaces or incomplete AND set consignee country code to 'CA' when address field 4 is defaulted
R-GCCCCADD-cbl-01539 Parse Address Components
Computation Rules
📊 Business Logic Narrative
When the process 'Parse Address Components' is invoked, and assuming that address data exists in fastway format and address parsing is required for entity, when processing address field 2 for shipper or processing address field 4 for consignee or processing carrier address data, the desired outcome is that parse address into city name, state/province code, and postal code components and lookup country code using state-country table based on state/province code and set country code from lookup result.
💻 Technical Criteria
Given Address data exists in Fastway format AND address parsing is required for entity
When Processing address field 2 for shipper OR processing address field 4 for consignee OR processing carrier address data
Then Parse address into city name, state/province code, and postal code components AND lookup country code using state-country table based on state/province code AND set country code from lookup result
R-GCCCCADD-cbl-01551 State Code Matches Table Entry?
Decision Rules
📊 Business Logic Narrative
When the process 'State Code Matches Table Entry?' is invoked, and assuming that the system is searching through the state-country lookup table, when the system compares the entity's state or province code with a table entry, the desired outcome is that the system should determine if the state code exactly matches the current table entry.
💻 Technical Criteria
Given The system is searching through the state-country lookup table
When The system compares the entity's state or province code with a table entry
Then The system should determine if the state code exactly matches the current table entry
R-GCCCCADD-cbl-01552 Assign Corresponding Country Code to Entity
Action Rules
📊 Business Logic Narrative
When the process 'Assign Corresponding Country Code to Entity' is invoked, and assuming that a matching state or province code is found in the state-country lookup table, when the system processes the matched entry, the desired outcome is that the system should assign the corresponding country code from the table entry to the entity.
💻 Technical Criteria
Given A matching state or province code is found in the state-country lookup table
When The system processes the matched entry
Then The system should assign the corresponding country code from the table entry to the entity
R-GCCCCADD-cbl-01553 More Table Entries to Check?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'More Table Entries to Check?', assuming that the current table entry does not match the entity's state or province code, when the system evaluates the search progress, the desired outcome is that the system should check if there are more entries remaining in the state-country lookup table to examine.
💻 Technical Criteria
EXCLUDING The current table entry does not match the entity's state or province code
When The system evaluates the search progress
Then The system should check if there are more entries remaining in the state-country lookup table to examine
R-GCCCCADD-cbl-01554 Move to Next Table Entry
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Move to Next Table Entry', assuming that there are more entries to check in the state-country lookup table, when the current entry does not match the entity's state or province code, the desired outcome is that the system should increment the search index to move to the next table entry.
💻 Technical Criteria
EXCLUDING There are more entries to check in the state-country lookup table
When The current entry does not match the entity's state or province code
Then The system should increment the search index to move to the next table entry
R-GCCCCADD-cbl-01555 No Country Code Found - Leave Blank
Action Rules
📊 Business Logic Narrative
When the process 'No Country Code Found - Leave Blank' is invoked, and assuming that the system has searched through all entries in the state-country lookup table, when no matching state or province code is found, the desired outcome is that the system should leave the entity's country code field blank or unassigned.
💻 Technical Criteria
Given The system has searched through all entries in the state-country lookup table
When No matching state or province code is found
Then The system should leave the entity's country code field blank or unassigned
R-GCCCCADD-cbl-01581 Get Actual String Length
Computation Rules
📊 Business Logic Narrative
When the process 'Get Actual String Length' is invoked, and assuming that a city name field with potential trailing spaces, when the system calculates the actual string length, the desired outcome is that return the length excluding trailing spaces by iterating from the end until a non-space character is found.
💻 Technical Criteria
Given A city name field with potential trailing spaces
When The system calculates the actual string length
Then Return the length excluding trailing spaces by iterating from the end until a non-space character is found
R-GCCCCADD-cbl-01585 Get Actual String Length Excluding Trailing Spaces
Computation Rules
📊 Business Logic Narrative
When the process 'Get Actual String Length Excluding Trailing Spaces' is invoked, and assuming that a postal code field contains data with potential trailing spaces, when the system needs to validate the postal code length, the desired outcome is that the system should calculate the actual string length excluding trailing spaces.
💻 Technical Criteria
Given A postal code field contains data with potential trailing spaces
When The system needs to validate the postal code length
Then The system should calculate the actual string length excluding trailing spaces
R-GCCCCADD-cbl-01591 Valid State/Province for Country?
Validation Rules
📊 Business Logic Narrative
When the process 'Valid State/Province for Country?' is invoked, and assuming that an address contains both a country code and a state/province code, when the state/province code is validated against the country using the state-country lookup table, the desired outcome is that if the state/province code is not valid for the specified country, the system should generate an invalid state/province error message.
💻 Technical Criteria
Given An address contains both a country code and a state/province code
When The state/province code is validated against the country using the state-country lookup table
Then If the state/province code is not valid for the specified country, the system should generate an invalid state/province error message
R-GCCCCADD-cbl-01592 Set Country Code from State/Province Lookup
Decision Rules
📊 Business Logic Narrative
When the process 'Set Country Code from State/Province Lookup' is invoked, and assuming that an address has a state/province code but no country code specified, when the system looks up the state/province code in the state-country reference table, the desired outcome is that the system should automatically set the country code based on the lookup result from the state-country table.
💻 Technical Criteria
Given An address has a state/province code but no country code specified
When The system looks up the state/province code in the state-country reference table
Then The system should automatically set the country code based on the lookup result from the state-country table
R-GCCCCADD-cbl-01628 Lookup Carrier in CC Table
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Carrier in CC Table' is invoked, and assuming that a valid haulage right carrier code, when the system looks up the carrier in the cc table, the desired outcome is that retrieve the corresponding ccra code for the haulage rights scac.
💻 Technical Criteria
Given A valid haulage right carrier code
When The system looks up the carrier in the CC table
Then Retrieve the corresponding CCRA code for the haulage rights SCAC
R-GCCCCADD-cbl-01629 Carrier Found in CC Table?
Decision Rules
📊 Business Logic Narrative
When the process 'Carrier Found in CC Table?' is invoked, and assuming that a haulage right carrier code that needs to be validated, when the carrier lookup in cc table fails, the desired outcome is that set haulage rights scac to unknown, clear automated flag, reject haulage, and set bill owner to unknown.
💻 Technical Criteria
Given A haulage right carrier code that needs to be validated
When The carrier lookup in CC table fails
Then Set haulage rights SCAC to unknown, clear automated flag, reject haulage, and set bill owner to unknown
R-GCCCCADD-cbl-01630 Set Haulage Rights SCAC from CC Table
Action Rules
📊 Business Logic Narrative
When the process 'Set Haulage Rights SCAC from CC Table' is invoked, and assuming that a successful cc table lookup for the haulage right carrier, when the system processes the cc table result, the desired outcome is that set the haulage rights scac to the ccra code from the cc table entry.
💻 Technical Criteria
Given A successful CC table lookup for the haulage right carrier
When The system processes the CC table result
Then Set the haulage rights SCAC to the CCRA code from the CC table entry
R-GCCCCADD-cbl-01634 Clear Haulage Rights and Flags
Action Rules
📊 Business Logic Narrative
When the process 'Clear Haulage Rights and Flags' is invoked, and assuming that a shipment with ima code other than 'hm', when the system processes non-haulage shipments, the desired outcome is that clear haulage rights scac, automated flag, and reject haulage indicator.
💻 Technical Criteria
Given A shipment with IMA code other than 'HM'
When The system processes non-haulage shipments
Then Clear haulage rights SCAC, automated flag, and reject haulage indicator
R-GCCCCADD-cbl-01636 Haulage Rights SCAC exists?
Decision Rules
📊 Business Logic Narrative
When the process 'Haulage Rights SCAC exists?' is invoked, and assuming that a requirement to lookup ss table entry, when the system determines which scac code to use, the desired outcome is that if haulage rights scac is blank then use '6105' as scac code, otherwise use the haulage rights scac.
💻 Technical Criteria
Given A requirement to lookup SS table entry
When The system determines which SCAC code to use
Then If haulage rights SCAC is blank then use '6105' as SCAC code, otherwise use the haulage rights SCAC
R-GCCCCADD-cbl-02228 IMA Code = 'HM'?
Decision Rules
📊 Business Logic Narrative
When the process 'IMA Code = 'HM'?' is invoked, and assuming that a shipment with an ima code, when the ima code is evaluated, the desired outcome is that if ima code equals 'hm' then haulage processing is required, otherwise haulage fields are cleared.
💻 Technical Criteria
Given A shipment with an IMA code
When The IMA code is evaluated
Then If IMA code equals 'HM' then haulage processing is required, otherwise haulage fields are cleared
R-GCCCCADD-cbl-02235 Clear Haulage Rights SCAC
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Clear Haulage Rights SCAC', assuming that a shipment with ima code not equal to 'hm', when haulage processing is performed, the desired outcome is that clear haulage rights scac, haulage automated flag, and reject haulage indicator.
💻 Technical Criteria
EXCLUDING A shipment with IMA code not equal to 'HM'
When Haulage processing is performed
Then Clear haulage rights SCAC, haulage automated flag, and reject haulage indicator
R-GCCCCADD-cbl-02237 Haulage Rights SCAC exists?
Decision Rules
📊 Business Logic Narrative
When the process 'Haulage Rights SCAC exists?' is invoked, and assuming that an ss table lookup key being constructed, when the haulage rights scac is evaluated, the desired outcome is that if haulage rights scac is spaces then use '6105' as scac code, otherwise use haulage rights scac.
💻 Technical Criteria
Given An SS table lookup key being constructed
When The haulage rights SCAC is evaluated
Then If haulage rights SCAC is spaces then use '6105' as SCAC code, otherwise use haulage rights SCAC
R-GCCCCADD-cbl-02239 SS Table Entry Found?
Decision Rules
📊 Business Logic Narrative
When the process 'SS Table Entry Found?' is invoked, and assuming that an ss table lookup has been performed, when the lookup result is evaluated, the desired outcome is that if lookup successful then process haulage mode logic, otherwise handle lookup failure based on haulage mode.
💻 Technical Criteria
Given An SS table lookup has been performed
When The lookup result is evaluated
Then If lookup successful then process haulage mode logic, otherwise handle lookup failure based on haulage mode
R-GCCCCADD-cbl-02240 Haulage Mode?
Decision Rules
📊 Business Logic Narrative
When the process 'Haulage Mode?' is invoked, and assuming that a successful ss table lookup, when the shipment mode is evaluated, the desired outcome is that if haulage mode then set automated carrier flag, check haulage agreement, and set haulage bill scac, otherwise set line bill scac.
💻 Technical Criteria
Given A successful SS table lookup
When The shipment mode is evaluated
Then If haulage mode then set automated carrier flag, check haulage agreement, and set haulage bill SCAC, otherwise set line bill SCAC
R-GCCCCADD-cbl-02241 Set Automated Carrier Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Automated Carrier Flag' is invoked, and assuming that a haulage mode shipment with successful ss table lookup, when automated carrier processing is performed, the desired outcome is that set haulage automated flag from ss table automated carrier field.
💻 Technical Criteria
Given A haulage mode shipment with successful SS table lookup
When Automated carrier processing is performed
Then Set haulage automated flag from SS table automated carrier field
R-GCCCCADD-cbl-02242 Set Bill Owner to '6105'
Process Rules
📊 Business Logic Narrative
When the process 'Set Bill Owner to '6105'' is invoked, and assuming that a haulage shipment with automated haulage flag set, when bill owner is determined, the desired outcome is that set bill owner to '6105' for automated haulage.
💻 Technical Criteria
Given A haulage shipment with automated haulage flag set
When Bill owner is determined
Then Set bill owner to '6105' for automated haulage
R-GCCCCADD-cbl-02244 Set Bill-As SCAC from Haulage Bill Init
Process Rules
📊 Business Logic Narrative
When the process 'Set Bill-As SCAC from Haulage Bill Init' is invoked, and assuming that a haulage shipment with ss table data, when bill-as scac is assigned, the desired outcome is that set bill-as scac from ss table haulage bill initial field.
💻 Technical Criteria
Given A haulage shipment with SS table data
When Bill-as SCAC is assigned
Then Set bill-as SCAC from SS table haulage bill initial field
R-GCCCCADD-cbl-02245 Set Bill-As SCAC from Line Bill Init
Process Rules
📊 Business Logic Narrative
When the process 'Set Bill-As SCAC from Line Bill Init' is invoked, and assuming that a non-haulage shipment with ss table data, when bill-as scac is assigned, the desired outcome is that set bill-as scac from ss table line bill initial field.
💻 Technical Criteria
Given A non-haulage shipment with SS table data
When Bill-as SCAC is assigned
Then Set bill-as SCAC from SS table line bill initial field
R-GCCCCADD-cbl-02247 Set Bill Owner to '6105'
Process Rules
📊 Business Logic Narrative
When the process 'Set Bill Owner to '6105'' is invoked, and assuming that a non-haulage shipment with failed ss table lookup, when bill owner is assigned, the desired outcome is that set bill owner to '6105' as default.
💻 Technical Criteria
Given A non-haulage shipment with failed SS table lookup
When Bill owner is assigned
Then Set bill owner to '6105' as default
R-GCCCCADD-cbl-02602 Automated Haulage?
Decision Rules
📊 Business Logic Narrative
When the process 'Automated Haulage?' is invoked, and assuming that a haulage movement with automated carrier flag set from ss table, when the system checks if haulage is automated, the desired outcome is that if automated haulage then set bill owner to '6105', otherwise continue with current bill owner.
💻 Technical Criteria
Given A haulage movement with automated carrier flag set from SS table
When The system checks if haulage is automated
Then If automated haulage then set bill owner to '6105', otherwise continue with current bill owner
R-GCCCCADD-cbl-02603 Set Bill Owner to '6105'
Action Rules
📊 Business Logic Narrative
When the process 'Set Bill Owner to '6105'' is invoked, and assuming that a haulage movement identified as automated, when the system processes bill owner assignment, the desired outcome is that set the bill owner to '6105' for automated haulage processing.
💻 Technical Criteria
Given A haulage movement identified as automated
When The system processes bill owner assignment
Then Set the bill owner to '6105' for automated haulage processing
R-GCCCCADD-cbl-02610 Set Non-Haulage Defaults: - Bill Owner: '6105' - Bill-As SCAC: '6105'
Action Rules
📊 Business Logic Narrative
When the process 'Set Non-Haulage Defaults: - Bill Owner: '6105' - Bill-As SCAC: '6105'' is invoked, and assuming that a non-haulage movement where ss table lookup failed, when the system processes the failed lookup, the desired outcome is that set bill owner to '6105' and set bill-as scac to '6105'.
💻 Technical Criteria
Given A non-haulage movement where SS table lookup failed
When The system processes the failed lookup
Then Set bill owner to '6105' and set bill-as SCAC to '6105'
R-GCCCCADD-cbl-02611 Clear Haulage Fields: - Rights SCAC: Blank - Automated Flag: Blank - Reject Indicator: Blank
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Clear Haulage Fields: - Rights SCAC: Blank - Automated Flag: Blank - Reject Indicator: Blank', assuming that a shipment that is not a haulage movement (ima code ≠ 'hm'), when the system processes the movement type, the desired outcome is that clear haulage rights scac, automated flag, and reject haulage indicator.
💻 Technical Criteria
EXCLUDING A shipment that is not a haulage movement (IMA code ≠ 'HM')
When The system processes the movement type
Then Clear haulage rights SCAC, automated flag, and reject haulage indicator
R-GCCCCADD-cbl-02822 Haulage Rights SCAC Available?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Haulage Rights SCAC Available?', assuming that the system is constructing an ss table lookup key, when the haulage rights scac code is available and not spaces, the desired outcome is that use the haulage rights scac code for the ss table key.
💻 Technical Criteria
EXCLUDING The system is constructing an SS table lookup key
When The haulage rights SCAC code is available and not spaces
Then Use the haulage rights SCAC code for the SS table key
R-GCCCCADD-cbl-02823 Use Default SCAC '6105'
Definitional Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Default SCAC '6105'', assuming that the system is constructing an ss table lookup key, when the haulage rights scac code is spaces or not available, the desired outcome is that use the default scac code '6105' for the ss table key.
💻 Technical Criteria
EXCLUDING The system is constructing an SS table lookup key
When The haulage rights SCAC code is spaces or not available
Then Use the default SCAC code '6105' for the SS table key
R-GCCCCADD-cbl-02257 Automated Haulage?
Decision Rules
📊 Business Logic Narrative
When the process 'Automated Haulage?' is invoked, and assuming that successful ss table lookup with automated carrier flag, when the system checks if haulage is automated, the desired outcome is that if automated haulage then set bill owner to '6105'.
💻 Technical Criteria
Given Successful SS table lookup with automated carrier flag
When The system checks if haulage is automated
Then If automated haulage then set bill owner to '6105'
R-GCCCCADD-cbl-02259 Set Bill As SCAC from SS Haulage Bill Init
Action Rules
📊 Business Logic Narrative
When the process 'Set Bill As SCAC from SS Haulage Bill Init' is invoked, and assuming that successful ss table lookup for haulage processing, when the system sets billing scac, the desired outcome is that if haulage processing then use ss haulage bill init, otherwise use ss line bill init.
💻 Technical Criteria
Given Successful SS table lookup for haulage processing
When The system sets billing SCAC
Then If haulage processing then use SS haulage bill init, otherwise use SS line bill init
R-GCCCCADD-cbl-02261 Clear Haulage Flags
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Clear Haulage Flags', assuming that a shipment with ima code not equal to 'hm', when the system processes non-haulage shipment, the desired outcome is that clear haulage rights scac, automated flag, and reject haulage indicator.
💻 Technical Criteria
EXCLUDING A shipment with IMA code not equal to 'HM'
When The system processes non-haulage shipment
Then Clear haulage rights SCAC, automated flag, and reject haulage indicator
R-GCCCCADD-cbl-01642 Is IMA Code = 'HM'?
Decision Rules
📊 Business Logic Narrative
When the process 'Is IMA Code = 'HM'?' is invoked, and assuming that a shipment with an ima (intermodal agreement) code, when the system checks if the ima code equals 'hm' (haulage mode), the desired outcome is that the system should proceed with haulage processing if true, or clear haulage fields if false.
💻 Technical Criteria
Given A shipment with an IMA (Intermodal Agreement) code
When The system checks if the IMA code equals 'HM' (Haulage Mode)
Then The system should proceed with haulage processing if true, or clear haulage fields if false
R-GCCCCADD-cbl-01643 Haulage Right Carrier Available?
Validation Rules
📊 Business Logic Narrative
When the process 'Haulage Right Carrier Available?' is invoked, and assuming that a shipment in haulage mode (ima code = 'hm'), when the system checks if haulage right carrier field is populated (not spaces), the desired outcome is that the system should proceed with carrier lookup if available, or set unknown defaults if not available.
💻 Technical Criteria
Given A shipment in haulage mode (IMA code = 'HM')
When The system checks if haulage right carrier field is populated (not spaces)
Then The system should proceed with carrier lookup if available, or set unknown defaults if not available
R-GCCCCADD-cbl-01645 Lookup Carrier Code in CC Table
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Carrier Code in CC Table' is invoked, and assuming that a haulage mode shipment with a specified haulage rights carrier, when the system looks up the carrier in the cc (carrier code) table, the desired outcome is that the system should retrieve the ccra code if found, or proceed with unknown defaults if not found.
💻 Technical Criteria
Given A haulage mode shipment with a specified haulage rights carrier
When The system looks up the carrier in the CC (Carrier Code) table
Then The system should retrieve the CCRA code if found, or proceed with unknown defaults if not found
R-GCCCCADD-cbl-01646 Set Haulage Rights SCAC from Table
Action Rules
📊 Business Logic Narrative
When the process 'Set Haulage Rights SCAC from Table' is invoked, and assuming that a successful carrier code lookup in the cc table, when the carrier code is found and validated, the desired outcome is that the system should set the haulage rights scac to the ccra code from the table.
💻 Technical Criteria
Given A successful carrier code lookup in the CC table
When The carrier code is found and validated
Then The system should set the haulage rights SCAC to the CCRA code from the table
R-GCCCCADD-cbl-01649 Get Automated Carrier Flag from SS Table
Decision Rules
📊 Business Logic Narrative
When the process 'Get Automated Carrier Flag from SS Table' is invoked, and assuming that a successful ss table lookup for haulage agreement, when the system processes the automated carrier flag from the agreement, the desired outcome is that the system should set the haulage automated flag and determine bill owner (6105 if automated).
💻 Technical Criteria
Given A successful SS table lookup for haulage agreement
When The system processes the automated carrier flag from the agreement
Then The system should set the haulage automated flag and determine bill owner (6105 if automated)
R-GCCCCADD-cbl-01650 Set Bill Owner to 6105
Action Rules
📊 Business Logic Narrative
When the process 'Set Bill Owner to 6105' is invoked, and assuming that a haulage agreement with automated carrier flag set to true, when the system processes automated haulage billing, the desired outcome is that the system should set the bill owner to '6105' (standard railway code).
💻 Technical Criteria
Given A haulage agreement with automated carrier flag set to true
When The system processes automated haulage billing
Then The system should set the bill owner to '6105' (standard railway code)
R-GCCCCADD-cbl-01654 Set Bill As SCAC from SS Table
Action Rules
📊 Business Logic Narrative
When the process 'Set Bill As SCAC from SS Table' is invoked, and assuming that a successful ss table lookup with haulage agreement details, when the system determines billing arrangements, the desired outcome is that the system should set bill as scac to haulage bill initial if haulage mode, or line bill initial if not haulage mode.
💻 Technical Criteria
Given A successful SS table lookup with haulage agreement details
When The system determines billing arrangements
Then The system should set bill as SCAC to haulage bill initial if haulage mode, or line bill initial if not haulage mode
R-GCCCCADD-cbl-01656 Clear Haulage Fields for Non-Haulage
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Clear Haulage Fields for Non-Haulage', assuming that a shipment with ima code not equal to 'hm', when the system processes non-haulage shipments, the desired outcome is that the system should clear haulage rights scac, automated flag, and reject haulage indicator.
💻 Technical Criteria
EXCLUDING A shipment with IMA code not equal to 'HM'
When The system processes non-haulage shipments
Then The system should clear haulage rights SCAC, automated flag, and reject haulage indicator
R-GCCCCADD-cbl-01658 Haulage Right Carrier exists?
Validation Rules
📊 Business Logic Narrative
When the process 'Haulage Right Carrier exists?' is invoked, and assuming that a shipment requiring haulage processing, when the system checks for haulage rights carrier, the desired outcome is that if haulage rights carrier is spaces then set unknown scac code, clear automated flag, set bill owner to unknown, and reject haulage, otherwise proceed with carrier lookup.
💻 Technical Criteria
Given A shipment requiring haulage processing
When The system checks for haulage rights carrier
Then If haulage rights carrier is spaces then set unknown SCAC code, clear automated flag, set bill owner to unknown, and reject haulage, otherwise proceed with carrier lookup
R-GCCCCADD-cbl-01660 Carrier Found in CC Table?
Validation Rules
📊 Business Logic Narrative
When the process 'Carrier Found in CC Table?' is invoked, and assuming that a carrier code lookup result, when the system checks if carrier was found in cc table, the desired outcome is that if carrier found then extract ccra code, otherwise set unknown scac code, clear automated flag, reject haulage, and set bill owner to unknown.
💻 Technical Criteria
Given A carrier code lookup result
When The system checks if carrier was found in CC table
Then If carrier found then extract CCRA code, otherwise set unknown SCAC code, clear automated flag, reject haulage, and set bill owner to unknown
R-GCCCCADD-cbl-01664 Haulage Agreement = 'Y'?
Decision Rules
📊 Business Logic Narrative
When the process 'Haulage Agreement = 'Y'?' is invoked, and assuming that haulage agreement data from ss table, when the system checks the haulage agreement flag, the desired outcome is that if haulage agreement equals 'y' then accept haulage, otherwise reject haulage.
💻 Technical Criteria
Given Haulage agreement data from SS table
When The system checks the haulage agreement flag
Then If haulage agreement equals 'Y' then accept haulage, otherwise reject haulage
R-GCCCCADD-cbl-01666 Automated Haulage?
Decision Rules
📊 Business Logic Narrative
When the process 'Automated Haulage?' is invoked, and assuming that haulage processing with automated carrier flag set, when the system determines bill ownership, the desired outcome is that if automated haulage then set bill owner to '6105', otherwise use existing bill owner.
💻 Technical Criteria
Given Haulage processing with automated carrier flag set
When The system determines bill ownership
Then If automated haulage then set bill owner to '6105', otherwise use existing bill owner
R-GCCCCADD-cbl-01669 Is IMA Code = 'HM' Haulage Movement?
Decision Rules
📊 Business Logic Narrative
When the process 'Is IMA Code = 'HM' Haulage Movement?' is invoked, and assuming that a shipment with an ima code from the shipment root data, when the system checks if the ima code equals 'hm', the desired outcome is that the system identifies this as a haulage movement and proceeds with haulage-specific processing, otherwise skips haulage processing entirely.
💻 Technical Criteria
Given A shipment with an IMA code from the shipment root data
When The system checks if the IMA code equals 'HM'
Then The system identifies this as a haulage movement and proceeds with haulage-specific processing, otherwise skips haulage processing entirely
R-GCCCCADD-cbl-01671 Lookup Carrier Code in CC Table
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Carrier Code in CC Table' is invoked, and assuming that a valid haulage right carrier code, when the system performs a lookup in the cc table using the carrier code, the desired outcome is that the system retrieves the corresponding ccra code for further processing.
💻 Technical Criteria
Given A valid haulage right carrier code
When The system performs a lookup in the CC table using the carrier code
Then The system retrieves the corresponding CCRA code for further processing
R-GCCCCADD-cbl-01673 Set Haulage Rights SCAC from Carrier Code
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Haulage Rights SCAC from Carrier Code' is invoked, and assuming that a successful carrier code lookup in the cc table, when the system retrieves the ccra code from the lookup result, the desired outcome is that the system assigns the ccra code to the haulage rights scac field.
💻 Technical Criteria
Given A successful carrier code lookup in the CC table
When The system retrieves the CCRA code from the lookup result
Then The system assigns the CCRA code to the haulage rights SCAC field
R-GCCCCADD-cbl-01675 Automated Haulage?
Decision Rules
📊 Business Logic Narrative
When the process 'Automated Haulage?' is invoked, and assuming that a successful ss table lookup for haulage agreement, when the system checks the automated carrier flag from the ss table, the desired outcome is that if automated haulage is indicated, set the haulage automated flag and assign bill owner to '6105'.
💻 Technical Criteria
Given A successful SS table lookup for haulage agreement
When The system checks the automated carrier flag from the SS table
Then If automated haulage is indicated, set the haulage automated flag and assign bill owner to '6105'
R-GCCCCADD-cbl-01677 Clear Haulage Settings No Bill Owner Assignment
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Clear Haulage Settings No Bill Owner Assignment', assuming that a shipment where the ima code is not 'hm', when the system processes the shipment, the desired outcome is that clear all haulage-related fields including haulage rights scac, haulage automated flag, and reject haulage indicator.
💻 Technical Criteria
EXCLUDING A shipment where the IMA code is not 'HM'
When The system processes the shipment
Then Clear all haulage-related fields including haulage rights SCAC, haulage automated flag, and reject haulage indicator
R-GCCCCADD-cbl-01691 Set Table ID to 'MS'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Table ID to 'MS'' is invoked, and assuming that table access is being configured for message text retrieval, when the system identifies which table to access, the desired outcome is that the table id should be set to 'ms' to target the message repository table.
💻 Technical Criteria
Given Table access is being configured for message text retrieval
When The system identifies which table to access
Then The table ID should be set to 'MS' to target the message repository table
R-GCCCCADD-cbl-01692 Set Message Error Number as Key
Process Rules
📊 Business Logic Narrative
When the process 'Set Message Error Number as Key' is invoked, and assuming that a specific error message number has been identified for lookup, when the system configures the search key for message retrieval, the desired outcome is that the error message number should be assigned as the sequence id key for table lookup.
💻 Technical Criteria
Given A specific error message number has been identified for lookup
When The system configures the search key for message retrieval
Then The error message number should be assigned as the sequence ID key for table lookup
R-GCCCCADD-cbl-01695 Move Table Segment to MS Structure
Process Rules
📊 Business Logic Narrative
When the process 'Move Table Segment to MS Structure' is invoked, and assuming that message text has been successfully retrieved from the ms table, when the system processes the retrieved table segment, the desired outcome is that the table segment data should be moved to the ms structure for further processing.
💻 Technical Criteria
Given Message text has been successfully retrieved from the MS table
When The system processes the retrieved table segment
Then The table segment data should be moved to the MS structure for further processing
R-GCCCCADD-cbl-01696 Extract English Text Message
Process Rules
📊 Business Logic Narrative
When the process 'Extract English Text Message' is invoked, and assuming that message data has been successfully loaded into the ms structure, when the system extracts the displayable message text, the desired outcome is that the english text field from the ms structure should be extracted as the message content.
💻 Technical Criteria
Given Message data has been successfully loaded into the MS structure
When The system extracts the displayable message text
Then The English text field from the MS structure should be extracted as the message content
R-GCCCCADD-cbl-01698 Clear MS Structure - No Message Found
Process Rules
📊 Business Logic Narrative
When the process 'Clear MS Structure - No Message Found' is invoked, and assuming that message text retrieval from the ms table has failed, when the system handles the retrieval failure, the desired outcome is that the ms structure should be cleared to spaces to ensure no invalid message text is displayed.
💻 Technical Criteria
Given Message text retrieval from the MS table has failed
When The system handles the retrieval failure
Then The MS structure should be cleared to spaces to ensure no invalid message text is displayed
R-GCCCCADD-cbl-01755 Extract Address Line 2 from N3
Process Rules
📊 Business Logic Narrative
When the process 'Extract Address Line 2 from N3' is invoked, and assuming that an n3 segment exists and address line 1 has been processed, when the system continues n3 segment processing, the desired outcome is that the system extracts address line 2 from field d2-addl-name-addr-2.
💻 Technical Criteria
Given An N3 segment exists and Address Line 1 has been processed
When The system continues N3 segment processing
Then The system extracts Address Line 2 from field D2-ADDL-NAME-ADDR-2
R-GCCCCADD-cbl-01761 Extract State/Province Code from N4
Process Rules
📊 Business Logic Narrative
When the process 'Extract State/Province Code from N4' is invoked, and assuming that an n4 segment exists and city name has been extracted, when the system continues n4 segment processing, the desired outcome is that the system extracts the state/province code from field d4-state-prov-code.
💻 Technical Criteria
Given An N4 segment exists and city name has been extracted
When The system continues N4 segment processing
Then The system extracts the state/province code from field D4-STATE-PROV-CODE
R-GCCCCADD-cbl-01762 Extract Postal Code from N4
Process Rules
📊 Business Logic Narrative
When the process 'Extract Postal Code from N4' is invoked, and assuming that an n4 segment exists and state/province has been extracted, when the system continues n4 segment processing, the desired outcome is that the system extracts the postal code from field d4-postal-code.
💻 Technical Criteria
Given An N4 segment exists and state/province has been extracted
When The system continues N4 segment processing
Then The system extracts the postal code from field D4-POSTAL-CODE
R-GCCCCADD-cbl-01763 Extract Country Code from N4
Process Rules
📊 Business Logic Narrative
When the process 'Extract Country Code from N4' is invoked, and assuming that an n4 segment exists and postal code has been extracted, when the system completes n4 segment processing, the desired outcome is that the system extracts the country code from field d4-country-code.
💻 Technical Criteria
Given An N4 segment exists and postal code has been extracted
When The system completes N4 segment processing
Then The system extracts the country code from field D4-COUNTRY-CODE
R-GCCCCADD-cbl-01793 Initialize CNS Search Variables
Process Rules
📊 Business Logic Narrative
When the process 'Initialize CNS Search Variables' is invoked, and assuming that a consolidated load indicator search process is initiated, when the system begins to search for cns segments, the desired outcome is that the cns indicator flag is set to not found and sequence counter is initialized to 1.
💻 Technical Criteria
Given A consolidated load indicator search process is initiated
When The system begins to search for CNS segments
Then The CNS indicator flag is set to not found and sequence counter is initialized to 1
R-GCCCCADD-cbl-01794 Set CNS Indicator Not Found
Definitional Rules
📊 Business Logic Narrative
When the process 'Set CNS Indicator Not Found' is invoked, and assuming that the consolidated load search process is starting, when initial search parameters are being set, the desired outcome is that the cns indicator flag is set to not found state.
💻 Technical Criteria
Given The consolidated load search process is starting
When Initial search parameters are being set
Then The CNS indicator flag is set to not found state
R-GCCCCADD-cbl-01795 Set Sequence Counter to 1
Process Rules
📊 Business Logic Narrative
When the process 'Set Sequence Counter to 1' is invoked, and assuming that a search for consolidated load indicators is beginning, when the system initializes search parameters, the desired outcome is that the sequence counter is set to 1 to start searching from the first segment.
💻 Technical Criteria
Given A search for consolidated load indicators is beginning
When The system initializes search parameters
Then The sequence counter is set to 1 to start searching from the first segment
R-GCCCCADD-cbl-01800 Increment Sequence Counter
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Increment Sequence Counter', assuming that a segment that does not contain 'cns' special handling code, when the system continues searching for consolidated load indicators, the desired outcome is that the sequence counter is incremented by 1 to check the next segment.
💻 Technical Criteria
EXCLUDING A segment that does not contain 'CNS' special handling code
When The system continues searching for consolidated load indicators
Then The sequence counter is incremented by 1 to check the next segment

🏷️ CCN & Waybill Identification 322 logic blocks
R-GCCCCADD-cbl-00001 Waybill Key Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Waybill Key Valid?' is invoked, and assuming that a waybill key is provided for cargo manifest processing, when the system validates the waybill key format and retrieves shipment data, the desired outcome is that if the waybill key is blank or non-numeric, set return status to invalid waybill key. if the waybill key is valid but no shipment is found, set return status to waybill not found. if the waybill key is valid and shipment exists, set return status to ok.
💻 Technical Criteria
Given A waybill key is provided for cargo manifest processing
When The system validates the waybill key format and retrieves shipment data
Then If the waybill key is blank or non-numeric, set return status to invalid waybill key. If the waybill key is valid but no shipment is found, set return status to waybill not found. If the waybill key is valid and shipment exists, set return status to OK
R-GCCCCADD-cbl-00003 Border Arrival Date Calculation
Computation Rules
📊 Business Logic Narrative
When the process 'Border Arrival Date Calculation' is invoked, and assuming that a waybill date is available from the shipment root, when the system calculates the border arrival eta using the date calculation service, the desired outcome is that add the configured number of days to the waybill date to determine border arrival eta. if the date calculation fails, add an error message for invalid waybill date.
💻 Technical Criteria
Given A waybill date is available from the shipment root
When The system calculates the border arrival ETA using the date calculation service
Then Add the configured number of days to the waybill date to determine border arrival ETA. If the date calculation fails, add an error message for invalid waybill date
R-GCCCCADD-cbl-00006 Special Port Code Processing
Policy Rules
📊 Business Logic Narrative
When the process 'Special Port Code Processing' is invoked, and assuming that a ccn with type '9' and manifest port information, when the system evaluates special port processing conditions, the desired outcome is that if ccn type equals '9' and us exit code is not '00000' or manifest from station is not 'iis-a6' or manifest to station is not 'iis-a6' or manifest stations are different, force both manifest from and to stations to 'iis-a6'.
💻 Technical Criteria
Given A CCN with type '9' and manifest port information
When The system evaluates special port processing conditions
Then If CCN type equals '9' and US exit code is not '00000' or manifest from station is not 'IIS-A6' or manifest to station is not 'IIS-A6' or manifest stations are different, force both manifest from and to stations to 'IIS-A6'
R-GCCCCADD-cbl-00013 Previous Carrier Control Processing
Process Rules
📊 Business Logic Narrative
When the process 'Previous Carrier Control Processing' is invoked, and assuming that previous carrier number and previous cargo control number from shipment data, when the system processes previous carrier control information, the desired outcome is that if previous carrier number is not '0000' and not blank, combine previous carrier number (positions 1-4) with previous cargo control number (positions 5-21) to form complete previous ccn.
💻 Technical Criteria
Given Previous carrier number and previous cargo control number from shipment data
When The system processes previous carrier control information
Then If previous carrier number is not '0000' and not blank, combine previous carrier number (positions 1-4) with previous cargo control number (positions 5-21) to form complete previous CCN
R-GCCCCADD-cbl-00024 Bill of Lading Processing
Action Rules
📊 Business Logic Narrative
When the process 'Bill of Lading Processing' is invoked, and assuming that bill of lading data and potential multiple ccn requirements, when the system processes bill of lading information using gcccbol service, the desired outcome is that call gcccbol service with cargo record, customs records, and shipment data. if multiple ccn array is returned with data, process each ccn in the array (up to 99) and spawn gct0111e process for each additional manifest with waybill key, waybill date, ccn, and action code 'am'.
💻 Technical Criteria
Given Bill of lading data and potential multiple CCN requirements
When The system processes bill of lading information using GCCCBOL service
Then Call GCCCBOL service with cargo record, customs records, and shipment data. If multiple CCN array is returned with data, process each CCN in the array (up to 99) and spawn GCT0111E process for each additional manifest with waybill key, waybill date, CCN, and action code 'AM'
R-GCCCCADD-cbl-00027 Description Capture from Related CCN
Process Rules
📊 Business Logic Narrative
When the process 'Description Capture from Related CCN' is invoked, and assuming that action code of 'us' or 'rt' and a description source ccn provided, when the system captures description from the related ccn, the desired outcome is that retrieve description data from specified ccn using gccccio2 service. if successful, extract lading description and cargo data. for 'us' action, prepend ccn and ' moving in transit through canada ' to description. for 'rt' action, prepend ccn and ' moving in transit through us ' to description. compress modified description and update cargo records.
💻 Technical Criteria
Given Action code of 'US' or 'RT' and a description source CCN provided
When The system captures description from the related CCN
Then Retrieve description data from specified CCN using GCCCCIO2 service. If successful, extract lading description and cargo data. For 'US' action, prepend CCN and ' MOVING IN TRANSIT THROUGH CANADA ' to description. For 'RT' action, prepend CCN and ' MOVING IN TRANSIT THROUGH US ' to description. Compress modified description and update cargo records
R-GCCCCADD-cbl-00030 Application Type Determination
Decision Rules
📊 Business Logic Narrative
When the process 'Application Type Determination' is invoked, and assuming that origin country and destination country codes, when the system determines application type, the desired outcome is that search application type table using origin-destination country combination. if match found, set application type code and in-transit status from table entry. if ccn key starts with '6105e' and in-transit status is ocean, set broker name to 'not-req'.
💻 Technical Criteria
Given Origin country and destination country codes
When The system determines application type
Then Search application type table using origin-destination country combination. If match found, set application type code and in-transit status from table entry. If CCN key starts with '6105E' and in-transit status is ocean, set broker name to 'NOT-REQ'
R-GCCCCADD-cbl-00031 Broker Information Retrieval
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Broker Information Retrieval', assuming that action code not 'rt' or 'us' and ccn key starting with '6105e' or '6105p', when the system retrieves broker information, the desired outcome is that call gcccros2 service with shipper chop, consignee chop, origin station, destination station, origin splc wildcard, destination road number, and commodity code. if no data found, retry with shipper chop and origin station wildcards. if still no data found, retry with commodity code wildcard.
💻 Technical Criteria
EXCLUDING Action code not 'RT' or 'US' and CCN key starting with '6105E' or '6105P'
When The system retrieves broker information
Then Call GCCCROS2 service with shipper chop, consignee chop, origin station, destination station, origin SPLC wildcard, destination road number, and commodity code. If no data found, retry with shipper chop and origin station wildcards. If still no data found, retry with commodity code wildcard
R-GCCCCADD-cbl-00034 In-Transit Status Setting
Process Rules
📊 Business Logic Narrative
When the process 'In-Transit Status Setting' is invoked, and assuming that in-transit status determination and ccn key information, when the system sets in-transit status and manages indexes, the desired outcome is that if in-transit status is return, clear destination station index, destination station index station, and error/release status index. if ccn key does not start with '6105e', set in-transit status to local and clear destination station and error/release status indexes.
💻 Technical Criteria
Given In-transit status determination and CCN key information
When The system sets in-transit status and manages indexes
Then If in-transit status is RETURN, clear destination station index, destination station index station, and error/release status index. If CCN key does not start with '6105E', set in-transit status to LOCAL and clear destination station and error/release status indexes
R-GCCCCADD-cbl-00037 N1 Entity Segment Building
Process Rules
📊 Business Logic Narrative
When the process 'N1 Entity Segment Building' is invoked, and assuming that edi transportation data or fastway shipment data for various entity types, when the system builds n1 entity segments, the desired outcome is that for each entity type (sf, uc, bn, c1, n1, pf, ss, 11, mc, oo, fw, nn), search edi transportation data for matching organization id. if found, extract entity information, address data, and contact information. build complete n1 segment with entity id, name, address, and contact details. validate segment data and insert customs record with appropriate sequence number.
💻 Technical Criteria
Given EDI transportation data or FastWay shipment data for various entity types
When The system builds N1 entity segments
Then For each entity type (SF, UC, BN, C1, N1, PF, SS, 11, MC, OO, FW, NN), search EDI transportation data for matching organization ID. If found, extract entity information, address data, and contact information. Build complete N1 segment with entity ID, name, address, and contact details. Validate segment data and insert customs record with appropriate sequence number
R-GCCCCADD-cbl-00039 Customs Record 55 Insertion
Process Rules
📊 Business Logic Narrative
When the process 'Customs Record 55 Insertion' is invoked, and assuming that completed customs record 55 data with ccn key, record type, and sequence number, when the system inserts customs record 55, the desired outcome is that if sequence index is within maximum sequence limit, set ccn key, record type to '55', and sequence number. move complete record to customs record array and increment sequence index. validate all required fields before insertion.
💻 Technical Criteria
Given Completed customs record 55 data with CCN key, record type, and sequence number
When The system inserts customs record 55
Then If sequence index is within maximum sequence limit, set CCN key, record type to '55', and sequence number. Move complete record to customs record array and increment sequence index. Validate all required fields before insertion
R-GCCCCADD-cbl-00041 Waybill Key Present?
Validation Rules
📊 Business Logic Narrative
When the process 'Waybill Key Present?' is invoked, and assuming that a customs manifest creation request is initiated, when the system checks for waybill key presence, the desired outcome is that if waybill key is spaces, set return status to invalid waybill key, otherwise proceed to numeric validation.
💻 Technical Criteria
Given A customs manifest creation request is initiated
When The system checks for waybill key presence
Then If waybill key is spaces, set return status to invalid waybill key, otherwise proceed to numeric validation
R-GCCCCADD-cbl-00042 Waybill Key Numeric?
Validation Rules
📊 Business Logic Narrative
When the process 'Waybill Key Numeric?' is invoked, and assuming that a waybill key is present in the request, when the system validates the waybill key format, the desired outcome is that if waybill key is not numeric, set return status to invalid waybill key, otherwise proceed to shipment retrieval.
💻 Technical Criteria
Given A waybill key is present in the request
When The system validates the waybill key format
Then If waybill key is not numeric, set return status to invalid waybill key, otherwise proceed to shipment retrieval
R-GCCCCADD-cbl-00043 Retrieve Shipment Root Data
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Shipment Root Data' is invoked, and assuming that a valid numeric waybill key is provided, when the system attempts to retrieve shipment root data, the desired outcome is that execute shipment root data retrieval process using the waybill key.
💻 Technical Criteria
Given A valid numeric waybill key is provided
When The system attempts to retrieve shipment root data
Then Execute shipment root data retrieval process using the waybill key
R-GCCCCADD-cbl-00044 Shipment Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Shipment Found?' is invoked, and assuming that shipment root data retrieval has been attempted, when the system checks if shipment data was found, the desired outcome is that if shipment found, set return status to ok, otherwise set return status to waybill not found.
💻 Technical Criteria
Given Shipment root data retrieval has been attempted
When The system checks if shipment data was found
Then If shipment found, set return status to OK, otherwise set return status to waybill not found
R-GCCCCADD-cbl-00051 Search Existing Importer Records in Customs Database
Process Rules
📊 Business Logic Narrative
When the process 'Search Existing Importer Records in Customs Database' is invoked, and assuming that importer backup process has been initiated and ccn key is available, when the system searches customs records from sequence 3 to 24 for importer entity type 'im', the desired outcome is that the system should iterate through each sequence until importer is found or maximum sequence is reached.
💻 Technical Criteria
Given Importer backup process has been initiated AND CCN key is available
When The system searches customs records from sequence 3 to 24 for importer entity type 'IM'
Then The system should iterate through each sequence until importer is found or maximum sequence is reached
R-GCCCCADD-cbl-00064 Set CCN Key from Waybill
Definitional Rules
📊 Business Logic Narrative
When the process 'Set CCN Key from Waybill' is invoked, and assuming that a waybill key is provided in the input parameters, when the cargo control setup process begins, the desired outcome is that the waybill key should be assigned to the cargo control waybill key for index field.
💻 Technical Criteria
Given A waybill key is provided in the input parameters
When The cargo control setup process begins
Then The waybill key should be assigned to the cargo control waybill key for index field
R-GCCCCADD-cbl-00065 Extract Waybill Number
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract Waybill Number' is invoked, and assuming that a waybill number index exists in the cargo control data, when the waybill number needs to be extracted, the desired outcome is that the waybill number index value should be assigned to the main waybill number field.
💻 Technical Criteria
Given A waybill number index exists in the cargo control data
When The waybill number needs to be extracted
Then The waybill number index value should be assigned to the main waybill number field
R-GCCCCADD-cbl-00069 Extract Waybill Date
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract Waybill Date' is invoked, and assuming that shipment root data contains a waybill date, when waybill date information needs to be assigned to cargo control, the desired outcome is that the waybill date from shipment root should be assigned to both cargo control waybill date and waybill date index fields.
💻 Technical Criteria
Given Shipment root data contains a waybill date
When Waybill date information needs to be assigned to cargo control
Then The waybill date from shipment root should be assigned to both cargo control waybill date and waybill date index fields
R-GCCCCADD-cbl-00070 Set Waybill Date Index
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Waybill Date Index' is invoked, and assuming that the waybill date has been extracted and assigned, when the waybill date index needs to be set, the desired outcome is that the waybill date should be assigned to the waybill date index field.
💻 Technical Criteria
Given The waybill date has been extracted and assigned
When The waybill date index needs to be set
Then The waybill date should be assigned to the waybill date index field
R-GCCCCADD-cbl-00072 Extract Waybill Date from SHIPROOT
Process Rules
📊 Business Logic Narrative
When the process 'Extract Waybill Date from SHIPROOT' is invoked, and assuming that a shipment root record exists with waybill date information, when the system needs to calculate border arrival eta, the desired outcome is that the waybill date is extracted from the shipment root record and stored in work variables for date calculation.
💻 Technical Criteria
Given A shipment root record exists with waybill date information
When The system needs to calculate border arrival ETA
Then The waybill date is extracted from the shipment root record and stored in work variables for date calculation
R-GCCCCADD-cbl-00073 Configure Date Calculation Parameters
Computation Rules
📊 Business Logic Narrative
When the process 'Configure Date Calculation Parameters' is invoked, and assuming that a waybill date exists and needs eta calculation, when the system prepares to calculate border arrival date, the desired outcome is that the date calculation is configured to add days operation with the waybill date formatted with century information and the configured number of days for eta.
💻 Technical Criteria
Given A waybill date exists and needs ETA calculation
When The system prepares to calculate border arrival date
Then The date calculation is configured to add days operation with the waybill date formatted with century information and the configured number of days for ETA
R-GCCCCADD-cbl-00074 Call Date Calculation Utility ISCDTCAL
Action Rules
📊 Business Logic Narrative
When the process 'Call Date Calculation Utility ISCDTCAL' is invoked, and assuming that date calculation parameters are properly configured with waybill date and days to add, when the system needs to calculate the border arrival eta, the desired outcome is that the iscdtcal utility is called to perform the date arithmetic operation.
💻 Technical Criteria
Given Date calculation parameters are properly configured with waybill date and days to add
When The system needs to calculate the border arrival ETA
Then The ISCDTCAL utility is called to perform the date arithmetic operation
R-GCCCCADD-cbl-00075 Date Calculation Successful?
Decision Rules
📊 Business Logic Narrative
When the process 'Date Calculation Successful?' is invoked, and assuming that the date calculation utility has been executed, when the system checks the calculation result status, the desired outcome is that if calculation is successful, the new calculated date is set as border arrival eta, otherwise an invalid waybill date error message is retrieved and added to the message collection.
💻 Technical Criteria
Given The date calculation utility has been executed
When The system checks the calculation result status
Then If calculation is successful, the new calculated date is set as border arrival ETA, otherwise an invalid waybill date error message is retrieved and added to the message collection
R-GCCCCADD-cbl-00094 Override both ports to 'IIS-A6'
Policy Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Override both ports to 'IIS-A6'', assuming that a shipment with ccn type equals '9', when the us port of exit code is not '00000' or the manifest from station name is not 'iis-a6' or the manifest to station name is not 'iis-a6' or the manifest to station name does not equal the manifest from station name, the desired outcome is that set both manifest from station name and manifest to station name to 'iis-a6'.
💻 Technical Criteria
EXCLUDING A shipment with CCN type equals '9'
When The US port of exit code is not '00000' OR the manifest from station name is not 'IIS-A6' OR the manifest to station name is not 'IIS-A6' OR the manifest to station name does not equal the manifest from station name
Then Set both manifest from station name and manifest to station name to 'IIS-A6'
R-GCCCCADD-cbl-00095 Set manifest-to station code
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set manifest-to station code', assuming that mc table lookup for manifest to port was successful and canadian customs code is valid and ccn type 9 override conditions are not met, when processing manifest to port information, the desired outcome is that set the manifest to station code to the canadian customs code from mc table and set the destination station number from mc table station number and set the destination station number index from mc table station number.
💻 Technical Criteria
EXCLUDING MC table lookup for manifest to port was successful AND Canadian customs code is valid AND CCN type 9 override conditions are not met
When Processing manifest to port information
Then Set the manifest to station code to the Canadian customs code from MC table AND set the destination station number from MC table station number AND set the destination station number index from MC table station number
R-GCCCCADD-cbl-02309 Override Both Ports to 'IIS-A6'
Policy Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Override Both Ports to 'IIS-A6'', assuming that the shipment has ccn type equal to '9', when the us exit code is not '00000' or the manifest from station is not 'iis-a6' or the manifest to station is not 'iis-a6' or the manifest to and from stations are different, the desired outcome is that the system overrides both manifest from station and manifest to station to 'iis-a6'.
💻 Technical Criteria
EXCLUDING The shipment has CCN type equal to '9'
When The US exit code is not '00000' OR the manifest from station is not 'IIS-A6' OR the manifest to station is not 'IIS-A6' OR the manifest to and from stations are different
Then The system overrides both manifest from station and manifest to station to 'IIS-A6'
R-GCCCCADD-cbl-02653 Override Manifest Ports Set From = 'IIS-A6' Set To = 'IIS-A6'
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Override Manifest Ports Set From = 'IIS-A6' Set To = 'IIS-A6'', assuming that a shipment with ccn type equal to '9' and manifest station lookup has been completed with us exit code and station information available, when the us exit code is not '00000' or the manifest from station is not 'iis-a6' or the manifest to station is not 'iis-a6' or the manifest from station does not equal the manifest to station, the desired outcome is that both manifest from station name and manifest to station name must be set to 'iis-a6' to standardize the manifest routing.
💻 Technical Criteria
EXCLUDING A shipment with CCN type equal to '9' and manifest station lookup has been completed with US exit code and station information available
When The US exit code is not '00000' OR the manifest from station is not 'IIS-A6' OR the manifest to station is not 'IIS-A6' OR the manifest from station does not equal the manifest to station
Then Both manifest from station name and manifest to station name must be set to 'IIS-A6' to standardize the manifest routing
R-GCCCCADD-cbl-02654 Continue with Normal Processing Use Existing Manifest Codes
Decision Rules
📊 Business Logic Narrative
When the process 'Continue with Normal Processing Use Existing Manifest Codes' is invoked, and assuming that a shipment with ccn type equal to '9' and manifest station lookup has been completed with standard configuration, when the us exit code equals '00000' and the manifest from station equals 'iis-a6' and the manifest to station equals 'iis-a6' and the manifest from station equals the manifest to station, the desired outcome is that the existing manifest to station code, station number, and call letters must be preserved from the table lookup results.
💻 Technical Criteria
Given A shipment with CCN type equal to '9' and manifest station lookup has been completed with standard configuration
When The US exit code equals '00000' AND the manifest from station equals 'IIS-A6' AND the manifest to station equals 'IIS-A6' AND the manifest from station equals the manifest to station
Then The existing manifest to station code, station number, and call letters must be preserved from the table lookup results
R-GCCCCADD-cbl-02655 Continue with Normal Processing Use Existing Manifest Codes
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Continue with Normal Processing Use Existing Manifest Codes', assuming that a shipment is being processed for manifest station configuration, when the ccn type is not equal to '9', the desired outcome is that the system must continue with normal manifest station processing using the existing manifest codes from table lookups without applying type 9 override rules.
💻 Technical Criteria
EXCLUDING A shipment is being processed for manifest station configuration
When The CCN type is not equal to '9'
Then The system must continue with normal manifest station processing using the existing manifest codes from table lookups without applying type 9 override rules
R-GCCCCADD-cbl-01911 Check CCN Type and Port Conditions
Decision Rules
📊 Business Logic Narrative
When the process 'Check CCN Type and Port Conditions' is invoked, and assuming that a cargo control number is being processed, when the ccn type is '9', the desired outcome is that the system evaluates port conditions for potential override.
💻 Technical Criteria
Given A cargo control number is being processed
When The CCN type is '9'
Then The system evaluates port conditions for potential override
R-GCCCCADD-cbl-01912 Are Port Conditions Met?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Are Port Conditions Met?', assuming that a ccn type is '9', when the us station exit code is not '00000' or the manifest from station name is not 'iis-a6' or the manifest to station name is not 'iis-a6' or the manifest to station name does not equal the manifest from station name, the desired outcome is that the port conditions are considered met for override application.
💻 Technical Criteria
EXCLUDING A CCN type is '9'
When The US station exit code is not '00000' OR the manifest from station name is not 'IIS-A6' OR the manifest to station name is not 'IIS-A6' OR the manifest to station name does not equal the manifest from station name
Then The port conditions are considered met for override application
R-GCCCCADD-cbl-01913 Set Manifest From Port to IIS-A6
Action Rules
📊 Business Logic Narrative
When the process 'Set Manifest From Port to IIS-A6' is invoked, and assuming that a ccn type is '9' and port conditions are met for override, when the override rules are applied, the desired outcome is that the manifest from station name is set to 'iis-a6'.
💻 Technical Criteria
Given A CCN type is '9' and port conditions are met for override
When The override rules are applied
Then The manifest from station name is set to 'IIS-A6'
R-GCCCCADD-cbl-01914 Set Manifest To Port to IIS-A6
Action Rules
📊 Business Logic Narrative
When the process 'Set Manifest To Port to IIS-A6' is invoked, and assuming that a ccn type is '9' and port conditions are met for override, when the override rules are applied, the desired outcome is that the manifest to station name is set to 'iis-a6'.
💻 Technical Criteria
Given A CCN type is '9' and port conditions are met for override
When The override rules are applied
Then The manifest to station name is set to 'IIS-A6'
R-GCCCCADD-cbl-01915 Continue with Original Ports
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Continue with Original Ports', assuming that a cargo control number is being processed, when the ccn type is not '9' or the port conditions for override are not met, the desired outcome is that the original manifest from and to station names are preserved without override.
💻 Technical Criteria
EXCLUDING A cargo control number is being processed
When The CCN type is not '9' OR the port conditions for override are not met
Then The original manifest from and to station names are preserved without override
R-GCCCCADD-cbl-00099 Override Both Ports to IIS-A6
Policy Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Override Both Ports to IIS-A6', assuming that a shipment has ccn type equal to '9', when the us station exit code is not '00000' or the manifest from station name is not 'iis-a6' or the manifest to station name is not 'iis-a6' or the manifest to station name does not equal the manifest from station name, the desired outcome is that both the manifest from station name and manifest to station name should be set to 'iis-a6'.
💻 Technical Criteria
EXCLUDING A shipment has CCN type equal to '9'
When The US station exit code is not '00000' OR the manifest from station name is not 'IIS-A6' OR the manifest to station name is not 'IIS-A6' OR the manifest to station name does not equal the manifest from station name
Then Both the manifest from station name and manifest to station name should be set to 'IIS-A6'
R-GCCCCADD-cbl-00147 Set Waybill Number from Shipment
Action Rules
📊 Business Logic Narrative
When the process 'Set Waybill Number from Shipment' is invoked, and assuming that a shipment record contains waybill information, when processing waybill details for customs manifest, the desired outcome is that the system should set the waybill number from the shipment waybill number field.
💻 Technical Criteria
Given A shipment record contains waybill information
When Processing waybill details for customs manifest
Then The system should set the waybill number from the shipment waybill number field
R-GCCCCADD-cbl-00149 Build Previous CCN - First 4 Characters
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Build Previous CCN - First 4 Characters', assuming that a shipment record with a valid previous carrier number that is not '0000' or spaces, when the system processes the previous carrier information, the desired outcome is that the system moves the previous carrier number to positions 1-4 of the previous ccn field and moves the previous cargo control number to positions 5-21 of the previous ccn field.
💻 Technical Criteria
EXCLUDING A shipment record with a valid previous carrier number that is not '0000' or spaces
When The system processes the previous carrier information
Then The system moves the previous carrier number to positions 1-4 of the previous CCN field and moves the previous cargo control number to positions 5-21 of the previous CCN field
R-GCCCCADD-cbl-00150 Check for Valid EDI BOL Data
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check for Valid EDI BOL Data', assuming that a waybill key is provided for processing, when the system checks for valid edi bol data by verifying the origin road number is not zero and retrieving the first shipmin segment with type 'e' and sequence '1', the desired outcome is that the system sets the edi bol availability flag to valid if data is found, otherwise sets it to invalid, and extracts the edi bol key from the data line for subsequent processing.
💻 Technical Criteria
EXCLUDING A waybill key is provided for processing
When The system checks for valid EDI BOL data by verifying the origin road number is not zero and retrieving the first SHIPMIN segment with type 'E' and sequence '1'
Then The system sets the EDI BOL availability flag to valid if data is found, otherwise sets it to invalid, and extracts the EDI BOL key from the data line for subsequent processing
R-GCCCCADD-cbl-00152 Process Each Commodity Segment from EDI BOL
Process Rules
📊 Business Logic Narrative
When the process 'Process Each Commodity Segment from EDI BOL' is invoked, and assuming that valid edi bol data is available, when the system processes commodity segments starting from sequence 1 and continuing until no more segments are found or sequence exceeds 98, the desired outcome is that the system retrieves each ebsbccm commodity segment using the edi bol key and commodity sequence number.
💻 Technical Criteria
Given Valid EDI BOL data is available
When The system processes commodity segments starting from sequence 1 and continuing until no more segments are found or sequence exceeds 98
Then The system retrieves each EBSBCCM commodity segment using the EDI BOL key and commodity sequence number
R-GCCCCADD-cbl-01942 Check for Valid EDI BOL
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check for Valid EDI BOL', assuming that a waybill key is provided for processing, when the system checks for edi bol availability by verifying origin road number is not zero and retrieving shipmin segment with type 'e' and number '1', the desired outcome is that if edi bol data is found, set valid edi bol flag and extract edi bol key, otherwise set invalid edi bol flag.
💻 Technical Criteria
EXCLUDING A waybill key is provided for processing
When The system checks for EDI BOL availability by verifying origin road number is not zero and retrieving SHIPMIN segment with type 'E' and number '1'
Then If EDI BOL data is found, set valid EDI BOL flag and extract EDI BOL key, otherwise set invalid EDI BOL flag
R-GCCCCADD-cbl-01944 Get EBSBCCM Commodity Segment
Action Rules
📊 Business Logic Narrative
When the process 'Get EBSBCCM Commodity Segment' is invoked, and assuming that valid edi bol key and commodity sequence number, when retrieving ebsbccm segment with type 'cm' and current sequence number, the desired outcome is that if invalid edi bol flag is set, mark segment as not found, otherwise call ebclgio and set found flag based on status.
💻 Technical Criteria
Given Valid EDI BOL key and commodity sequence number
When Retrieving EBSBCCM segment with type 'CM' and current sequence number
Then If invalid EDI BOL flag is set, mark segment as not found, otherwise call EBCLGIO and set found flag based on status
R-GCCCCADD-cbl-02349 Check for Valid EDI BOL
Validation Rules
📊 Business Logic Narrative
When the process 'Check for Valid EDI BOL' is invoked, and assuming that a waybill is being processed for weight and quantity extraction, when the system checks for edi bol availability by examining the origin road number in shiproot, the desired outcome is that if origin road number is not zero, retrieve shipmine segment with type 'e' and sequence '1', and if found, extract edi bol key from data line 1 and set valid edi bol flag, otherwise set invalid edi bol flag.
💻 Technical Criteria
Given A waybill is being processed for weight and quantity extraction
When The system checks for EDI BOL availability by examining the origin road number in SHIPROOT
Then If origin road number is not zero, retrieve SHIPMINE segment with type 'E' and sequence '1', and if found, extract EDI BOL key from data line 1 and set valid EDI BOL flag, otherwise set invalid EDI BOL flag
R-GCCCCADD-cbl-02350 Get EBSBCCM Commodity Segment
Computation Rules
📊 Business Logic Narrative
When the process 'Get EBSBCCM Commodity Segment' is invoked, and assuming that a valid edi bol is available and commodity segment sequence number is provided, when the system retrieves ebsbccm commodity segment with type 'cm' and the current sequence number, the desired outcome is that if the segment is found, add the l0-lading-qty to the running total of units, otherwise set commodity segment not found flag.
💻 Technical Criteria
Given A valid EDI BOL is available and commodity segment sequence number is provided
When The system retrieves EBSBCCM commodity segment with type 'CM' and the current sequence number
Then If the segment is found, add the L0-LADING-QTY to the running total of units, otherwise set commodity segment not found flag
R-GCCCCADD-cbl-02683 Get EBSBCCM Segment
Action Rules
📊 Business Logic Narrative
When the process 'Get EBSBCCM Segment' is invoked, and assuming that a ccm sequence number is available and edi bol key is valid, when the system attempts to retrieve ebsbccm segment data, the desired outcome is that the system calls ebclgio to fetch the commodity segment for the current sequence.
💻 Technical Criteria
Given A CCM sequence number is available AND EDI BOL key is valid
When The system attempts to retrieve EBSBCCM segment data
Then The system calls EBCLGIO to fetch the commodity segment for the current sequence
R-GCCCCADD-cbl-02687 First Segment?
Decision Rules
📊 Business Logic Narrative
When the process 'First Segment?' is invoked, and assuming that a commodity segment is being processed, when the system checks the sequence number, the desired outcome is that if ccm sequence equals 1 then retrieve weight segment and set quantity qualifier else skip weight processing.
💻 Technical Criteria
Given A commodity segment is being processed
When The system checks the sequence number
Then IF CCM sequence equals 1 THEN retrieve weight segment and set quantity qualifier ELSE skip weight processing
R-GCCCCADD-cbl-02842 Set EDI BOL Key from Waybill
Definitional Rules
📊 Business Logic Narrative
When the process 'Set EDI BOL Key from Waybill' is invoked, and assuming that the function code is set for database retrieval, when the system needs to identify the specific bill of lading, the desired outcome is that the edi bol key from the waybill is assigned to the root key parameter.
💻 Technical Criteria
Given The function code is set for database retrieval
When The system needs to identify the specific bill of lading
Then The EDI BOL key from the waybill is assigned to the root key parameter
R-GCCCCADD-cbl-02844 Set Sequence Number
Process Rules
📊 Business Logic Narrative
When the process 'Set Sequence Number' is invoked, and assuming that the commodity type identifier is set to cm, when the system needs to identify a specific commodity segment occurrence, the desired outcome is that the sequence number from the commodity sequence counter is assigned to the segment parameters.
💻 Technical Criteria
Given The commodity type identifier is set to CM
When The system needs to identify a specific commodity segment occurrence
Then The sequence number from the commodity sequence counter is assigned to the segment parameters
R-GCCCCADD-cbl-01962 Check for Valid EDI BOL
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check for Valid EDI BOL', assuming that a waybill processing request is initiated, when the system checks for edi bol availability by verifying origin road number is not zero, the desired outcome is that the system sets edi bol availability flag and extracts edi bol key if valid data exists.
💻 Technical Criteria
EXCLUDING A waybill processing request is initiated
When The system checks for EDI BOL availability by verifying origin road number is not zero
Then The system sets EDI BOL availability flag and extracts EDI BOL key if valid data exists
R-GCCCCADD-cbl-01968 Check for Valid EDI BOL Data
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check for Valid EDI BOL Data', assuming that a waybill processing request with origin road number, when the system checks for valid edi bol data by verifying origin road number is not zero and retrieving shipment mining data, the desired outcome is that the system sets edi bol availability flag and extracts edi bol key if data is found.
💻 Technical Criteria
EXCLUDING A waybill processing request with origin road number
When The system checks for valid EDI BOL data by verifying origin road number is not zero and retrieving shipment mining data
Then The system sets EDI BOL availability flag and extracts EDI BOL key if data is found
R-GCCCCADD-cbl-00171 Loop Through EBSBCKS Segments
Action Rules
📊 Business Logic Narrative
When the process 'Loop Through EBSBCKS Segments' is invoked, and assuming that search parameters are configured and sequence counter is set, when the system retrieves an ebsbcks segment using the current sequence number, the desired outcome is that the ebsbcks segment is retrieved from the edi bol database using the waybill key and sequence number.
💻 Technical Criteria
Given Search parameters are configured and sequence counter is set
When The system retrieves an EBSBCKS segment using the current sequence number
Then The EBSBCKS segment is retrieved from the EDI BOL database using the waybill key and sequence number
R-GCCCCADD-cbl-00193 Initialize Consignee Record
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Consignee Record' is invoked, and assuming that a new consignee record needs to be created, when the consignee record initialization is triggered, the desired outcome is that the consignee record is cleared, ccn key is set, record type is set to '55', and sequence number is set to '0002'.
💻 Technical Criteria
Given A new consignee record needs to be created
When The consignee record initialization is triggered
Then The consignee record is cleared, CCN key is set, record type is set to '55', and sequence number is set to '0002'
R-GCCCCADD-cbl-00259 Check Next EDI Hazmat Record
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check Next EDI Hazmat Record', assuming that current edi bol hazmat record does not contain valid un number, when the un/na identification code does not start with 'un', the desired outcome is that the system increments the commodity sequence number and continues searching if sequence is 98 or less and hazmat not yet found.
💻 Technical Criteria
EXCLUDING Current EDI BOL hazmat record does not contain valid UN number
When The UN/NA identification code does not start with 'UN'
Then The system increments the commodity sequence number and continues searching if sequence is 98 or less and hazmat not yet found
R-GCCCCADD-cbl-01998 Get Next EBSBCCM-CH Segment
Action Rules
📊 Business Logic Narrative
When the process 'Get Next EBSBCCM-CH Segment' is invoked, and assuming that a hazmat sequence counter is set and edi bol data exists, when the system attempts to retrieve a hazmat segment, the desired outcome is that the ebsbccm ch segment is retrieved using the current sequence number, and hazmat found flag is updated based on retrieval success.
💻 Technical Criteria
Given A hazmat sequence counter is set and EDI BOL data exists
When The system attempts to retrieve a hazmat segment
Then The EBSBCCM CH segment is retrieved using the current sequence number, and hazmat found flag is updated based on retrieval success
R-GCCCCADD-cbl-02002 Retrieve LH3 Proper Shipping Name
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve LH3 Proper Shipping Name' is invoked, and assuming that a valid un number exists and proper shipping name sequence is initialized, when the system attempts to retrieve hazmat shipping details, the desired outcome is that the ebsbchi hs segment is retrieved using the current sequence number.
💻 Technical Criteria
Given A valid UN number exists and proper shipping name sequence is initialized
When The system attempts to retrieve hazmat shipping details
Then The EBSBCHI HS segment is retrieved using the current sequence number
R-GCCCCADD-cbl-02392 Get EBSBCCM-CH Segment
Action Rules
📊 Business Logic Narrative
When the process 'Get EBSBCCM-CH Segment' is invoked, and assuming that the edi bol is valid and a sequence counter is set, when retrieving the ebsbccm hazmat commodity segment with type 'ch', the desired outcome is that the system attempts to read the hazmat commodity data for the specified sequence number.
💻 Technical Criteria
Given The EDI BOL is valid AND a sequence counter is set
When Retrieving the EBSBCCM hazmat commodity segment with type 'CH'
Then The system attempts to read the hazmat commodity data for the specified sequence number
R-GCCCCADD-cbl-02720 More Sequences to Check?
Decision Rules
📊 Business Logic Narrative
When the process 'More Sequences to Check?' is invoked, and assuming that the system is processing hazardous material sequences and current sequence is complete, when the system evaluates continuation criteria, the desired outcome is that the system should continue processing if sequence number is 98 or less and hazmat has not been found, otherwise terminate hazmat processing.
💻 Technical Criteria
Given The system is processing hazardous material sequences and current sequence is complete
When The system evaluates continuation criteria
Then The system should continue processing if sequence number is 98 or less AND hazmat has not been found, otherwise terminate hazmat processing
R-GCCCCADD-cbl-02889 Set Sequence Number
Process Rules
📊 Business Logic Narrative
When the process 'Set Sequence Number' is invoked, and assuming that a ccm sequence counter is maintained for hazmat processing, when preparing to retrieve a specific hazmat segment, the desired outcome is that the sequence number parameter is set to the current ccm sequence value.
💻 Technical Criteria
Given A CCM sequence counter is maintained for hazmat processing
When Preparing to retrieve a specific hazmat segment
Then The sequence number parameter is set to the current CCM sequence value
R-GCCCCADD-cbl-00268 Call GCCCBOL Program
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCCBOL Program' is invoked, and assuming that a cargo manifest is being created with valid shipment data, when the system needs to process bill of lading information, the desired outcome is that the gcccbol program is called with shipment root, customs records, and bol parameters to extract related ccn data.
💻 Technical Criteria
Given A cargo manifest is being created with valid shipment data
When The system needs to process bill of lading information
Then The GCCCBOL program is called with shipment root, customs records, and BOL parameters to extract related CCN data
R-GCCCCADD-cbl-00269 Extract Multiple CCN Array
Process Rules
📊 Business Logic Narrative
When the process 'Extract Multiple CCN Array' is invoked, and assuming that the gcccbol program has been executed successfully, when the system checks for multiple related cargo control numbers, the desired outcome is that the ccn array table is examined to determine if multiple ccns exist for processing.
💻 Technical Criteria
Given The GCCCBOL program has been executed successfully
When The system checks for multiple related cargo control numbers
Then The CCN array table is examined to determine if multiple CCNs exist for processing
R-GCCCCADD-cbl-00270 Multiple CCNs Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Multiple CCNs Found?' is invoked, and assuming that the ccn array has been extracted from bol processing results, when the system checks if the ccn array contains data, the desired outcome is that if the ccn array is not spaces or low-values, multiple ccns are considered found.
💻 Technical Criteria
Given The CCN array has been extracted from BOL processing results
When The system checks if the CCN array contains data
Then If the CCN array is not spaces or low-values, multiple CCNs are considered found
R-GCCCCADD-cbl-00271 Process Each Related CCN
Process Rules
📊 Business Logic Narrative
When the process 'Process Each Related CCN' is invoked, and assuming that multiple ccns have been found in the bol processing results, when the system processes related ccns, the desired outcome is that for each ccn from index 1 to 99, if the ccn is not spaces, it is processed for manifest creation.
💻 Technical Criteria
Given Multiple CCNs have been found in the BOL processing results
When The system processes related CCNs
Then For each CCN from index 1 to 99, if the CCN is not spaces, it is processed for manifest creation
R-GCCCCADD-cbl-00272 Set Spawn Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Set Spawn Parameters' is invoked, and assuming that a related ccn needs to be processed for manifest creation, when the system sets up spawn parameters, the desired outcome is that the waybill key, waybill date, ccn, and action code 'am' are set for the spawn process.
💻 Technical Criteria
Given A related CCN needs to be processed for manifest creation
When The system sets up spawn parameters
Then The waybill key, waybill date, CCN, and action code 'AM' are set for the spawn process
R-GCCCCADD-cbl-00273 Create Manifest for Related CCN
Action Rules
📊 Business Logic Narrative
When the process 'Create Manifest for Related CCN' is invoked, and assuming that spawn parameters have been set for a related ccn, when the system creates a manifest for the related ccn, the desired outcome is that the gct0111e process is spawned with the configured parameters to create the manifest.
💻 Technical Criteria
Given Spawn parameters have been set for a related CCN
When The system creates a manifest for the related CCN
Then The GCT0111E process is spawned with the configured parameters to create the manifest
R-GCCCCADD-cbl-02043 Store Entity Record in Customs Database
Process Rules
📊 Business Logic Narrative
When the process 'Store Entity Record in Customs Database' is invoked, and assuming that a validated entity record exists with all required data, when the system stores the entity record, the desired outcome is that the record is added to the working storage array at the current sequence index, ccn key and record type '55' are set, and the sequence index is incremented.
💻 Technical Criteria
Given A validated entity record exists with all required data
When The system stores the entity record
Then The record is added to the working storage array at the current sequence index, CCN key and record type '55' are set, and the sequence index is incremented
R-GCCCCADD-cbl-02452 Process NN - Multiple Entities
Process Rules
📊 Business Logic Narrative
When the process 'Process NN - Multiple Entities' is invoked, and assuming that edi bol data exists with nn entity type and entity id code is valid, when the system processes nn entity data for each sequence number, the desired outcome is that the system extracts entity name, consignee chop code, address information from gc segment, city/state/postal data from ga segment, validates the entity data, and creates a record with the entity id from the nn segment.
💻 Technical Criteria
Given EDI BOL data exists with NN entity type and entity ID code is valid
When The system processes NN entity data for each sequence number
Then The system extracts entity name, consignee chop code, address information from GC segment, city/state/postal data from GA segment, validates the entity data, and creates a record with the entity ID from the NN segment
R-GCCCCADD-cbl-02455 Validate Required Fields
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Validate Required Fields', assuming that entity sequence number is greater than 2 (not shipper or consignee), when entity id code is present but not in valid values list or is shipper/consignee/customs broker, the desired outcome is that the system generates an invalid entity id code error message.
💻 Technical Criteria
EXCLUDING Entity sequence number is greater than 2 (not shipper or consignee)
When Entity ID code is present but not in valid values list or is shipper/consignee/customs broker
Then The system generates an invalid entity ID code error message
R-GCCCCADD-cbl-02723 Search Transportation Segments
Action Rules
📊 Business Logic Narrative
When the process 'Search Transportation Segments' is invoked, and assuming that a search sequence number is established and edi bol key is available, when transportation segment lookup is performed using segment type 'tn' and the current sequence, the desired outcome is that the system attempts to retrieve the transportation segment data from ebsnrtd.
💻 Technical Criteria
Given A search sequence number is established and EDI BOL key is available
When Transportation segment lookup is performed using segment type 'TN' and the current sequence
Then The system attempts to retrieve the transportation segment data from EBSNRTD
R-GCCCCADD-cbl-02907 Prepare EBSNRTD Segment Request
Process Rules
📊 Business Logic Narrative
When the process 'Prepare EBSNRTD Segment Request' is invoked, and assuming that a transportation segment needs to be retrieved from edi bol, when the segment request is being prepared, the desired outcome is that the segment type is set to ebsnrtd, function code is set to gu, operator is set to equals, type is set to tn, and the current sequence number is assigned.
💻 Technical Criteria
Given A transportation segment needs to be retrieved from EDI BOL
When The segment request is being prepared
Then The segment type is set to EBSNRTD, function code is set to GU, operator is set to equals, type is set to TN, and the current sequence number is assigned
R-GCCCCADD-cbl-02914 Adjust Final Sequence Counter
Process Rules
📊 Business Logic Narrative
When the process 'Adjust Final Sequence Counter' is invoked, and assuming that the transportation segment search has completed, when the final sequence counter needs to be adjusted, the desired outcome is that the sequence counter is decremented by 1 to reflect the correct final sequence number.
💻 Technical Criteria
Given The transportation segment search has completed
When The final sequence counter needs to be adjusted
Then The sequence counter is decremented by 1 to reflect the correct final sequence number
R-GCCCCADD-cbl-02733 Get MCOA Segment by Sequence
Action Rules
📊 Business Logic Narrative
When the process 'Get MCOA Segment by Sequence' is invoked, and assuming that a mcoa sequence number is available, when the system attempts to retrieve the mcoa segment, the desired outcome is that the mcoa segment data is retrieved from ebsmcoa using the sequence number.
💻 Technical Criteria
Given A MCOA sequence number is available
When The system attempts to retrieve the MCOA segment
Then The MCOA segment data is retrieved from EBSMCOA using the sequence number
R-GCCCCADD-cbl-02737 Get MCOA Address Segment
Action Rules
📊 Business Logic Narrative
When the process 'Get MCOA Address Segment' is invoked, and assuming that entity information has been extracted from mcoa segment, when the system attempts to retrieve address information, the desired outcome is that the mcoa on segment is retrieved using the same sequence number.
💻 Technical Criteria
Given Entity information has been extracted from MCOA segment
When The system attempts to retrieve address information
Then The MCOA ON segment is retrieved using the same sequence number
R-GCCCCADD-cbl-02739 Get MCOA City/State Segment
Action Rules
📊 Business Logic Narrative
When the process 'Get MCOA City/State Segment' is invoked, and assuming that address information has been processed, when the system attempts to retrieve city/state information, the desired outcome is that the mcoa oc segment is retrieved using the same sequence number.
💻 Technical Criteria
Given Address information has been processed
When The system attempts to retrieve city/state information
Then The MCOA OC segment is retrieved using the same sequence number
R-GCCCCADD-cbl-02742 Insert Entity Record
Action Rules
📊 Business Logic Narrative
When the process 'Insert Entity Record' is invoked, and assuming that a valid mcoa entity segment has been created and validated, when the system inserts the entity record, the desired outcome is that the entity record is inserted into the gcsccs55 array with the appropriate sequence number.
💻 Technical Criteria
Given A valid MCOA entity segment has been created and validated
When The system inserts the entity record
Then The entity record is inserted into the GCSCCS55 array with the appropriate sequence number
R-GCCCCADD-cbl-02915 Get MCOA Segment by Sequence - Retrieve EBSMCOA segment data with sequence number validation
Action Rules
📊 Business Logic Narrative
When the process 'Get MCOA Segment by Sequence - Retrieve EBSMCOA segment data with sequence number validation' is invoked, and assuming that an edi bol key exists and mcoa sequence number is provided, when system attempts to retrieve ebsmcoa segment with type 'ot' (other), the desired outcome is that system successfully retrieves the mcoa segment data and sets found flag.
💻 Technical Criteria
Given An EDI BOL key exists and MCOA sequence number is provided
When System attempts to retrieve EBSMCOA segment with type 'OT' (Other)
Then System successfully retrieves the MCOA segment data and sets found flag
R-GCCCCADD-cbl-02916 Set EDI BOL Key as Root Key
Process Rules
📊 Business Logic Narrative
When the process 'Set EDI BOL Key as Root Key' is invoked, and assuming that mcoa sequence number is available for processing, when system prepares to retrieve mcoa segment data, the desired outcome is that system sets edi bol key as root key, mcoa sequence number, segment type as ebsmcoa, type as ot, and function code as gu.
💻 Technical Criteria
Given MCOA sequence number is available for processing
When System prepares to retrieve MCOA segment data
Then System sets EDI BOL key as root key, MCOA sequence number, segment type as EBSMCOA, type as OT, and function code as GU
R-GCCCCADD-cbl-02919 Set EDI BOL Key and Sequence Number
Process Rules
📊 Business Logic Narrative
When the process 'Set EDI BOL Key and Sequence Number' is invoked, and assuming that a mcoa address segment retrieval is requested, when the system prepares to retrieve address information, the desired outcome is that the edi bol key is set from the stored key for record 55 processing and the mcoa sequence number is used as the sequence identifier.
💻 Technical Criteria
Given A MCOA address segment retrieval is requested
When The system prepares to retrieve address information
Then The EDI BOL key is set from the stored key for record 55 processing and the MCOA sequence number is used as the sequence identifier
R-GCCCCADD-cbl-02930 Initialize EBWLGIO Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize EBWLGIO Parameters' is invoked, and assuming that a request to retrieve mcoa geographic segment data, when the system initializes the retrieval parameters, the desired outcome is that the edi bol key, mcoa sequence number, segment type as ebsmcoa, type as oc, operator as equals, and function code as gu are set for the geographic data lookup.
💻 Technical Criteria
Given A request to retrieve MCOA geographic segment data
When The system initializes the retrieval parameters
Then The EDI BOL key, MCOA sequence number, segment type as EBSMCOA, type as OC, operator as equals, and function code as GU are set for the geographic data lookup
R-GCCCCADD-cbl-02046 Check CCN Array from EDI BOL
Validation Rules
📊 Business Logic Narrative
When the process 'Check CCN Array from EDI BOL' is invoked, and assuming that a ccn array is retrieved from edi bol processing, when the system checks if the ccn array contains data, the desired outcome is that the system determines whether to proceed with ccn processing or continue with normal processing.
💻 Technical Criteria
Given A CCN array is retrieved from EDI BOL processing
When The system checks if the CCN array contains data
Then The system determines whether to proceed with CCN processing or continue with normal processing
R-GCCCCADD-cbl-02047 CCN Array Contains Data?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'CCN Array Contains Data?', assuming that the ccn array has been checked for data content, when the ccn array is not spaces and not low-values, the desired outcome is that initialize ccn processing loop, otherwise continue with normal processing.
💻 Technical Criteria
EXCLUDING The CCN array has been checked for data content
When The CCN array is not spaces and not low-values
Then Initialize CCN processing loop, otherwise continue with normal processing
R-GCCCCADD-cbl-02048 Initialize CCN Index Counter
Process Rules
📊 Business Logic Narrative
When the process 'Initialize CCN Index Counter' is invoked, and assuming that the ccn array contains valid data for processing, when ccn processing is initiated, the desired outcome is that initialize the ccn index counter to 1 for array iteration.
💻 Technical Criteria
Given The CCN array contains valid data for processing
When CCN processing is initiated
Then Initialize the CCN index counter to 1 for array iteration
R-GCCCCADD-cbl-02049 More CCNs Available?
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'More CCNs Available?', assuming that ccn processing loop is active with current index position, when the ccn index is less than or equal to 99 and the current ccn entry is not spaces, the desired outcome is that continue processing the current ccn entry, otherwise end ccn processing.
💻 Technical Criteria
EXCLUDING CCN processing loop is active with current index position
When The CCN index is less than or equal to 99 and the current CCN entry is not spaces
Then Continue processing the current CCN entry, otherwise end CCN processing
R-GCCCCADD-cbl-02050 Extract Current CCN
Process Rules
📊 Business Logic Narrative
When the process 'Extract Current CCN' is invoked, and assuming that a valid ccn exists at the current array index position, when the system processes the current ccn array element, the desired outcome is that extract the ccn value from the array position for spawn processing.
💻 Technical Criteria
Given A valid CCN exists at the current array index position
When The system processes the current CCN array element
Then Extract the CCN value from the array position for spawn processing
R-GCCCCADD-cbl-02051 Set Waybill Key for Spawn
Process Rules
📊 Business Logic Narrative
When the process 'Set Waybill Key for Spawn' is invoked, and assuming that a ccn has been extracted from the array for processing, when setting up spawn parameters for manifest creation, the desired outcome is that assign the original waybill key to the spawn waybill field.
💻 Technical Criteria
Given A CCN has been extracted from the array for processing
When Setting up spawn parameters for manifest creation
Then Assign the original waybill key to the spawn waybill field
R-GCCCCADD-cbl-02052 Set Waybill Date for Spawn
Process Rules
📊 Business Logic Narrative
When the process 'Set Waybill Date for Spawn' is invoked, and assuming that spawn waybill key has been set for the current ccn, when continuing spawn parameter setup, the desired outcome is that assign the waybill date to the spawn waybill date field.
💻 Technical Criteria
Given Spawn waybill key has been set for the current CCN
When Continuing spawn parameter setup
Then Assign the waybill date to the spawn waybill date field
R-GCCCCADD-cbl-02053 Set CCN for Spawn
Process Rules
📊 Business Logic Narrative
When the process 'Set CCN for Spawn' is invoked, and assuming that spawn waybill parameters have been set, when finalizing spawn message parameters, the desired outcome is that assign the current ccn from the array to the spawn ccn field.
💻 Technical Criteria
Given Spawn waybill parameters have been set
When Finalizing spawn message parameters
Then Assign the current CCN from the array to the spawn CCN field
R-GCCCCADD-cbl-02054 Set Action Code to 'AM'
Process Rules
📊 Business Logic Narrative
When the process 'Set Action Code to 'AM'' is invoked, and assuming that all spawn parameters have been assigned for the current ccn, when preparing the final spawn message, the desired outcome is that set the spawn action code to 'am' for automated manifest processing.
💻 Technical Criteria
Given All spawn parameters have been assigned for the current CCN
When Preparing the final spawn message
Then Set the spawn action code to 'AM' for automated manifest processing
R-GCCCCADD-cbl-02055 Spawn GCT0111E for Manifest Creation
Action Rules
📊 Business Logic Narrative
When the process 'Spawn GCT0111E for Manifest Creation' is invoked, and assuming that all spawn parameters are properly set including waybill key, date, ccn, and action code, when the spawn message is ready for execution, the desired outcome is that call the spawn process gct0111e to create a separate manifest for the current ccn.
💻 Technical Criteria
Given All spawn parameters are properly set including waybill key, date, CCN, and action code
When The spawn message is ready for execution
Then Call the spawn process GCT0111E to create a separate manifest for the current CCN
R-GCCCCADD-cbl-02056 Increment CCN Index
Process Rules
📊 Business Logic Narrative
When the process 'Increment CCN Index' is invoked, and assuming that the current ccn has been processed and spawn executed, when continuing the ccn array iteration, the desired outcome is that increment the ccn index counter by 1 to move to the next array position.
💻 Technical Criteria
Given The current CCN has been processed and spawn executed
When Continuing the CCN array iteration
Then Increment the CCN index counter by 1 to move to the next array position
R-GCCCCADD-cbl-00284 CCN Array from EDI BOL Available?
Validation Rules
📊 Business Logic Narrative
When the process 'CCN Array from EDI BOL Available?' is invoked, and assuming that a cargo manifest processing request with potential multiple ccns, when the system checks for ccn array data from edi bol processing, the desired outcome is that the system determines if ccn array contains valid data or is empty/low-values to decide processing path.
💻 Technical Criteria
Given A cargo manifest processing request with potential multiple CCNs
When The system checks for CCN array data from EDI BOL processing
Then The system determines if CCN array contains valid data or is empty/low-values to decide processing path
R-GCCCCADD-cbl-00285 More CCNs to Process?
Process Rules
📊 Business Logic Narrative
When the process 'More CCNs to Process?' is invoked, and assuming that a ccn array with multiple entries for processing, when the system iterates through ccn entries using index counter, the desired outcome is that the system continues processing while ccn index is less than or equal to 99 and current ccn entry is not spaces.
💻 Technical Criteria
Given A CCN array with multiple entries for processing
When The system iterates through CCN entries using index counter
Then The system continues processing while CCN index is less than or equal to 99 and current CCN entry is not spaces
R-GCCCCADD-cbl-00286 Set Spawn Parameters
Action Rules
📊 Business Logic Narrative
When the process 'Set Spawn Parameters' is invoked, and assuming that a valid ccn entry from the array requiring manifest creation, when the system prepares to spawn manifest creation process, the desired outcome is that the system sets waybill key from input, waybill date from shipment, current ccn from array, and action code to 'am'.
💻 Technical Criteria
Given A valid CCN entry from the array requiring manifest creation
When The system prepares to spawn manifest creation process
Then The system sets waybill key from input, waybill date from shipment, current CCN from array, and action code to 'AM'
R-GCCCCADD-cbl-00287 Spawn GCT0111E for Manifest Creation
Action Rules
📊 Business Logic Narrative
When the process 'Spawn GCT0111E for Manifest Creation' is invoked, and assuming that spawn parameters are properly configured for a ccn entry, when the system invokes the gct0111e manifest creation program, the desired outcome is that the system calls gct0111e with the spawn message containing waybill, date, ccn, and action code information.
💻 Technical Criteria
Given Spawn parameters are properly configured for a CCN entry
When The system invokes the GCT0111E manifest creation program
Then The system calls GCT0111E with the spawn message containing waybill, date, CCN, and action code information
R-GCCCCADD-cbl-00288 Process EDI Bill of Lading Data
Process Rules
📊 Business Logic Narrative
When the process 'Process EDI Bill of Lading Data' is invoked, and assuming that an edi bill of lading record exists with potential multiple ccns, when the system processes the edi bol data through gcccbol program, the desired outcome is that the system extracts ccn array data and makes it available for further processing.
💻 Technical Criteria
Given An EDI Bill of Lading record exists with potential multiple CCNs
When The system processes the EDI BOL data through GCCCBOL program
Then The system extracts CCN array data and makes it available for further processing
R-GCCCCADD-cbl-00289 Multiple CCNs Found in EDI BOL?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Multiple CCNs Found in EDI BOL?', assuming that edi bol processing has completed and ccn array data is available, when the system checks if gcwcbol-ccn-array-tbl contains data and is not spaces or low-values, the desired outcome is that the system identifies whether multiple ccns need to be processed for manifest creation.
💻 Technical Criteria
EXCLUDING EDI BOL processing has completed and CCN array data is available
When The system checks if GCWCBOL-CCN-ARRAY-TBL contains data and is not spaces or low-values
Then The system identifies whether multiple CCNs need to be processed for manifest creation
R-GCCCCADD-cbl-00290 Initialize CCN Processing Loop
Process Rules
📊 Business Logic Narrative
When the process 'Initialize CCN Processing Loop' is invoked, and assuming that multiple ccns have been identified in the edi bol array, when the system begins processing the ccn array, the desired outcome is that the system initializes ccn index counter starting from 1 and prepares for loop iteration.
💻 Technical Criteria
Given Multiple CCNs have been identified in the EDI BOL array
When The system begins processing the CCN array
Then The system initializes CCN index counter starting from 1 and prepares for loop iteration
R-GCCCCADD-cbl-00291 Get Next CCN from Array
Process Rules
📊 Business Logic Narrative
When the process 'Get Next CCN from Array' is invoked, and assuming that ccn processing loop is active with a valid index counter, when the system accesses the ccn array at the current index position, the desired outcome is that the system extracts the specific ccn value for manifest creation processing.
💻 Technical Criteria
Given CCN processing loop is active with a valid index counter
When The system accesses the CCN array at the current index position
Then The system extracts the specific CCN value for manifest creation processing
R-GCCCCADD-cbl-00292 More CCNs to Process?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'More CCNs to Process?', assuming that ccn processing loop is active with current index position, when the system checks if current ccn index is within array bounds (≤ 99) and current ccn is not spaces, the desired outcome is that the system determines whether to continue processing more ccns or complete the loop.
💻 Technical Criteria
EXCLUDING CCN processing loop is active with current index position
When The system checks if current CCN index is within array bounds (≤ 99) and current CCN is not spaces
Then The system determines whether to continue processing more CCNs or complete the loop
R-GCCCCADD-cbl-00293 Prepare Spawn Message for GCT0111E
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Spawn Message for GCT0111E' is invoked, and assuming that a valid ccn has been extracted from the array for processing, when the system prepares spawn message data, the desired outcome is that the system sets up waybill key, waybill date, extracted ccn, and action code 'am' in the spawn message structure.
💻 Technical Criteria
Given A valid CCN has been extracted from the array for processing
When The system prepares spawn message data
Then The system sets up waybill key, waybill date, extracted CCN, and action code 'AM' in the spawn message structure
R-GCCCCADD-cbl-00294 Set Waybill Key and Date
Process Rules
📊 Business Logic Narrative
When the process 'Set Waybill Key and Date' is invoked, and assuming that spawn message structure is being prepared for gct0111e, when the system sets waybill information in the spawn message, the desired outcome is that the system moves original waybill key to spawn-waybill and waybill date to spawn-waybill-date.
💻 Technical Criteria
Given Spawn message structure is being prepared for GCT0111E
When The system sets waybill information in the spawn message
Then The system moves original waybill key to SPAWN-WAYBILL and waybill date to SPAWN-WAYBILL-DATE
R-GCCCCADD-cbl-00295 Set Current CCN
Process Rules
📊 Business Logic Narrative
When the process 'Set Current CCN' is invoked, and assuming that a specific ccn has been extracted from the ccn array, when the system assigns ccn to the spawn message, the desired outcome is that the system moves the current ccn value to spawn-ccn field in the message structure.
💻 Technical Criteria
Given A specific CCN has been extracted from the CCN array
When The system assigns CCN to the spawn message
Then The system moves the current CCN value to SPAWN-CCN field in the message structure
R-GCCCCADD-cbl-00297 Call GCT0111E Program
Action Rules
📊 Business Logic Narrative
When the process 'Call GCT0111E Program' is invoked, and assuming that spawn message has been fully prepared with waybill, ccn, and action code information, when the system invokes the z700-spawn-gct0111e procedure, the desired outcome is that the system executes gct0111e program with the prepared message data for manifest creation.
💻 Technical Criteria
Given Spawn message has been fully prepared with waybill, CCN, and action code information
When The system invokes the Z700-SPAWN-GCT0111E procedure
Then The system executes GCT0111E program with the prepared message data for manifest creation
R-GCCCCADD-cbl-02479 Create Importer Record in Customs
Process Rules
📊 Business Logic Narrative
When the process 'Create Importer Record in Customs' is invoked, and assuming that conditions are met for creating a new importer record, when the system creates the importer record, the desired outcome is that the system initializes a new gcsccs55 record structure, sets the ccn key, record type to '55', and assigns the next available sequence number.
💻 Technical Criteria
Given Conditions are met for creating a new importer record
When The system creates the importer record
Then The system initializes a new GCSCCS55 record structure, sets the CCN key, record type to '55', and assigns the next available sequence number
R-GCCCCADD-cbl-00325 Save Current Description Data
Process Rules
📊 Business Logic Narrative
When the process 'Save Current Description Data' is invoked, and assuming that a request to capture description from a related ccn is initiated, when the system begins the description capture process, the desired outcome is that the current manifest data (gcsccrt), cargo segment data (gcsccs52), and all cargo description array elements (46 elements) are saved to backup variables for potential restoration.
💻 Technical Criteria
Given A request to capture description from a related CCN is initiated
When The system begins the description capture process
Then The current manifest data (GCSCCRT), cargo segment data (GCSCCS52), and all cargo description array elements (46 elements) are saved to backup variables for potential restoration
R-GCCCCADD-cbl-00326 Set CCN Key to Source CCN
Action Rules
📊 Business Logic Narrative
When the process 'Set CCN Key to Source CCN' is invoked, and assuming that a source ccn is specified in the description-from-ccn field, when the system prepares to retrieve description data, the desired outcome is that the ccn key is set to the source ccn value and the accept status is set to 'ge' for retrieval operations.
💻 Technical Criteria
Given A source CCN is specified in the description-from-CCN field
When The system prepares to retrieve description data
Then The CCN key is set to the source CCN value and the accept status is set to 'GE' for retrieval operations
R-GCCCCADD-cbl-00327 Retrieve Description from Source CCN
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Description from Source CCN' is invoked, and assuming that a valid source ccn is set and the system is configured for retrieval, when the description retrieval process is executed, the desired outcome is that the gccccio2 program is called to fetch all segments (gcsccs00, gcsccrt, gcsccs52, gcsccs53, gcsccs54, gcsccs55, gcsccs56) from the source ccn.
💻 Technical Criteria
Given A valid source CCN is set and the system is configured for retrieval
When The description retrieval process is executed
Then The GCCCCIO2 program is called to fetch all segments (GCSCCS00, GCSCCRT, GCSCCS52, GCSCCS53, GCSCCS54, GCSCCS55, GCSCCS56) from the source CCN
R-GCCCCADD-cbl-00328 Description Retrieved Successfully?
Validation Rules
📊 Business Logic Narrative
When the process 'Description Retrieved Successfully?' is invoked, and assuming that an attempt to retrieve description data from source ccn has been made, when the retrieval operation completes, the desired outcome is that if the error number is spaces (no error), the retrieval is considered successful and processing continues; otherwise, the original data is restored.
💻 Technical Criteria
Given An attempt to retrieve description data from source CCN has been made
When The retrieval operation completes
Then If the error number is spaces (no error), the retrieval is considered successful and processing continues; otherwise, the original data is restored
R-GCCCCADD-cbl-00329 Extract Description Components
Process Rules
📊 Business Logic Narrative
When the process 'Extract Description Components' is invoked, and assuming that description data has been successfully retrieved from the source ccn, when the system processes the retrieved data, the desired outcome is that the lading description is extracted from gccc-lading-description and all 46 cargo data elements are extracted from the cargo data array into the working description structure.
💻 Technical Criteria
Given Description data has been successfully retrieved from the source CCN
When The system processes the retrieved data
Then The lading description is extracted from GCCC-LADING-DESCRIPTION and all 46 cargo data elements are extracted from the cargo data array into the working description structure
R-GCCCCADD-cbl-00330 Build Transit Description for US Action
Computation Rules
📊 Business Logic Narrative
When the process 'Build Transit Description for US Action' is invoked, and assuming that the action code is 'us' and description data has been extracted from source ccn, when the system builds the enhanced description, the desired outcome is that the description is formatted as: source ccn + ' moving in transit through canada ' + original description.
💻 Technical Criteria
Given The action code is 'US' and description data has been extracted from source CCN
When The system builds the enhanced description
Then The description is formatted as: source CCN + ' MOVING IN TRANSIT THROUGH CANADA ' + original description
R-GCCCCADD-cbl-00331 Build Transit Description for RT Action
Computation Rules
📊 Business Logic Narrative
When the process 'Build Transit Description for RT Action' is invoked, and assuming that the action code is 'rt' and description data has been extracted from source ccn, when the system builds the enhanced description, the desired outcome is that the description is formatted as: source ccn + ' moving in transit through us ' + original description.
💻 Technical Criteria
Given The action code is 'RT' and description data has been extracted from source CCN
When The system builds the enhanced description
Then The description is formatted as: source CCN + ' MOVING IN TRANSIT THROUGH US ' + original description
R-GCCCCADD-cbl-00335 Restore Original CCN Context
Process Rules
📊 Business Logic Narrative
When the process 'Restore Original CCN Context' is invoked, and assuming that description processing (successful or failed) has completed, when the system finalizes the description capture process, the desired outcome is that the original gcsccrt and gcsccs52 data is restored from the saved backup, and the cargo data array is cleared to spaces.
💻 Technical Criteria
Given Description processing (successful or failed) has completed
When The system finalizes the description capture process
Then The original GCSCCRT and GCSCCS52 data is restored from the saved backup, and the cargo data array is cleared to spaces
R-GCCCCADD-cbl-00336 Restore Original Data - No Changes
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Restore Original Data - No Changes', assuming that description retrieval from source ccn has failed (error number is not spaces), when the system handles the retrieval failure, the desired outcome is that all original data (gcsccrt, gcsccs52, and all 46 cargo data array elements) is restored from backup variables without any changes.
💻 Technical Criteria
EXCLUDING Description retrieval from source CCN has failed (error number is not spaces)
When The system handles the retrieval failure
Then All original data (GCSCCRT, GCSCCS52, and all 46 cargo data array elements) is restored from backup variables without any changes
R-GCCCCADD-cbl-00338 Retrieve Description from Related CCN
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Description from Related CCN' is invoked, and assuming that a related ccn is specified for description enhancement, when the system retrieves description data from the related ccn, the desired outcome is that the system fetches all description segments including main description and cargo data array from the specified ccn.
💻 Technical Criteria
Given A related CCN is specified for description enhancement
When The system retrieves description data from the related CCN
Then The system fetches all description segments including main description and cargo data array from the specified CCN
R-GCCCCADD-cbl-00339 Description Retrieved Successfully?
Validation Rules
📊 Business Logic Narrative
When the process 'Description Retrieved Successfully?' is invoked, and assuming that an attempt has been made to retrieve description from a related ccn, when the system checks the retrieval operation result, the desired outcome is that if retrieval was successful, proceed with description enhancement, otherwise restore original data.
💻 Technical Criteria
Given An attempt has been made to retrieve description from a related CCN
When The system checks the retrieval operation result
Then If retrieval was successful, proceed with description enhancement, otherwise restore original data
R-GCCCCADD-cbl-00340 Extract Description Components
Process Rules
📊 Business Logic Narrative
When the process 'Extract Description Components' is invoked, and assuming that description data has been successfully retrieved from a related ccn, when the system processes the retrieved description data, the desired outcome is that the main description and cargo data array components are extracted and prepared for enhancement.
💻 Technical Criteria
Given Description data has been successfully retrieved from a related CCN
When The system processes the retrieved description data
Then The main description and cargo data array components are extracted and prepared for enhancement
R-GCCCCADD-cbl-00342 Build US Transit Description
Computation Rules
📊 Business Logic Narrative
When the process 'Build US Transit Description' is invoked, and assuming that the action code is 'us' and description components are available, when the system builds the enhanced description, the desired outcome is that the description is formatted as: '[ccn] moving in transit through canada [original description]'.
💻 Technical Criteria
Given The action code is 'US' and description components are available
When The system builds the enhanced description
Then The description is formatted as: '[CCN] MOVING IN TRANSIT THROUGH CANADA [Original Description]'
R-GCCCCADD-cbl-00343 Build RT Transit Description
Computation Rules
📊 Business Logic Narrative
When the process 'Build RT Transit Description' is invoked, and assuming that the action code is 'rt' and description components are available, when the system builds the enhanced description, the desired outcome is that the description is formatted as: '[ccn] moving in transit through us [original description]'.
💻 Technical Criteria
Given The action code is 'RT' and description components are available
When The system builds the enhanced description
Then The description is formatted as: '[CCN] MOVING IN TRANSIT THROUGH US [Original Description]'
R-GCCCCADD-cbl-00355 Set Application Type and In-Transit Status from Table
Policy Rules
📊 Business Logic Narrative
When the process 'Set Application Type and In-Transit Status from Table' is invoked, and assuming that the in-transit status is set to ocean and the ccn key starts with '6105e', when the application type and in-transit status are being finalized, the desired outcome is that the broker name is automatically set to 'not-req' to indicate no broker is required.
💻 Technical Criteria
Given The in-transit status is set to ocean and the CCN key starts with '6105E'
When The application type and in-transit status are being finalized
Then The broker name is automatically set to 'NOT-REQ' to indicate no broker is required
R-GCCCCADD-cbl-00399 Check for Valid EDI BOL
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check for Valid EDI BOL', assuming that a waybill processing request is initiated, when the system checks for valid edi bol data by verifying origin road number is not zero, the desired outcome is that the system sets edi bol availability status and extracts bol key from shipment mining data if available.
💻 Technical Criteria
EXCLUDING A waybill processing request is initiated
When The system checks for valid EDI BOL data by verifying origin road number is not zero
Then The system sets EDI BOL availability status and extracts BOL key from shipment mining data if available
R-GCCCCADD-cbl-00401 Retrieve EBSBCCM Segment
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve EBSBCCM Segment' is invoked, and assuming that edi bol key is available and commodity sequence number is set, when the system attempts to retrieve commodity segment ebsbccm with type 'cm', the desired outcome is that the system returns commodity segment data if found or sets not-found status if segment does not exist.
💻 Technical Criteria
Given EDI BOL key is available and commodity sequence number is set
When The system attempts to retrieve commodity segment EBSBCCM with type 'CM'
Then The system returns commodity segment data if found or sets not-found status if segment does not exist
R-GCCCCADD-cbl-00419 Check for Valid EDI BOL
Validation Rules
📊 Business Logic Narrative
When the process 'Check for Valid EDI BOL' is invoked, and assuming that a waybill processing request with origin road number, when the system checks for valid edi bol data by looking up shipmin segment with type 'e' and sequence '1', the desired outcome is that if edi bol data is found, extract the edi bol key for further processing, otherwise mark as invalid edi bol.
💻 Technical Criteria
Given A waybill processing request with origin road number
When The system checks for valid EDI BOL data by looking up SHIPMIN segment with type 'E' and sequence '1'
Then If EDI BOL data is found, extract the EDI BOL key for further processing, otherwise mark as invalid EDI BOL
R-GCCCCADD-cbl-00421 Get EBSBCCM Segment
Action Rules
📊 Business Logic Narrative
When the process 'Get EBSBCCM Segment' is invoked, and assuming that edi bol key and commodity sequence number, when attempting to retrieve ebsbccm segment with type 'cm' for the current sequence, the desired outcome is that if segment is found, mark as found for processing, otherwise mark as not found.
💻 Technical Criteria
Given EDI BOL key and commodity sequence number
When Attempting to retrieve EBSBCCM segment with type 'CM' for the current sequence
Then If segment is found, mark as found for processing, otherwise mark as not found
R-GCCCCADD-cbl-00432 Check EDI BOL Data Availability
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check EDI BOL Data Availability', assuming that a waybill processing request is initiated, when the system checks for edi bol data availability by verifying if origin road number is not zero, the desired outcome is that the system sets the edi bol validity flag and retrieves the edi bol key if data is available.
💻 Technical Criteria
EXCLUDING A waybill processing request is initiated
When The system checks for EDI BOL data availability by verifying if origin road number is not zero
Then The system sets the EDI BOL validity flag and retrieves the EDI BOL key if data is available
R-GCCCCADD-cbl-00448 Set Record Type as '55' and Sequence '0001'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Record Type as '55' and Sequence '0001'' is invoked, and assuming that a shipper record structure has been initialized, when the system sets up the record identification, the desired outcome is that the record type is set to '55' and sequence number is set to '0001' for shipper identification.
💻 Technical Criteria
Given A shipper record structure has been initialized
When The system sets up the record identification
Then The record type is set to '55' and sequence number is set to '0001' for shipper identification
R-GCCCCADD-cbl-00469 Initialize Consignee Record Structure
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Consignee Record Structure' is invoked, and assuming that a consignee record needs to be created, when the system begins consignee record building process, the desired outcome is that the system initializes the consignee record structure, sets record type to '55', and assigns sequence number '0002'.
💻 Technical Criteria
Given A consignee record needs to be created
When The system begins consignee record building process
Then The system initializes the consignee record structure, sets record type to '55', and assigns sequence number '0002'
R-GCCCCADD-cbl-00493 Store N1 Segments in Database
Process Rules
📊 Business Logic Narrative
When the process 'Store N1 Segments in Database' is invoked, and assuming that a validated n1 entity segment exists and the sequence index is within the maximum allowed range, when the system stores the entity segment, the desired outcome is that the system assigns the ccn key, record type 55, current sequence number, and stores the segment data in the database array.
💻 Technical Criteria
Given A validated N1 entity segment exists AND the sequence index is within the maximum allowed range
When The system stores the entity segment
Then The system assigns the CCN key, record type 55, current sequence number, and stores the segment data in the database array
R-GCCCCADD-cbl-02098 Entity ID Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Entity ID Valid?' is invoked, and assuming that an entity record with sequence number greater than 2 and entity id code, when the system validates the entity id code, the desired outcome is that if entity id is not empty and not in valid values list or is shipper, consignee, or customs broker, add invalid entity id error message.
💻 Technical Criteria
Given An entity record with sequence number greater than 2 and entity ID code
When The system validates the entity ID code
Then If entity ID is not empty and not in valid values list or is shipper, consignee, or customs broker, add invalid entity ID error message
R-GCCCCADD-cbl-02501 Validate Name Requirements
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Validate Name Requirements', assuming that entity sequence number is greater than 2, when entity id is not in valid list or is shipper/consignee/customs broker, the desired outcome is that generate validation error for invalid entity id value.
💻 Technical Criteria
EXCLUDING Entity sequence number is greater than 2
When Entity ID is not in valid list OR is shipper/consignee/customs broker
Then Generate validation error for invalid entity ID value
R-GCCCCADD-cbl-02751 Sequence > 2?
Process Rules
📊 Business Logic Narrative
When the process 'Sequence > 2?' is invoked, and assuming that an entity record with a sequence number is being processed, when the sequence number is evaluated against the threshold of 2, the desired outcome is that if sequence number is 2 or less, skip entity type validation, otherwise apply entity type validation rules.
💻 Technical Criteria
Given An entity record with a sequence number is being processed
When The sequence number is evaluated against the threshold of 2
Then If sequence number is 2 or less, skip entity type validation, otherwise apply entity type validation rules
R-GCCCCADD-cbl-02752 Valid Entity ID Code?
Validation Rules
📊 Business Logic Narrative
When the process 'Valid Entity ID Code?' is invoked, and assuming that an entity record with sequence number greater than 2 has an entity id code, when the entity id code is checked against valid entity type values and restricted entity types, the desired outcome is that if entity id code is not in valid values list or is sh (shipper) or is cn (consignee) or is cb (customs broker), generate invalid entity id error, otherwise accept the entity id.
💻 Technical Criteria
Given An entity record with sequence number greater than 2 has an entity ID code
When The entity ID code is checked against valid entity type values and restricted entity types
Then If entity ID code is not in valid values list OR is SH (shipper) OR is CN (consignee) OR is CB (customs broker), generate invalid entity ID error, otherwise accept the entity ID
R-GCCCCADD-cbl-00501 Search for EDI BOL Stuffer Segment PN
Action Rules
📊 Business Logic Narrative
When the process 'Search for EDI BOL Stuffer Segment PN' is invoked, and assuming that an edi bill of lading key exists for processing, when the system searches for stuffer segment type 'pn' with sequence '01', the desired outcome is that the system retrieves stuffer name and contact information if the segment exists.
💻 Technical Criteria
Given An EDI Bill of Lading key exists for processing
When The system searches for stuffer segment type 'PN' with sequence '01'
Then The system retrieves stuffer name and contact information if the segment exists
R-GCCCCADD-cbl-00503 Extract Stuffer Name from EDI BOL
Process Rules
📊 Business Logic Narrative
When the process 'Extract Stuffer Name from EDI BOL' is invoked, and assuming that stuffer segment 'pn' exists in edi bill of lading, when the system processes the stuffer name data, the desired outcome is that the stuffer name is extracted and assigned to the entity name field.
💻 Technical Criteria
Given Stuffer segment 'PN' exists in EDI Bill of Lading
When The system processes the stuffer name data
Then The stuffer name is extracted and assigned to the entity name field
R-GCCCCADD-cbl-00507 Extract Address Lines from EDI BOL
Process Rules
📊 Business Logic Narrative
When the process 'Extract Address Lines from EDI BOL' is invoked, and assuming that stuffer address segment 'pa' exists in edi bill of lading, when the system processes the address data, the desired outcome is that address line 1 and address line 2 are extracted from the edi segment.
💻 Technical Criteria
Given Stuffer address segment 'PA' exists in EDI Bill of Lading
When The system processes the address data
Then Address line 1 and address line 2 are extracted from the EDI segment
R-GCCCCADD-cbl-00508 Set Default Address as 'NA'
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Default Address as 'NA'', assuming that stuffer address segment 'pa' does not exist in edi bill of lading, when the system processes address requirements, the desired outcome is that address line 1 is set to 'na' as the default value.
💻 Technical Criteria
EXCLUDING Stuffer address segment 'PA' does not exist in EDI Bill of Lading
When The system processes address requirements
Then Address line 1 is set to 'NA' as the default value
R-GCCCCADD-cbl-00511 Extract City, State, Postal, Country from EDI BOL
Process Rules
📊 Business Logic Narrative
When the process 'Extract City, State, Postal, Country from EDI BOL' is invoked, and assuming that stuffer city/state segment 'pc' exists in edi bill of lading, when the system processes the geographic data, the desired outcome is that city name, state/province code, postal code and country code are extracted from the edi segment.
💻 Technical Criteria
Given Stuffer city/state segment 'PC' exists in EDI Bill of Lading
When The system processes the geographic data
Then City name, state/province code, postal code and country code are extracted from the EDI segment
R-GCCCCADD-cbl-00514 Extract Contact Information from EDI BOL
Process Rules
📊 Business Logic Narrative
When the process 'Extract Contact Information from EDI BOL' is invoked, and assuming that stuffer contact segment 'gp' exists in edi bill of lading, when the system processes the contact data, the desired outcome is that contact function code, person name, communication number qualifier and communication number are extracted from the edi segment.
💻 Technical Criteria
Given Stuffer contact segment 'GP' exists in EDI Bill of Lading
When The system processes the contact data
Then Contact function code, person name, communication number qualifier and communication number are extracted from the EDI segment
R-GCCCCADD-cbl-00516 Insert Stuffer Record into Customs Database
Action Rules
📊 Business Logic Narrative
When the process 'Insert Stuffer Record into Customs Database' is invoked, and assuming that stuffer entity data has been validated and is complete, when the system processes the database insertion, the desired outcome is that the stuffer record is inserted into the customs database with sequence number between 0003 and 0025.
💻 Technical Criteria
Given Stuffer entity data has been validated and is complete
When The system processes the database insertion
Then The stuffer record is inserted into the customs database with sequence number between 0003 and 0025
R-GCCCCADD-cbl-00518 Search for EDI BOL UN Segment
Action Rules
📊 Business Logic Narrative
When the process 'Search for EDI BOL UN Segment' is invoked, and assuming that an edi bill of lading key exists for record 55 processing, when the system searches for un segment type with sequence '01', the desired outcome is that the system retrieves the ultimate consignee entity data if the segment exists.
💻 Technical Criteria
Given An EDI Bill of Lading key exists for record 55 processing
When The system searches for UN segment type with sequence '01'
Then The system retrieves the Ultimate Consignee entity data if the segment exists
R-GCCCCADD-cbl-00530 Insert UC Record into Database
Action Rules
📊 Business Logic Narrative
When the process 'Insert UC Record into Database' is invoked, and assuming that ultimate consignee segment data is validated and complete, when the system stores the uc record, the desired outcome is that the ultimate consignee record is inserted into the customs database with sequence numbers 0003-0025.
💻 Technical Criteria
Given Ultimate Consignee segment data is validated and complete
When The system stores the UC record
Then The Ultimate Consignee record is inserted into the customs database with sequence numbers 0003-0025
R-GCCCCADD-cbl-00550 Insert BN Record into Customs Database
Action Rules
📊 Business Logic Narrative
When the process 'Insert BN Record into Customs Database' is invoked, and assuming that beneficial owner segment data has been validated successfully, when inserting the record into the customs database, the desired outcome is that the beneficial owner segment record is inserted into the customs database with sequence number between 0003 and 0025.
💻 Technical Criteria
Given Beneficial owner segment data has been validated successfully
When Inserting the record into the customs database
Then The beneficial owner segment record is inserted into the customs database with sequence number between 0003 and 0025
R-GCCCCADD-cbl-00569 Insert C1 Entity into Customs Record
Process Rules
📊 Business Logic Narrative
When the process 'Insert C1 Entity into Customs Record' is invoked, and assuming that a validated c1 carrier entity segment is ready for insertion, when adding the carrier entity to the customs record, the desired outcome is that the c1 entity segment is inserted into the customs record with the appropriate sequence number between 0003 and 0025.
💻 Technical Criteria
Given A validated C1 carrier entity segment is ready for insertion
When Adding the carrier entity to the customs record
Then The C1 entity segment is inserted into the customs record with the appropriate sequence number between 0003 and 0025
R-GCCCCADD-cbl-00578 Get Address Information from T2 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Get Address Information from T2 Segment' is invoked, and assuming that notify party entity information is processed, when looking for address details, the desired outcome is that system searches for t2 segment with matching sequence number.
💻 Technical Criteria
Given Notify party entity information is processed
When Looking for address details
Then System searches for T2 segment with matching sequence number
R-GCCCCADD-cbl-00581 Get City/State Information from TA Segment
Process Rules
📊 Business Logic Narrative
When the process 'Get City/State Information from TA Segment' is invoked, and assuming that address line processing is complete or skipped, when looking for geographic location details, the desired outcome is that system searches for ta segment with matching sequence number.
💻 Technical Criteria
Given Address line processing is complete or skipped
When Looking for geographic location details
Then System searches for TA segment with matching sequence number
R-GCCCCADD-cbl-00584 Get Contact Information from T3 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Get Contact Information from T3 Segment' is invoked, and assuming that geographic information processing is complete or skipped, when looking for contact person details, the desired outcome is that system searches for t3 segment with matching sequence number.
💻 Technical Criteria
Given Geographic information processing is complete or skipped
When Looking for contact person details
Then System searches for T3 segment with matching sequence number
R-GCCCCADD-cbl-00589 Insert N1 Record into Customs Database
Action Rules
📊 Business Logic Narrative
When the process 'Insert N1 Record into Customs Database' is invoked, and assuming that n1 segment data validation is successful, when storing notify party information in customs database, the desired outcome is that the n1 record is inserted into the customs database with sequence number between 0003-0025.
💻 Technical Criteria
Given N1 segment data validation is successful
When Storing notify party information in customs database
Then The N1 record is inserted into the customs database with sequence number between 0003-0025
R-GCCCCADD-cbl-00592 Retrieve MCOA Segment by Sequence Number
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve MCOA Segment by Sequence Number' is invoked, and assuming that a sequence number for mcoa segment processing, when the system attempts to retrieve mcoa segment data, the desired outcome is that the system calls ebclgio to fetch ebsmcoa segment with type 'ot' using the sequence number.
💻 Technical Criteria
Given a sequence number for MCOA segment processing
When the system attempts to retrieve MCOA segment data
Then the system calls EBCLGIO to fetch EBSMCOA segment with type 'OT' using the sequence number
R-GCCCCADD-cbl-00601 Retrieve Address Information
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Address Information' is invoked, and assuming that a valid mcoa entity segment, when the system needs address information, the desired outcome is that call ebclgio to retrieve ebsmcoa segment with type 'on' using the same sequence number.
💻 Technical Criteria
Given a valid MCOA entity segment
When the system needs address information
Then call EBCLGIO to retrieve EBSMCOA segment with type 'ON' using the same sequence number
R-GCCCCADD-cbl-00605 Retrieve City/State Information
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve City/State Information' is invoked, and assuming that a valid mcoa entity segment, when the system needs city and state information, the desired outcome is that call ebclgio to retrieve ebsmcoa segment with type 'oc' using the same sequence number.
💻 Technical Criteria
Given a valid MCOA entity segment
When the system needs city and state information
Then call EBCLGIO to retrieve EBSMCOA segment with type 'OC' using the same sequence number
R-GCCCCADD-cbl-00610 Insert N1 Segment into Database
Action Rules
📊 Business Logic Narrative
When the process 'Insert N1 Segment into Database' is invoked, and assuming that a validated n1 segment, when the system stores the segment data, the desired outcome is that perform z950-isrt-gcsccs55-0003-0025 to insert the segment into gcsccs55 database with sequence numbers 0003-0025.
💻 Technical Criteria
Given a validated N1 segment
When the system stores the segment data
Then perform Z950-ISRT-GCSCCS55-0003-0025 to insert the segment into GCSCCS55 database with sequence numbers 0003-0025
R-GCCCCADD-cbl-00613 Build NN Entity Segments
Process Rules
📊 Business Logic Narrative
When the process 'Build NN Entity Segments' is invoked, and assuming that nn entity processing is initiated with sequence number starting from 1, when the system searches for edi bol nn segments incrementally by sequence number, the desired outcome is that the system continues processing each found nn segment until no more segments exist.
💻 Technical Criteria
Given NN entity processing is initiated with sequence number starting from 1
When The system searches for EDI BOL NN segments incrementally by sequence number
Then The system continues processing each found NN segment until no more segments exist
R-GCCCCADD-cbl-00622 Check if Corrector EDI with Existing Importer Data
Decision Rules
📊 Business Logic Narrative
When the process 'Check if Corrector EDI with Existing Importer Data' is invoked, and assuming that a waybill is being processed with importer information, when the system checks if importer name, business number, and business number qualifier are all present, the desired outcome is that the system should identify if existing importer data exists and set appropriate processing flags.
💻 Technical Criteria
Given A waybill is being processed with importer information
When The system checks if importer name, business number, and business number qualifier are all present
Then The system should identify if existing importer data exists and set appropriate processing flags
R-GCCCCADD-cbl-00623 Read Existing Importer Record from Customs Database
Process Rules
📊 Business Logic Narrative
When the process 'Read Existing Importer Record from Customs Database' is invoked, and assuming that existing importer data has been identified for processing, when the system searches through sequence numbers 3 to 24 for importer entity records, the desired outcome is that the system should retrieve the importer record with entity id 'im' and extract all importer details.
💻 Technical Criteria
Given Existing importer data has been identified for processing
When The system searches through sequence numbers 3 to 24 for importer entity records
Then The system should retrieve the importer record with entity ID 'IM' and extract all importer details
R-GCCCCADD-cbl-00638 Initialize New Importer Record
Process Rules
📊 Business Logic Narrative
When the process 'Initialize New Importer Record' is invoked, and assuming that a sequence position is available for creating a new importer record, when the system initializes the new importer record structure, the desired outcome is that clear all fields in the gcsccs55 record, set the ccn key, record type to '55', and assign the sequence number.
💻 Technical Criteria
Given A sequence position is available for creating a new importer record
When The system initializes the new importer record structure
Then Clear all fields in the GCSCCS55 record, set the CCN key, record type to '55', and assign the sequence number
R-GCCCCADD-cbl-00692 Is Entity ID valid for this segment type?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is Entity ID valid for this segment type?', assuming that an n1 segment with sequence number greater than 2 is being processed, when entity id code is not empty and is not a valid entity type or is shipper, consignee, or customs broker, the desired outcome is that generate an invalid entity id value error message.
💻 Technical Criteria
EXCLUDING An N1 segment with sequence number greater than 2 is being processed
When Entity ID code is not empty and is not a valid entity type or is shipper, consignee, or customs broker
Then Generate an invalid entity ID value error message
R-GCCCCADD-cbl-02116 Generate Invalid Entity ID Error
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Invalid Entity ID Error' is invoked, and assuming that a party record has sequence number greater than 2 and the entity id is 'sh' (shipper), 'cn' (consignee), or 'cb' (customs broker), when the system validates the entity id, the desired outcome is that generate an error message indicating that the entity id value is invalid for this party position.
💻 Technical Criteria
Given A party record has sequence number greater than 2 and the entity ID is 'SH' (Shipper), 'CN' (Consignee), or 'CB' (Customs Broker)
When The system validates the entity ID
Then Generate an error message indicating that the entity ID value is invalid for this party position
R-GCCCCADD-cbl-02512 Is Shipper or Consignee Record?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Shipper or Consignee Record?' is invoked, and assuming that a record with sequence number indicating shipper (0001) or consignee (0002), when all core fields (name, address, city/state/postal, contact) are empty, the desired outcome is that generate comprehensive error messages for all missing required fields.
💻 Technical Criteria
Given A record with sequence number indicating shipper (0001) or consignee (0002)
When All core fields (name, address, city/state/postal, contact) are empty
Then Generate comprehensive error messages for all missing required fields
R-GCCCCADD-cbl-02515 Entity ID Valid for Record Type?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Entity ID Valid for Record Type?', assuming that a record with sequence number greater than 2 and entity identifier present, when entity identifier is not in valid list or is shipper/consignee/customs broker type, the desired outcome is that generate error message for invalid entity identifier value.
💻 Technical Criteria
EXCLUDING A record with sequence number greater than 2 and entity identifier present
When Entity identifier is not in valid list or is shipper/consignee/customs broker type
Then Generate error message for invalid entity identifier value
R-GCCCCADD-cbl-02962 Is this Shipper Record? SEQ = 0001
Decision Rules
📊 Business Logic Narrative
When the process 'Is this Shipper Record? SEQ = 0001' is invoked, and assuming that a record with sequence number is being processed for validation, when the system checks if this is a shipper or consignee record, the desired outcome is that if sequence number equals 0001 or 0002, proceed with comprehensive validation, otherwise skip validation.
💻 Technical Criteria
Given A record with sequence number is being processed for validation
When The system checks if this is a shipper or consignee record
Then If sequence number equals 0001 or 0002, proceed with comprehensive validation, otherwise skip validation
R-GCCCCADD-cbl-02972 Is this Consignee Record? SEQ = 0002
Decision Rules
📊 Business Logic Narrative
When the process 'Is this Consignee Record? SEQ = 0002' is invoked, and assuming that a record with sequence number is being processed, when the system checks if the record sequence equals 0002, the desired outcome is that the system identifies this as a consignee record and proceeds with consignee-specific validation.
💻 Technical Criteria
Given A record with sequence number is being processed
When The system checks if the record sequence equals 0002
Then The system identifies this as a consignee record and proceeds with consignee-specific validation
R-GCCCCADD-cbl-00709 Invalid Entity ID Value?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Invalid Entity ID Value?', assuming that a record with sequence number greater than 2 and entity id is not empty and entity id is not in the valid values list or entity id is 'sh' (shipper) or entity id is 'cn' (consignee) or entity id is 'bn' (customs broker), when the system validates entity id values for non-primary records, the desired outcome is that generate error message indicating invalid entity id value.
💻 Technical Criteria
EXCLUDING A record with sequence number greater than 2 AND entity ID is not empty AND entity ID is not in the valid values list OR entity ID is 'SH' (shipper) OR entity ID is 'CN' (consignee) OR entity ID is 'BN' (customs broker)
When The system validates entity ID values for non-primary records
Then Generate error message indicating invalid entity ID value
R-GCCCCADD-cbl-00746 Invalid Entity ID
Validation Rules
📊 Business Logic Narrative
When the process 'Invalid Entity ID' is invoked, and assuming that a waybill date is being processed for eta calculation, when the date calculation system processes the waybill date, the desired outcome is that if the date calculation fails, an error message for invalid waybill date should be generated and added to the error collection.
💻 Technical Criteria
Given A waybill date is being processed for ETA calculation
When The date calculation system processes the waybill date
Then If the date calculation fails, an error message for invalid waybill date should be generated and added to the error collection
R-GCCCCADD-cbl-00749 Invalid Entity ID
Validation Rules
📊 Business Logic Narrative
When the process 'Invalid Entity ID' is invoked, and assuming that an n1 segment with sequence number greater than 2 is being validated, when the entity id value is checked against valid values, the desired outcome is that if the entity id is not in the valid values list or is sh (shipper), cn (consignee), or cb (customs broker), an error message for invalid n101 value should be generated and added to the error collection.
💻 Technical Criteria
Given An N1 segment with sequence number greater than 2 is being validated
When The entity ID value is checked against valid values
Then If the entity ID is not in the valid values list or is SH (shipper), CN (consignee), or CB (customs broker), an error message for invalid N101 value should be generated and added to the error collection
R-GCCCCADD-cbl-00762 Required Field Missing
Validation Rules
📊 Business Logic Narrative
When the process 'Required Field Missing' is invoked, and assuming that a segment with shipper sequence number (0001) contains no name, address, location, or contact data, when the segment is validated for completeness, the desired outcome is that an error message for shipper required should be generated and added to the error collection.
💻 Technical Criteria
Given A segment with shipper sequence number (0001) contains no name, address, location, or contact data
When The segment is validated for completeness
Then An error message for shipper required should be generated and added to the error collection
R-GCCCCADD-cbl-00763 Required Field Missing
Validation Rules
📊 Business Logic Narrative
When the process 'Required Field Missing' is invoked, and assuming that a segment with consignee sequence number (0002) contains no name, address, location, or contact data, when the segment is validated for completeness, the desired outcome is that an error message for consignee required should be generated and added to the error collection.
💻 Technical Criteria
Given A segment with consignee sequence number (0002) contains no name, address, location, or contact data
When The segment is validated for completeness
Then An error message for consignee required should be generated and added to the error collection
R-GCCCCADD-cbl-00774 Called from GCX011 and CCN starts with '6105'?
Process Rules
📊 Business Logic Narrative
When the process 'Called from GCX011 and CCN starts with '6105'?' is invoked, and assuming that a call from gcx011 with a ccn key starting with '6105', when the bill-as scac is valid (not 'unkn', spaces, low-values, or '6105'), the desired outcome is that replace the first 4 characters of ccn key with the bill-as scac.
💻 Technical Criteria
Given A call from GCX011 with a CCN key starting with '6105'
When The bill-as SCAC is valid (not 'UNKN', spaces, low-values, or '6105')
Then Replace the first 4 characters of CCN key with the bill-as SCAC
R-GCCCCADD-cbl-00775 Automated Haulage?
Decision Rules
📊 Business Logic Narrative
When the process 'Automated Haulage?' is invoked, and assuming that a modified ccn key for haulage processing, when the automated haulage flag is checked, the desired outcome is that if automated haulage then set ccn key suffix to 'e' and bill owner to '6105', otherwise set ccn key suffix to 'p' and bill owner to bill-as scac.
💻 Technical Criteria
Given A modified CCN key for haulage processing
When The automated haulage flag is checked
Then If automated haulage then set CCN key suffix to 'E' and bill owner to '6105', otherwise set CCN key suffix to 'P' and bill owner to bill-as SCAC
R-GCCCCADD-cbl-00792 Set Entity Type and Sequence Numbers
Process Rules
📊 Business Logic Narrative
When the process 'Set Entity Type and Sequence Numbers' is invoked, and assuming that a specific edi bol segment needs to be retrieved with known entity type and sequence, when the system configures segment access parameters, the desired outcome is that the entity type code (hn, ha, hc, gp, cn, ca, cc, pn, pa, pc, un, ua, uc, bn, bt, by, tn, t2, t3, ta, nn, gc, ga, ot, on, oc, sh, ch, hs, cm, cr) is set in type-1 field, sequence numbers are set to appropriate values (typically '01'), and the operator is set to '=' for exact match.
💻 Technical Criteria
Given A specific EDI BOL segment needs to be retrieved with known entity type and sequence
When The system configures segment access parameters
Then The entity type code (HN, HA, HC, GP, CN, CA, CC, PN, PA, PC, UN, UA, UC, BN, BT, BY, TN, T2, T3, TA, NN, GC, GA, OT, ON, OC, SH, CH, HS, CM, CR) is set in TYPE-1 field, sequence numbers are set to appropriate values (typically '01'), and the operator is set to '=' for exact match
R-GCCCCADD-cbl-00809 TN - Transportation Name Segment
Process Rules
📊 Business Logic Narrative
When the process 'TN - Transportation Name Segment' is invoked, and assuming that edi bol data exists with transportation entity information, when the system needs to retrieve transportation entity name details for customs processing, the desired outcome is that the tn segment is accessed from ebsnrtd data source with varying sequence numbers until the desired organization id is found, containing transportation entity name and organization id.
💻 Technical Criteria
Given EDI BOL data exists with transportation entity information
When The system needs to retrieve transportation entity name details for customs processing
Then The TN segment is accessed from EBSNRTD data source with varying sequence numbers until the desired organization ID is found, containing transportation entity name and organization ID
R-GCCCCADD-cbl-00810 NN - Additional Entity Name Segment
Process Rules
📊 Business Logic Narrative
When the process 'NN - Additional Entity Name Segment' is invoked, and assuming that edi bol data exists with additional named entity information, when the system needs to retrieve additional entity name details for customs processing, the desired outcome is that the nn segment is accessed from ebsnrsc data source with varying sequence numbers, containing entity name and identification codes for various entity types.
💻 Technical Criteria
Given EDI BOL data exists with additional named entity information
When The system needs to retrieve additional entity name details for customs processing
Then The NN segment is accessed from EBSNRSC data source with varying sequence numbers, containing entity name and identification codes for various entity types
R-GCCCCADD-cbl-00812 Retrieve TN Segment by Sequence Number
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve TN Segment by Sequence Number' is invoked, and assuming that a sequence number is available for transportation segment lookup, when the system retrieves a tn segment from ebsnrtd using the current sequence number, the desired outcome is that the transportation segment data is loaded if found, otherwise segment not found status is returned.
💻 Technical Criteria
Given A sequence number is available for transportation segment lookup
When The system retrieves a TN segment from EBSNRTD using the current sequence number
Then The transportation segment data is loaded if found, otherwise segment not found status is returned
R-GCCCCADD-cbl-00820 Adjust Final Sequence Counter
Process Rules
📊 Business Logic Narrative
When the process 'Adjust Final Sequence Counter' is invoked, and assuming that transportation segment search has completed either successfully or unsuccessfully, when the system finalizes the search results, the desired outcome is that the sequence counter is decremented by 1 to reflect the actual last processed sequence number.
💻 Technical Criteria
Given Transportation segment search has completed either successfully or unsuccessfully
When The system finalizes the search results
Then The sequence counter is decremented by 1 to reflect the actual last processed sequence number
R-GCCCCADD-cbl-00828 Insert BN Record into Database
Process Rules
📊 Business Logic Narrative
When the process 'Insert BN Record into Database' is invoked, and assuming that a bn entity has been processed with all required data extracted, when the system completes bn segment data processing, the desired outcome is that validate the n1 segment data and insert the bn record into the customs database with sequence numbers between 0003 and 0025.
💻 Technical Criteria
Given A BN entity has been processed with all required data extracted
When The system completes BN segment data processing
Then Validate the N1 segment data and insert the BN record into the customs database with sequence numbers between 0003 and 0025
R-GCCCCADD-cbl-00830 Get MCOA Segment by Sequence
Action Rules
📊 Business Logic Narrative
When the process 'Get MCOA Segment by Sequence' is invoked, and assuming that an mcoa sequence number is available, when the system attempts to retrieve the mcoa segment, the desired outcome is that the system calls the edi bol interface to get the mcoa segment data for the specified sequence number.
💻 Technical Criteria
Given an MCOA sequence number is available
When the system attempts to retrieve the MCOA segment
Then the system calls the EDI BOL interface to get the MCOA segment data for the specified sequence number
R-GCCCCADD-cbl-00851 Insert Record into Customs Database
Action Rules
📊 Business Logic Narrative
When the process 'Insert Record into Customs Database' is invoked, and assuming that a validated n1 segment has been created from mcoa data, when the system inserts the record, the desired outcome is that the record is inserted into the customs database with the appropriate sequence number and record type 55.
💻 Technical Criteria
Given a validated N1 segment has been created from MCOA data
When the system inserts the record
Then the record is inserted into the customs database with the appropriate sequence number and record type 55
R-GCCCCADD-cbl-02131 Initialize Shipper Record
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Shipper Record' is invoked, and assuming that a new shipper record needs to be created, when the system initializes the shipper record, the desired outcome is that the record is cleared, ccn key is set, record type is set to '55', and sequence is set to '0001'.
💻 Technical Criteria
Given A new shipper record needs to be created
When The system initializes the shipper record
Then The record is cleared, CCN key is set, record type is set to '55', and sequence is set to '0001'
R-GCCCCADD-cbl-02147 Initialize Consignee Record
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Consignee Record' is invoked, and assuming that a new consignee record needs to be created, when the system initializes the consignee record, the desired outcome is that the record is cleared, ccn key is set, record type is set to '55', and sequence is set to '0002'.
💻 Technical Criteria
Given A new consignee record needs to be created
When The system initializes the consignee record
Then The record is cleared, CCN key is set, record type is set to '55', and sequence is set to '0002'
R-GCCCCADD-cbl-02534 Initialize Shipper Record
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Shipper Record' is invoked, and assuming that a customs manifest processing request is initiated, when the system begins building shipper records, the desired outcome is that a new shipper record is initialized with ccn key, record type 55, and sequence 0001.
💻 Technical Criteria
Given A customs manifest processing request is initiated
When The system begins building shipper records
Then A new shipper record is initialized with CCN key, record type 55, and sequence 0001
R-GCCCCADD-cbl-02552 Initialize Consignee Record
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Consignee Record' is invoked, and assuming that shipper record processing is complete, when the system begins building consignee records, the desired outcome is that a new consignee record is initialized with ccn key, record type 55, and sequence 0002.
💻 Technical Criteria
Given Shipper record processing is complete
When The system begins building consignee records
Then A new consignee record is initialized with CCN key, record type 55, and sequence 0002
R-GCCCCADD-cbl-02161 Build SF - Stuffer Entity
Process Rules
📊 Business Logic Narrative
When the process 'Build SF - Stuffer Entity' is invoked, and assuming that an edi bill of lading exists with sf entity data, when building sf entity record and sf entity is found in edi data, the desired outcome is that extract sf entity name, set entity id to 'sf', clear id code qualifier and id code, and retrieve address information from edi segments.
💻 Technical Criteria
Given An EDI bill of lading exists with SF entity data
When Building SF entity record and SF entity is found in EDI data
Then Extract SF entity name, set entity ID to 'SF', clear ID code qualifier and ID code, and retrieve address information from EDI segments
R-GCCCCADD-cbl-02162 Build UC - Ultimate Consignee Entity
Process Rules
📊 Business Logic Narrative
When the process 'Build UC - Ultimate Consignee Entity' is invoked, and assuming that an edi bill of lading exists with uc entity data, when building uc entity record and uc entity is found in edi data, the desired outcome is that extract uc entity name, set entity id to 'uc', clear id code qualifier and id code, and retrieve address information from edi segments.
💻 Technical Criteria
Given An EDI bill of lading exists with UC entity data
When Building UC entity record and UC entity is found in EDI data
Then Extract UC entity name, set entity ID to 'UC', clear ID code qualifier and ID code, and retrieve address information from EDI segments
R-GCCCCADD-cbl-02163 Build BN - Beneficial Owner Entity
Process Rules
📊 Business Logic Narrative
When the process 'Build BN - Beneficial Owner Entity' is invoked, and assuming that an edi bill of lading exists with bn entity data, when building bn entity record and bn entity is found in edi data, the desired outcome is that extract bn entity name, set entity id to 'bn', clear id code qualifier and id code, set consignee chop code, and retrieve address information from edi segments.
💻 Technical Criteria
Given An EDI bill of lading exists with BN entity data
When Building BN entity record and BN entity is found in EDI data
Then Extract BN entity name, set entity ID to 'BN', clear ID code qualifier and ID code, set consignee chop code, and retrieve address information from EDI segments
R-GCCCCADD-cbl-02166 Build N1 - Notify Party Entity
Process Rules
📊 Business Logic Narrative
When the process 'Build N1 - Notify Party Entity' is invoked, and assuming that an edi bill of lading exists with n1 entity transportation data, when building n1 entity record and n1 entity is found in edi transportation data, the desired outcome is that extract n1 organization id, name, and address information from edi transportation segments.
💻 Technical Criteria
Given An EDI bill of lading exists with N1 entity transportation data
When Building N1 entity record and N1 entity is found in EDI transportation data
Then Extract N1 organization ID, name, and address information from EDI transportation segments
R-GCCCCADD-cbl-02167 Build PF/SS - Payment/Service Entities
Process Rules
📊 Business Logic Narrative
When the process 'Build PF/SS - Payment/Service Entities' is invoked, and assuming that edi bill of lading contains mcoa segments with pf or ss entity data, when building pf/ss entity records and mcoa segments are found with organization id of 'pf' or 'ss', the desired outcome is that extract entity id, name, id code qualifier, id code, and address information from mcoa segments.
💻 Technical Criteria
Given EDI bill of lading contains MCOA segments with PF or SS entity data
When Building PF/SS entity records and MCOA segments are found with organization ID of 'PF' or 'SS'
Then Extract entity ID, name, ID code qualifier, ID code, and address information from MCOA segments
R-GCCCCADD-cbl-02168 Build Additional Entities - 11, NN, MC, OO, FW
Process Rules
📊 Business Logic Narrative
When the process 'Build Additional Entities - 11, NN, MC, OO, FW' is invoked, and assuming that edi bill of lading contains transportation data for additional entity types, when building additional entity records and entities with ids '11', 'nn', 'mc', 'oo', or 'fw' are found, the desired outcome is that extract organization id, name, and address information for each additional entity type from edi transportation segments.
💻 Technical Criteria
Given EDI bill of lading contains transportation data for additional entity types
When Building additional entity records and entities with IDs '11', 'NN', 'MC', 'OO', or 'FW' are found
Then Extract organization ID, name, and address information for each additional entity type from EDI transportation segments
R-GCCCCADD-cbl-02169 Entity ID Valid?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Entity ID Valid?', assuming that a business entity record is being processed with sequence number greater than 2, when validating entity id and entity id is not empty and is not a shipper, consignee, or customs broker entity, the desired outcome is that generate validation error for invalid entity id value.
💻 Technical Criteria
EXCLUDING A business entity record is being processed with sequence number greater than 2
When Validating entity ID and entity ID is not empty and is not a shipper, consignee, or customs broker entity
Then Generate validation error for invalid entity ID value
R-GCCCCADD-cbl-02175 Store Entity Record
Action Rules
📊 Business Logic Narrative
When the process 'Store Entity Record' is invoked, and assuming that a business entity record has passed all validation checks, when storing entity record and all validation criteria are met, the desired outcome is that insert the entity record into the customs database with sequence number within maximum allowed range.
💻 Technical Criteria
Given A business entity record has passed all validation checks
When Storing entity record and all validation criteria are met
Then Insert the entity record into the customs database with sequence number within maximum allowed range
R-GCCCCADD-cbl-02177 EDI BOL has Importer Segment?
Validation Rules
📊 Business Logic Narrative
When the process 'EDI BOL has Importer Segment?' is invoked, and assuming that an edi bill of lading is being processed for customs manifest creation, when the system searches for importer segment data in the edi bol, the desired outcome is that the system determines if an importer segment with entity id 'im' exists and sets the appropriate processing flag.
💻 Technical Criteria
Given An EDI Bill of Lading is being processed for customs manifest creation
When The system searches for importer segment data in the EDI BOL
Then The system determines if an importer segment with entity ID 'IM' exists and sets the appropriate processing flag
R-GCCCCADD-cbl-02559 Search for Existing Importer Records in Database
Action Rules
📊 Business Logic Narrative
When the process 'Search for Existing Importer Records in Database' is invoked, and assuming that importer data needs to be retrieved from the database, when the system searches through sequence numbers 3 to 24 for importer entity records, the desired outcome is that the system retrieves customs records with entity id 'im' and extracts importer information if found.
💻 Technical Criteria
Given Importer data needs to be retrieved from the database
When The system searches through sequence numbers 3 to 24 for importer entity records
Then The system retrieves customs records with entity ID 'IM' and extracts importer information if found
R-GCCCCADD-cbl-02568 Build Final Importer Database Record
Process Rules
📊 Business Logic Narrative
When the process 'Build Final Importer Database Record' is invoked, and assuming that all importer data has been processed and validated, when the system creates the final importer database record, the desired outcome is that a complete customs record type 55 is built with all importer information, validated segments, and proper sequence numbering for database storage.
💻 Technical Criteria
Given All importer data has been processed and validated
When The system creates the final importer database record
Then A complete customs record type 55 is built with all importer information, validated segments, and proper sequence numbering for database storage
R-GCCCCADD-cbl-02782 Search Existing Importer Records
Process Rules
📊 Business Logic Narrative
When the process 'Search Existing Importer Records' is invoked, and assuming that corrector edi contains importer data and importer, business number, and business number qualifier are present, when the system searches through sequence numbers 3 to 24 for existing importer records, the desired outcome is that continue searching until an importer is found or sequence exceeds 24.
💻 Technical Criteria
Given Corrector EDI contains importer data and importer, business number, and business number qualifier are present
When The system searches through sequence numbers 3 to 24 for existing importer records
Then Continue searching until an importer is found or sequence exceeds 24
R-GCCCCADD-cbl-00909 Insert Updated Record into Customs Database
Action Rules
📊 Business Logic Narrative
When the process 'Insert Updated Record into Customs Database' is invoked, and assuming that importer record has been validated and processed and sequence index is within maximum allowed range, when the system saves the importer record, the desired outcome is that the system inserts the customs record with ccn key, record type '55', sequence number, and all importer data into the customs database array.
💻 Technical Criteria
Given Importer record has been validated and processed AND sequence index is within maximum allowed range
When The system saves the importer record
Then The system inserts the customs record with CCN key, record type '55', sequence number, and all importer data into the customs database array
R-GCCCCADD-cbl-00921 Retrieve Importer N4 Segment from EDI BOL
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Importer N4 Segment from EDI BOL' is invoked, and assuming that an edi bill of lading exists with importer address segments, when the system processes importer n4 segment data, the desired outcome is that the system retrieves city, state, postal code and country information from the edi bol n4 segment.
💻 Technical Criteria
Given An EDI Bill of Lading exists with importer address segments
When The system processes importer N4 segment data
Then The system retrieves city, state, postal code and country information from the EDI BOL N4 segment
R-GCCCCADD-cbl-00931 Retrieve Importer PER Segment from EDI BOL
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Importer PER Segment from EDI BOL' is invoked, and assuming that an edi bill of lading exists for the shipment, when the system processes importer contact information, the desired outcome is that the system attempts to retrieve the per segment for importer contact details from the edi bol.
💻 Technical Criteria
Given An EDI Bill of Lading exists for the shipment
When The system processes importer contact information
Then The system attempts to retrieve the PER segment for importer contact details from the EDI BOL
R-GCCCCADD-cbl-00947 Set CCN Key from Reference CCN
Action Rules
📊 Business Logic Narrative
When the process 'Set CCN Key from Reference CCN' is invoked, and assuming that a reference ccn is provided for description enhancement, when the system needs to retrieve description data from another ccn, the desired outcome is that the system sets the ccn key to the reference ccn value and configures the retrieval parameters.
💻 Technical Criteria
Given A reference CCN is provided for description enhancement
When The system needs to retrieve description data from another CCN
Then The system sets the CCN key to the reference CCN value and configures the retrieval parameters
R-GCCCCADD-cbl-00948 Retrieve Description from Reference CCN
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Description from Reference CCN' is invoked, and assuming that a valid reference ccn key is set, when the system attempts to retrieve description data, the desired outcome is that the system calls gccccio2 to fetch all description segments and populates the description arrays if successful.
💻 Technical Criteria
Given A valid reference CCN key is set
When The system attempts to retrieve description data
Then The system calls GCCCCIO2 to fetch all description segments and populates the description arrays if successful
R-GCCCCADD-cbl-00949 Description Retrieved Successfully?
Validation Rules
📊 Business Logic Narrative
When the process 'Description Retrieved Successfully?' is invoked, and assuming that an attempt to retrieve description data from reference ccn has been made, when the retrieval operation completes, the desired outcome is that if no error occurred, proceed with description enhancement, otherwise restore original data and exit.
💻 Technical Criteria
Given An attempt to retrieve description data from reference CCN has been made
When The retrieval operation completes
Then If no error occurred, proceed with description enhancement, otherwise restore original data and exit
R-GCCCCADD-cbl-00950 Extract Description Components
Process Rules
📊 Business Logic Narrative
When the process 'Extract Description Components' is invoked, and assuming that description data has been successfully retrieved from the reference ccn, when the system processes the retrieved data, the desired outcome is that the system extracts the lading description from gccc segment and copies all 46 cargo description elements to the working description array.
💻 Technical Criteria
Given Description data has been successfully retrieved from the reference CCN
When The system processes the retrieved data
Then The system extracts the lading description from GCCC segment and copies all 46 cargo description elements to the working description array
R-GCCCCADD-cbl-00952 Build US Transit Description
Computation Rules
📊 Business Logic Narrative
When the process 'Build US Transit Description' is invoked, and assuming that action code is 'us' and original description data is available, when building the enhanced description, the desired outcome is that the system concatenates the reference ccn + ' moving in transit through canada ' + original description into the enhanced description.
💻 Technical Criteria
Given Action code is 'US' and original description data is available
When Building the enhanced description
Then The system concatenates the reference CCN + ' MOVING IN TRANSIT THROUGH CANADA ' + original description into the enhanced description
R-GCCCCADD-cbl-00953 Build RT Transit Description
Computation Rules
📊 Business Logic Narrative
When the process 'Build RT Transit Description' is invoked, and assuming that action code is 'rt' and original description data is available, when building the enhanced description, the desired outcome is that the system concatenates the reference ccn + ' moving in transit through us ' + original description into the enhanced description.
💻 Technical Criteria
Given Action code is 'RT' and original description data is available
When Building the enhanced description
Then The system concatenates the reference CCN + ' MOVING IN TRANSIT THROUGH US ' + original description into the enhanced description
R-GCCCCADD-cbl-00960 Set Broker Name to 'NOT-REQ'
Decision Rules
📊 Business Logic Narrative
When the process 'Set Broker Name to 'NOT-REQ'' is invoked, and assuming that a shipment is being processed for customs manifest creation, when the shipment has ocean in-transit status and the ccn key starts with '6105e', the desired outcome is that the broker name should be set to 'not-req' to exempt the shipment from broker requirements.
💻 Technical Criteria
Given A shipment is being processed for customs manifest creation
When The shipment has ocean in-transit status AND the CCN key starts with '6105E'
Then The broker name should be set to 'NOT-REQ' to exempt the shipment from broker requirements
R-GCCCCADD-cbl-01013 Extract Waybill Date from Shipment Root
Process Rules
📊 Business Logic Narrative
When the process 'Extract Waybill Date from Shipment Root' is invoked, and assuming that a shipment root record exists with waybill date information, when the system processes the shipment for customs manifest creation, the desired outcome is that the waybill date is extracted from the shipment root and stored for further processing.
💻 Technical Criteria
Given A shipment root record exists with waybill date information
When The system processes the shipment for customs manifest creation
Then The waybill date is extracted from the shipment root and stored for further processing
R-GCCCCADD-cbl-01014 Move Waybill Date to Working Storage
Process Rules
📊 Business Logic Narrative
When the process 'Move Waybill Date to Working Storage' is invoked, and assuming that a waybill date has been extracted from the shipment root, when the system prepares for date calculations, the desired outcome is that the waybill date is moved to working storage variables and also set as the waybill date index.
💻 Technical Criteria
Given A waybill date has been extracted from the shipment root
When The system prepares for date calculations
Then The waybill date is moved to working storage variables and also set as the waybill date index
R-GCCCCADD-cbl-01015 Set Up Date Calculation Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Set Up Date Calculation Parameters' is invoked, and assuming that the waybill date is available in working storage, when the system prepares to calculate the border arrival eta, the desired outcome is that the date calculation parameters are set to add mode for days calculation with the waybill date as the original date.
💻 Technical Criteria
Given The waybill date is available in working storage
When The system prepares to calculate the border arrival ETA
Then The date calculation parameters are set to ADD mode for DAYS calculation with the waybill date as the original date
R-GCCCCADD-cbl-01016 Add Machine Century to Date
Computation Rules
📊 Business Logic Narrative
When the process 'Add Machine Century to Date' is invoked, and assuming that the waybill date is in 6-digit format (yymmdd), when the system prepares the date for calculation, the desired outcome is that the machine century is added to the year portion to create a complete 8-digit date format.
💻 Technical Criteria
Given The waybill date is in 6-digit format (YYMMDD)
When The system prepares the date for calculation
Then The machine century is added to the year portion to create a complete 8-digit date format
R-GCCCCADD-cbl-01018 Set Days Amount from Configuration
Process Rules
📊 Business Logic Narrative
When the process 'Set Days Amount from Configuration' is invoked, and assuming that a configured number of days for eta calculation exists, when the system sets up the date calculation parameters, the desired outcome is that the configured days amount is set as the amount to add to the waybill date.
💻 Technical Criteria
Given A configured number of days for ETA calculation exists
When The system sets up the date calculation parameters
Then The configured days amount is set as the amount to add to the waybill date
R-GCCCCADD-cbl-01022 Set Invalid Waybill Date Error
Validation Rules
📊 Business Logic Narrative
When the process 'Set Invalid Waybill Date Error' is invoked, and assuming that the date calculation utility failed to execute successfully, when the system processes the failed calculation result, the desired outcome is that an invalid waybill date error code is set for message retrieval.
💻 Technical Criteria
Given The date calculation utility failed to execute successfully
When The system processes the failed calculation result
Then An invalid waybill date error code is set for message retrieval
R-GCCCCADD-cbl-01023 Retrieve Error Message Text
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Error Message Text' is invoked, and assuming that an invalid waybill date error code has been set, when the system needs to provide error details, the desired outcome is that the error message retrieval process is performed to get the descriptive error text.
💻 Technical Criteria
Given An invalid waybill date error code has been set
When The system needs to provide error details
Then The error message retrieval process is performed to get the descriptive error text
R-GCCCCADD-cbl-01024 Add Error to Message Queue
Action Rules
📊 Business Logic Narrative
When the process 'Add Error to Message Queue' is invoked, and assuming that an error message has been retrieved for the invalid waybill date, when the system processes the error condition, the desired outcome is that the error message is added to the message queue for user notification.
💻 Technical Criteria
Given An error message has been retrieved for the invalid waybill date
When The system processes the error condition
Then The error message is added to the message queue for user notification
R-GCCCCADD-cbl-01044 Check CCN Type
Decision Rules
📊 Business Logic Narrative
When the process 'Check CCN Type' is invoked, and assuming that a shipment with a ccn key is being processed, when the system checks the ccn type from the ccn key, the desired outcome is that the system identifies if the ccn type equals '9' for special processing.
💻 Technical Criteria
Given A shipment with a CCN key is being processed
When The system checks the CCN type from the CCN key
Then The system identifies if the CCN type equals '9' for special processing
R-GCCCCADD-cbl-01045 Are Current Settings Valid for Type 9?
Validation Rules
📊 Business Logic Narrative
When the process 'Are Current Settings Valid for Type 9?' is invoked, and assuming that a shipment with ccn type 9 is being processed, when the system evaluates the us exit code, manifest from station name, manifest to station name, and their relationship, the desired outcome is that the system determines settings are invalid if us exit code is not '00000' or manifest from station is not 'iis-a6' or manifest to station is not 'iis-a6' or manifest from station does not equal manifest to station.
💻 Technical Criteria
Given A shipment with CCN type 9 is being processed
When The system evaluates the US exit code, manifest from station name, manifest to station name, and their relationship
Then The system determines settings are invalid if US exit code is not '00000' OR manifest from station is not 'IIS-A6' OR manifest to station is not 'IIS-A6' OR manifest from station does not equal manifest to station
R-GCCCCADD-cbl-01046 Apply Special Type 9 Rules
Action Rules
📊 Business Logic Narrative
When the process 'Apply Special Type 9 Rules' is invoked, and assuming that a shipment with ccn type 9 has invalid current manifest port settings, when the system applies special type 9 processing rules, the desired outcome is that the system sets both manifest from station name and manifest to station name to 'iis-a6'.
💻 Technical Criteria
Given A shipment with CCN type 9 has invalid current manifest port settings
When The system applies special type 9 processing rules
Then The system sets both manifest from station name and manifest to station name to 'IIS-A6'
R-GCCCCADD-cbl-01047 Keep Existing Manifest Port Settings
Process Rules
📊 Business Logic Narrative
When the process 'Keep Existing Manifest Port Settings' is invoked, and assuming that a shipment with ccn type 9 has valid current manifest port settings, when the system processes the manifest port information, the desired outcome is that the system preserves the existing manifest to station code, destination station number, and call letters without modification.
💻 Technical Criteria
Given A shipment with CCN type 9 has valid current manifest port settings
When The system processes the manifest port information
Then The system preserves the existing manifest to station code, destination station number, and call letters without modification
R-GCCCCADD-cbl-01048 Continue Normal Processing
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Continue Normal Processing', assuming that a shipment with ccn type that is not '9' is being processed, when the system evaluates the ccn type, the desired outcome is that the system continues with normal manifest port processing without applying special type 9 rules.
💻 Technical Criteria
EXCLUDING A shipment with CCN type that is not '9' is being processed
When The system evaluates the CCN type
Then The system continues with normal manifest port processing without applying special type 9 rules
R-GCCCCADD-cbl-01080 Format Combined Previous CCN
Computation Rules
📊 Business Logic Narrative
When the process 'Format Combined Previous CCN' is invoked, and assuming that a shipment record with valid previous carrier number (not '0000' or spaces) and previous cargo control number, when the system processes the previous carrier information, the desired outcome is that the system combines the previous carrier number (positions 1-4) with the previous cargo control number (positions 5-21) and stores the result in the previous carrier control number field.
💻 Technical Criteria
Given A shipment record with valid previous carrier number (not '0000' or spaces) and previous cargo control number
When The system processes the previous carrier information
Then The system combines the previous carrier number (positions 1-4) with the previous cargo control number (positions 5-21) and stores the result in the previous carrier control number field
R-GCCCCADD-cbl-01087 Retrieve EBSBCKS CNS Segment
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve EBSBCKS CNS Segment' is invoked, and assuming that a cns sequence number is available for lookup, when the ebsbcks segment is retrieved using the edi bol key and cns sequence, the desired outcome is that the special handling segment data is made available for consolidated load checking.
💻 Technical Criteria
Given A CNS sequence number is available for lookup
When The EBSBCKS segment is retrieved using the EDI BOL key and CNS sequence
Then The special handling segment data is made available for consolidated load checking
R-GCCCCADD-cbl-01091 Increment CNS Sequence Number
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Increment CNS Sequence Number', assuming that the current cns sequence does not contain a consolidated load indicator or the segment was not found, when the search needs to continue to the next sequence, the desired outcome is that the cns sequence counter is incremented by 1.
💻 Technical Criteria
EXCLUDING The current CNS sequence does not contain a consolidated load indicator or the segment was not found
When The search needs to continue to the next sequence
Then The CNS sequence counter is incremented by 1
R-GCCCCADD-cbl-01092 More Sequences to Check?
Decision Rules
📊 Business Logic Narrative
When the process 'More Sequences to Check?' is invoked, and assuming that a cns sequence has been processed, when the system determines whether to continue searching, the desired outcome is that continue if cns indicator not found and sequence number is 98 or less, otherwise stop searching.
💻 Technical Criteria
Given A CNS sequence has been processed
When The system determines whether to continue searching
Then Continue if CNS indicator not found and sequence number is 98 or less, otherwise stop searching
R-GCCCCADD-cbl-01124 Transit Action Required?
Decision Rules
📊 Business Logic Narrative
When the process 'Transit Action Required?' is invoked, and assuming that a shipment is being processed for customs manifest, when the system checks if transit action is required, the desired outcome is that if action code is 'us' or 'rt' and description from ccn is provided, transit description processing is initiated.
💻 Technical Criteria
Given A shipment is being processed for customs manifest
When The system checks if transit action is required
Then If action code is 'US' or 'RT' and description from CCN is provided, transit description processing is initiated
R-GCCCCADD-cbl-01125 Retrieve Description from Related CCN
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Description from Related CCN' is invoked, and assuming that transit action is required and description from ccn is specified, when the system retrieves description from the related ccn, the desired outcome is that description data is fetched from the specified ccn using gccccio2 and stored for enhancement.
💻 Technical Criteria
Given Transit action is required and description from CCN is specified
When The system retrieves description from the related CCN
Then Description data is fetched from the specified CCN using GCCCCIO2 and stored for enhancement
R-GCCCCADD-cbl-01126 Add 'MOVING IN TRANSIT THROUGH CANADA' text
Computation Rules
📊 Business Logic Narrative
When the process 'Add 'MOVING IN TRANSIT THROUGH CANADA' text' is invoked, and assuming that action code is 'us' and description from ccn is available, when the system builds enhanced transit description, the desired outcome is that description is enhanced by concatenating ccn identifier, ' moving in transit through canada ', and original description.
💻 Technical Criteria
Given Action code is 'US' and description from CCN is available
When The system builds enhanced transit description
Then Description is enhanced by concatenating CCN identifier, ' MOVING IN TRANSIT THROUGH CANADA ', and original description
R-GCCCCADD-cbl-01127 Add 'MOVING IN TRANSIT THROUGH US' text
Computation Rules
📊 Business Logic Narrative
When the process 'Add 'MOVING IN TRANSIT THROUGH US' text' is invoked, and assuming that action code is 'rt' and description from ccn is available, when the system builds enhanced transit description, the desired outcome is that description is enhanced by concatenating ccn identifier, ' moving in transit through us ', and original description.
💻 Technical Criteria
Given Action code is 'RT' and description from CCN is available
When The system builds enhanced transit description
Then Description is enhanced by concatenating CCN identifier, ' MOVING IN TRANSIT THROUGH US ', and original description
R-GCCCCADD-cbl-01128 Check CCN Array from EDI BOL
Validation Rules
📊 Business Logic Narrative
When the process 'Check CCN Array from EDI BOL' is invoked, and assuming that an edi bol has been processed and ccn array data is available, when the system checks the ccn array table from gcwcbol, the desired outcome is that the system determines if the ccn array contains valid data or is empty/low-values.
💻 Technical Criteria
Given An EDI BOL has been processed and CCN array data is available
When The system checks the CCN array table from GCWCBOL
Then The system determines if the CCN array contains valid data or is empty/low-values
R-GCCCCADD-cbl-01129 CCN Array Contains Data?
Decision Rules
📊 Business Logic Narrative
When the process 'CCN Array Contains Data?' is invoked, and assuming that the ccn array has been validated, when the ccn array is spaces or low-values, the desired outcome is that continue with normal processing without multiple ccn creation.
💻 Technical Criteria
Given The CCN array has been validated
When The CCN array is spaces or low-values
Then Continue with normal processing without multiple CCN creation
R-GCCCCADD-cbl-01130 Initialize CCN Index Counter
Process Rules
📊 Business Logic Narrative
When the process 'Initialize CCN Index Counter' is invoked, and assuming that the ccn array contains valid data, when multiple ccn processing is required, the desired outcome is that initialize the ccn index counter to 1 for array iteration.
💻 Technical Criteria
Given The CCN array contains valid data
When Multiple CCN processing is required
Then Initialize the CCN index counter to 1 for array iteration
R-GCCCCADD-cbl-01131 More CCNs to Process?
Process Rules
📊 Business Logic Narrative
When the process 'More CCNs to Process?' is invoked, and assuming that ccn processing loop is active with current index position, when the index is greater than 99 or the current ccn entry is spaces, the desired outcome is that exit the ccn processing loop.
💻 Technical Criteria
Given CCN processing loop is active with current index position
When The index is greater than 99 or the current CCN entry is spaces
Then Exit the CCN processing loop
R-GCCCCADD-cbl-01132 Extract Current CCN from Array
Process Rules
📊 Business Logic Narrative
When the process 'Extract Current CCN from Array' is invoked, and assuming that a valid ccn index position within the array bounds, when processing the current ccn entry, the desired outcome is that extract the ccn value from gcwcbol-ccn array at the current index.
💻 Technical Criteria
Given A valid CCN index position within the array bounds
When Processing the current CCN entry
Then Extract the CCN value from GCWCBOL-CCN array at the current index
R-GCCCCADD-cbl-01133 Set Waybill Key for Spawn
Process Rules
📊 Business Logic Narrative
When the process 'Set Waybill Key for Spawn' is invoked, and assuming that a ccn is being processed for manifest creation, when preparing the spawn message parameters, the desired outcome is that set the spawn waybill key to the input waybill key from gcwccadd.
💻 Technical Criteria
Given A CCN is being processed for manifest creation
When Preparing the spawn message parameters
Then Set the spawn waybill key to the input waybill key from GCWCCADD
R-GCCCCADD-cbl-01134 Set Waybill Date for Spawn
Process Rules
📊 Business Logic Narrative
When the process 'Set Waybill Date for Spawn' is invoked, and assuming that a ccn is being processed for manifest creation, when preparing the spawn message parameters, the desired outcome is that set the spawn waybill date to the working storage waybill date.
💻 Technical Criteria
Given A CCN is being processed for manifest creation
When Preparing the spawn message parameters
Then Set the spawn waybill date to the working storage waybill date
R-GCCCCADD-cbl-01135 Set Current CCN for Spawn
Process Rules
📊 Business Logic Narrative
When the process 'Set Current CCN for Spawn' is invoked, and assuming that a ccn has been extracted from the array, when preparing the spawn message parameters, the desired outcome is that set the spawn ccn to the current ccn from the array at the current index.
💻 Technical Criteria
Given A CCN has been extracted from the array
When Preparing the spawn message parameters
Then Set the spawn CCN to the current CCN from the array at the current index
R-GCCCCADD-cbl-01136 Set Action Code to 'AM'
Process Rules
📊 Business Logic Narrative
When the process 'Set Action Code to 'AM'' is invoked, and assuming that a spawn message is being prepared for ccn processing, when setting the action code parameter, the desired outcome is that set the spawn action code to 'am' for manifest creation.
💻 Technical Criteria
Given A spawn message is being prepared for CCN processing
When Setting the action code parameter
Then Set the spawn action code to 'AM' for manifest creation
R-GCCCCADD-cbl-01138 Increment CCN Index
Process Rules
📊 Business Logic Narrative
When the process 'Increment CCN Index' is invoked, and assuming that a ccn has been processed successfully, when moving to the next ccn in the array, the desired outcome is that increment the ccn index counter by 1.
💻 Technical Criteria
Given A CCN has been processed successfully
When Moving to the next CCN in the array
Then Increment the CCN index counter by 1
R-GCCCCADD-cbl-01150 Is Ocean In-Transit and CCN starts with 6105E?
Policy Rules
📊 Business Logic Narrative
When the process 'Is Ocean In-Transit and CCN starts with 6105E?' is invoked, and assuming that the in-transit status is set to ocean and the ccn key starts with '6105e', when the system evaluates the ocean in-transit status and ccn prefix combination, the desired outcome is that the broker name is automatically set to 'not-req' without further broker processing.
💻 Technical Criteria
Given The in-transit status is set to ocean and the CCN key starts with '6105E'
When The system evaluates the ocean in-transit status and CCN prefix combination
Then The broker name is automatically set to 'NOT-REQ' without further broker processing
R-GCCCCADD-cbl-01171 Save Current Description Data
Process Rules
📊 Business Logic Narrative
When the process 'Save Current Description Data' is invoked, and assuming that a cargo manifest with existing description data needs to be processed for description capture from related ccn, when the description capture process begins, the desired outcome is that the system saves the current cargo manifest record, cargo description segments, and all description array data to temporary storage for potential restoration.
💻 Technical Criteria
Given A cargo manifest with existing description data needs to be processed for description capture from related CCN
When The description capture process begins
Then The system saves the current cargo manifest record, cargo description segments, and all description array data to temporary storage for potential restoration
R-GCCCCADD-cbl-01172 Set CCN Key to Source CCN
Action Rules
📊 Business Logic Narrative
When the process 'Set CCN Key to Source CCN' is invoked, and assuming that a description from ccn parameter is provided for description capture, when the system prepares to retrieve description data from the source ccn, the desired outcome is that the system sets the ccn key to the description from ccn parameter value.
💻 Technical Criteria
Given A description from CCN parameter is provided for description capture
When The system prepares to retrieve description data from the source CCN
Then The system sets the CCN key to the description from CCN parameter value
R-GCCCCADD-cbl-01173 Retrieve Description from Source CCN
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Description from Source CCN' is invoked, and assuming that a valid source ccn key is set for description retrieval, when the system attempts to retrieve description data from the source ccn, the desired outcome is that the system calls gccccio2 program with fetch all segments flag to retrieve cargo description records including gcsccrt, gcsccs52, gcsccs53, gcsccs54, gcsccs55, and gcsccs56 segments.
💻 Technical Criteria
Given A valid source CCN key is set for description retrieval
When The system attempts to retrieve description data from the source CCN
Then The system calls GCCCCIO2 program with fetch all segments flag to retrieve cargo description records including GCSCCRT, GCSCCS52, GCSCCS53, GCSCCS54, GCSCCS55, and GCSCCS56 segments
R-GCCCCADD-cbl-01174 Description Retrieved Successfully?
Validation Rules
📊 Business Logic Narrative
When the process 'Description Retrieved Successfully?' is invoked, and assuming that an attempt to retrieve description data from source ccn has been made, when the system evaluates the retrieval operation result, the desired outcome is that if the error number is spaces then description retrieval is successful, otherwise it failed.
💻 Technical Criteria
Given An attempt to retrieve description data from source CCN has been made
When The system evaluates the retrieval operation result
Then If the error number is spaces then description retrieval is successful, otherwise it failed
R-GCCCCADD-cbl-01175 Extract Description Components
Process Rules
📊 Business Logic Narrative
When the process 'Extract Description Components' is invoked, and assuming that description data has been successfully retrieved from the source ccn, when the system processes the retrieved description data, the desired outcome is that the system moves the first cargo description segment to gcsccs53 and the first description array element to gcsccs55, then extracts lading description and all cargo data elements from the description arrays into working storage.
💻 Technical Criteria
Given Description data has been successfully retrieved from the source CCN
When The system processes the retrieved description data
Then The system moves the first cargo description segment to GCSCCS53 and the first description array element to GCSCCS55, then extracts lading description and all cargo data elements from the description arrays into working storage
R-GCCCCADD-cbl-01176 Action Code Check
Decision Rules
📊 Business Logic Narrative
When the process 'Action Code Check' is invoked, and assuming that description data has been extracted from the source ccn and an action code is specified, when the system evaluates the action code for description formatting, the desired outcome is that if action code is 'us' then format for us transit, if action code is 'rt' then format for return transit, otherwise use original description without modification.
💻 Technical Criteria
Given Description data has been extracted from the source CCN and an action code is specified
When The system evaluates the action code for description formatting
Then If action code is 'US' then format for US transit, if action code is 'RT' then format for return transit, otherwise use original description without modification
R-GCCCCADD-cbl-01177 Build US Transit Description
Computation Rules
📊 Business Logic Narrative
When the process 'Build US Transit Description' is invoked, and assuming that action code is 'us' and description data is available from source ccn, when the system formats the description for us transit, the desired outcome is that the system concatenates the description from ccn parameter, the text ' moving in transit through canada ', and the extracted description into the description work area.
💻 Technical Criteria
Given Action code is 'US' and description data is available from source CCN
When The system formats the description for US transit
Then The system concatenates the description from CCN parameter, the text ' MOVING IN TRANSIT THROUGH CANADA ', and the extracted description into the description work area
R-GCCCCADD-cbl-01178 Build RT Transit Description
Computation Rules
📊 Business Logic Narrative
When the process 'Build RT Transit Description' is invoked, and assuming that action code is 'rt' and description data is available from source ccn, when the system formats the description for return transit, the desired outcome is that the system concatenates the description from ccn parameter, the text ' moving in transit through us ', and the extracted description into the description work area.
💻 Technical Criteria
Given Action code is 'RT' and description data is available from source CCN
When The system formats the description for return transit
Then The system concatenates the description from CCN parameter, the text ' MOVING IN TRANSIT THROUGH US ', and the extracted description into the description work area
R-GCCCCADD-cbl-01179 Use Original Description
Process Rules
📊 Business Logic Narrative
When the process 'Use Original Description' is invoked, and assuming that action code is neither 'us' nor 'rt' and description data is available from source ccn, when the system processes the description for formatting, the desired outcome is that the system moves the extracted description to the description work area without any modifications.
💻 Technical Criteria
Given Action code is neither 'US' nor 'RT' and description data is available from source CCN
When The system processes the description for formatting
Then The system moves the extracted description to the description work area without any modifications
R-GCCCCADD-cbl-01182 Restore Original Data on Error
Process Rules
📊 Business Logic Narrative
When the process 'Restore Original Data on Error' is invoked, and assuming that description retrieval from source ccn has failed and original data was previously saved, when the system handles the retrieval failure, the desired outcome is that the system restores the saved cargo manifest record, cargo description segments, and clears all description array elements, then restores the saved description array data.
💻 Technical Criteria
Given Description retrieval from source CCN has failed and original data was previously saved
When The system handles the retrieval failure
Then The system restores the saved cargo manifest record, cargo description segments, and clears all description array elements, then restores the saved description array data
R-GCCCCADD-cbl-01184 Retrieve Description from Related CCN
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Description from Related CCN' is invoked, and assuming that a related ccn is specified for description enhancement, when the system needs to retrieve description data from the related ccn, the desired outcome is that the system calls gccccio2 to fetch all segments (gcsccs00, gcsccrt, gcsccs52, gcsccs53, gcsccs54, gcsccs55, gcsccs56) from the specified ccn using gu function with fetch-all option.
💻 Technical Criteria
Given A related CCN is specified for description enhancement
When The system needs to retrieve description data from the related CCN
Then The system calls GCCCCIO2 to fetch all segments (GCSCCS00, GCSCCRT, GCSCCS52, GCSCCS53, GCSCCS54, GCSCCS55, GCSCCS56) from the specified CCN using GU function with fetch-all option
R-GCCCCADD-cbl-01185 Description Retrieved Successfully?
Decision Rules
📊 Business Logic Narrative
When the process 'Description Retrieved Successfully?' is invoked, and assuming that an attempt has been made to retrieve description data from a related ccn, when the system checks the result of the retrieval operation, the desired outcome is that if gcwccio2-error-num equals spaces, the retrieval is considered successful and processing continues; otherwise, the original data is restored.
💻 Technical Criteria
Given An attempt has been made to retrieve description data from a related CCN
When The system checks the result of the retrieval operation
Then If GCWCCIO2-ERROR-NUM equals SPACES, the retrieval is considered successful and processing continues; otherwise, the original data is restored
R-GCCCCADD-cbl-01186 Extract Commodity Description
Process Rules
📊 Business Logic Narrative
When the process 'Extract Commodity Description' is invoked, and assuming that description data has been successfully retrieved from a related ccn, when the system processes the retrieved data, the desired outcome is that the lading description is moved from gccc-lading-description to the description work area, and all 46 cargo data segments are moved from ws-gcsccs53-cargo-data array to the description database work area.
💻 Technical Criteria
Given Description data has been successfully retrieved from a related CCN
When The system processes the retrieved data
Then The lading description is moved from GCCC-LADING-DESCRIPTION to the description work area, and all 46 cargo data segments are moved from WS-GCSCCS53-CARGO-DATA array to the description database work area
R-GCCCCADD-cbl-01187 Build US Transit Description
Computation Rules
📊 Business Logic Narrative
When the process 'Build US Transit Description' is invoked, and assuming that the action code is 'us' and commodity description data is available, when the system builds the enhanced description for us transit, the desired outcome is that the description is constructed by concatenating the ccn from gcwccadd-desc-from-ccn, the text ' moving in transit through canada ', and the original commodity description.
💻 Technical Criteria
Given The action code is 'US' and commodity description data is available
When The system builds the enhanced description for US transit
Then The description is constructed by concatenating the CCN from GCWCCADD-DESC-FROM-CCN, the text ' MOVING IN TRANSIT THROUGH CANADA ', and the original commodity description
R-GCCCCADD-cbl-01188 Build Return Transit Description
Computation Rules
📊 Business Logic Narrative
When the process 'Build Return Transit Description' is invoked, and assuming that the action code is 'rt' and commodity description data is available, when the system builds the enhanced description for return transit, the desired outcome is that the description is constructed by concatenating the ccn from gcwccadd-desc-from-ccn, the text ' moving in transit through us ', and the original commodity description.
💻 Technical Criteria
Given The action code is 'RT' and commodity description data is available
When The system builds the enhanced description for return transit
Then The description is constructed by concatenating the CCN from GCWCCADD-DESC-FROM-CCN, the text ' MOVING IN TRANSIT THROUGH US ', and the original commodity description
R-GCCCCADD-cbl-01233 Check for Valid EDI BOL
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check for Valid EDI BOL', assuming that a waybill processing request is initiated, when the system checks for valid edi bol data by verifying origin road number is not zero and retrieving shipment mining segment e1, the desired outcome is that the system sets edi bol availability status and extracts edi bol key if data is found.
💻 Technical Criteria
EXCLUDING A waybill processing request is initiated
When The system checks for valid EDI BOL data by verifying origin road number is not zero and retrieving shipment mining segment E1
Then The system sets EDI BOL availability status and extracts EDI BOL key if data is found
R-GCCCCADD-cbl-01235 Get EBSBCCM Commodity Segment
Action Rules
📊 Business Logic Narrative
When the process 'Get EBSBCCM Commodity Segment' is invoked, and assuming that edi bol data is available and commodity sequence counter is set, when the system attempts to retrieve ebsbccm commodity segment using edi bol key and sequence number, the desired outcome is that the system returns commodity segment data if found or sets not found status if invalid edi bol or segment does not exist.
💻 Technical Criteria
Given EDI BOL data is available and commodity sequence counter is set
When The system attempts to retrieve EBSBCCM commodity segment using EDI BOL key and sequence number
Then The system returns commodity segment data if found or sets not found status if invalid EDI BOL or segment does not exist
R-GCCCCADD-cbl-01250 Check for Valid EDI BOL
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check for Valid EDI BOL', assuming that a waybill processing request is initiated, when the system checks for edi bol availability by verifying origin road number is not zero, the desired outcome is that the system should set edi bol validity flag and extract bol key from shipment mining data if available.
💻 Technical Criteria
EXCLUDING A waybill processing request is initiated
When The system checks for EDI BOL availability by verifying origin road number is not zero
Then The system should set EDI BOL validity flag and extract BOL key from shipment mining data if available
R-GCCCCADD-cbl-01252 Get EBSBCCM Segment
Action Rules
📊 Business Logic Narrative
When the process 'Get EBSBCCM Segment' is invoked, and assuming that edi bol key is available and sequence counter is set, when the system attempts to retrieve ebsbccm commodity segment using edi bol key and cm type with sequence number, the desired outcome is that the system should return commodity segment data if found or set not-found flag if segment does not exist.
💻 Technical Criteria
Given EDI BOL key is available and sequence counter is set
When The system attempts to retrieve EBSBCCM commodity segment using EDI BOL key and CM type with sequence number
Then The system should return commodity segment data if found or set not-found flag if segment does not exist
R-GCCCCADD-cbl-01263 Check EDI BOL Data Availability
Validation Rules
📊 Business Logic Narrative
When the process 'Check EDI BOL Data Availability' is invoked, and assuming that a waybill processing request is initiated, when the system needs to retrieve weight and quantity information, the desired outcome is that the system should first check if edi bol data is available by validating the origin road number and retrieving the edi bol key.
💻 Technical Criteria
Given A waybill processing request is initiated
When The system needs to retrieve weight and quantity information
Then The system should first check if EDI BOL data is available by validating the origin road number and retrieving the EDI BOL key
R-GCCCCADD-cbl-01276 Initialize Shipper Record Structure
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Shipper Record Structure' is invoked, and assuming that a new shipper record needs to be created for customs manifest, when the system begins building shipper information, the desired outcome is that the record is initialized with ccn key, record type '55', and sequence '0001'.
💻 Technical Criteria
Given A new shipper record needs to be created for customs manifest
When The system begins building shipper information
Then The record is initialized with CCN key, record type '55', and sequence '0001'
R-GCCCCADD-cbl-01277 Set Record Type as '55' and Sequence '0001'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Record Type as '55' and Sequence '0001'' is invoked, and assuming that a shipper record structure is being initialized, when the system sets record identification parameters, the desired outcome is that record type is set to '55' and sequence number is set to '0001'.
💻 Technical Criteria
Given A shipper record structure is being initialized
When The system sets record identification parameters
Then Record type is set to '55' and sequence number is set to '0001'
R-GCCCCADD-cbl-01295 Initialize Consignee Record Structure
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Consignee Record Structure' is invoked, and assuming that a consignee record needs to be built, when the system starts consignee record building process, the desired outcome is that the system initializes the consignee record structure, sets record type to '55', and assigns sequence number '0002' for consignee data.
💻 Technical Criteria
Given A consignee record needs to be built
When The system starts consignee record building process
Then The system initializes the consignee record structure, sets record type to '55', and assigns sequence number '0002' for consignee data
R-GCCCCADD-cbl-01317 Build NN Entity Segments
Validation Rules
📊 Business Logic Narrative
When the process 'Build NN Entity Segments' is invoked, and assuming that edi bol data is available and nn sequence number is being processed, when nn entity data is found in edi bol segments and entity id code is valid according to predefined entity id values, the desired outcome is that extract nn entity name, address from gc segments, city/state/postal/country from ga segments to create nn segment with validated entity id, or reset variables if entity not found or invalid.
💻 Technical Criteria
Given EDI BOL data is available and NN sequence number is being processed
When NN entity data is found in EDI BOL segments AND entity ID code is valid according to predefined entity ID values
Then Extract NN entity name, address from GC segments, city/state/postal/country from GA segments to create NN segment with validated entity ID, OR reset variables if entity not found or invalid
R-GCCCCADD-cbl-01321 Validate All N1 Segments
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Validate All N1 Segments', assuming that entity segment sequence number is greater than 2 (not shipper or consignee), when entity id code is provided but not in valid entity id list or is shipper, consignee, or customs broker type, the desired outcome is that generate error message for invalid entity id value.
💻 Technical Criteria
EXCLUDING Entity segment sequence number is greater than 2 (not shipper or consignee)
When Entity ID code is provided but not in valid entity ID list OR is shipper, consignee, or customs broker type
Then Generate error message for invalid entity ID value
R-GCCCCADD-cbl-01353 Insert SF Entity Record into Customs Database
Action Rules
📊 Business Logic Narrative
When the process 'Insert SF Entity Record into Customs Database' is invoked, and assuming that stuffer entity data has been validated successfully, when the system saves the stuffer entity information, the desired outcome is that the stuffer entity record is inserted into the customs database with entity type 'sf' and assigned sequence number.
💻 Technical Criteria
Given Stuffer entity data has been validated successfully
When The system saves the stuffer entity information
Then The stuffer entity record is inserted into the customs database with entity type 'SF' and assigned sequence number
R-GCCCCADD-cbl-01366 Insert Ultimate Consignee Record
Action Rules
📊 Business Logic Narrative
When the process 'Insert Ultimate Consignee Record' is invoked, and assuming that ultimate consignee entity data has been validated successfully, when the system processes the record insertion, the desired outcome is that the ultimate consignee record is inserted into the customs database with sequence number between 0003 and 0025.
💻 Technical Criteria
Given Ultimate Consignee entity data has been validated successfully
When The system processes the record insertion
Then The Ultimate Consignee record is inserted into the customs database with sequence number between 0003 and 0025
R-GCCCCADD-cbl-01386 Insert BN Record into Customs Database
Action Rules
📊 Business Logic Narrative
When the process 'Insert BN Record into Customs Database' is invoked, and assuming that beneficial owner segment data has been validated successfully, when storing the beneficial owner information, the desired outcome is that the beneficial owner record is inserted into the customs database with sequence numbers 0003-0025.
💻 Technical Criteria
Given Beneficial owner segment data has been validated successfully
When Storing the beneficial owner information
Then The beneficial owner record is inserted into the customs database with sequence numbers 0003-0025
R-GCCCCADD-cbl-01401 Insert C1 Segment into Customs Record
Action Rules
📊 Business Logic Narrative
When the process 'Insert C1 Segment into Customs Record' is invoked, and assuming that c1 carrier segment has been validated and is ready for insertion, when the segment needs to be added to the customs record, the desired outcome is that the c1 segment is inserted into the customs record array with sequence numbers 0003-0025.
💻 Technical Criteria
Given C1 carrier segment has been validated and is ready for insertion
When The segment needs to be added to the customs record
Then The C1 segment is inserted into the customs record array with sequence numbers 0003-0025
R-GCCCCADD-cbl-01431 Retrieve MCOA Segment Data
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve MCOA Segment Data' is invoked, and assuming that an edi bol key and mcoa sequence number are available, when the system retrieves mcoa segment data with type 'ot', the desired outcome is that the mcoa segment is fetched from the edi database.
💻 Technical Criteria
Given an EDI BOL key and MCOA sequence number are available
When the system retrieves MCOA segment data with type 'OT'
Then the MCOA segment is fetched from the EDI database
R-GCCCCADD-cbl-01437 Retrieve Address Information
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Address Information' is invoked, and assuming that a valid mcoa entity with the current sequence number, when address information is retrieved using mcoa on segment type, the desired outcome is that address data is fetched from the edi database for the entity.
💻 Technical Criteria
Given a valid MCOA entity with the current sequence number
When address information is retrieved using MCOA ON segment type
Then address data is fetched from the EDI database for the entity
R-GCCCCADD-cbl-01441 Retrieve City/State Information
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve City/State Information' is invoked, and assuming that a valid mcoa entity with the current sequence number, when city and state information is retrieved using mcoa oc segment type, the desired outcome is that geographic data is fetched from the edi database for the entity.
💻 Technical Criteria
Given a valid MCOA entity with the current sequence number
When city and state information is retrieved using MCOA OC segment type
Then geographic data is fetched from the EDI database for the entity
R-GCCCCADD-cbl-01446 Insert Entity Record
Action Rules
📊 Business Logic Narrative
When the process 'Insert Entity Record' is invoked, and assuming that a validated entity segment, when the entity record is inserted, the desired outcome is that the segment is stored in the gcsccs55 table with sequence numbers 0003-0025.
💻 Technical Criteria
Given a validated entity segment
When the entity record is inserted
Then the segment is stored in the GCSCCS55 table with sequence numbers 0003-0025
R-GCCCCADD-cbl-01447 Process Next MCOA Sequence
Process Rules
📊 Business Logic Narrative
When the process 'Process Next MCOA Sequence' is invoked, and assuming that current mcoa sequence processing is complete, when the system checks for additional sequences, the desired outcome is that the mcoa sequence number is incremented for next iteration.
💻 Technical Criteria
Given current MCOA sequence processing is complete
When the system checks for additional sequences
Then the MCOA sequence number is incremented for next iteration
R-GCCCCADD-cbl-01455 Insert Entity Record into Customs Database
Action Rules
📊 Business Logic Narrative
When the process 'Insert Entity Record into Customs Database' is invoked, and assuming that entity data has been processed and validated for any entity type (11, nn, mc, oo, fw), when the system completes entity data processing and validation, the desired outcome is that the system assigns the next available sequence number, validates the complete entity record, and inserts it into the customs database (gcsccs55).
💻 Technical Criteria
Given Entity data has been processed and validated for any entity type (11, NN, MC, OO, FW)
When The system completes entity data processing and validation
Then The system assigns the next available sequence number, validates the complete entity record, and inserts it into the customs database (GCSCCS55)
R-GCCCCADD-cbl-01470 Are all required fields empty?
Validation Rules
📊 Business Logic Narrative
When the process 'Are all required fields empty?' is invoked, and assuming that a shipper or consignee n1 segment is being processed with sequence number 1 or 2, when the segment has empty name and empty address data and empty city/state data and empty contact information, the desired outcome is that generate required shipper error for sequence 1 or required consignee error for sequence 2.
💻 Technical Criteria
Given A shipper or consignee N1 segment is being processed with sequence number 1 or 2
When The segment has empty name AND empty address data AND empty city/state data AND empty contact information
Then Generate required shipper error for sequence 1 or required consignee error for sequence 2
R-GCCCCADD-cbl-01473 Entity ID is invalid type?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Entity ID is invalid type?', assuming that an n1 segment with sequence number greater than 2 is being validated, when the entity id code is not empty and the entity id is not a valid entity type or is a shipper code or is a consignee code or is a customs broker code, the desired outcome is that generate an invalid entity id value error message.
💻 Technical Criteria
EXCLUDING An N1 segment with sequence number greater than 2 is being validated
When The entity ID code is not empty AND the entity ID is not a valid entity type OR is a shipper code OR is a consignee code OR is a customs broker code
Then Generate an invalid entity ID value error message
R-GCCCCADD-cbl-01487 Invalid Entity ID Value?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Invalid Entity ID Value?', assuming that an n1 segment record with sequence number greater than 2 is being validated, when the entity id code is not empty and the entity id is not a valid entity type and the entity id is not 'sh' (shipper) and the entity id is not 'cn' (consignee) and the entity id is not 'cb' (customs broker), the desired outcome is that generate an error indicating invalid entity id value.
💻 Technical Criteria
EXCLUDING An N1 segment record with sequence number greater than 2 is being validated
When The entity ID code is not empty AND the entity ID is not a valid entity type AND the entity ID is not 'SH' (shipper) AND the entity ID is not 'CN' (consignee) AND the entity ID is not 'CB' (customs broker)
Then Generate an error indicating invalid entity ID value
R-GCCCCADD-cbl-01525 Insert Entity Record
Process Rules
📊 Business Logic Narrative
When the process 'Insert Entity Record' is invoked, and assuming that an entity record is ready for insertion and current sequence index is within maximum sequence limit, when inserting entity record into sequence 55 array, the desired outcome is that assign ccn key, record type '55', current sequence index to entity record, store in array, and increment sequence index by 1.
💻 Technical Criteria
Given An entity record is ready for insertion and current sequence index is within maximum sequence limit
When Inserting entity record into sequence 55 array
Then Assign CCN key, record type '55', current sequence index to entity record, store in array, and increment sequence index by 1
R-GCCCCADD-cbl-01560 Entity ID invalid or restricted type?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Entity ID invalid or restricted type?', assuming that a record sequence number is greater than 2, when entity id is not in valid values list or is a restricted type (sh, cn, bn), the desired outcome is that generate invalid entity id value error message.
💻 Technical Criteria
EXCLUDING A record sequence number is greater than 2
When Entity ID is not in valid values list or is a restricted type (SH, CN, BN)
Then Generate invalid entity ID value error message
R-GCCCCADD-cbl-01575 Skip Validation for Basic Records
Process Rules
📊 Business Logic Narrative
When the process 'Skip Validation for Basic Records' is invoked, and assuming that a record is being validated for entity type compliance, when the record sequence number is 1 (shipper) or 2 (consignee), the desired outcome is that skip the entity id value validation and proceed to next validation step.
💻 Technical Criteria
Given A record is being validated for entity type compliance
When The record sequence number is 1 (shipper) or 2 (consignee)
Then Skip the entity ID value validation and proceed to next validation step
R-GCCCCADD-cbl-01576 Entity ID in Allowed Values?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Entity ID in Allowed Values?', assuming that a record sequence number is greater than 2 (extended entity record), when the entity identification code is present but not in the list of valid entity types, the desired outcome is that generate an invalid entity type error message.
💻 Technical Criteria
EXCLUDING A record sequence number is greater than 2 (extended entity record)
When The entity identification code is present but not in the list of valid entity types
Then Generate an invalid entity type error message
R-GCCCCADD-cbl-01607 Initialize Search Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Search Parameters' is invoked, and assuming that a qualified shipment requiring bunch bill car search, when the system initializes the search process, the desired outcome is that clear search segments, set waybill key as search key, and prepare for equipment sequence iteration.
💻 Technical Criteria
Given A qualified shipment requiring bunch bill car search
When The system initializes the search process
Then Clear search segments, set waybill key as search key, and prepare for equipment sequence iteration
R-GCCCCADD-cbl-01608 Car Sequence ≤ 200?
Validation Rules
📊 Business Logic Narrative
When the process 'Car Sequence ≤ 200?' is invoked, and assuming that an active equipment search process, when the system checks the current search sequence number, the desired outcome is that continue searching if sequence is 200 or less, otherwise terminate search as not found.
💻 Technical Criteria
Given An active equipment search process
When The system checks the current search sequence number
Then Continue searching if sequence is 200 or less, otherwise terminate search as not found
R-GCCCCADD-cbl-01609 Get Equipment Record by Sequence
Action Rules
📊 Business Logic Narrative
When the process 'Get Equipment Record by Sequence' is invoked, and assuming that a valid search sequence number within bounds, when the system attempts to retrieve equipment record, the desired outcome is that call equipment management system to get equipment data for the specified sequence.
💻 Technical Criteria
Given A valid search sequence number within bounds
When The system attempts to retrieve equipment record
Then Call equipment management system to get equipment data for the specified sequence
R-GCCCCADD-cbl-01614 Increment Car Sequence
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Increment Car Sequence', assuming that equipment id does not match target car id, when the system continues the search process, the desired outcome is that increment the car sequence number by 1 and continue with boundary check.
💻 Technical Criteria
EXCLUDING Equipment ID does not match target car ID
When The system continues the search process
Then Increment the car sequence number by 1 and continue with boundary check
R-GCCCCADD-cbl-01631 Called from GCX011 and CCN starts with '6105'?
Decision Rules
📊 Business Logic Narrative
When the process 'Called from GCX011 and CCN starts with '6105'?' is invoked, and assuming that a processed haulage request with calling program context and ccn key, when the system checks if called from gcx011 and ccn key starts with '6105', the desired outcome is that if both conditions are true then proceed with bill-as scac validation, otherwise continue with ss table processing.
💻 Technical Criteria
Given A processed haulage request with calling program context and CCN key
When The system checks if called from GCX011 and CCN key starts with '6105'
Then If both conditions are true then proceed with bill-as SCAC validation, otherwise continue with SS table processing
R-GCCCCADD-cbl-01632 Bill-As SCAC is valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Bill-As SCAC is valid?' is invoked, and assuming that a ccn key starting with '6105' from gcx011 call, when the system validates the bill-as scac code, the desired outcome is that if bill-as scac is not 'unkn', not spaces, not low-values, and not '6105' then modify ccn key with bill-as scac.
💻 Technical Criteria
Given A CCN key starting with '6105' from GCX011 call
When The system validates the bill-as SCAC code
Then If bill-as SCAC is not 'UNKN', not spaces, not low-values, and not '6105' then modify CCN key with bill-as SCAC
R-GCCCCADD-cbl-01633 Automated Haulage?
Decision Rules
📊 Business Logic Narrative
When the process 'Automated Haulage?' is invoked, and assuming that a valid bill-as scac code requiring ccn key modification, when the system determines if haulage is automated, the desired outcome is that if automated haulage then set ccn key suffix to 'e' and bill owner to '6105', otherwise set ccn key suffix to 'p' and bill owner to bill-as scac.
💻 Technical Criteria
Given A valid bill-as SCAC code requiring CCN key modification
When The system determines if haulage is automated
Then If automated haulage then set CCN key suffix to 'E' and bill owner to '6105', otherwise set CCN key suffix to 'P' and bill owner to bill-as SCAC
R-GCCCCADD-cbl-02232 Called from GCX011 and CCN starts with '6105'?
Decision Rules
📊 Business Logic Narrative
When the process 'Called from GCX011 and CCN starts with '6105'?' is invoked, and assuming that a haulage mode shipment with carrier information, when the calling program and ccn key are evaluated, the desired outcome is that if called from gcx011 and ccn key starts with '6105' then check bill-as scac validity, otherwise proceed to ss table processing.
💻 Technical Criteria
Given A haulage mode shipment with carrier information
When The calling program and CCN key are evaluated
Then If called from GCX011 and CCN key starts with '6105' then check bill-as SCAC validity, otherwise proceed to SS table processing
R-GCCCCADD-cbl-02233 Bill-As SCAC is valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Bill-As SCAC is valid?' is invoked, and assuming that a gcx011 call with ccn starting with '6105', when the bill-as scac is evaluated, the desired outcome is that if bill-as scac is not 'unkn', not spaces, not low-values, and not '6105' then update ccn key with bill-as scac, otherwise proceed to ss table processing.
💻 Technical Criteria
Given A GCX011 call with CCN starting with '6105'
When The bill-as SCAC is evaluated
Then If bill-as SCAC is not 'UNKN', not spaces, not low-values, and not '6105' then update CCN key with bill-as SCAC, otherwise proceed to SS table processing
R-GCCCCADD-cbl-02234 Automated Haulage?
Decision Rules
📊 Business Logic Narrative
When the process 'Automated Haulage?' is invoked, and assuming that a valid bill-as scac for ccn update, when the automated haulage flag is checked, the desired outcome is that if automated haulage then set ccn key suffix to 'e' and bill owner to '6105', otherwise set ccn key suffix to 'p' and bill owner to bill-as scac.
💻 Technical Criteria
Given A valid bill-as SCAC for CCN update
When The automated haulage flag is checked
Then If automated haulage then set CCN key suffix to 'E' and bill owner to '6105', otherwise set CCN key suffix to 'P' and bill owner to bill-as SCAC
R-GCCCCADD-cbl-02612 Called from GCX011 and CCN starts with '6105'?
Decision Rules
📊 Business Logic Narrative
When the process 'Called from GCX011 and CCN starts with '6105'?' is invoked, and assuming that a processed haulage movement with billing information, when the system checks if called from gcx011 and ccn key starts with '6105', the desired outcome is that if both conditions are true then proceed with ccn update validation, otherwise complete processing.
💻 Technical Criteria
Given A processed haulage movement with billing information
When The system checks if called from GCX011 and CCN key starts with '6105'
Then If both conditions are true then proceed with CCN update validation, otherwise complete processing
R-GCCCCADD-cbl-02613 Bill-As SCAC is Valid and Not Default?
Validation Rules
📊 Business Logic Narrative
When the process 'Bill-As SCAC is Valid and Not Default?' is invoked, and assuming that a haulage movement eligible for ccn update with bill-as scac assigned, when the system validates the bill-as scac value, the desired outcome is that if bill-as scac is not 'unkn', not blank, not low-values, and not '6105' then proceed with ccn update, otherwise complete processing.
💻 Technical Criteria
Given A haulage movement eligible for CCN update with Bill-As SCAC assigned
When The system validates the Bill-As SCAC value
Then If Bill-As SCAC is not 'UNKN', not blank, not low-values, and not '6105' then proceed with CCN update, otherwise complete processing
R-GCCCCADD-cbl-02614 Update CCN Key with Bill-As SCAC
Action Rules
📊 Business Logic Narrative
When the process 'Update CCN Key with Bill-As SCAC' is invoked, and assuming that a haulage movement with valid bill-as scac for ccn update, when the system processes the ccn key update, the desired outcome is that replace the first 4 characters of ccn key with the bill-as scac code.
💻 Technical Criteria
Given A haulage movement with valid Bill-As SCAC for CCN update
When The system processes the CCN key update
Then Replace the first 4 characters of CCN key with the Bill-As SCAC code
R-GCCCCADD-cbl-02615 Set CCN Key Suffix to 'E' Set Bill Owner to '6105'
Action Rules
📊 Business Logic Narrative
When the process 'Set CCN Key Suffix to 'E' Set Bill Owner to '6105'' is invoked, and assuming that a ccn key updated with bill-as scac for automated haulage, when the system processes automated haulage ccn formatting, the desired outcome is that set the 5th character of ccn key to 'e' and set bill owner to '6105'.
💻 Technical Criteria
Given A CCN key updated with Bill-As SCAC for automated haulage
When The system processes automated haulage CCN formatting
Then Set the 5th character of CCN key to 'E' and set bill owner to '6105'
R-GCCCCADD-cbl-02616 Set CCN Key Suffix to 'P' Set Bill Owner to Bill-As SCAC
Action Rules
📊 Business Logic Narrative
When the process 'Set CCN Key Suffix to 'P' Set Bill Owner to Bill-As SCAC' is invoked, and assuming that a ccn key updated with bill-as scac for non-automated haulage, when the system processes manual haulage ccn formatting, the desired outcome is that set the 5th character of ccn key to 'p' and set bill owner to the bill-as scac value.
💻 Technical Criteria
Given A CCN key updated with Bill-As SCAC for non-automated haulage
When The system processes manual haulage CCN formatting
Then Set the 5th character of CCN key to 'P' and set bill owner to the Bill-As SCAC value
R-GCCCCADD-cbl-02262 Called from GCX011 and CCN starts with '6105'?
Decision Rules
📊 Business Logic Narrative
When the process 'Called from GCX011 and CCN starts with '6105'?' is invoked, and assuming that completed haulage processing with calling program and ccn information, when the system evaluates ccn modification eligibility, the desired outcome is that if called from gcx011 and ccn starts with '6105' then proceed with bill-as scac validation, otherwise end processing.
💻 Technical Criteria
Given Completed haulage processing with calling program and CCN information
When The system evaluates CCN modification eligibility
Then If called from GCX011 and CCN starts with '6105' then proceed with bill-as SCAC validation, otherwise end processing
R-GCCCCADD-cbl-02263 Bill As SCAC Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Bill As SCAC Valid?' is invoked, and assuming that a bill-as scac code from haulage processing, when the system validates the scac for ccn modification, the desired outcome is that if bill-as scac is not 'unkn', not spaces, not low-values, and not '6105' then proceed with ccn modification, otherwise end processing.
💻 Technical Criteria
Given A bill-as SCAC code from haulage processing
When The system validates the SCAC for CCN modification
Then If bill-as SCAC is not 'UNKN', not spaces, not low-values, and not '6105' then proceed with CCN modification, otherwise end processing
R-GCCCCADD-cbl-02264 Modify CCN Key with Bill As SCAC
Action Rules
📊 Business Logic Narrative
When the process 'Modify CCN Key with Bill As SCAC' is invoked, and assuming that a valid bill-as scac code for ccn modification, when the system modifies the ccn key, the desired outcome is that replace first 4 characters of ccn key with bill-as scac code.
💻 Technical Criteria
Given A valid bill-as SCAC code for CCN modification
When The system modifies the CCN key
Then Replace first 4 characters of CCN key with bill-as SCAC code
R-GCCCCADD-cbl-02265 Automated Haulage?
Decision Rules
📊 Business Logic Narrative
When the process 'Automated Haulage?' is invoked, and assuming that a modified ccn key with automated haulage status, when the system finalizes ccn configuration, the desired outcome is that if automated haulage then set ccn type to 'e' and bill owner to '6105', otherwise set ccn type to 'p' and bill owner to bill-as scac.
💻 Technical Criteria
Given A modified CCN key with automated haulage status
When The system finalizes CCN configuration
Then If automated haulage then set CCN type to 'E' and bill owner to '6105', otherwise set CCN type to 'P' and bill owner to bill-as SCAC
R-GCCCCADD-cbl-01678 Called from GCX011 and CCN starts with '6105'?
Decision Rules
📊 Business Logic Narrative
When the process 'Called from GCX011 and CCN starts with '6105'?' is invoked, and assuming that a haulage movement processed through gcx011 interface, when the system checks if the ccn key starts with '6105', the desired outcome is that if true, proceed with ccn modification logic based on bill-as scac validation.
💻 Technical Criteria
Given A haulage movement processed through GCX011 interface
When The system checks if the CCN key starts with '6105'
Then If true, proceed with CCN modification logic based on bill-as SCAC validation
R-GCCCCADD-cbl-01679 Bill-As SCAC Valid and Not Default?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Bill-As SCAC Valid and Not Default?', assuming that a ccn that starts with '6105' processed through gcx011, when the system checks if bill-as scac is not 'unkn', not spaces, not low-values, and not '6105', the desired outcome is that if valid, proceed with ccn key modification using the bill-as scac value.
💻 Technical Criteria
EXCLUDING A CCN that starts with '6105' processed through GCX011
When The system checks if bill-as SCAC is not 'UNKN', not spaces, not low-values, and not '6105'
Then If valid, proceed with CCN key modification using the bill-as SCAC value
R-GCCCCADD-cbl-01680 Set CCN Type to 'E' Set Bill Owner to '6105'
Computation Rules
📊 Business Logic Narrative
When the process 'Set CCN Type to 'E' Set Bill Owner to '6105'' is invoked, and assuming that a valid bill-as scac and automated haulage flag set to true, when the system modifies the ccn key, the desired outcome is that replace the first 4 characters of ccn with bill-as scac, set the 5th character to 'e', and assign bill owner to '6105'.
💻 Technical Criteria
Given A valid bill-as SCAC and automated haulage flag set to true
When The system modifies the CCN key
Then Replace the first 4 characters of CCN with bill-as SCAC, set the 5th character to 'E', and assign bill owner to '6105'
R-GCCCCADD-cbl-01681 Set CCN Type to 'P' Set Bill Owner to Bill-As SCAC
Computation Rules
📊 Business Logic Narrative
When the process 'Set CCN Type to 'P' Set Bill Owner to Bill-As SCAC' is invoked, and assuming that a valid bill-as scac and automated haulage flag set to false, when the system modifies the ccn key, the desired outcome is that replace the first 4 characters of ccn with bill-as scac, set the 5th character to 'p', and assign bill owner to the bill-as scac value.
💻 Technical Criteria
Given A valid bill-as SCAC and automated haulage flag set to false
When The system modifies the CCN key
Then Replace the first 4 characters of CCN with bill-as SCAC, set the 5th character to 'P', and assign bill owner to the bill-as SCAC value
R-GCCCCADD-cbl-01682 Called from GCX011?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Called from GCX011?', assuming that a haulage shipment is being processed, when the process is not called from gcx011 program, the desired outcome is that skip ccn key modification and continue with standard processing.
💻 Technical Criteria
EXCLUDING A haulage shipment is being processed
When The process is not called from GCX011 program
Then Skip CCN key modification and continue with standard processing
R-GCCCCADD-cbl-01683 CCN Key starts with '6105'?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'CCN Key starts with '6105'?', assuming that a haulage shipment is called from gcx011 program, when the ccn key does not start with '6105', the desired outcome is that skip ccn key modification and continue with standard processing.
💻 Technical Criteria
EXCLUDING A haulage shipment is called from GCX011 program
When The CCN key does not start with '6105'
Then Skip CCN key modification and continue with standard processing
R-GCCCCADD-cbl-01684 Bill-As SCAC is valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Bill-As SCAC is valid?' is invoked, and assuming that a haulage shipment with ccn key starting with '6105' called from gcx011, when the bill-as scac is 'unkn' or spaces or low-values or '6105', the desired outcome is that skip ccn key modification and continue with standard processing.
💻 Technical Criteria
Given A haulage shipment with CCN key starting with '6105' called from GCX011
When The Bill-As SCAC is 'UNKN' or spaces or low-values or '6105'
Then Skip CCN key modification and continue with standard processing
R-GCCCCADD-cbl-01685 Move Bill-As SCAC to CCN Key position 1-4
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Move Bill-As SCAC to CCN Key position 1-4', assuming that a haulage shipment with valid bill-as scac code, when the bill-as scac is not 'unkn', spaces, low-values, or '6105', the desired outcome is that replace the first four characters of the ccn key with the bill-as scac code.
💻 Technical Criteria
EXCLUDING A haulage shipment with valid Bill-As SCAC code
When The Bill-As SCAC is not 'UNKN', spaces, low-values, or '6105'
Then Replace the first four characters of the CCN key with the Bill-As SCAC code
R-GCCCCADD-cbl-01686 Set CCN Key position 5 to 'E'
Action Rules
📊 Business Logic Narrative
When the process 'Set CCN Key position 5 to 'E'' is invoked, and assuming that a haulage shipment with valid bill-as scac and automated haulage flag set, when the haulage is automated, the desired outcome is that set the fifth position of ccn key to 'e' and set bill owner to '6105'.
💻 Technical Criteria
Given A haulage shipment with valid Bill-As SCAC and automated haulage flag set
When The haulage is automated
Then Set the fifth position of CCN key to 'E' and set Bill Owner to '6105'
R-GCCCCADD-cbl-01687 Set CCN Key position 5 to 'P'
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set CCN Key position 5 to 'P'', assuming that a haulage shipment with valid bill-as scac and automated haulage flag not set, when the haulage is not automated, the desired outcome is that set the fifth position of ccn key to 'p' and set bill owner to the bill-as scac code.
💻 Technical Criteria
EXCLUDING A haulage shipment with valid Bill-As SCAC and automated haulage flag not set
When The haulage is not automated
Then Set the fifth position of CCN key to 'P' and set Bill Owner to the Bill-As SCAC code
R-GCCCCADD-cbl-01699 CCN Array Contains Data?
Validation Rules
📊 Business Logic Narrative
When the process 'CCN Array Contains Data?' is invoked, and assuming that a ccn array table exists from bill of lading processing, when the system checks for multiple ccn processing requirements, the desired outcome is that processing continues only if the ccn array contains valid data, otherwise manifest creation is marked complete.
💻 Technical Criteria
Given A CCN array table exists from bill of lading processing
When The system checks for multiple CCN processing requirements
Then Processing continues only if the CCN array contains valid data, otherwise manifest creation is marked complete
R-GCCCCADD-cbl-01700 More CCNs in Array?
Process Rules
📊 Business Logic Narrative
When the process 'More CCNs in Array?' is invoked, and assuming that a ccn array with multiple cargo control numbers and a current index position, when the system processes each ccn in sequence, the desired outcome is that continue processing the next ccn if the current index is within array bounds and the ccn value is not spaces, otherwise complete the manifest creation process.
💻 Technical Criteria
Given A CCN array with multiple cargo control numbers and a current index position
When The system processes each CCN in sequence
Then Continue processing the next CCN if the current index is within array bounds and the CCN value is not spaces, otherwise complete the manifest creation process
R-GCCCCADD-cbl-01701 Initialize Spawn Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Spawn Parameters' is invoked, and assuming that valid ccn array data requiring multiple manifest processing, when the system prepares to spawn the gct0111e program, the desired outcome is that initialize spawn waybill key, waybill date, current ccn from array, and action code to 'am' for manifest processing.
💻 Technical Criteria
Given Valid CCN array data requiring multiple manifest processing
When The system prepares to spawn the GCT0111E program
Then Initialize spawn waybill key, waybill date, current CCN from array, and action code to 'AM' for manifest processing
R-GCCCCADD-cbl-01702 Call IMS to Change Message
Action Rules
📊 Business Logic Narrative
When the process 'Call IMS to Change Message' is invoked, and assuming that prepared spawn message with waybill and ccn information, when the system needs to process a cargo control number for manifest creation, the desired outcome is that call ims with chng function to invoke gct0111e program, write the message to the processing queue, and purge the ims message.
💻 Technical Criteria
Given Prepared spawn message with waybill and CCN information
When The system needs to process a cargo control number for manifest creation
Then Call IMS with CHNG function to invoke GCT0111E program, write the message to the processing queue, and purge the IMS message
R-GCCCCADD-cbl-01714 Insert Importer Record into Customs Database
Action Rules
📊 Business Logic Narrative
When the process 'Insert Importer Record into Customs Database' is invoked, and assuming that importer segment data has been validated, when the system processes the importer record for storage, the desired outcome is that the system inserts the importer record into the customs database with sequence number assignment.
💻 Technical Criteria
Given Importer segment data has been validated
When The system processes the importer record for storage
Then The system inserts the importer record into the customs database with sequence number assignment
R-GCCCCADD-cbl-02643 Insert into Customs Record 55
Action Rules
📊 Business Logic Narrative
When the process 'Insert into Customs Record 55' is invoked, and assuming that importer segment data has been validated successfully, when the system saves the importer information, the desired outcome is that the importer segment is inserted into customs record type 55 with appropriate sequence number.
💻 Technical Criteria
Given Importer segment data has been validated successfully
When The system saves the importer information
Then The importer segment is inserted into customs record type 55 with appropriate sequence number
R-GCCCCADD-cbl-01720 Search Existing Importer Records
Process Rules
📊 Business Logic Narrative
When the process 'Search Existing Importer Records' is invoked, and assuming that importer data backup is required and counter is initialized to 3, when the system searches customs records type 55 with sequence numbers from 3 to 24 until importer is found or maximum sequence is reached, the desired outcome is that the system retrieves each record and checks if entity id equals 'im' to identify importer records.
💻 Technical Criteria
Given Importer data backup is required and counter is initialized to 3
When The system searches customs records type 55 with sequence numbers from 3 to 24 until importer is found or maximum sequence is reached
Then The system retrieves each record and checks if entity ID equals 'IM' to identify importer records
R-GCCCCADD-cbl-01741 Retrieve EDI N1 Importer Segment
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve EDI N1 Importer Segment' is invoked, and assuming that an edi bill of lading key exists for the shipment, when the system needs to process importer business number information, the desired outcome is that the system retrieves the n1 importer segment from the edi data using the bill of lading key.
💻 Technical Criteria
Given An EDI bill of lading key exists for the shipment
When The system needs to process importer business number information
Then The system retrieves the N1 importer segment from the EDI data using the bill of lading key
R-GCCCCADD-cbl-01750 Get Importer N3 Segment from EDI BOL
Action Rules
📊 Business Logic Narrative
When the process 'Get Importer N3 Segment from EDI BOL' is invoked, and assuming that an edi bill of lading exists with importer entity type 'im', when the system processes importer address information, the desired outcome is that the system retrieves the n3 segment containing address line 1 and address line 2 from the edi bol.
💻 Technical Criteria
Given An EDI Bill of Lading exists with importer entity type 'IM'
When The system processes importer address information
Then The system retrieves the N3 segment containing address line 1 and address line 2 from the EDI BOL
R-GCCCCADD-cbl-01758 Get Importer N4 Segment from EDI BOL
Action Rules
📊 Business Logic Narrative
When the process 'Get Importer N4 Segment from EDI BOL' is invoked, and assuming that an edi bill of lading exists with importer entity type 'im', when the system processes importer geographic information, the desired outcome is that the system retrieves the n4 segment containing city, state, postal code, and country data.
💻 Technical Criteria
Given An EDI Bill of Lading exists with importer entity type 'IM'
When The system processes importer geographic information
Then The system retrieves the N4 segment containing city, state, postal code, and country data
R-GCCCCADD-cbl-01786 Set Sequence Number from NN Counter
Process Rules
📊 Business Logic Narrative
When the process 'Set Sequence Number from NN Counter' is invoked, and assuming that a specific notify party occurrence needs to be identified for geographic address retrieval, when the system assigns the sequence number, the desired outcome is that the sequence number is set from the nn counter to target the correct notify party occurrence.
💻 Technical Criteria
Given A specific notify party occurrence needs to be identified for geographic address retrieval
When The system assigns the sequence number
Then The sequence number is set from the NN counter to target the correct notify party occurrence
R-GCCCCADD-cbl-01788 Set Geographic Address Sequence
Process Rules
📊 Business Logic Narrative
When the process 'Set Geographic Address Sequence' is invoked, and assuming that a specific geographic address occurrence needs to be identified within notify party data, when the system assigns the geographic address sequence, the desired outcome is that the sequence number is set to identify the correct geographic address occurrence.
💻 Technical Criteria
Given A specific geographic address occurrence needs to be identified within notify party data
When The system assigns the geographic address sequence
Then The sequence number is set to identify the correct geographic address occurrence
R-GCCCCADD-cbl-01796 Retrieve EBSBCKS Segment
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve EBSBCKS Segment' is invoked, and assuming that a sequence number for cns segment search, when the system retrieves ebsbcks segment data using the current sequence number, the desired outcome is that the segment data is loaded for consolidated load indicator evaluation.
💻 Technical Criteria
Given A sequence number for CNS segment search
When The system retrieves EBSBCKS segment data using the current sequence number
Then The segment data is loaded for consolidated load indicator evaluation
R-GCCCCADD-cbl-01810 Set CCN Key and Record Type 55
Process Rules
📊 Business Logic Narrative
When the process 'Set CCN Key and Record Type 55' is invoked, and assuming that a customs record is being prepared for storage, when the system sets the record identification fields, the desired outcome is that the ccn key is assigned to the record key field and record type is set to '55'.
💻 Technical Criteria
Given A customs record is being prepared for storage
When The system sets the record identification fields
Then The CCN key is assigned to the record key field and record type is set to '55'
R-GCCCCADD-cbl-01851 Search Existing Records
Action Rules
📊 Business Logic Narrative
When the process 'Search Existing Records' is invoked, and assuming that search counter is initialized and importer data validation passed, when the system searches customs records using ccn key, record type 55, and current sequence number, the desired outcome is that a customs record is retrieved if it exists for the specified sequence.
💻 Technical Criteria
Given Search counter is initialized and importer data validation passed
When The system searches customs records using CCN key, record type 55, and current sequence number
Then A customs record is retrieved if it exists for the specified sequence
R-GCCCCADD-cbl-01871 Increment Counter
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Increment Counter', assuming that current record is not an importer record or no record was found, when the system needs to continue searching, the desired outcome is that the search counter is incremented by 1 to check the next sequence number.
💻 Technical Criteria
EXCLUDING Current record is not an importer record or no record was found
When The system needs to continue searching
Then The search counter is incremented by 1 to check the next sequence number
R-GCCCCADD-cbl-01894 Initialize EBSNRSC Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize EBSNRSC Parameters' is invoked, and assuming that edi bol segment retrieval is required for ebsnrsc type, when system initializes ebsnrsc segment parameters, the desired outcome is that ebwlgio structure is cleared, segment type is set to 'ebsnrsc', function code is set to 'gu', operator is set to '=', sequence number is set to '01', and accept status is set to 'ge'.
💻 Technical Criteria
Given EDI BOL segment retrieval is required for EBSNRSC type
When System initializes EBSNRSC segment parameters
Then EBWLGIO structure is cleared, segment type is set to 'EBSNRSC', function code is set to 'GU', operator is set to '=', sequence number is set to '01', and accept status is set to 'GE'
R-GCCCCADD-cbl-01895 Initialize EBSNRSA Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize EBSNRSA Parameters' is invoked, and assuming that edi bol segment retrieval is required for ebsnrsa type, when system initializes ebsnrsa segment parameters, the desired outcome is that ebwlgio structure is cleared, segment type is set to 'ebsnrsa', function code is set to 'gu', operator is set to '=', edi bol key is assigned to root key, sequence numbers are set to '01', and accept status is set to 'ge'.
💻 Technical Criteria
Given EDI BOL segment retrieval is required for EBSNRSA type
When System initializes EBSNRSA segment parameters
Then EBWLGIO structure is cleared, segment type is set to 'EBSNRSA', function code is set to 'GU', operator is set to '=', EDI BOL key is assigned to root key, sequence numbers are set to '01', and accept status is set to 'GE'
R-GCCCCADD-cbl-01899 Display Timestamp with Process Info
Process Rules
📊 Business Logic Narrative
When the process 'Display Timestamp with Process Info' is invoked, and assuming that system date and time have been captured and key business identifiers are available, when the initialization process displays status information, the desired outcome is that a formatted message is displayed to system error output containing the date, time, process name, and key business identifiers including ccn key, equipment id, importer, business number, and business number qualifier.
💻 Technical Criteria
Given System date and time have been captured and key business identifiers are available
When The initialization process displays status information
Then A formatted message is displayed to system error output containing the date, time, process name, and key business identifiers including CCN key, equipment ID, importer, business number, and business number qualifier

💰 Bond & Financial Auth 220 logic blocks
R-GCCCCADD-cbl-00009 Bonded Siding Location Check
Decision Rules
📊 Business Logic Narrative
When the process 'Bonded Siding Location Check' is invoked, and assuming that consignee chop code and destination station number, when the system looks up the consignee in the rf bonded siding table, the desired outcome is that if consignee is found in rf table, set customer bonded status to true and get sub-location code from rf record. if consignee is not found in rf table, set customer bonded status to false.
💻 Technical Criteria
Given Consignee chop code and destination station number
When The system looks up the consignee in the RF bonded siding table
Then If consignee is found in RF table, set customer bonded status to TRUE and get sub-location code from RF record. If consignee is not found in RF table, set customer bonded status to FALSE
R-GCCCCADD-cbl-00060 Store CSA Indicator Status
Process Rules
📊 Business Logic Narrative
When the process 'Store CSA Indicator Status' is invoked, and assuming that contact information has been backed up, when the system processes csa program status, the desired outcome is that the system should store csa indicator value in temporary backup variable.
💻 Technical Criteria
Given Contact information has been backed up
When The system processes CSA program status
Then The system should store CSA indicator value in temporary backup variable
R-GCCCCADD-cbl-00096 Set sub-location code from MC table
Decision Rules
📊 Business Logic Narrative
When the process 'Set sub-location code from MC table' is invoked, and assuming that mc table data is available for manifest to port, when the sub-location code from mc table is blank or low-values or the manifest to station name equals 'iis-a6' or the manifest to station name equals the manifest from station name, the desired outcome is that set the sub-location code to blank else set the sub-location code to the value from mc table.
💻 Technical Criteria
Given MC table data is available for manifest to port
When The sub-location code from MC table is blank OR low-values OR the manifest to station name equals 'IIS-A6' OR the manifest to station name equals the manifest from station name
Then Set the sub-location code to blank ELSE set the sub-location code to the value from MC table
R-GCCCCADD-cbl-01901 Lookup Manifest-From Port in MC Table
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Manifest-From Port in MC Table' is invoked, and assuming that a manifest-from port value is available from the shipment root, when the system needs to validate and get details for the manifest-from port, the desired outcome is that the system should lookup the port in the mc table using the port code as the search key.
💻 Technical Criteria
Given A manifest-from port value is available from the shipment root
When The system needs to validate and get details for the manifest-from port
Then The system should lookup the port in the MC table using the port code as the search key
R-GCCCCADD-cbl-02648 Lookup MC Table with Manifest Port
Validation Rules
📊 Business Logic Narrative
When the process 'Lookup MC Table with Manifest Port' is invoked, and assuming that a manifest from port value is provided from the shipment root, when the system looks up the manifest from port in the mc table using table lookup function, the desired outcome is that if the lookup is successful, the system retrieves the mc table segment data, otherwise it clears the mc table data and prepares for error processing.
💻 Technical Criteria
Given A manifest from port value is provided from the shipment root
When The system looks up the manifest from port in the MC table using table lookup function
Then If the lookup is successful, the system retrieves the MC table segment data, otherwise it clears the MC table data and prepares for error processing
R-GCCCCADD-cbl-02650 Set Invalid Port Error
Validation Rules
📊 Business Logic Narrative
When the process 'Set Invalid Port Error' is invoked, and assuming that a manifest from port value needs to be validated in the mc table, when the mc table lookup fails to find the manifest port, the desired outcome is that the system clears the mc table data, sets the port name as message number, retrieves the invalid manifest port error message, and adds it to the validation error list.
💻 Technical Criteria
Given A manifest from port value needs to be validated in the MC table
When The MC table lookup fails to find the manifest port
Then The system clears the MC table data, sets the port name as message number, retrieves the invalid manifest port error message, and adds it to the validation error list
R-GCCCCADD-cbl-02831 Initialize Table Lookup Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Table Lookup Parameters' is invoked, and assuming that the system needs to lookup an error message in the ms table, when preparing to call the table lookup function, the desired outcome is that the system clears all table lookup parameters including key values, flags, and return codes.
💻 Technical Criteria
Given The system needs to lookup an error message in the MS table
When Preparing to call the table lookup function
Then The system clears all table lookup parameters including key values, flags, and return codes
R-GCCCCADD-cbl-01907 Lookup Manifest-To Port in MC Table
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Manifest-To Port in MC Table' is invoked, and assuming that a manifest-to port value is available from the shipment root, when the system needs to validate and get details for the manifest-to port, the desired outcome is that the system should lookup the port in the mc table using table id 'mc' and the port name as the sequence id.
💻 Technical Criteria
Given A manifest-to port value is available from the shipment root
When The system needs to validate and get details for the manifest-to port
Then The system should lookup the port in the MC table using table ID 'MC' and the port name as the sequence ID
R-GCCCCADD-cbl-00101 Set Sub-location Code from MC Table
Action Rules
📊 Business Logic Narrative
When the process 'Set Sub-location Code from MC Table' is invoked, and assuming that the cm table lookup was successful and returned port manifest upon information, when the port manifest upon value is used to lookup the mc table, the desired outcome is that if the mc table lookup is successful, the sub-location code should be retrieved from the mc table record, otherwise the sub-location code should be cleared.
💻 Technical Criteria
Given The CM table lookup was successful and returned port manifest upon information
When The port manifest upon value is used to lookup the MC table
Then If the MC table lookup is successful, the sub-location code should be retrieved from the MC table record, otherwise the sub-location code should be cleared
R-GCCCCADD-cbl-01919 Canadian Customs Code = '00000'?
Validation Rules
📊 Business Logic Narrative
When the process 'Canadian Customs Code = '00000'?' is invoked, and assuming that a canadian customs code retrieved from mc table lookup, when the system validates the customs code value, the desired outcome is that the system should accept the code if it is not '00000', otherwise generate invalid canadian customs code error and clear mc table data.
💻 Technical Criteria
Given A Canadian customs code retrieved from MC table lookup
When The system validates the customs code value
Then The system should accept the code if it is not '00000', otherwise generate invalid Canadian customs code error and clear MC table data
R-GCCCCADD-cbl-02321 Set Manifest From Port as Search Key
Process Rules
📊 Business Logic Narrative
When the process 'Set Manifest From Port as Search Key' is invoked, and assuming that a manifest from port value exists in the shipment data, when the system prepares the table lookup search criteria, the desired outcome is that the manifest from port value is set as the search key.
💻 Technical Criteria
Given A manifest from port value exists in the shipment data
When The system prepares the table lookup search criteria
Then The manifest from port value is set as the search key
R-GCCCCADD-cbl-02656 Initialize Lookup Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Lookup Parameters' is invoked, and assuming that a table lookup operation is about to be performed, when the lookup parameters need to be initialized, the desired outcome is that all key values, pcb flags, ssa flags, and return flags are cleared to spaces.
💻 Technical Criteria
Given A table lookup operation is about to be performed
When The lookup parameters need to be initialized
Then All key values, PCB flags, SSA flags, and return flags are cleared to spaces
R-GCCCCADD-cbl-02658 Set Table ID and Key Values
Process Rules
📊 Business Logic Narrative
When the process 'Set Table ID and Key Values' is invoked, and assuming that a table lookup operation requires specific table and key identification, when the table id and key values are being configured, the desired outcome is that the table id is set to the target table type and key values are populated with search criteria.
💻 Technical Criteria
Given A table lookup operation requires specific table and key identification
When The table ID and key values are being configured
Then The table ID is set to the target table type and key values are populated with search criteria
R-GCCCCADD-cbl-02662 Set Table ID and Key Values
Validation Rules
📊 Business Logic Narrative
When the process 'Set Table ID and Key Values' is invoked, and assuming that a manifest port code needs validation, when the table lookup is configured for mc table, the desired outcome is that the table id is set to 'mc' and the port code is used as the search key.
💻 Technical Criteria
Given A manifest port code needs validation
When The table lookup is configured for MC table
Then The table ID is set to 'MC' and the port code is used as the search key
R-GCCCCADD-cbl-02663 Set Table ID and Key Values
Validation Rules
📊 Business Logic Narrative
When the process 'Set Table ID and Key Values' is invoked, and assuming that importer information needs to be retrieved, when the table lookup is configured for au table, the desired outcome is that the table id is set to 'au' and consignee chop and commodity code are used as search keys.
💻 Technical Criteria
Given Importer information needs to be retrieved
When The table lookup is configured for AU table
Then The table ID is set to 'AU' and consignee chop and commodity code are used as search keys
R-GCCCCADD-cbl-02664 Set Table ID and Key Values
Validation Rules
📊 Business Logic Narrative
When the process 'Set Table ID and Key Values' is invoked, and assuming that a quantity qualifier needs validation, when the table lookup is configured for mu table, the desired outcome is that the table id is set to 'mu' and the quantity qualifier is used as the search key.
💻 Technical Criteria
Given A quantity qualifier needs validation
When The table lookup is configured for MU table
Then The table ID is set to 'MU' and the quantity qualifier is used as the search key
R-GCCCCADD-cbl-02665 Set Table ID and Key Values
Validation Rules
📊 Business Logic Narrative
When the process 'Set Table ID and Key Values' is invoked, and assuming that destination station information needs to be retrieved, when the table lookup is configured for cm table, the desired outcome is that the table id is set to 'cm' and the destination station number is used as the search key.
💻 Technical Criteria
Given Destination station information needs to be retrieved
When The table lookup is configured for CM table
Then The table ID is set to 'CM' and the destination station number is used as the search key
R-GCCCCADD-cbl-02666 Set Table ID and Key Values
Validation Rules
📊 Business Logic Narrative
When the process 'Set Table ID and Key Values' is invoked, and assuming that customer bonded status needs to be determined, when the table lookup is configured for rf table, the desired outcome is that the table id is set to 'rf' and consignee chop and station number are used as search keys.
💻 Technical Criteria
Given Customer bonded status needs to be determined
When The table lookup is configured for RF table
Then The table ID is set to 'RF' and consignee chop and station number are used as search keys
R-GCCCCADD-cbl-02667 Set Table ID and Key Values
Validation Rules
📊 Business Logic Narrative
When the process 'Set Table ID and Key Values' is invoked, and assuming that a haulage rights carrier needs validation, when the table lookup is configured for cc table, the desired outcome is that the table id is set to 'cc' and the carrier code is used as the search key.
💻 Technical Criteria
Given A haulage rights carrier needs validation
When The table lookup is configured for CC table
Then The table ID is set to 'CC' and the carrier code is used as the search key
R-GCCCCADD-cbl-02668 Set Table ID and Key Values
Validation Rules
📊 Business Logic Narrative
When the process 'Set Table ID and Key Values' is invoked, and assuming that haulage and billing information needs to be retrieved, when the table lookup is configured for ss table, the desired outcome is that the table id is set to 'ss' and port code with scac code are used as search keys.
💻 Technical Criteria
Given Haulage and billing information needs to be retrieved
When The table lookup is configured for SS table
Then The table ID is set to 'SS' and port code with SCAC code are used as search keys
R-GCCCCADD-cbl-02669 Set Table ID and Key Values
Validation Rules
📊 Business Logic Narrative
When the process 'Set Table ID and Key Values' is invoked, and assuming that an error message needs to be retrieved, when the table lookup is configured for ms table, the desired outcome is that the table id is set to 'ms' and the error message number is used as the search key.
💻 Technical Criteria
Given An error message needs to be retrieved
When The table lookup is configured for MS table
Then The table ID is set to 'MS' and the error message number is used as the search key
R-GCCCCADD-cbl-00112 Get Port Manifest Upon from CM Table
Process Rules
📊 Business Logic Narrative
When the process 'Get Port Manifest Upon from CM Table' is invoked, and assuming that a successful cm table lookup with valid segment data, when the system moves the cm table segment to gcstbrtcm structure, the desired outcome is that the system extracts the port manifest upon value for subsequent mc table lookup.
💻 Technical Criteria
Given A successful CM table lookup with valid segment data
When The system moves the CM table segment to GCSTBRTCM structure
Then The system extracts the port manifest upon value for subsequent MC table lookup
R-GCCCCADD-cbl-00113 Lookup MC Table with Port Manifest Upon
Action Rules
📊 Business Logic Narrative
When the process 'Lookup MC Table with Port Manifest Upon' is invoked, and assuming that a port manifest upon value extracted from cm table, when the system calls gcctbio with table id 'mc' and port manifest upon as sequence id, the desired outcome is that the system retrieves mc table segment data for sub-location code extraction.
💻 Technical Criteria
Given A port manifest upon value extracted from CM table
When The system calls GCCTBIO with table ID 'MC' and port manifest upon as sequence ID
Then The system retrieves MC table segment data for sub-location code extraction
R-GCCCCADD-cbl-00114 MC Table Lookup Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'MC Table Lookup Successful?' is invoked, and assuming that an mc table lookup has been performed with port manifest upon value, when the system checks the gcctbio return flag for successful status, the desired outcome is that the system sets sub-location code from mc table if successful, otherwise sets sub-location code to spaces.
💻 Technical Criteria
Given An MC table lookup has been performed with port manifest upon value
When The system checks the GCCTBIO return flag for successful status
Then The system sets sub-location code from MC table if successful, otherwise sets sub-location code to spaces
R-GCCCCADD-cbl-01932 Lookup Port in MC Table
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Port in MC Table' is invoked, and assuming that port manifest upon information has been extracted from the cm table record, when the system performs a lookup in the mc table using the port manifest upon value, the desired outcome is that the system should attempt to retrieve the corresponding mc table record.
💻 Technical Criteria
Given Port manifest upon information has been extracted from the CM table record
When The system performs a lookup in the MC table using the port manifest upon value
Then The system should attempt to retrieve the corresponding MC table record
R-GCCCCADD-cbl-01933 Set Sub-location Code from MC Table
Process Rules
📊 Business Logic Narrative
When the process 'Set Sub-location Code from MC Table' is invoked, and assuming that a successful mc table lookup has been performed using the port manifest upon value, when the mc table record is retrieved successfully, the desired outcome is that the system should set the sub-location code from the mc table sub-location-code field.
💻 Technical Criteria
Given A successful MC table lookup has been performed using the port manifest upon value
When The MC table record is retrieved successfully
Then The system should set the sub-location code from the MC table sub-location-code field
R-GCCCCADD-cbl-02341 Lookup CM Table with Destination Station Number
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Lookup CM Table with Destination Station Number', assuming that the manifest-to station is 'iis-a6' and destination is not us, when the system looks up the destination station number in the cm table, the desired outcome is that the system should retrieve the port manifest upon value if the lookup is successful.
💻 Technical Criteria
EXCLUDING The manifest-to station is 'IIS-A6' and destination is not US
When The system looks up the destination station number in the CM table
Then The system should retrieve the port manifest upon value if the lookup is successful
R-GCCCCADD-cbl-02342 CM Table Lookup Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'CM Table Lookup Successful?' is invoked, and assuming that a cm table lookup has been performed with destination station number, when the table lookup function returns a successful status, the desired outcome is that the system should extract the port manifest upon value from the cm table result.
💻 Technical Criteria
Given A CM table lookup has been performed with destination station number
When The table lookup function returns a successful status
Then The system should extract the port manifest upon value from the CM table result
R-GCCCCADD-cbl-02343 Get Port Manifest Upon from CM Table
Process Rules
📊 Business Logic Narrative
When the process 'Get Port Manifest Upon from CM Table' is invoked, and assuming that the cm table lookup was successful, when the system processes the cm table result, the desired outcome is that the port manifest upon value should be extracted and used for subsequent mc table lookup.
💻 Technical Criteria
Given The CM table lookup was successful
When The system processes the CM table result
Then The port manifest upon value should be extracted and used for subsequent MC table lookup
R-GCCCCADD-cbl-02344 Lookup MC Table with Port Manifest Upon
Action Rules
📊 Business Logic Narrative
When the process 'Lookup MC Table with Port Manifest Upon' is invoked, and assuming that a port manifest upon value has been obtained from cm table lookup, when the system looks up this port manifest upon value in the mc table, the desired outcome is that the system should attempt to retrieve the corresponding sub-location code.
💻 Technical Criteria
Given A port manifest upon value has been obtained from CM table lookup
When The system looks up this port manifest upon value in the MC table
Then The system should attempt to retrieve the corresponding sub-location code
R-GCCCCADD-cbl-02345 MC Table Lookup Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'MC Table Lookup Successful?' is invoked, and assuming that an mc table lookup has been performed with port manifest upon value, when the table lookup function returns a successful status, the desired outcome is that the system should extract the sub-location code from the mc table result.
💻 Technical Criteria
Given An MC table lookup has been performed with port manifest upon value
When The table lookup function returns a successful status
Then The system should extract the sub-location code from the MC table result
R-GCCCCADD-cbl-02676 Extract Port Manifest Upon from CM Data
Action Rules
📊 Business Logic Narrative
When the process 'Extract Port Manifest Upon from CM Data' is invoked, and assuming that the cm table lookup was successful and returned valid data, when the system accesses the cm table segment data, the desired outcome is that the port manifest upon value is extracted and prepared for mc table lookup.
💻 Technical Criteria
Given The CM table lookup was successful and returned valid data
When The system accesses the CM table segment data
Then The port manifest upon value is extracted and prepared for MC table lookup
R-GCCCCADD-cbl-02677 Execute MC Table Lookup with Port Manifest Upon
Action Rules
📊 Business Logic Narrative
When the process 'Execute MC Table Lookup with Port Manifest Upon' is invoked, and assuming that the port manifest upon value has been extracted from cm table data, when the system calls the table lookup service with table id 'mc' and the port manifest upon value as the search key, the desired outcome is that the system attempts to retrieve the corresponding mc table record.
💻 Technical Criteria
Given The port manifest upon value has been extracted from CM table data
When The system calls the table lookup service with table ID 'MC' and the port manifest upon value as the search key
Then The system attempts to retrieve the corresponding MC table record
R-GCCCCADD-cbl-02678 MC Table Lookup Successful?
Decision Rules
📊 Business Logic Narrative
When the process 'MC Table Lookup Successful?' is invoked, and assuming that an mc table lookup has been executed with the port manifest upon value, when the system checks the return status of the mc table lookup operation, the desired outcome is that the system proceeds to extract sub-location code if successful, otherwise sets sub-location code to spaces.
💻 Technical Criteria
Given An MC table lookup has been executed with the port manifest upon value
When The system checks the return status of the MC table lookup operation
Then The system proceeds to extract sub-location code if successful, otherwise sets sub-location code to spaces
R-GCCCCADD-cbl-00121 Setup RF Table Lookup Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Setup RF Table Lookup Parameters' is invoked, and assuming that a shipment with consignee chop code and destination station number, when the system needs to check for customer bonded siding locations, the desired outcome is that the system sets up rf table lookup with consignee chop as sequence key and destination station number as station parameter.
💻 Technical Criteria
Given A shipment with consignee CHOP code and destination station number
When The system needs to check for customer bonded siding locations
Then The system sets up RF table lookup with consignee CHOP as sequence key and destination station number as station parameter
R-GCCCCADD-cbl-00123 RF Table Record Found?
Decision Rules
📊 Business Logic Narrative
When the process 'RF Table Record Found?' is invoked, and assuming that an rf table lookup has been executed for consignee and destination, when the system evaluates the lookup results, the desired outcome is that if a matching rf table record is found, set customer bonded indicator to true, otherwise set customer bonded indicator to false.
💻 Technical Criteria
Given An RF table lookup has been executed for consignee and destination
When The system evaluates the lookup results
Then If a matching RF table record is found, set customer bonded indicator to TRUE, otherwise set customer bonded indicator to FALSE
R-GCCCCADD-cbl-00124 Retrieve Sub-location Code from RF Table
Definitional Rules
📊 Business Logic Narrative
When the process 'Retrieve Sub-location Code from RF Table' is invoked, and assuming that a matching rf table record exists for the consignee and destination, when the customer is determined to be bonded, the desired outcome is that the system retrieves and assigns the sub-location code from the rf table record to the customs manifest.
💻 Technical Criteria
Given A matching RF table record exists for the consignee and destination
When The customer is determined to be bonded
Then The system retrieves and assigns the sub-location code from the RF table record to the customs manifest
R-GCCCCADD-cbl-01935 Sub-location Code Already Set?
Validation Rules
📊 Business Logic Narrative
When the process 'Sub-location Code Already Set?' is invoked, and assuming that a customs control record is being processed for sub-location code requirements, when the sub-location code field contains a value (not spaces), the desired outcome is that the system should continue processing without setting any error flags.
💻 Technical Criteria
Given A customs control record is being processed for sub-location code requirements
When The sub-location code field contains a value (not spaces)
Then The system should continue processing without setting any error flags
R-GCCCCADD-cbl-00153 Add Lading Quantity to Total Units
Computation Rules
📊 Business Logic Narrative
When the process 'Add Lading Quantity to Total Units' is invoked, and assuming that a commodity segment is successfully retrieved from edi bol data, when the system processes the commodity segment, the desired outcome is that the system adds the l0-lading-qty value to the running total of units.
💻 Technical Criteria
Given A commodity segment is successfully retrieved from EDI BOL data
When The system processes the commodity segment
Then The system adds the L0-LADING-QTY value to the running total of units
R-GCCCCADD-cbl-00156 Set Quantity Qualifier from Lading Data
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Quantity Qualifier from Lading Data' is invoked, and assuming that the first commodity segment is being processed, when the system extracts quantity information from the segment, the desired outcome is that the system sets the lading quantity qualifier to the l0-lading-qty-qual value from the commodity segment.
💻 Technical Criteria
Given The first commodity segment is being processed
When The system extracts quantity information from the segment
Then The system sets the lading quantity qualifier to the L0-LADING-QTY-QUAL value from the commodity segment
R-GCCCCADD-cbl-02361 Add SHIPCOMM Units to Total Quantity
Computation Rules
📊 Business Logic Narrative
When the process 'Add SHIPCOMM Units to Total Quantity' is invoked, and assuming that a valid shipcomm record has been found, when the system processes the shipcomm record for quantity data, the desired outcome is that add the num-units value from shipcomm to the running total quantity.
💻 Technical Criteria
Given A valid SHIPCOMM record has been found
When The system processes the SHIPCOMM record for quantity data
Then Add the NUM-UNITS value from SHIPCOMM to the running total quantity
R-GCCCCADD-cbl-02371 Total Quantity > 0?
Validation Rules
📊 Business Logic Narrative
When the process 'Total Quantity > 0?' is invoked, and assuming that quantity has been accumulated from shipcomm records, when the system validates the total quantity value, the desired outcome is that if total quantity is greater than zero, use calculated quantity, otherwise set default quantity to 1.
💻 Technical Criteria
Given Quantity has been accumulated from SHIPCOMM records
When The system validates the total quantity value
Then If total quantity is greater than zero, use calculated quantity, otherwise set default quantity to 1
R-GCCCCADD-cbl-00173 Check H3 Special Handling Code
Process Rules
📊 Business Logic Narrative
When the process 'Check H3 Special Handling Code' is invoked, and assuming that an ebsbcks segment has been successfully retrieved, when the system examines the h3 special handling code field, the desired outcome is that the h3 special handling code value is extracted for comparison.
💻 Technical Criteria
Given An EBSBCKS segment has been successfully retrieved
When The system examines the H3 special handling code field
Then The H3 special handling code value is extracted for comparison
R-GCCCCADD-cbl-00174 Code = 'CNS'?
Decision Rules
📊 Business Logic Narrative
When the process 'Code = 'CNS'?' is invoked, and assuming that the h3 special handling code has been extracted from the ebsbcks segment, when the system compares the special handling code value, the desired outcome is that if the code equals 'cns', the consolidated indicator is found, otherwise the search continues.
💻 Technical Criteria
Given The H3 special handling code has been extracted from the EBSBCKS segment
When The system compares the special handling code value
Then If the code equals 'CNS', the consolidated indicator is found, otherwise the search continues
R-GCCCCADD-cbl-00212 Set Shipper Country Code from Table
Action Rules
📊 Business Logic Narrative
When the process 'Set Shipper Country Code from Table' is invoked, and assuming that a state-country lookup has been performed for shipper state/province code, when a matching entry is found in the lookup table, the desired outcome is that set the shipper country code to the country value from the matching table entry.
💻 Technical Criteria
Given A state-country lookup has been performed for shipper state/province code
When A matching entry is found in the lookup table
Then Set the shipper country code to the country value from the matching table entry
R-GCCCCADD-cbl-00216 Set Consignee Country Code from Table
Action Rules
📊 Business Logic Narrative
When the process 'Set Consignee Country Code from Table' is invoked, and assuming that a state-country lookup has been performed for consignee state/province code, when a matching entry is found in the lookup table, the desired outcome is that set the consignee country code to the country value from the matching table entry.
💻 Technical Criteria
Given A state-country lookup has been performed for consignee state/province code
When A matching entry is found in the lookup table
Then Set the consignee country code to the country value from the matching table entry
R-GCCCCADD-cbl-02702 Counter <= 7?
Validation Rules
📊 Business Logic Narrative
When the process 'Counter <= 7?' is invoked, and assuming that the system is processing special handling codes with a counter variable, when the counter value is checked against the maximum limit, the desired outcome is that processing should continue if counter is less than or equal to 7, otherwise processing should end.
💻 Technical Criteria
Given The system is processing special handling codes with a counter variable
When The counter value is checked against the maximum limit
Then Processing should continue if counter is less than or equal to 7, otherwise processing should end
R-GCCCCADD-cbl-02705 Extract Special Handling Code
Process Rules
📊 Business Logic Narrative
When the process 'Extract Special Handling Code' is invoked, and assuming that a special handling code has been identified as va, ev, or vs, when the system processes the value-added service code, the desired outcome is that the system should move the special handling code to the description work code field.
💻 Technical Criteria
Given A special handling code has been identified as VA, EV, or VS
When The system processes the value-added service code
Then The system should move the special handling code to the description work code field
R-GCCCCADD-cbl-02706 Extract Special Handling Instructions
Process Rules
📊 Business Logic Narrative
When the process 'Extract Special Handling Instructions' is invoked, and assuming that a value-added service code has been extracted, when the system processes the associated instructions, the desired outcome is that the system should move the special handling instructions to the description work description field.
💻 Technical Criteria
Given A value-added service code has been extracted
When The system processes the associated instructions
Then The system should move the special handling instructions to the description work description field
R-GCCCCADD-cbl-02711 Store in Third Description Slot
Process Rules
📊 Business Logic Narrative
When the process 'Store in Third Description Slot' is invoked, and assuming that both first and second description slots are occupied, when the system needs to store value-added service information, the desired outcome is that the system should move the description work information to the third special handling description slot.
💻 Technical Criteria
Given Both first and second description slots are occupied
When The system needs to store value-added service information
Then The system should move the description work information to the third special handling description slot
R-GCCCCADD-cbl-02864 Code = 'VA' OR 'EV' OR 'VS'?
Validation Rules
📊 Business Logic Narrative
When the process 'Code = 'VA' OR 'EV' OR 'VS'?' is invoked, and assuming that a special handling code has been retrieved from a shipment position, when the code is 'va' (value added) or 'ev' (event) or 'vs' (value service), the desired outcome is that the system accepts the code as valid for further processing.
💻 Technical Criteria
Given A special handling code has been retrieved from a shipment position
When The code is 'VA' (Value Added) OR 'EV' (Event) OR 'VS' (Value Service)
Then The system accepts the code as valid for further processing
R-GCCCCADD-cbl-02395 Extract UN Number from LH1-UN-NA-ID-CD
Process Rules
📊 Business Logic Narrative
When the process 'Extract UN Number from LH1-UN-NA-ID-CD' is invoked, and assuming that the un number format validation has passed, when extracting hazmat identification information, the desired outcome is that the lh1-un-na-id-cd value is moved to the commodity un number field.
💻 Technical Criteria
Given The UN number format validation has passed
When Extracting hazmat identification information
Then The LH1-UN-NA-ID-CD value is moved to the commodity UN number field
R-GCCCCADD-cbl-02400 Extract Proper Shipping Name from LH3-PROPER-SHIP-NAME
Process Rules
📊 Business Logic Narrative
When the process 'Extract Proper Shipping Name from LH3-PROPER-SHIP-NAME' is invoked, and assuming that the hazmat shipping information segment has been successfully retrieved, when extracting the proper shipping name, the desired outcome is that the lh3-proper-ship-name value is moved to the commodity description danger field.
💻 Technical Criteria
Given The hazmat shipping information segment has been successfully retrieved
When Extracting the proper shipping name
Then The LH3-PROPER-SHIP-NAME value is moved to the commodity description danger field
R-GCCCCADD-cbl-02010 Extract UN Number from SHIPERP
Action Rules
📊 Business Logic Narrative
When the process 'Extract UN Number from SHIPERP' is invoked, and assuming that un code format is validated as correct in shiperp data, when system extracts the un number, the desired outcome is that the erp-un-na-code value is moved to gccc-un-number field and hazmat found flag is set.
💻 Technical Criteria
Given UN code format is validated as correct in SHIPERP data
When System extracts the UN number
Then The ERP-UN-NA-CODE value is moved to GCCC-UN-NUMBER field and hazmat found flag is set
R-GCCCCADD-cbl-02020 Set UN Number from CMDOTID
Process Rules
📊 Business Logic Narrative
When the process 'Set UN Number from CMDOTID' is invoked, and assuming that a valid un number record has been found in the isscd table, when the system processes the isscd record, the desired outcome is that the cmdotid value is assigned to the un number field for hazmat information.
💻 Technical Criteria
Given A valid UN number record has been found in the ISSCD table
When The system processes the ISSCD record
Then The CMDOTID value is assigned to the UN number field for hazmat information
R-GCCCCADD-cbl-02039 Valid Entity ID Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Valid Entity ID Found?' is invoked, and assuming that an entity id is extracted from nn segment, when the system validates the entity id, the desired outcome is that if the entity id matches valid entity id values, processing continues; otherwise, the entity id is cleared and processing moves to next entity.
💻 Technical Criteria
Given An entity ID is extracted from NN segment
When The system validates the entity ID
Then If the entity ID matches valid entity ID values, processing continues; otherwise, the entity ID is cleared and processing moves to next entity
R-GCCCCADD-cbl-02442 Get UC Address Data
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Get UC Address Data', assuming that uc entity is being processed, when the uc address information is not found or spaces, the desired outcome is that the system sets the primary address to 'na' and secondary address to spaces as default values.
💻 Technical Criteria
EXCLUDING UC entity is being processed
When The UC address information is not found or spaces
Then The system sets the primary address to 'NA' and secondary address to spaces as default values
R-GCCCCADD-cbl-02449 Get PF/SS Address Data
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Get PF/SS Address Data', assuming that pf/ss entity is being processed, when the pf/ss address information is not found in on segment, the desired outcome is that the system sets the primary address to 'na' and secondary address to spaces as default values.
💻 Technical Criteria
EXCLUDING PF/SS entity is being processed
When The PF/SS address information is not found in ON segment
Then The system sets the primary address to 'NA' and secondary address to spaces as default values
R-GCCCCADD-cbl-02453 Get NN Address Data
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Get NN Address Data', assuming that nn entity is being processed, when the nn address information is not found in gc segment or is spaces, the desired outcome is that the system sets the address to 'na' as default value and clears secondary address.
💻 Technical Criteria
EXCLUDING NN entity is being processed
When The NN address information is not found in GC segment or is spaces
Then The system sets the address to 'NA' as default value and clears secondary address
R-GCCCCADD-cbl-02927 Set Default Address Line 1 to 'NA'
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Default Address Line 1 to 'NA'', assuming that the mcoa address segment could not be retrieved, when the system handles the missing address information, the desired outcome is that the first address line is set to 'na' as a default value.
💻 Technical Criteria
EXCLUDING The MCOA address segment could not be retrieved
When The system handles the missing address information
Then The first address line is set to 'NA' as a default value
R-GCCCCADD-cbl-02929 Set Address Not Found Flag
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Address Not Found Flag', assuming that the mcoa address segment could not be retrieved and default values have been set, when the system updates the processing status, the desired outcome is that the address not found flag is set to indicate unsuccessful retrieval.
💻 Technical Criteria
EXCLUDING The MCOA address segment could not be retrieved and default values have been set
When The system updates the processing status
Then The address not found flag is set to indicate unsuccessful retrieval
R-GCCCCADD-cbl-00303 Set Importer Name from AU Table
Action Rules
📊 Business Logic Narrative
When the process 'Set Importer Name from AU Table' is invoked, and assuming that a valid au table record has been found with matching consignee chop and commodity code, when the system processes the au record data, the desired outcome is that set importer name to the value from au table importer field (gcstbrt-au-importer).
💻 Technical Criteria
Given A valid AU table record has been found with matching consignee CHOP and commodity code
When The system processes the AU record data
Then Set importer name to the value from AU table importer field (GCSTBRT-AU-IMPORTER)
R-GCCCCADD-cbl-00304 Set Business Number from AU Table
Action Rules
📊 Business Logic Narrative
When the process 'Set Business Number from AU Table' is invoked, and assuming that a valid au table record has been found and importer name has been set, when the system processes the au record business number data, the desired outcome is that set business number to the value from au table business number field (gcstbrt-au-business-nbr).
💻 Technical Criteria
Given A valid AU table record has been found and importer name has been set
When The system processes the AU record business number data
Then Set business number to the value from AU table business number field (GCSTBRT-AU-BUSINESS-NBR)
R-GCCCCADD-cbl-02473 Set Importer Name from AU
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Importer Name from AU', assuming that au data is available and csa indicator is not already active and no existing importer data, when the system assigns au importer information to the manifest, the desired outcome is that the system sets the importer name field in the customs manifest to the importer value from the au table record.
💻 Technical Criteria
EXCLUDING AU data is available and CSA indicator is not already active and no existing importer data
When The system assigns AU importer information to the manifest
Then The system sets the importer name field in the customs manifest to the importer value from the AU table record
R-GCCCCADD-cbl-02474 Set Business Number from AU
Process Rules
📊 Business Logic Narrative
When the process 'Set Business Number from AU' is invoked, and assuming that au importer name has been assigned to the manifest, when the system continues assigning au business information, the desired outcome is that the system sets the business number field in the customs manifest to the business number value from the au table record.
💻 Technical Criteria
Given AU importer name has been assigned to the manifest
When The system continues assigning AU business information
Then The system sets the business number field in the customs manifest to the business number value from the AU table record
R-GCCCCADD-cbl-02484 Clear Contact Information
Process Rules
📊 Business Logic Narrative
When the process 'Clear Contact Information' is invoked, and assuming that address information has been set with default values, when the system initializes contact fields, the desired outcome is that the system clears all contact-related fields including per data to indicate no contact information is available.
💻 Technical Criteria
Given Address information has been set with default values
When The system initializes contact fields
Then The system clears all contact-related fields including PER data to indicate no contact information is available
R-GCCCCADD-cbl-00319 Set Importer Name from AU Table
Process Rules
📊 Business Logic Narrative
When the process 'Set Importer Name from AU Table' is invoked, and assuming that csa indicator has been set to on, when au table importer data is available, the desired outcome is that set the importer name field to the value from au table.
💻 Technical Criteria
Given CSA indicator has been set to ON
When AU table importer data is available
Then Set the importer name field to the value from AU table
R-GCCCCADD-cbl-00320 Set Business Number from AU Table
Process Rules
📊 Business Logic Narrative
When the process 'Set Business Number from AU Table' is invoked, and assuming that importer name has been set from au table, when au table contains business number information, the desired outcome is that set the business number field to the value from au table.
💻 Technical Criteria
Given Importer name has been set from AU table
When AU table contains business number information
Then Set the business number field to the value from AU table
R-GCCCCADD-cbl-00350 Set Notify Party Country Code Same as Consignee Country Code
Process Rules
📊 Business Logic Narrative
When the process 'Set Notify Party Country Code Same as Consignee Country Code' is invoked, and assuming that a notify party name exists and consignee country code has been determined, when the system processes notify party information, the desired outcome is that set the notify party country code to the same value as the consignee country code.
💻 Technical Criteria
Given A notify party name exists and consignee country code has been determined
When The system processes notify party information
Then Set the notify party country code to the same value as the consignee country code
R-GCCCCADD-cbl-00351 Set Notify Party Country Code = Consignee Country Code
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Notify Party Country Code = Consignee Country Code', assuming that a shipment has consignee information with a country code and notify party name field, when the notify party name is not blank or spaces, the desired outcome is that the notify party country code is set to the same value as the consignee country code.
💻 Technical Criteria
EXCLUDING A shipment has consignee information with a country code and notify party name field
When The notify party name is not blank or spaces
Then The notify party country code is set to the same value as the consignee country code
R-GCCCCADD-cbl-00357 Search 2: Use Wildcard for Shipper CHOP and Origin Station
Action Rules
📊 Business Logic Narrative
When the process 'Search 2: Use Wildcard for Shipper CHOP and Origin Station' is invoked, and assuming that the primary broker search returned no results and shipment has consignee chop, destination road, and commodity code, when the system performs the secondary broker search, the desired outcome is that the system uses wildcard values for shipper chop and origin station while maintaining consignee chop, destination road, and commodity code as search criteria.
💻 Technical Criteria
Given The primary broker search returned no results and shipment has consignee CHOP, destination road, and commodity code
When The system performs the secondary broker search
Then The system uses wildcard values for shipper CHOP and origin station while maintaining consignee CHOP, destination road, and commodity code as search criteria
R-GCCCCADD-cbl-00358 Search 3: Use Wildcard for Commodity Code
Action Rules
📊 Business Logic Narrative
When the process 'Search 3: Use Wildcard for Commodity Code' is invoked, and assuming that both primary and secondary broker searches returned no results, when the system performs the tertiary broker search, the desired outcome is that the system uses wildcard values for shipper chop, origin station, and commodity code while maintaining consignee chop and destination road as search criteria.
💻 Technical Criteria
Given Both primary and secondary broker searches returned no results
When The system performs the tertiary broker search
Then The system uses wildcard values for shipper CHOP, origin station, and commodity code while maintaining consignee CHOP and destination road as search criteria
R-GCCCCADD-cbl-02946 Set Wildcard Origin Station to '*'
Process Rules
📊 Business Logic Narrative
When the process 'Set Wildcard Origin Station to '*'' is invoked, and assuming that a crossing table lookup with wildcard shipper chop is being performed, when the system prepares the second search pattern parameters, the desired outcome is that the origin station parameter is set to wildcard value '*' to broaden the search criteria.
💻 Technical Criteria
Given A crossing table lookup with wildcard shipper CHOP is being performed
When The system prepares the second search pattern parameters
Then The origin station parameter is set to wildcard value '*' to broaden the search criteria
R-GCCCCADD-cbl-02953 Set Wildcard for Shipper CHOP
Action Rules
📊 Business Logic Narrative
When the process 'Set Wildcard for Shipper CHOP' is invoked, and assuming that previous broker lookup attempts with specific shipper chop, origin station, and commodity code have failed to find broker data, when the system executes the final wildcard search by setting wildcard values for shipper chop code and origin station while keeping the actual destination station number and commodity code from the shipment, the desired outcome is that the crossing table lookup is performed with maximum wildcard criteria to attempt finding any applicable broker assignment for the shipment.
💻 Technical Criteria
Given Previous broker lookup attempts with specific shipper CHOP, origin station, and commodity code have failed to find broker data
When The system executes the final wildcard search by setting wildcard values for shipper CHOP code and origin station while keeping the actual destination station number and commodity code from the shipment
Then The crossing table lookup is performed with maximum wildcard criteria to attempt finding any applicable broker assignment for the shipment
R-GCCCCADD-cbl-02954 Set Wildcard for Shipper CHOP
Process Rules
📊 Business Logic Narrative
When the process 'Set Wildcard for Shipper CHOP' is invoked, and assuming that a broker lookup is being performed with maximum wildcard criteria, when the system needs to set the shipper chop code parameter for the crossing table lookup, the desired outcome is that the shipper chop code is set to the canadian broker wildcard value instead of the actual shipper chop from the shipment.
💻 Technical Criteria
Given A broker lookup is being performed with maximum wildcard criteria
When The system needs to set the shipper CHOP code parameter for the crossing table lookup
Then The shipper CHOP code is set to the Canadian broker wildcard value instead of the actual shipper CHOP from the shipment
R-GCCCCADD-cbl-02955 Set Wildcard for Origin Station
Process Rules
📊 Business Logic Narrative
When the process 'Set Wildcard for Origin Station' is invoked, and assuming that a broker lookup is being performed with maximum wildcard criteria and the shipper chop has been set to wildcard, when the system needs to set the origin station parameter for the crossing table lookup, the desired outcome is that the origin station is set to the canadian broker wildcard value instead of the actual origin station number from the shipment.
💻 Technical Criteria
Given A broker lookup is being performed with maximum wildcard criteria and the shipper CHOP has been set to wildcard
When The system needs to set the origin station parameter for the crossing table lookup
Then The origin station is set to the Canadian broker wildcard value instead of the actual origin station number from the shipment
R-GCCCCADD-cbl-02956 Keep Destination Station from Shiproot
Process Rules
📊 Business Logic Narrative
When the process 'Keep Destination Station from Shiproot' is invoked, and assuming that a broker lookup is being performed with wildcard shipper chop and origin station values, when the system sets the destination station parameter for the crossing table lookup, the desired outcome is that the destination station is set to the actual destination road number from the shipment root data, formatted as 'road' plus the 3-digit road number.
💻 Technical Criteria
Given A broker lookup is being performed with wildcard shipper CHOP and origin station values
When The system sets the destination station parameter for the crossing table lookup
Then The destination station is set to the actual destination road number from the shipment root data, formatted as 'ROAD' plus the 3-digit road number
R-GCCCCADD-cbl-02957 Keep Commodity Code from Shipcomm
Process Rules
📊 Business Logic Narrative
When the process 'Keep Commodity Code from Shipcomm' is invoked, and assuming that a broker lookup is being performed with wildcard shipper chop and origin station values and actual destination station, when the system sets the commodity code parameter for the crossing table lookup, the desired outcome is that the commodity code is set to the actual stcc code from the shipment commodity data.
💻 Technical Criteria
Given A broker lookup is being performed with wildcard shipper CHOP and origin station values and actual destination station
When The system sets the commodity code parameter for the crossing table lookup
Then The commodity code is set to the actual STCC code from the shipment commodity data
R-GCCCCADD-cbl-02081 Move Broker Name from Crossing Table
Action Rules
📊 Business Logic Narrative
When the process 'Move Broker Name from Crossing Table' is invoked, and assuming that crossing table contains broker information and override conditions are satisfied, when broker name assignment is required, the desired outcome is that set broker name to the value from crossing table.
💻 Technical Criteria
Given Crossing table contains broker information and override conditions are satisfied
When Broker name assignment is required
Then Set broker name to the value from crossing table
R-GCCCCADD-cbl-00370 Set Manifest-To Station Name
Action Rules
📊 Business Logic Narrative
When the process 'Set Manifest-To Station Name' is invoked, and assuming that the crossing table contains a valid canadian manifest-to station specification, when the system processes the broker-specified manifest-to station, the desired outcome is that the manifest-to station name is updated with the canadian manifest-to station value from the crossing table.
💻 Technical Criteria
Given The crossing table contains a valid Canadian manifest-to station specification
When The system processes the broker-specified manifest-to station
Then The manifest-to station name is updated with the Canadian manifest-to station value from the crossing table
R-GCCCCADD-cbl-00383 Clear Customer Bonded Indicator
Process Rules
📊 Business Logic Narrative
When the process 'Clear Customer Bonded Indicator' is invoked, and assuming that a shipment has in-transit status of transit or return, when the system processes bonded warehouse information, the desired outcome is that the customer bonded indicator should be cleared and sub-location code should be cleared.
💻 Technical Criteria
Given A shipment has in-transit status of TRANSIT or RETURN
When The system processes bonded warehouse information
Then The customer bonded indicator should be cleared and sub-location code should be cleared
R-GCCCCADD-cbl-00387 Search Application Type Table
Decision Rules
📊 Business Logic Narrative
When the process 'Search Application Type Table' is invoked, and assuming that origin and destination country codes are determined, when the system searches the application type table using the country code combination, the desired outcome is that if a matching combination is found, the application type and in-transit status are set from the table values, otherwise they are set to spaces.
💻 Technical Criteria
Given Origin and destination country codes are determined
When The system searches the application type table using the country code combination
Then If a matching combination is found, the application type and in-transit status are set from the table values, otherwise they are set to spaces
R-GCCCCADD-cbl-00392 Clear Customer Bonded Indicator
Policy Rules
📊 Business Logic Narrative
When the process 'Clear Customer Bonded Indicator' is invoked, and assuming that a shipment with in-transit status of either transit or return, when the system processes the shipment, the desired outcome is that the customer bonded indicator is cleared and sub-location code is cleared.
💻 Technical Criteria
Given A shipment with in-transit status of either TRANSIT or RETURN
When The system processes the shipment
Then The customer bonded indicator is cleared and sub-location code is cleared
R-GCCCCADD-cbl-00415 Set Default Quantity to 1
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Default Quantity to 1' is invoked, and assuming that commodity processing has completed, when the total calculated quantity is zero, the desired outcome is that the final lading quantity is set to 1 as default value.
💻 Technical Criteria
Given Commodity processing has completed
When The total calculated quantity is zero
Then The final lading quantity is set to 1 as default value
R-GCCCCADD-cbl-00491 Build NN Entity Segments
Validation Rules
📊 Business Logic Narrative
When the process 'Build NN Entity Segments' is invoked, and assuming that an edi bol contains named entity data with type nn and the entity id code is valid according to predefined entity id values, when the system processes the named entity segment, the desired outcome is that the system creates an nn entity record with entity id code, name, consignee chop code, address, city, state, postal code, and country information from the edi data.
💻 Technical Criteria
Given An EDI BOL contains named entity data with type NN AND the entity ID code is valid according to predefined entity ID values
When The system processes the named entity segment
Then The system creates an NN entity record with entity ID code, name, consignee chop code, address, city, state, postal code, and country information from the EDI data
R-GCCCCADD-cbl-00492 Validate All N1 Segments
Validation Rules
📊 Business Logic Narrative
When the process 'Validate All N1 Segments' is invoked, and assuming that an n1 entity segment is being processed, when the address information is validated, the desired outcome is that the system sets address line 1 to 'na' if it is spaces or low-values, and ensures all address components are properly populated.
💻 Technical Criteria
Given An N1 entity segment is being processed
When The address information is validated
Then The system sets address line 1 to 'NA' if it is spaces or low-values, and ensures all address components are properly populated
R-GCCCCADD-cbl-02500 Check Entity ID Values
Validation Rules
📊 Business Logic Narrative
When the process 'Check Entity ID Values' is invoked, and assuming that entity record has address, city/state, or contact information, when entity id is blank or entity name is blank, the desired outcome is that generate validation error for required entity id and name fields.
💻 Technical Criteria
Given Entity record has address, city/state, or contact information
When Entity ID is blank OR entity name is blank
Then Generate validation error for required entity ID and name fields
R-GCCCCADD-cbl-02509 Validate Communication Qualifier
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Validate Communication Qualifier', assuming that contact information is provided, when communication qualifier is not blank, 'fx', or 'te', the desired outcome is that generate validation error for invalid communication qualifier value.
💻 Technical Criteria
EXCLUDING Contact information is provided
When Communication qualifier is not blank, 'FX', or 'TE'
Then Generate validation error for invalid communication qualifier value
R-GCCCCADD-cbl-02753 Generate Invalid Entity ID Error
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Invalid Entity ID Error' is invoked, and assuming that an entity id code has failed validation due to invalid value or restricted type usage, when the system needs to report the validation failure, the desired outcome is that generate error message 'invalid entity id value' and add to message collection for the record.
💻 Technical Criteria
Given An entity ID code has failed validation due to invalid value or restricted type usage
When The system needs to report the validation failure
Then Generate error message 'Invalid Entity ID Value' and add to message collection for the record
R-GCCCCADD-cbl-02112 Parse City/State from Fastway Address Field
Computation Rules
📊 Business Logic Narrative
When the process 'Parse City/State from Fastway Address Field' is invoked, and assuming that address information is being parsed from fastway address field, when state or province code is available, the desired outcome is that search the state-country table to find matching country code for the state or province code, and set country code to the found value or spaces if not found.
💻 Technical Criteria
Given Address information is being parsed from Fastway address field
When State or province code is available
Then Search the state-country table to find matching country code for the state or province code, and set country code to the found value or spaces if not found
R-GCCCCADD-cbl-00541 BN Address Found?
Decision Rules
📊 Business Logic Narrative
When the process 'BN Address Found?' is invoked, and assuming that a search for beneficial owner address has been performed, when evaluating address search results, the desired outcome is that the system determines whether to use found address data or set default address values.
💻 Technical Criteria
Given A search for beneficial owner address has been performed
When Evaluating address search results
Then The system determines whether to use found address data or set default address values
R-GCCCCADD-cbl-00543 Set Default 'NA' Address
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Default 'NA' Address', assuming that beneficial owner address segment is not found in edi, when processing address information, the desired outcome is that address line 1 is set to 'na' as default value.
💻 Technical Criteria
EXCLUDING Beneficial owner address segment is not found in EDI
When Processing address information
Then Address line 1 is set to 'NA' as default value
R-GCCCCADD-cbl-00614 Validate NN Entity ID Code
Validation Rules
📊 Business Logic Narrative
When the process 'Validate NN Entity ID Code' is invoked, and assuming that an nn entity segment is found in edi bol data, when the system checks the entity id code against valid entity id values, the desired outcome is that if the entity id is valid, processing continues; if invalid, the entity is skipped and importer data is cleared if no s55 importer found.
💻 Technical Criteria
Given An NN entity segment is found in EDI BOL data
When The system checks the entity ID code against valid entity ID values
Then If the entity ID is valid, processing continues; if invalid, the entity is skipped and importer data is cleared if no S55 importer found
R-GCCCCADD-cbl-00637 Use Maximum Sequence Position
Process Rules
📊 Business Logic Narrative
When the process 'Use Maximum Sequence Position' is invoked, and assuming that the current sequence index exceeds the maximum allowed sequence positions, when the system needs to assign a sequence position for the new importer record, the desired outcome is that set the sequence index to the maximum sequence position value and mark that 24 n1 data records are found.
💻 Technical Criteria
Given The current sequence index exceeds the maximum allowed sequence positions
When The system needs to assign a sequence position for the new importer record
Then Set the sequence index to the maximum sequence position value and mark that 24 N1 data records are found
R-GCCCCADD-cbl-00643 Set Default Address to 'NA'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Default Address to 'NA'' is invoked, and assuming that the importer record is being populated from au table data, when the system sets the address information, the desired outcome is that set the primary address field to 'na' as the default value.
💻 Technical Criteria
Given The importer record is being populated from AU table data
When The system sets the address information
Then Set the primary address field to 'NA' as the default value
R-GCCCCADD-cbl-00650 Identify 24th Record Position
Validation Rules
📊 Business Logic Narrative
When the process 'Identify 24th Record Position' is invoked, and assuming that the current record sequence index is greater than the maximum sequence value of 24, when the system processes the record index, the desired outcome is that the system sets the record index to the maximum sequence value of 24.
💻 Technical Criteria
Given The current record sequence index is greater than the maximum sequence value of 24
When The system processes the record index
Then The system sets the record index to the maximum sequence value of 24
R-GCCCCADD-cbl-00703 Communication qualifier is valid?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Communication qualifier is valid?', assuming that an n1 segment has a communication qualifier specified, when communication qualifier is not blank, 'fx' (fax), or 'te' (telephone), the desired outcome is that generate an invalid communication qualifier value error message.
💻 Technical Criteria
EXCLUDING An N1 segment has a communication qualifier specified
When Communication qualifier is not blank, 'FX' (fax), or 'TE' (telephone)
Then Generate an invalid communication qualifier value error message
R-GCCCCADD-cbl-02524 Qualifier Valid Value?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Qualifier Valid Value?', assuming that a record with communication qualifier populated, when qualifier value is not spaces, 'fx', or 'te', the desired outcome is that generate error message for invalid communication qualifier value.
💻 Technical Criteria
EXCLUDING A record with communication qualifier populated
When Qualifier value is not spaces, 'FX', or 'TE'
Then Generate error message for invalid communication qualifier value
R-GCCCCADD-cbl-02768 Validate PER Contact Fields
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Validate PER Contact Fields', assuming that a per segment has communication number qualifier populated and the qualifier is not spaces, 'fx' (fax), or 'te' (telephone), when the system validates qualifier values, the desired outcome is that the system generates an error message indicating invalid communication qualifier value.
💻 Technical Criteria
EXCLUDING A PER segment has communication number qualifier populated AND the qualifier is not spaces, 'FX' (fax), or 'TE' (telephone)
When The system validates qualifier values
Then The system generates an error message indicating invalid communication qualifier value
R-GCCCCADD-cbl-02775 Move Country Code to Output Field
Decision Rules
📊 Business Logic Narrative
When the process 'Move Country Code to Output Field' is invoked, and assuming that an address record with state/province code but missing country code, when the state/province code is found in the state-country lookup table, the desired outcome is that the system automatically populates the country code field with the corresponding value from the lookup table.
💻 Technical Criteria
Given An address record with state/province code but missing country code
When The state/province code is found in the state-country lookup table
Then The system automatically populates the country code field with the corresponding value from the lookup table
R-GCCCCADD-cbl-02127 Validate Communication Number Qualifier
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Validate Communication Number Qualifier', assuming that a contact record with communication number qualifier is being processed, when the communication number qualifier is provided and is not blank, 'fx' (fax), or 'te' (telephone), the desired outcome is that generate an error message indicating invalid communication qualifier value.
💻 Technical Criteria
EXCLUDING A contact record with communication number qualifier is being processed
When The communication number qualifier is provided and is not blank, 'FX' (fax), or 'TE' (telephone)
Then Generate an error message indicating invalid communication qualifier value
R-GCCCCADD-cbl-00758 Invalid Communication Qualifier
Validation Rules
📊 Business Logic Narrative
When the process 'Invalid Communication Qualifier' is invoked, and assuming that a communication number qualifier is provided in per03, when the qualifier value is validated against approved values, the desired outcome is that if the per03 value is not spaces, 'fx' (fax), or 'te' (telephone), an error message for invalid per03 value should be generated and added to the error collection.
💻 Technical Criteria
Given A communication number qualifier is provided in PER03
When The qualifier value is validated against approved values
Then If the PER03 value is not spaces, 'FX' (fax), or 'TE' (telephone), an error message for invalid PER03 value should be generated and added to the error collection
R-GCCCCADD-cbl-00769 Set Final String Length
Computation Rules
📊 Business Logic Narrative
When the process 'Set Final String Length' is invoked, and assuming that the system has found the last non-space character position or determined the string contains only spaces, when the string length calculation process is complete, the desired outcome is that the system sets the final string length to the current counter value representing the meaningful content length.
💻 Technical Criteria
Given The system has found the last non-space character position or determined the string contains only spaces
When The string length calculation process is complete
Then The system sets the final string length to the current counter value representing the meaningful content length
R-GCCCCADD-cbl-00783 Handle SS Table Not Found - Set Defaults
Process Rules
📊 Business Logic Narrative
When the process 'Handle SS Table Not Found - Set Defaults' is invoked, and assuming that a haulage shipment where ss table lookup fails, when default values are set, the desired outcome is that clear haulage automated flag, reject haulage, and set bill owner and bill-as scac to 'unkn'.
💻 Technical Criteria
Given A haulage shipment where SS table lookup fails
When Default values are set
Then Clear haulage automated flag, reject haulage, and set bill owner and bill-as SCAC to 'UNKN'
R-GCCCCADD-cbl-00784 Set Standard Bill Owner and SCAC to '6105'
Process Rules
📊 Business Logic Narrative
When the process 'Set Standard Bill Owner and SCAC to '6105'' is invoked, and assuming that a non-haulage shipment where ss table lookup fails, when default values are set, the desired outcome is that set bill owner and bill-as scac to '6105'.
💻 Technical Criteria
Given A non-haulage shipment where SS table lookup fails
When Default values are set
Then Set bill owner and bill-as SCAC to '6105'
R-GCCCCADD-cbl-00871 Build Other Entity Types 11/NN/MC/OO/FW
Decision Rules
📊 Business Logic Narrative
When the process 'Build Other Entity Types 11/NN/MC/OO/FW' is invoked, and assuming that a shipment may have various other entity types, when the system finds edi bol data with organization ids '11', 'nn', 'mc', 'oo', or 'fw', the desired outcome is that the system creates entity records with matching entity ids, extracts entity names and details from appropriate edi segments, gets address and contact information from corresponding segments, validates entity id values for sequences greater than 2, and inserts valid records into customs database.
💻 Technical Criteria
Given A shipment may have various other entity types
When The system finds EDI BOL data with organization IDs '11', 'NN', 'MC', 'OO', or 'FW'
Then The system creates entity records with matching entity IDs, extracts entity names and details from appropriate EDI segments, gets address and contact information from corresponding segments, validates entity ID values for sequences greater than 2, and inserts valid records into customs database
R-GCCCCADD-cbl-00875 Validate N1 Segment Data
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Validate N1 Segment Data', assuming that an entity record is being validated for customs record 55, when the entity has address, city/state, or contact information but missing entity id or name, or entity id is invalid for sequences greater than 2, the desired outcome is that the system generates appropriate error messages for missing entity id, missing name when entity id exists, or invalid entity id values for non-shipper/consignee/broker entities.
💻 Technical Criteria
EXCLUDING An entity record is being validated for customs record 55
When The entity has address, city/state, or contact information but missing entity ID or name, or entity ID is invalid for sequences greater than 2
Then The system generates appropriate error messages for missing entity ID, missing name when entity ID exists, or invalid entity ID values for non-shipper/consignee/broker entities
R-GCCCCADD-cbl-00881 Validate N1 Segment Data
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Validate N1 Segment Data', assuming that an entity record has contact information, when communication number qualifier is missing but contact name or communication number is provided, or communication number qualifier is invalid, or communication number is missing when qualifier or contact name is provided, the desired outcome is that the system generates appropriate error messages for missing communication number qualifier, invalid qualifier values (must be spaces, 'fx', or 'te'), or missing communication number.
💻 Technical Criteria
EXCLUDING An entity record has contact information
When Communication number qualifier is missing but contact name or communication number is provided, or communication number qualifier is invalid, or communication number is missing when qualifier or contact name is provided
Then The system generates appropriate error messages for missing communication number qualifier, invalid qualifier values (must be spaces, 'FX', or 'TE'), or missing communication number
R-GCCCCADD-cbl-02541 Set Default 'NA' if Address Missing
Validation Rules
📊 Business Logic Narrative
When the process 'Set Default 'NA' if Address Missing' is invoked, and assuming that address information is missing from both edi bol and fastway sources, when the system processes address fields, the desired outcome is that address line 1 is set to 'na' as default value.
💻 Technical Criteria
Given Address information is missing from both EDI BOL and Fastway sources
When The system processes address fields
Then Address line 1 is set to 'NA' as default value
R-GCCCCADD-cbl-00888 Process Address Information
Validation Rules
📊 Business Logic Narrative
When the process 'Process Address Information' is invoked, and assuming that importer n3 segment data is available from edi bol, when the system processes address information and address line 1 is spaces or low-values, the desired outcome is that the system sets address line 1 to 'na' and copies address line 2, otherwise copies both address lines as provided.
💻 Technical Criteria
Given Importer N3 segment data is available from EDI BOL
When The system processes address information and address line 1 is spaces or low-values
Then The system sets address line 1 to 'NA' and copies address line 2, otherwise copies both address lines as provided
R-GCCCCADD-cbl-02189 Set Default 'NA' Address
Validation Rules
📊 Business Logic Narrative
When the process 'Set Default 'NA' Address' is invoked, and assuming that importer address information is being processed, when the address field is spaces or contains low values, the desired outcome is that the system sets the address field to 'na' as the default value.
💻 Technical Criteria
Given Importer address information is being processed
When The address field is spaces or contains low values
Then The system sets the address field to 'NA' as the default value
R-GCCCCADD-cbl-02190 Process Address Information
Process Rules
📊 Business Logic Narrative
When the process 'Process Address Information' is invoked, and assuming that importer n3 address segment data is available from edi bol, when the system processes the address information, the desired outcome is that the system assigns address line 1 and address line 2 to customs manifest fields, setting address line 1 to 'na' if it is spaces or low values.
💻 Technical Criteria
Given Importer N3 address segment data is available from EDI BOL
When The system processes the address information
Then The system assigns address line 1 and address line 2 to customs manifest fields, setting address line 1 to 'NA' if it is spaces or low values
R-GCCCCADD-cbl-02795 Set Importer CHOP from Backup
Process Rules
📊 Business Logic Narrative
When the process 'Set Importer CHOP from Backup' is invoked, and assuming that corrector edi has deleted importer information and backup data is available, when the system restores importer information from backup, the desired outcome is that set the chop code in both the customs record and current processing fields from the backed up value.
💻 Technical Criteria
Given Corrector EDI has deleted importer information and backup data is available
When The system restores importer information from backup
Then Set the CHOP code in both the customs record and current processing fields from the backed up value
R-GCCCCADD-cbl-02796 Set Importer Name from Backup
Process Rules
📊 Business Logic Narrative
When the process 'Set Importer Name from Backup' is invoked, and assuming that corrector edi has deleted importer information and backup data is available, when the system restores importer information from backup, the desired outcome is that set the importer name in both the customs record and current processing fields from the backed up value.
💻 Technical Criteria
Given Corrector EDI has deleted importer information and backup data is available
When The system restores importer information from backup
Then Set the importer name in both the customs record and current processing fields from the backed up value
R-GCCCCADD-cbl-02797 Set Business Qualifier from Backup
Process Rules
📊 Business Logic Narrative
When the process 'Set Business Qualifier from Backup' is invoked, and assuming that corrector edi has deleted importer information and backup data is available, when the system restores importer information from backup, the desired outcome is that set the business number qualifier in both the customs record and current processing fields from the backed up value.
💻 Technical Criteria
Given Corrector EDI has deleted importer information and backup data is available
When The system restores importer information from backup
Then Set the business number qualifier in both the customs record and current processing fields from the backed up value
R-GCCCCADD-cbl-02798 Set Business Number from Backup
Process Rules
📊 Business Logic Narrative
When the process 'Set Business Number from Backup' is invoked, and assuming that corrector edi has deleted importer information and backup data is available, when the system restores importer information from backup, the desired outcome is that set the business number in both the customs record and current processing fields from the backed up value.
💻 Technical Criteria
Given Corrector EDI has deleted importer information and backup data is available
When The system restores importer information from backup
Then Set the business number in both the customs record and current processing fields from the backed up value
R-GCCCCADD-cbl-02799 Set CSA Indicator from Backup
Process Rules
📊 Business Logic Narrative
When the process 'Set CSA Indicator from Backup' is invoked, and assuming that corrector edi has deleted importer information and backup data is available, when the system restores importer information from backup, the desired outcome is that set the csa indicator in the current processing fields from the backed up value.
💻 Technical Criteria
Given Corrector EDI has deleted importer information and backup data is available
When The system restores importer information from backup
Then Set the CSA indicator in the current processing fields from the backed up value
R-GCCCCADD-cbl-02800 Set Address from Backup
Process Rules
📊 Business Logic Narrative
When the process 'Set Address from Backup' is invoked, and assuming that corrector edi has deleted importer information and backup data is available, when the system restores importer information from backup, the desired outcome is that set both address line 1 and address line 2 in the customs record from the backed up values.
💻 Technical Criteria
Given Corrector EDI has deleted importer information and backup data is available
When The system restores importer information from backup
Then Set both address line 1 and address line 2 in the customs record from the backed up values
R-GCCCCADD-cbl-02801 Set City/State/Postal from Backup
Process Rules
📊 Business Logic Narrative
When the process 'Set City/State/Postal from Backup' is invoked, and assuming that corrector edi has deleted importer information and backup data is available, when the system restores importer information from backup, the desired outcome is that set the city name, state/province code, postal code, and country code in the customs record from the backed up values.
💻 Technical Criteria
Given Corrector EDI has deleted importer information and backup data is available
When The system restores importer information from backup
Then Set the city name, state/province code, postal code, and country code in the customs record from the backed up values
R-GCCCCADD-cbl-02802 Set Contact Info from Backup
Process Rules
📊 Business Logic Narrative
When the process 'Set Contact Info from Backup' is invoked, and assuming that corrector edi has deleted importer information and backup data is available, when the system restores importer information from backup, the desired outcome is that set the contact function code, person name, communication number qualifier, and communication number in the customs record from the backed up values.
💻 Technical Criteria
Given Corrector EDI has deleted importer information and backup data is available
When The system restores importer information from backup
Then Set the contact function code, person name, communication number qualifier, and communication number in the customs record from the backed up values
R-GCCCCADD-cbl-02200 Store Backup Values: Name, Business Number, Qualifier, Address, Contact Info
Process Rules
📊 Business Logic Narrative
When the process 'Store Backup Values: Name, Business Number, Qualifier, Address, Contact Info' is invoked, and assuming that original importer data needs to be backed up, when the system stores the backup values, the desired outcome is that move importer name, business number, qualifier, addresses, city, province, postal code, country, contact code, person name, communication qualifier, and communication number to corresponding backup variables.
💻 Technical Criteria
Given Original importer data needs to be backed up
When The system stores the backup values
Then Move importer name, business number, qualifier, addresses, city, province, postal code, country, contact code, person name, communication qualifier, and communication number to corresponding backup variables
R-GCCCCADD-cbl-02204 Restore Original Importer Data
Process Rules
📊 Business Logic Narrative
When the process 'Restore Original Importer Data' is invoked, and assuming that corrector edi has deleted importer data and backup exists, when the system restores original importer data, the desired outcome is that move all backed up values including name, business number, qualifier, address, contact information, and csa indicator back to the active importer record.
💻 Technical Criteria
Given Corrector EDI has deleted importer data and backup exists
When The system restores original importer data
Then Move all backed up values including name, business number, qualifier, address, contact information, and CSA indicator back to the active importer record
R-GCCCCADD-cbl-02206 Preserve CSA Indicator from Backup
Process Rules
📊 Business Logic Narrative
When the process 'Preserve CSA Indicator from Backup' is invoked, and assuming that importer record is being restored from backup, when the system preserves the csa indicator, the desired outcome is that set the csa indicator to the value stored in the backup variables.
💻 Technical Criteria
Given Importer record is being restored from backup
When The system preserves the CSA indicator
Then Set the CSA indicator to the value stored in the backup variables
R-GCCCCADD-cbl-00902 Process Importer Address from N3 Segment
Validation Rules
📊 Business Logic Narrative
When the process 'Process Importer Address from N3 Segment' is invoked, and assuming that corrector edi contains importer n3 address segment data, when the system processes the n3 segment for importer address, the desired outcome is that the system sets address line 1 to 'na' if the address is blank or low-values, otherwise uses the provided address, and sets address line 2 from the segment data.
💻 Technical Criteria
Given Corrector EDI contains importer N3 address segment data
When The system processes the N3 segment for importer address
Then The system sets address line 1 to 'NA' if the address is blank or low-values, otherwise uses the provided address, and sets address line 2 from the segment data
R-GCCCCADD-cbl-00917 Keep Original Address Line 1
Process Rules
📊 Business Logic Narrative
When the process 'Keep Original Address Line 1' is invoked, and assuming that address line 1 from the n3 segment contains valid data, when the system processes the address line 1, the desired outcome is that the system should retain the original address line 1 value without modification.
💻 Technical Criteria
Given Address line 1 from the N3 segment contains valid data
When The system processes the address line 1
Then The system should retain the original address line 1 value without modification
R-GCCCCADD-cbl-00919 Set Default 'NA' for Address Line 1
Definitional Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Default 'NA' for Address Line 1', assuming that edi bol data is not available for importer address processing, when the system processes importer address information, the desired outcome is that the system should set address line 1 to 'na' as the default value.
💻 Technical Criteria
EXCLUDING EDI BOL data is not available for importer address processing
When The system processes importer address information
Then The system should set address line 1 to 'NA' as the default value
R-GCCCCADD-cbl-00939 Generate Error: Invalid Communication Qualifier
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Error: Invalid Communication Qualifier', assuming that a communication qualifier is provided in the importer contact information, when the communication qualifier is not blank, 'fx' (fax), or 'te' (telephone), the desired outcome is that the system generates an error indicating invalid communication qualifier value.
💻 Technical Criteria
EXCLUDING A communication qualifier is provided in the importer contact information
When The communication qualifier is not blank, 'FX' (fax), or 'TE' (telephone)
Then The system generates an error indicating invalid communication qualifier value
R-GCCCCADD-cbl-00944 Preserve CSA Indicator
Policy Rules
📊 Business Logic Narrative
When the process 'Preserve CSA Indicator' is invoked, and assuming that original importer data is being restored from backup variables and the original csa indicator value exists, when the system restores importer information to the customs record, the desired outcome is that the system should set the csa indicator to the original backed-up value to maintain the customs processing status.
💻 Technical Criteria
Given Original importer data is being restored from backup variables AND the original CSA indicator value exists
When The system restores importer information to the customs record
Then The system should set the CSA indicator to the original backed-up value to maintain the customs processing status
R-GCCCCADD-cbl-00945 Apply Corrector Changes
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Apply Corrector Changes', assuming that corrector edi contains importer information modifications and importer data has not been completely deleted, when the system processes the corrector edi transaction, the desired outcome is that the system should apply the corrector changes to update the importer information with the new values provided in the corrector edi.
💻 Technical Criteria
EXCLUDING Corrector EDI contains importer information modifications AND importer data has not been completely deleted
When The system processes the corrector EDI transaction
Then The system should apply the corrector changes to update the importer information with the new values provided in the corrector EDI
R-GCCCCADD-cbl-00962 Call Crossing Table Search - First Attempt
Action Rules
📊 Business Logic Narrative
When the process 'Call Crossing Table Search - First Attempt' is invoked, and assuming that all search parameters are populated with specific values, when the crossing table search is executed with full criteria, the desired outcome is that the system attempts to find broker data matching all specified parameters.
💻 Technical Criteria
Given All search parameters are populated with specific values
When The crossing table search is executed with full criteria
Then The system attempts to find broker data matching all specified parameters
R-GCCCCADD-cbl-00964 Call Crossing Table Search - Second Attempt
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Call Crossing Table Search - Second Attempt', assuming that the primary search with full criteria did not find broker data, when the shipper chop and origin station are set to wildcard values and the crossing table search is executed, the desired outcome is that the system attempts to find broker data with the broadened search criteria.
💻 Technical Criteria
EXCLUDING The primary search with full criteria did not find broker data
When The shipper CHOP and origin station are set to wildcard values and the crossing table search is executed
Then The system attempts to find broker data with the broadened search criteria
R-GCCCCADD-cbl-00978 Set Manifest-To Station from Crossing Table
Action Rules
📊 Business Logic Narrative
When the process 'Set Manifest-To Station from Crossing Table' is invoked, and assuming that crossing table contains a valid cdn manifest-to value, when the system processes manifest-to station override, the desired outcome is that the manifest-to station name is updated with the crossing table cdn manifest-to value.
💻 Technical Criteria
Given Crossing table contains a valid CDN manifest-to value
When The system processes manifest-to station override
Then The manifest-to station name is updated with the crossing table CDN manifest-to value
R-GCCCCADD-cbl-00984 Set Batch Print Call Letters
Action Rules
📊 Business Logic Narrative
When the process 'Set Batch Print Call Letters' is invoked, and assuming that valid mc table data exists for the manifest-to station, when the system configures batch printing parameters, the desired outcome is that the batch print call letters are set to the mc table call letters value.
💻 Technical Criteria
Given Valid MC table data exists for the manifest-to station
When The system configures batch printing parameters
Then The batch print call letters are set to the MC table call letters value
R-GCCCCADD-cbl-00991 Origin Country is Mexico?
Decision Rules
📊 Business Logic Narrative
When the process 'Origin Country is Mexico?' is invoked, and assuming that the au table lookup has been processed, when the current origin country value is evaluated, the desired outcome is that if the origin country is 'mx' (mexico), the process should exit and preserve the mexico designation; otherwise, continue with state-country table lookup.
💻 Technical Criteria
Given The AU table lookup has been processed
When The current origin country value is evaluated
Then If the origin country is 'MX' (Mexico), the process should exit and preserve the Mexico designation; otherwise, continue with state-country table lookup
R-GCCCCADD-cbl-01030 Lookup MC Table with Manifest From Port
Action Rules
📊 Business Logic Narrative
When the process 'Lookup MC Table with Manifest From Port' is invoked, and assuming that a manifest from port value exists in the shipment root, when the system looks up the manifest from port in the mc table, the desired outcome is that the system retrieves the corresponding manifest code record or determines if no record exists.
💻 Technical Criteria
Given A manifest from port value exists in the shipment root
When The system looks up the manifest from port in the MC table
Then The system retrieves the corresponding manifest code record or determines if no record exists
R-GCCCCADD-cbl-01033 Set Error Message: Invalid Manifest Port in MC Table
Validation Rules
📊 Business Logic Narrative
When the process 'Set Error Message: Invalid Manifest Port in MC Table' is invoked, and assuming that a manifest from port value needs to be validated, when the mc table lookup fails to find a matching record, the desired outcome is that the system generates an error message for invalid manifest port and adds it to the message array.
💻 Technical Criteria
Given A manifest from port value needs to be validated
When The MC table lookup fails to find a matching record
Then The system generates an error message for invalid manifest port and adds it to the message array
R-GCCCCADD-cbl-01055 Customer Bonded Siding Determination - Determine if consignee has bonded siding using RF table lookup with consignee CHOP and station
Decision Rules
📊 Business Logic Narrative
When the process 'Customer Bonded Siding Determination - Determine if consignee has bonded siding using RF table lookup with consignee CHOP and station' is invoked, and assuming that a shipment with consignee chop code and destination station number, when the system performs rf table lookup using consignee chop and destination station, the desired outcome is that the system sets customer bonded indicator to true if rf record is found, otherwise sets it to false.
💻 Technical Criteria
Given A shipment with consignee CHOP code and destination station number
When The system performs RF table lookup using consignee CHOP and destination station
Then The system sets customer bonded indicator to TRUE if RF record is found, otherwise sets it to FALSE
R-GCCCCADD-cbl-01062 Set Customer Bonded Indicator to TRUE
Decision Rules
📊 Business Logic Narrative
When the process 'Set Customer Bonded Indicator to TRUE' is invoked, and assuming that a successful rf table lookup that returns a matching record, when the system processes the lookup result, the desired outcome is that the customer bonded indicator is set to true indicating the consignee has bonded siding.
💻 Technical Criteria
Given A successful RF table lookup that returns a matching record
When The system processes the lookup result
Then The customer bonded indicator is set to TRUE indicating the consignee has bonded siding
R-GCCCCADD-cbl-01063 Set Customer Bonded Indicator to FALSE
Decision Rules
📊 Business Logic Narrative
When the process 'Set Customer Bonded Indicator to FALSE' is invoked, and assuming that an unsuccessful rf table lookup that returns no matching record, when the system processes the lookup result, the desired outcome is that the customer bonded indicator is set to false indicating the consignee does not have bonded siding.
💻 Technical Criteria
Given An unsuccessful RF table lookup that returns no matching record
When The system processes the lookup result
Then The customer bonded indicator is set to FALSE indicating the consignee does not have bonded siding
R-GCCCCADD-cbl-01065 Set Sub-location Code from MC Table
Decision Rules
📊 Business Logic Narrative
When the process 'Set Sub-location Code from MC Table' is invoked, and assuming that cm table lookup was successful and returned port manifest upon information, when system looks up the port manifest upon value in mc table, the desired outcome is that if mc table lookup is successful, set sub-location code from mc table sub-location code field, otherwise set sub-location code to spaces.
💻 Technical Criteria
Given CM table lookup was successful and returned port manifest upon information
When System looks up the port manifest upon value in MC table
Then If MC table lookup is successful, set sub-location code from MC table sub-location code field, otherwise set sub-location code to spaces
R-GCCCCADD-cbl-01066 Check Customer Bonded Siding
Decision Rules
📊 Business Logic Narrative
When the process 'Check Customer Bonded Siding' is invoked, and assuming that consignee chop code and destination station number are available, when system looks up consignee in rf table using chop code and station number, the desired outcome is that if rf table lookup is successful, set sub-location code from rf table and set customer bonded indicator to true, otherwise set customer bonded indicator to false.
💻 Technical Criteria
Given Consignee CHOP code and destination station number are available
When System looks up consignee in RF table using CHOP code and station number
Then If RF table lookup is successful, set sub-location code from RF table and set customer bonded indicator to true, otherwise set customer bonded indicator to false
R-GCCCCADD-cbl-01068 Clear Sub-location Code and Customer Bonded Indicator
Process Rules
📊 Business Logic Narrative
When the process 'Clear Sub-location Code and Customer Bonded Indicator' is invoked, and assuming that shipment has in-transit status (transit or return), when system processes sub-location requirements, the desired outcome is that clear sub-location code and customer bonded indicator to spaces.
💻 Technical Criteria
Given Shipment has in-transit status (transit or return)
When System processes sub-location requirements
Then Clear sub-location code and customer bonded indicator to spaces
R-GCCCCADD-cbl-02213 Set Sub-location Code from MC Table
Action Rules
📊 Business Logic Narrative
When the process 'Set Sub-location Code from MC Table' is invoked, and assuming that mc table lookup was successful and returned valid port data, when the system processes the mc table segment data, the desired outcome is that the sub-location code is set to the mc sub-location code value from the table.
💻 Technical Criteria
Given MC table lookup was successful and returned valid port data
When The system processes the MC table segment data
Then The sub-location code is set to the MC sub-location code value from the table
R-GCCCCADD-cbl-02215 Lookup RF Table with Consignee CHOP and Station
Action Rules
📊 Business Logic Narrative
When the process 'Lookup RF Table with Consignee CHOP and Station' is invoked, and assuming that consignee chop code and destination station number are available, when the system calls table lookup with table id 'rf', consignee chop, and destination station as keys, the desired outcome is that the system attempts to retrieve rf table data for bonded customer determination.
💻 Technical Criteria
Given Consignee CHOP code and destination station number are available
When The system calls table lookup with table ID 'RF', consignee CHOP, and destination station as keys
Then The system attempts to retrieve RF table data for bonded customer determination
R-GCCCCADD-cbl-02216 RF Table Lookup Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'RF Table Lookup Successful?' is invoked, and assuming that an rf table lookup has been performed with consignee and station information, when the system evaluates the table lookup return flag, the desired outcome is that if return flag equals 'successful', set sub-location code from rf data and mark customer as bonded, otherwise mark customer as not bonded.
💻 Technical Criteria
Given An RF table lookup has been performed with consignee and station information
When The system evaluates the table lookup return flag
Then If return flag equals 'SUCCESSFUL', set sub-location code from RF data and mark customer as bonded, otherwise mark customer as not bonded
R-GCCCCADD-cbl-02217 Set Sub-location Code from RF Table
Action Rules
📊 Business Logic Narrative
When the process 'Set Sub-location Code from RF Table' is invoked, and assuming that rf table lookup was successful and returned valid bonded customer data, when the system processes the rf table segment data, the desired outcome is that the sub-location code is set to rf sub-location code value and customer bonded indicator is set to true.
💻 Technical Criteria
Given RF table lookup was successful and returned valid bonded customer data
When The system processes the RF table segment data
Then The sub-location code is set to RF sub-location code value and customer bonded indicator is set to TRUE
R-GCCCCADD-cbl-02218 Set Customer Bonded Indicator ON
Action Rules
📊 Business Logic Narrative
When the process 'Set Customer Bonded Indicator ON' is invoked, and assuming that rf table lookup found valid bonded customer data, when the system processes the successful rf lookup result, the desired outcome is that the customer bonded indicator is set to true.
💻 Technical Criteria
Given RF table lookup found valid bonded customer data
When The system processes the successful RF lookup result
Then The customer bonded indicator is set to TRUE
R-GCCCCADD-cbl-02219 Set Customer Bonded Indicator OFF
Action Rules
📊 Business Logic Narrative
When the process 'Set Customer Bonded Indicator OFF' is invoked, and assuming that rf table lookup failed to find bonded customer data, when the system processes the failed rf lookup result, the desired outcome is that the customer bonded indicator is set to false.
💻 Technical Criteria
Given RF table lookup failed to find bonded customer data
When The system processes the failed RF lookup result
Then The customer bonded indicator is set to FALSE
R-GCCCCADD-cbl-02220 Sub-location Code Present?
Validation Rules
📊 Business Logic Narrative
When the process 'Sub-location Code Present?' is invoked, and assuming that sub-location code processing has been completed through table lookups, when the system evaluates the current sub-location code value, the desired outcome is that if sub-location code is not spaces, requirements are met, otherwise check additional exemption conditions.
💻 Technical Criteria
Given Sub-location code processing has been completed through table lookups
When The system evaluates the current sub-location code value
Then If sub-location code is not spaces, requirements are met, otherwise check additional exemption conditions
R-GCCCCADD-cbl-02224 Arrival Indicator is Y?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Arrival Indicator is Y?', assuming that sub-location code is spaces, csa indicator is off, manifest stations don't qualify for exemption, and destination is not us, when the system evaluates the arrival indicator value, the desired outcome is that if arrival indicator equals 'y', sub-location requirements are met, otherwise set sub-location error flag.
💻 Technical Criteria
EXCLUDING Sub-location code is spaces, CSA indicator is OFF, manifest stations don't qualify for exemption, and destination is not US
When The system evaluates the arrival indicator value
Then If arrival indicator equals 'Y', sub-location requirements are met, otherwise set sub-location error flag
R-GCCCCADD-cbl-02574 Lookup MC Table with Port Manifest Upon
Action Rules
📊 Business Logic Narrative
When the process 'Lookup MC Table with Port Manifest Upon' is invoked, and assuming that port manifest upon value has been extracted from cm table, when the system performs a lookup in mc table using the port manifest upon value, the desired outcome is that retrieve the corresponding manifest code record for sub-location processing.
💻 Technical Criteria
Given Port manifest upon value has been extracted from CM table
When The system performs a lookup in MC table using the port manifest upon value
Then Retrieve the corresponding manifest code record for sub-location processing
R-GCCCCADD-cbl-02575 MC Table Lookup Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'MC Table Lookup Successful?' is invoked, and assuming that an mc table lookup has been performed using port manifest upon value, when the system evaluates the lookup return status, the desired outcome is that if lookup is successful, extract sub-location code from mc table; otherwise set sub-location code to spaces.
💻 Technical Criteria
Given An MC table lookup has been performed using port manifest upon value
When The system evaluates the lookup return status
Then If lookup is successful, extract sub-location code from MC table; otherwise set sub-location code to spaces
R-GCCCCADD-cbl-02578 Lookup RF Table with Consignee CHOP and Station
Action Rules
📊 Business Logic Narrative
When the process 'Lookup RF Table with Consignee CHOP and Station' is invoked, and assuming that consignee chop code and destination station number are available, when the system performs a lookup in rf table using consignee chop and destination station, the desired outcome is that retrieve the corresponding rail facility record for bonded status determination.
💻 Technical Criteria
Given Consignee CHOP code and destination station number are available
When The system performs a lookup in RF table using consignee CHOP and destination station
Then Retrieve the corresponding rail facility record for bonded status determination
R-GCCCCADD-cbl-02579 RF Table Lookup Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'RF Table Lookup Successful?' is invoked, and assuming that an rf table lookup has been performed using consignee chop and station, when the system evaluates the lookup return status, the desired outcome is that if lookup is successful, extract sub-location code and set customer bonded indicator; otherwise set customer bonded indicator to false.
💻 Technical Criteria
Given An RF table lookup has been performed using consignee CHOP and station
When The system evaluates the lookup return status
Then If lookup is successful, extract sub-location code and set customer bonded indicator; otherwise set customer bonded indicator to false
R-GCCCCADD-cbl-02581 Set Customer Bonded Indicator to True
Process Rules
📊 Business Logic Narrative
When the process 'Set Customer Bonded Indicator to True' is invoked, and assuming that rf table lookup was successful and returned a valid rail facility record, when the system processes the successful rf table lookup, the desired outcome is that set the customer bonded indicator to true to indicate bonded facility status.
💻 Technical Criteria
Given RF table lookup was successful and returned a valid rail facility record
When The system processes the successful RF table lookup
Then Set the customer bonded indicator to true to indicate bonded facility status
R-GCCCCADD-cbl-02582 Set Customer Bonded Indicator to False
Process Rules
📊 Business Logic Narrative
When the process 'Set Customer Bonded Indicator to False' is invoked, and assuming that rf table lookup failed to return a valid rail facility record, when the system processes the failed rf table lookup, the desired outcome is that set the customer bonded indicator to false to indicate non-bonded facility status.
💻 Technical Criteria
Given RF table lookup failed to return a valid rail facility record
When The system processes the failed RF table lookup
Then Set the customer bonded indicator to false to indicate non-bonded facility status
R-GCCCCADD-cbl-02583 Sub-location Code Present?
Validation Rules
📊 Business Logic Narrative
When the process 'Sub-location Code Present?' is invoked, and assuming that sub-location code assignment processes have completed, when the system evaluates the current sub-location code value, the desired outcome is that if sub-location code is not spaces, continue processing without error; otherwise evaluate additional exemption conditions.
💻 Technical Criteria
Given Sub-location code assignment processes have completed
When The system evaluates the current sub-location code value
Then If sub-location code is not spaces, continue processing without error; otherwise evaluate additional exemption conditions
R-GCCCCADD-cbl-02808 CM Table Lookup Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'CM Table Lookup Successful?' is invoked, and assuming that a cm table lookup has been performed using destination station number, when the cm table lookup returns successful status, the desired outcome is that the system extracts port manifest upon value for subsequent mc table lookup.
💻 Technical Criteria
Given A CM table lookup has been performed using destination station number
When The CM table lookup returns successful status
Then The system extracts port manifest upon value for subsequent MC table lookup
R-GCCCCADD-cbl-02809 Get Port Manifest Upon from CM Table
Process Rules
📊 Business Logic Narrative
When the process 'Get Port Manifest Upon from CM Table' is invoked, and assuming that cm table lookup was successful, when the system processes the cm table results, the desired outcome is that the port manifest upon value is extracted for mc table lookup.
💻 Technical Criteria
Given CM table lookup was successful
When The system processes the CM table results
Then The port manifest upon value is extracted for MC table lookup
R-GCCCCADD-cbl-02810 Lookup MC Table with Port Manifest Upon
Action Rules
📊 Business Logic Narrative
When the process 'Lookup MC Table with Port Manifest Upon' is invoked, and assuming that port manifest upon value has been extracted from cm table, when the system performs mc table lookup using port manifest upon value, the desired outcome is that the system attempts to retrieve sub-location code from mc table.
💻 Technical Criteria
Given Port manifest upon value has been extracted from CM table
When The system performs MC table lookup using port manifest upon value
Then The system attempts to retrieve sub-location code from MC table
R-GCCCCADD-cbl-02811 MC Table Lookup Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'MC Table Lookup Successful?' is invoked, and assuming that an mc table lookup has been performed using port manifest upon value, when the mc table lookup returns successful status, the desired outcome is that the system extracts sub-location code from mc table results.
💻 Technical Criteria
Given An MC table lookup has been performed using port manifest upon value
When The MC table lookup returns successful status
Then The system extracts sub-location code from MC table results
R-GCCCCADD-cbl-02814 Lookup RF Table with Consignee CHOP and Station
Action Rules
📊 Business Logic Narrative
When the process 'Lookup RF Table with Consignee CHOP and Station' is invoked, and assuming that consignee chop code and destination station number are available, when the system performs rf table lookup using consignee chop and station, the desired outcome is that the system attempts to retrieve customer bonded information and sub-location code.
💻 Technical Criteria
Given Consignee CHOP code and destination station number are available
When The system performs RF table lookup using consignee CHOP and station
Then The system attempts to retrieve customer bonded information and sub-location code
R-GCCCCADD-cbl-02815 RF Table Lookup Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'RF Table Lookup Successful?' is invoked, and assuming that an rf table lookup has been performed using consignee chop and station, when the rf table lookup returns successful status, the desired outcome is that the system extracts sub-location code and sets customer bonded indicator to true.
💻 Technical Criteria
Given An RF table lookup has been performed using consignee CHOP and station
When The RF table lookup returns successful status
Then The system extracts sub-location code and sets customer bonded indicator to true
R-GCCCCADD-cbl-02816 Extract Sub-location Code from RF Table
Process Rules
📊 Business Logic Narrative
When the process 'Extract Sub-location Code from RF Table' is invoked, and assuming that rf table lookup was successful, when the system processes the rf table results, the desired outcome is that the sub-location code is extracted from rf table and customer bonded indicator is set to true.
💻 Technical Criteria
Given RF table lookup was successful
When The system processes the RF table results
Then The sub-location code is extracted from RF table and customer bonded indicator is set to true
R-GCCCCADD-cbl-02817 Set Customer Bonded Indicator to True
Process Rules
📊 Business Logic Narrative
When the process 'Set Customer Bonded Indicator to True' is invoked, and assuming that rf table lookup was successful for consignee chop and station, when valid rail facility information is found, the desired outcome is that the customer bonded indicator is set to true.
💻 Technical Criteria
Given RF table lookup was successful for consignee CHOP and station
When Valid rail facility information is found
Then The customer bonded indicator is set to true
R-GCCCCADD-cbl-02818 Set Customer Bonded Indicator to False
Process Rules
📊 Business Logic Narrative
When the process 'Set Customer Bonded Indicator to False' is invoked, and assuming that rf table lookup failed for consignee chop and station, when no valid rail facility information is found, the desired outcome is that the customer bonded indicator is set to false.
💻 Technical Criteria
Given RF table lookup failed for consignee CHOP and station
When No valid rail facility information is found
Then The customer bonded indicator is set to false
R-GCCCCADD-cbl-03010 Initialize Table Search Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Table Search Parameters' is invoked, and assuming that a cm table lookup has been completed successfully and returned a port manifest upon value, when the system needs to perform an mc table lookup using the cm port manifest upon value, the desired outcome is that the system initializes table search parameters by clearing all search keys and flags.
💻 Technical Criteria
Given A CM table lookup has been completed successfully and returned a port manifest upon value
When The system needs to perform an MC table lookup using the CM port manifest upon value
Then The system initializes table search parameters by clearing all search keys and flags
R-GCCCCADD-cbl-03013 Use CM Port Manifest Upon as Search Key
Process Rules
📊 Business Logic Narrative
When the process 'Use CM Port Manifest Upon as Search Key' is invoked, and assuming that a cm table lookup has returned a port manifest upon value, when the system performs an mc table lookup, the desired outcome is that the system uses the cm port manifest upon value as the search key for the mc table.
💻 Technical Criteria
Given A CM table lookup has returned a port manifest upon value
When The system performs an MC table lookup
Then The system uses the CM port manifest upon value as the search key for the MC table
R-GCCCCADD-cbl-03019 Set Sub-Location Code to Spaces
Process Rules
📊 Business Logic Narrative
When the process 'Set Sub-Location Code to Spaces' is invoked, and assuming that an mc table lookup has failed, when the system handles the lookup failure, the desired outcome is that the system sets the sub-location code to spaces as a default value.
💻 Technical Criteria
Given An MC table lookup has failed
When The system handles the lookup failure
Then The system sets the sub-location code to spaces as a default value
R-GCCCCADD-cbl-03023 Set Table ID to 'RF'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Table ID to 'RF'' is invoked, and assuming that a table lookup operation is being configured, when the system needs to search the rf table for customer bonded status, the desired outcome is that the table identifier is set to 'rf' to specify the registered facility table.
💻 Technical Criteria
Given A table lookup operation is being configured
When The system needs to search the RF table for customer bonded status
Then The table identifier is set to 'RF' to specify the Registered Facility table
R-GCCCCADD-cbl-03027 Set Customer Bonded Indicator to TRUE
Decision Rules
📊 Business Logic Narrative
When the process 'Set Customer Bonded Indicator to TRUE' is invoked, and assuming that an rf table record has been successfully found for the consignee and station combination, when the system updates the customer bonded status, the desired outcome is that the customer bonded indicator is set to true indicating the customer has bonded facility status.
💻 Technical Criteria
Given An RF table record has been successfully found for the consignee and station combination
When The system updates the customer bonded status
Then The customer bonded indicator is set to TRUE indicating the customer has bonded facility status
R-GCCCCADD-cbl-03028 Set Customer Bonded Indicator to FALSE
Decision Rules
📊 Business Logic Narrative
When the process 'Set Customer Bonded Indicator to FALSE' is invoked, and assuming that no rf table record was found for the consignee and station combination, when the system updates the customer bonded status, the desired outcome is that the customer bonded indicator is set to false indicating the customer does not have bonded facility status.
💻 Technical Criteria
Given No RF table record was found for the consignee and station combination
When The system updates the customer bonded status
Then The customer bonded indicator is set to FALSE indicating the customer does not have bonded facility status
R-GCCCCADD-cbl-01093 Set Consolidated Load = Space
Action Rules
📊 Business Logic Narrative
When the process 'Set Consolidated Load = Space' is invoked, and assuming that all cns sequences from 1 to 98 have been searched and no cns indicator was found, when the consolidated load flag needs to be set to its default value, the desired outcome is that the consolidated load indicator is set to space.
💻 Technical Criteria
Given All CNS sequences from 1 to 98 have been searched and no CNS indicator was found
When The consolidated load flag needs to be set to its default value
Then The consolidated load indicator is set to space
R-GCCCCADD-cbl-01159 Reset Customer Bonded Indicator to Spaces
Decision Rules
📊 Business Logic Narrative
When the process 'Reset Customer Bonded Indicator to Spaces' is invoked, and assuming that a shipment has been processed and classified with an in-transit status, when the shipment status is either in-transit or return movement, the desired outcome is that the customer bonded indicator should be reset to spaces (cleared).
💻 Technical Criteria
Given A shipment has been processed and classified with an in-transit status
When The shipment status is either in-transit or return movement
Then The customer bonded indicator should be reset to spaces (cleared)
R-GCCCCADD-cbl-01194 Search 2: Use Wildcard for Shipper CHOP and Origin Station
Action Rules
📊 Business Logic Narrative
When the process 'Search 2: Use Wildcard for Shipper CHOP and Origin Station' is invoked, and assuming that the primary broker search returned no results, when the system performs the secondary broker search, the desired outcome is that the system uses wildcard values for shipper chop and origin station while maintaining consignee chop, destination road, and commodity code criteria.
💻 Technical Criteria
Given The primary broker search returned no results
When The system performs the secondary broker search
Then The system uses wildcard values for shipper CHOP and origin station while maintaining consignee CHOP, destination road, and commodity code criteria
R-GCCCCADD-cbl-01195 Search 3: Use Wildcard for Commodity Code
Action Rules
📊 Business Logic Narrative
When the process 'Search 3: Use Wildcard for Commodity Code' is invoked, and assuming that both primary and secondary broker searches returned no results, when the system performs the final broker search, the desired outcome is that the system uses wildcard values for shipper chop, origin station, and commodity code while maintaining consignee chop and destination road criteria.
💻 Technical Criteria
Given Both primary and secondary broker searches returned no results
When The system performs the final broker search
Then The system uses wildcard values for shipper CHOP, origin station, and commodity code while maintaining consignee CHOP and destination road criteria
R-GCCCCADD-cbl-01207 Set Manifest-To Station Name
Action Rules
📊 Business Logic Narrative
When the process 'Set Manifest-To Station Name' is invoked, and assuming that the crossing table contains a valid manifest-to station specification, when the system processes the manifest-to station override, the desired outcome is that the manifest-to station name is updated with the canadian manifest-to value from the crossing table.
💻 Technical Criteria
Given The crossing table contains a valid manifest-to station specification
When The system processes the manifest-to station override
Then The manifest-to station name is updated with the Canadian manifest-to value from the crossing table
R-GCCCCADD-cbl-01225 Clear Customer Bonded Indicator
Process Rules
📊 Business Logic Narrative
When the process 'Clear Customer Bonded Indicator' is invoked, and assuming that a shipment has in-transit status of transit or return, when the customer bonded status is being processed, the desired outcome is that the customer bonded indicator should be cleared.
💻 Technical Criteria
Given A shipment has in-transit status of TRANSIT or RETURN
When The customer bonded status is being processed
Then The customer bonded indicator should be cleared
R-GCCCCADD-cbl-01231 Origin Country = 'MX'?
Decision Rules
📊 Business Logic Narrative
When the process 'Origin Country = 'MX'?' is invoked, and assuming that the origin country determination process is running, when the current origin country value is evaluated, the desired outcome is that if the origin country is 'mx' (mexico), the process should exit immediately and keep the mexico designation without further state-country validation.
💻 Technical Criteria
Given The origin country determination process is running
When The current origin country value is evaluated
Then If the origin country is 'MX' (Mexico), the process should exit immediately and keep the Mexico designation without further state-country validation
R-GCCCCADD-cbl-01291 Use Fastway Address Information
Validation Rules
📊 Business Logic Narrative
When the process 'Use Fastway Address Information' is invoked, and assuming that fastway data is being used for shipper information, when the system processes fastway address data, the desired outcome is that if shipper address field 1 is blank, 'na' is used; otherwise the address value is extracted to n301 field, and n302 field is set to spaces.
💻 Technical Criteria
Given Fastway data is being used for shipper information
When The system processes Fastway address data
Then If shipper address field 1 is blank, 'NA' is used; otherwise the address value is extracted to N301 field, and N302 field is set to spaces
R-GCCCCADD-cbl-01318 Set Default Address Values
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Default Address Values', assuming that entity segment is being built with address information, when address line 1 is spaces or not provided, the desired outcome is that set address line 1 to 'na' as default value to maintain data integrity.
💻 Technical Criteria
EXCLUDING Entity segment is being built with address information
When Address line 1 is spaces or not provided
Then Set address line 1 to 'NA' as default value to maintain data integrity
R-GCCCCADD-cbl-01330 Communication Qualifier Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Communication Qualifier Valid?' is invoked, and assuming that a communication number qualifier has been extracted from contact data, when the system validates the qualifier value, the desired outcome is that the qualifier must be spaces, 'fx' for fax, or 'te' for telephone, otherwise generate an invalid qualifier error.
💻 Technical Criteria
Given A communication number qualifier has been extracted from contact data
When The system validates the qualifier value
Then The qualifier must be spaces, 'FX' for fax, or 'TE' for telephone, otherwise generate an invalid qualifier error
R-GCCCCADD-cbl-01379 Set Default Address to 'NA'
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Default Address to 'NA'', assuming that beneficial owner address segment does not exist, when processing beneficial owner address information, the desired outcome is that the address line 1 is set to 'na' (not available) as default value.
💻 Technical Criteria
EXCLUDING Beneficial owner address segment does not exist
When Processing beneficial owner address information
Then The address line 1 is set to 'NA' (Not Available) as default value
R-GCCCCADD-cbl-01450 Validate Entity ID Code
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Entity ID Code' is invoked, and assuming that nn entity segments are found in edi bol data with various entity id codes, when the system validates the entity id code against the list of valid entity values, the desired outcome is that only entities with valid id codes (specific predefined values) are processed and invalid entities are skipped.
💻 Technical Criteria
Given NN entity segments are found in EDI BOL data with various entity ID codes
When The system validates the entity ID code against the list of valid entity values
Then Only entities with valid ID codes (specific predefined values) are processed and invalid entities are skipped
R-GCCCCADD-cbl-01463 Store CSA Indicator
Process Rules
📊 Business Logic Narrative
When the process 'Store CSA Indicator' is invoked, and assuming that importer backup process is active and existing importer data is available, when the system backs up importer csa status, the desired outcome is that store the csa indicator value from the customs record to temporary working storage.
💻 Technical Criteria
Given Importer backup process is active and existing importer data is available
When The system backs up importer CSA status
Then Store the CSA indicator value from the customs record to temporary working storage
R-GCCCCADD-cbl-01500 Country is Canada, USA, or Mexico?
Decision Rules
📊 Business Logic Narrative
When the process 'Country is Canada, USA, or Mexico?' is invoked, and assuming that an address contains a country code, when the system evaluates the country code value, the desired outcome is that if country code is canada, usa, or mexico, require state/province validation; otherwise skip state/province requirement.
💻 Technical Criteria
Given An address contains a country code
When The system evaluates the country code value
Then If country code is Canada, USA, or Mexico, require state/province validation; otherwise skip state/province requirement
R-GCCCCADD-cbl-01509 Set Country Code from Table
Process Rules
📊 Business Logic Narrative
When the process 'Set Country Code from Table' is invoked, and assuming that a matching state entry is found in the state-country table, when the system retrieves the corresponding country code, the desired outcome is that set the country code field to the table country entry value.
💻 Technical Criteria
Given A matching state entry is found in the state-country table
When The system retrieves the corresponding country code
Then Set the country code field to the table country entry value
R-GCCCCADD-cbl-01523 Set Default Address Values
Validation Rules
📊 Business Logic Narrative
When the process 'Set Default Address Values' is invoked, and assuming that an entity record is being created and address information is blank or spaces, when processing any entity segment address data, the desired outcome is that set address line 1 to 'na' if blank and leave address line 2 as spaces.
💻 Technical Criteria
Given An entity record is being created and address information is blank or spaces
When Processing any entity segment address data
Then Set address line 1 to 'NA' if blank and leave address line 2 as spaces
R-GCCCCADD-cbl-01535 Populate Shipper from Fastway
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Populate Shipper from Fastway', assuming that edi bol data is not available for shipper entity and fastway shipment data exists, when building shipper record (sequence 0001) and shipper entity type is required, the desired outcome is that set entity id to 'sh' and populate shipper chop code from shipment root and populate shipper name from shipment root and set default address values for missing fields.
💻 Technical Criteria
EXCLUDING EDI BOL data is not available for shipper entity AND Fastway shipment data exists
When Building shipper record (sequence 0001) AND shipper entity type is required
Then Set entity ID to 'SH' AND populate shipper CHOP code from shipment root AND populate shipper name from shipment root AND set default address values for missing fields
R-GCCCCADD-cbl-01536 Set Default Address Values
Validation Rules
📊 Business Logic Narrative
When the process 'Set Default Address Values' is invoked, and assuming that shipper address data from fastway shipment root is being processed, when shipper address field 1 is spaces or shipper address field 2 is spaces or has only first character with remaining spaces, the desired outcome is that set shipper address field 1 to 'na' when spaces and set shipper address field 2 to 'na' for first 18 characters when spaces or incomplete and set shipper country code to 'us' when address field 2 is defaulted.
💻 Technical Criteria
Given Shipper address data from Fastway shipment root is being processed
When Shipper address field 1 is spaces OR shipper address field 2 is spaces or has only first character with remaining spaces
Then Set shipper address field 1 to 'NA' when spaces AND set shipper address field 2 to 'NA' for first 18 characters when spaces or incomplete AND set shipper country code to 'US' when address field 2 is defaulted
R-GCCCCADD-cbl-01537 Populate Consignee from Fastway
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Populate Consignee from Fastway', assuming that edi bol data is not available for consignee entity and fastway shipment data exists, when building consignee record (sequence 0002) and consignee entity type is required, the desired outcome is that set entity id to 'cn' and populate consignee chop code from shipment root and populate consignee name from shipment root consignee data field 1 and set default address values for missing fields.
💻 Technical Criteria
EXCLUDING EDI BOL data is not available for consignee entity AND Fastway shipment data exists
When Building consignee record (sequence 0002) AND consignee entity type is required
Then Set entity ID to 'CN' AND populate consignee CHOP code from shipment root AND populate consignee name from shipment root consignee data field 1 AND set default address values for missing fields
R-GCCCCADD-cbl-01571 Contact qualifier invalid?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Contact qualifier invalid?', assuming that a record has contact communication qualifier populated, when contact qualifier is not spaces, 'fx', or 'te', the desired outcome is that generate invalid contact qualifier value error message.
💻 Technical Criteria
EXCLUDING A record has contact communication qualifier populated
When Contact qualifier is not spaces, 'FX', or 'TE'
Then Generate invalid contact qualifier value error message
R-GCCCCADD-cbl-01587 Retrieve Error Message GCCS-E-GEN-MIN-LEN3-REQ
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Error Message GCCS-E-GEN-MIN-LEN3-REQ' is invoked, and assuming that a postal code has failed the minimum length validation, when the system needs to provide error feedback, the desired outcome is that the system should retrieve the standard minimum length error message.
💻 Technical Criteria
Given A postal code has failed the minimum length validation
When The system needs to provide error feedback
Then The system should retrieve the standard minimum length error message
R-GCCCCADD-cbl-01600 PER03 Qualifier Valid? Blank, FX, or TE
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'PER03 Qualifier Valid? Blank, FX, or TE', assuming that a contact record with a communication number qualifier is being validated, when the communication number qualifier (per03) is not blank, 'fx', or 'te', the desired outcome is that generate an error message indicating invalid qualifier value.
💻 Technical Criteria
EXCLUDING A contact record with a communication number qualifier is being validated
When The communication number qualifier (PER03) is not blank, 'FX', or 'TE'
Then Generate an error message indicating invalid qualifier value
R-GCCCCADD-cbl-01604 Communication Qualifier Valid?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Communication Qualifier Valid?', assuming that a contact record with communication qualifier is being validated, when communication qualifier is not blank and not 'fx' and not 'te', the desired outcome is that system generates invalid communication qualifier value error message.
💻 Technical Criteria
EXCLUDING A contact record with communication qualifier is being validated
When Communication qualifier is not blank AND not 'FX' AND not 'TE'
Then System generates invalid communication qualifier value error message
R-GCCCCADD-cbl-01616 Override Manifest From Port with Calling Program Value
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Override Manifest From Port with Calling Program Value', assuming that a shipment record exists with manifest port information, when the calling program provides a manifest from port override value that is not spaces, the desired outcome is that the shipment's manifest from port is updated with the calling program's provided value.
💻 Technical Criteria
EXCLUDING A shipment record exists with manifest port information
When The calling program provides a manifest from port override value that is not spaces
Then The shipment's manifest from port is updated with the calling program's provided value
R-GCCCCADD-cbl-01617 Override Manifest To Port with Calling Program Value
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Override Manifest To Port with Calling Program Value', assuming that a shipment record exists with manifest port information, when the calling program provides a manifest to port override value that is not spaces, the desired outcome is that the shipment's manifest to port is updated with the calling program's provided value.
💻 Technical Criteria
EXCLUDING A shipment record exists with manifest port information
When The calling program provides a manifest to port override value that is not spaces
Then The shipment's manifest to port is updated with the calling program's provided value
R-GCCCCADD-cbl-01624 Communication Number Present?
Validation Rules
📊 Business Logic Narrative
When the process 'Communication Number Present?' is invoked, and assuming that a contact record with communication number qualifier or contact name populated, when the communication number field contains a value, the desired outcome is that communication number validation passes successfully.
💻 Technical Criteria
Given A contact record with communication number qualifier or contact name populated
When The communication number field contains a value
Then Communication number validation passes successfully
R-GCCCCADD-cbl-02591 Is IMA Code = 'HM'?
Decision Rules
📊 Business Logic Narrative
When the process 'Is IMA Code = 'HM'?' is invoked, and assuming that a shipment with an ima (intermodal movement) code, when the system checks the ima code value, the desired outcome is that if ima code equals 'hm' then process haulage rights, otherwise clear all haulage-related fields.
💻 Technical Criteria
Given A shipment with an IMA (Intermodal Movement) code
When The system checks the IMA code value
Then If IMA code equals 'HM' then process haulage rights, otherwise clear all haulage-related fields
R-GCCCCADD-cbl-02592 Haulage Right Carrier Exists?
Validation Rules
📊 Business Logic Narrative
When the process 'Haulage Right Carrier Exists?' is invoked, and assuming that a shipment identified as haulage movement (ima code = 'hm'), when the system checks if haulage right carrier field contains data, the desired outcome is that if haulage right carrier is blank then set default rejection values, otherwise proceed with carrier lookup.
💻 Technical Criteria
Given A shipment identified as haulage movement (IMA code = 'HM')
When The system checks if haulage right carrier field contains data
Then If haulage right carrier is blank then set default rejection values, otherwise proceed with carrier lookup
R-GCCCCADD-cbl-02593 Set Default Values: - SCAC: 'UNKN' - Automated Flag: Blank - Bill Owner: 'UNKN' - Status: REJECT
Action Rules
📊 Business Logic Narrative
When the process 'Set Default Values: - SCAC: 'UNKN' - Automated Flag: Blank - Bill Owner: 'UNKN' - Status: REJECT' is invoked, and assuming that a haulage movement without a specified haulage rights carrier, when the system processes the haulage validation, the desired outcome is that set haulage rights scac to 'unkn', clear automated flag, set bill owner to 'unkn', and set status to reject haulage.
💻 Technical Criteria
Given A haulage movement without a specified haulage rights carrier
When The system processes the haulage validation
Then Set haulage rights SCAC to 'UNKN', clear automated flag, set bill owner to 'UNKN', and set status to reject haulage
R-GCCCCADD-cbl-02595 Carrier Code Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Carrier Code Found?' is invoked, and assuming that a carrier code lookup has been performed in the cc table, when the system evaluates the lookup result, the desired outcome is that if carrier code is found then use retrieved scac code, otherwise set default rejection values.
💻 Technical Criteria
Given A carrier code lookup has been performed in the CC table
When The system evaluates the lookup result
Then If carrier code is found then use retrieved SCAC code, otherwise set default rejection values
R-GCCCCADD-cbl-02597 Set Default Reject Values
Action Rules
📊 Business Logic Narrative
When the process 'Set Default Reject Values' is invoked, and assuming that a carrier code lookup that failed to find the specified carrier, when the system processes the failed lookup, the desired outcome is that set haulage rights scac to 'unkn', clear automated flag, set reject haulage status, and set bill owner to 'unkn'.
💻 Technical Criteria
Given A carrier code lookup that failed to find the specified carrier
When The system processes the failed lookup
Then Set haulage rights SCAC to 'UNKN', clear automated flag, set reject haulage status, and set bill owner to 'UNKN'
R-GCCCCADD-cbl-02600 SS Table Record Found?
Decision Rules
📊 Business Logic Narrative
When the process 'SS Table Record Found?' is invoked, and assuming that a haulage agreement table lookup has been performed, when the system evaluates the lookup result, the desired outcome is that if ss table record is found then process agreement details, otherwise set default rejection values.
💻 Technical Criteria
Given A haulage agreement table lookup has been performed
When The system evaluates the lookup result
Then If SS table record is found then process agreement details, otherwise set default rejection values
R-GCCCCADD-cbl-02601 Set Automated Carrier Flag from SS Table
Action Rules
📊 Business Logic Narrative
When the process 'Set Automated Carrier Flag from SS Table' is invoked, and assuming that a successful ss table lookup with haulage agreement information, when the system processes the agreement details, the desired outcome is that set the haulage automated flag to the automated carrier value from the ss table record.
💻 Technical Criteria
Given A successful SS table lookup with haulage agreement information
When The system processes the agreement details
Then Set the haulage automated flag to the automated carrier value from the SS table record
R-GCCCCADD-cbl-02607 Set Bill-As SCAC from SS Table 'Haulage Bill Initial'
Action Rules
📊 Business Logic Narrative
When the process 'Set Bill-As SCAC from SS Table 'Haulage Bill Initial'' is invoked, and assuming that a haulage movement with valid ss table record, when the system processes billing assignment for haulage, the desired outcome is that set the bill-as scac to the haulage bill initial value from the ss table.
💻 Technical Criteria
Given A haulage movement with valid SS table record
When The system processes billing assignment for haulage
Then Set the bill-as SCAC to the haulage bill initial value from the SS table
R-GCCCCADD-cbl-02608 Set Bill-As SCAC from SS Table 'Line Bill Initial'
Action Rules
📊 Business Logic Narrative
When the process 'Set Bill-As SCAC from SS Table 'Line Bill Initial'' is invoked, and assuming that a non-haulage movement with valid ss table record, when the system processes billing assignment for line haul, the desired outcome is that set the bill-as scac to the line bill initial value from the ss table.
💻 Technical Criteria
Given A non-haulage movement with valid SS table record
When The system processes billing assignment for line haul
Then Set the bill-as SCAC to the line bill initial value from the SS table
R-GCCCCADD-cbl-02609 Set Default Values for No SS Record: - Automated Flag: Blank - Status: REJECT - Bill Owner: 'UNKN' - Bill-As SCAC: 'UNKN'
Action Rules
📊 Business Logic Narrative
When the process 'Set Default Values for No SS Record: - Automated Flag: Blank - Status: REJECT - Bill Owner: 'UNKN' - Bill-As SCAC: 'UNKN'' is invoked, and assuming that a haulage movement where ss table lookup failed, when the system processes the failed lookup, the desired outcome is that clear automated flag, set reject haulage status, set bill owner to 'unkn', and set bill-as scac to 'unkn'.
💻 Technical Criteria
Given A haulage movement where SS table lookup failed
When The system processes the failed lookup
Then Clear automated flag, set reject haulage status, set bill owner to 'UNKN', and set bill-as SCAC to 'UNKN'
R-GCCCCADD-cbl-02248 Is IMA Code = 'HM'?
Decision Rules
📊 Business Logic Narrative
When the process 'Is IMA Code = 'HM'?' is invoked, and assuming that a shipment record with an ima code, when the system evaluates the ima code value, the desired outcome is that if ima code equals 'hm' then haulage processing is initiated, otherwise haulage flags are cleared.
💻 Technical Criteria
Given A shipment record with an IMA code
When The system evaluates the IMA code value
Then If IMA code equals 'HM' then haulage processing is initiated, otherwise haulage flags are cleared
R-GCCCCADD-cbl-02260 Set Reject Haulage Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Reject Haulage Status' is invoked, and assuming that a failed ss table lookup for haulage processing, when the system handles the lookup failure, the desired outcome is that if haulage processing then set reject status and unknown values, otherwise set default '6105' values.
💻 Technical Criteria
Given A failed SS table lookup for haulage processing
When The system handles the lookup failure
Then If haulage processing then set reject status and unknown values, otherwise set default '6105' values
R-GCCCCADD-cbl-01655 Set Default Values for Missing SS Entry
Action Rules
📊 Business Logic Narrative
When the process 'Set Default Values for Missing SS Entry' is invoked, and assuming that a failed ss table lookup for haulage agreement, when the system cannot find agreement details, the desired outcome is that the system should set default values: clear automated flag and set reject status for haulage mode, or set bill owner and bill as scac to '6105' for non-haulage mode.
💻 Technical Criteria
Given A failed SS table lookup for haulage agreement
When The system cannot find agreement details
Then The system should set default values: clear automated flag and set reject status for haulage mode, or set bill owner and bill as SCAC to '6105' for non-haulage mode
R-GCCCCADD-cbl-01657 Is IMA Code = 'HM'?
Decision Rules
📊 Business Logic Narrative
When the process 'Is IMA Code = 'HM'?' is invoked, and assuming that a shipment with an ima code, when the system checks the ima code value, the desired outcome is that if ima code equals 'hm' then haulage processing is required, otherwise skip haulage processing and set default billing information.
💻 Technical Criteria
Given A shipment with an IMA code
When The system checks the IMA code value
Then If IMA code equals 'HM' then haulage processing is required, otherwise skip haulage processing and set default billing information
R-GCCCCADD-cbl-01670 Haulage Right Carrier Available?
Validation Rules
📊 Business Logic Narrative
When the process 'Haulage Right Carrier Available?' is invoked, and assuming that a haulage movement shipment, when the system checks if the haulage right carrier field contains a value other than spaces, the desired outcome is that if no carrier is specified, set bill owner to 'unkn', clear haulage automated flag, set bill owner to 'unkn', and set reject haulage status to true.
💻 Technical Criteria
Given A haulage movement shipment
When The system checks if the haulage right carrier field contains a value other than spaces
Then If no carrier is specified, set bill owner to 'UNKN', clear haulage automated flag, set bill owner to 'UNKN', and set reject haulage status to true
R-GCCCCADD-cbl-02277 Extract Address Line 1 and Extract Address Line 2
Process Rules
📊 Business Logic Narrative
When the process 'Extract Address Line 1 and Extract Address Line 2' is invoked, and assuming that importer n3 address segment is found in edi bol, when the system processes importer address information, the desired outcome is that address line 1 is extracted, and if it is blank or low-values then it is set to 'na', and address line 2 is extracted.
💻 Technical Criteria
Given Importer N3 address segment is found in EDI BOL
When The system processes importer address information
Then Address line 1 is extracted, and if it is blank or low-values then it is set to 'NA', and address line 2 is extracted
R-GCCCCADD-cbl-01725 Backup CSA Indicator
Process Rules
📊 Business Logic Narrative
When the process 'Backup CSA Indicator' is invoked, and assuming that current importer record contains csa indicator information, when the system backs up csa status before applying corrector edi changes, the desired outcome is that the csa indicator value is stored in temporary backup field ws-temp-csa-ind.
💻 Technical Criteria
Given Current importer record contains CSA indicator information
When The system backs up CSA status before applying corrector EDI changes
Then The CSA indicator value is stored in temporary backup field WS-TEMP-CSA-IND
R-GCCCCADD-cbl-01751 N3 Segment Found?
Decision Rules
📊 Business Logic Narrative
When the process 'N3 Segment Found?' is invoked, and assuming that the system is processing importer address information, when the n3 segment retrieval is attempted from edi bol, the desired outcome is that if n3 segment is found, extract address details; if not found, set default address values.
💻 Technical Criteria
Given The system is processing importer address information
When The N3 segment retrieval is attempted from EDI BOL
Then If N3 segment is found, extract address details; if not found, set default address values
R-GCCCCADD-cbl-01757 Clear Address Line 2
Process Rules
📊 Business Logic Narrative
When the process 'Clear Address Line 2' is invoked, and assuming that no n3 segment is found in the edi bol, when the system sets default address values, the desired outcome is that the system clears address line 2 field.
💻 Technical Criteria
Given No N3 segment is found in the EDI BOL
When The system sets default address values
Then The system clears Address Line 2 field
R-GCCCCADD-cbl-01811 Set Sequential Number from Index
Process Rules
📊 Business Logic Narrative
When the process 'Set Sequential Number from Index' is invoked, and assuming that a customs record is being processed with a valid index position, when the system assigns the sequential number to the record, the desired outcome is that the current index value is used as the sequential number for the record key.
💻 Technical Criteria
Given A customs record is being processed with a valid index position
When The system assigns the sequential number to the record
Then The current index value is used as the sequential number for the record key
R-GCCCCADD-cbl-01832 Extract Address Line 1
Validation Rules
📊 Business Logic Narrative
When the process 'Extract Address Line 1' is invoked, and assuming that importer n3 address segment is available, when processing address information, the desired outcome is that address line 1 should be extracted from d2-addl-name-addr-1 field and stored in customs record, or set to 'na' if blank or low-values.
💻 Technical Criteria
Given Importer N3 address segment is available
When Processing address information
Then Address line 1 should be extracted from D2-ADDL-NAME-ADDR-1 field and stored in customs record, or set to 'NA' if blank or low-values
R-GCCCCADD-cbl-01883 Set Address Line 1 to 'NA'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Address Line 1 to 'NA'' is invoked, and assuming that no edi address segment is available and address data has been cleared, when the system requires a value for address line 1, the desired outcome is that the system should set address line 1 to 'na' as the fallback default value.
💻 Technical Criteria
Given No EDI address segment is available and address data has been cleared
When The system requires a value for address line 1
Then The system should set address line 1 to 'NA' as the fallback default value

📍 Routing, Border & Port 938 logic blocks
R-GCCCCADD-cbl-00002 Importer Data Backup
Process Rules
📊 Business Logic Narrative
When the process 'Importer Data Backup' is invoked, and assuming that importer name, business number, and business number qualifier are all provided, when the system searches through customs records sequence 3 to 24 for existing importer data, the desired outcome is that for each sequence, retrieve customs record type 55. if entity id equals 'im', extract all importer details including name, address, contact information, and csa indicator. set importer found flag and clear importer fields from input.
💻 Technical Criteria
Given Importer name, business number, and business number qualifier are all provided
When The system searches through customs records sequence 3 to 24 for existing importer data
Then For each sequence, retrieve customs record type 55. If entity ID equals 'IM', extract all importer details including name, address, contact information, and CSA indicator. Set importer found flag and clear importer fields from input
R-GCCCCADD-cbl-00004 Station Information Retrieval
Validation Rules
📊 Business Logic Narrative
When the process 'Station Information Retrieval' is invoked, and assuming that origin and destination station information from shipment data, when the system validates station names and state codes, the desired outcome is that if origin station name is blank, add error message for invalid origin station name. if origin station state code is blank, add error message for invalid origin province/state code, otherwise determine origin country from state code lookup. if destination station name is blank, add error message for invalid destination station name.
💻 Technical Criteria
Given Origin and destination station information from shipment data
When The system validates station names and state codes
Then If origin station name is blank, add error message for invalid origin station name. If origin station state code is blank, add error message for invalid origin province/state code, otherwise determine origin country from state code lookup. If destination station name is blank, add error message for invalid destination station name
R-GCCCCADD-cbl-00005 Manifest Port Determination
Decision Rules
📊 Business Logic Narrative
When the process 'Manifest Port Determination' is invoked, and assuming that an action code and multi-manifest indicator from the request, when the system determines manifest port requirements, the desired outcome is that if action is iis-a6 or multi-manifest indicator equals 'y' and manifest from port is blank, set manifest from port to 'iis-a6'. if action is iis-a6 or multi-manifest indicator equals 'y' and manifest to port is blank, set manifest to port to 'iis-a6'.
💻 Technical Criteria
Given An action code and multi-manifest indicator from the request
When The system determines manifest port requirements
Then If action is IIS-A6 or multi-manifest indicator equals 'Y' and manifest from port is blank, set manifest from port to 'IIS-A6'. If action is IIS-A6 or multi-manifest indicator equals 'Y' and manifest to port is blank, set manifest to port to 'IIS-A6'
R-GCCCCADD-cbl-00007 Customs Code Validation
Validation Rules
📊 Business Logic Narrative
When the process 'Customs Code Validation' is invoked, and assuming that manifest from and to port names requiring customs code validation, when the system looks up ports in the mc table and validates customs codes, the desired outcome is that for manifest from port: if lookup successful but canadian customs code equals '00000', add error for invalid canadian customs code. if lookup fails, add error for invalid manifest port. for manifest to port: if blank, set error flag 1. if lookup successful but canadian customs code equals '00000', set error flag 2. if lookup fails, set error flag 3.
💻 Technical Criteria
Given Manifest from and to port names requiring customs code validation
When The system looks up ports in the MC table and validates customs codes
Then For manifest from port: if lookup successful but Canadian customs code equals '00000', add error for invalid Canadian customs code. If lookup fails, add error for invalid manifest port. For manifest to port: if blank, set error flag 1. If lookup successful but Canadian customs code equals '00000', set error flag 2. If lookup fails, set error flag 3
R-GCCCCADD-cbl-00008 Sub-location Code Determination
Decision Rules
📊 Business Logic Narrative
When the process 'Sub-location Code Determination' is invoked, and assuming that manifest to station name and destination country information, when the system determines sub-location code requirements, the desired outcome is that if manifest to station equals 'iis-a6' and destination is not us, lookup destination station in cm table to get port manifest information and set sub-location code from lookup results.
💻 Technical Criteria
Given Manifest to station name and destination country information
When The system determines sub-location code requirements
Then If manifest to station equals 'IIS-A6' and destination is not US, lookup destination station in CM table to get port manifest information and set sub-location code from lookup results
R-GCCCCADD-cbl-00010 Sub-location Requirement Validation
Validation Rules
📊 Business Logic Narrative
When the process 'Sub-location Requirement Validation' is invoked, and assuming that sub-location code, csa indicator, manifest station information, destination country, and arrival indicator, when the system evaluates sub-location code requirements, the desired outcome is that if sub-location code is present or (sub-location code is blank and (csa indicator is on or manifest stations are the same but not 'iis-a6' or destination is us or arrival indicator is 'y')), continue processing. otherwise, set sub-location error flag.
💻 Technical Criteria
Given Sub-location code, CSA indicator, manifest station information, destination country, and arrival indicator
When The system evaluates sub-location code requirements
Then If sub-location code is present OR (sub-location code is blank AND (CSA indicator is on OR manifest stations are the same but not 'IIS-A6' OR destination is US OR arrival indicator is 'Y')), continue processing. Otherwise, set sub-location error flag
R-GCCCCADD-cbl-00025 Importer Data Processing
Decision Rules
📊 Business Logic Narrative
When the process 'Importer Data Processing' is invoked, and assuming that csa indicator status, au table data availability, and existing importer information, when the system determines importer data source and processing, the desired outcome is that if csa indicator is on or au table is blank or existing importer data is present, continue with current importer data. otherwise, if au table contains importer and business number, use au importer data, set business number qualifier to 'm5', and turn on csa indicator.
💻 Technical Criteria
Given CSA indicator status, AU table data availability, and existing importer information
When The system determines importer data source and processing
Then If CSA indicator is on or AU table is blank or existing importer data is present, continue with current importer data. Otherwise, if AU table contains importer and business number, use AU importer data, set business number qualifier to 'M5', and turn on CSA indicator
R-GCCCCADD-cbl-00026 CSA Indicator Management
Policy Rules
📊 Business Logic Narrative
When the process 'CSA Indicator Management' is invoked, and assuming that in-transit status (transit or return) and csa indicator status, when the system processes csa indicator for transit shipments, the desired outcome is that if in-transit status is transit or return and csa indicator is on, turn off csa indicator, set au importer not found flag, and clear importer name, business number qualifier, and business number fields.
💻 Technical Criteria
Given In-transit status (transit or return) and CSA indicator status
When The system processes CSA indicator for transit shipments
Then If in-transit status is transit or return and CSA indicator is on, turn off CSA indicator, set AU importer not found flag, and clear importer name, business number qualifier, and business number fields
R-GCCCCADD-cbl-00028 Country Code Determination
Definitional Rules
📊 Business Logic Narrative
When the process 'Country Code Determination' is invoked, and assuming that origin and destination station state codes, when the system determines country codes, the desired outcome is that for origin station state code, search state-country table to find matching entry and set origin country. for destination station state code, search state-country table to find matching entry and set destination country. if no match found, leave country code blank.
💻 Technical Criteria
Given Origin and destination station state codes
When The system determines country codes
Then For origin station state code, search state-country table to find matching entry and set origin country. For destination station state code, search state-country table to find matching entry and set destination country. If no match found, leave country code blank
R-GCCCCADD-cbl-00032 Broker Data Validation
Decision Rules
📊 Business Logic Narrative
When the process 'Broker Data Validation' is invoked, and assuming that broker data from crossing table lookup and existing broker information, when the system validates and applies broker data, the desired outcome is that if crossing table data found and override flag equals 'y', apply broker data. if crossing table data found and override flag not 'y', apply broker data only if current broker name is blank, 'unknown', or 'not-req'. if broker specifies canadian manifest to station, update manifest to station information and validate customs codes.
💻 Technical Criteria
Given Broker data from crossing table lookup and existing broker information
When The system validates and applies broker data
Then If crossing table data found and override flag equals 'Y', apply broker data. If crossing table data found and override flag not 'Y', apply broker data only if current broker name is blank, 'UNKNOWN', or 'NOT-REQ'. If broker specifies Canadian manifest to station, update manifest to station information and validate customs codes
R-GCCCCADD-cbl-00033 Customs 2000 Detour Processing
Policy Rules
📊 Business Logic Narrative
When the process 'Customs 2000 Detour Processing' is invoked, and assuming that action code of 'rt' (return) or 'us' (transit), when the system processes transit/return actions, the desired outcome is that set broker name to 'not-req' and clear broker name 2. for 'rt' action: set in-transit status to return, application type to '33', clear destination station information, and update origin station from port lookup. for 'us' action: set in-transit status to transit and application type to '33'.
💻 Technical Criteria
Given Action code of 'RT' (return) or 'US' (transit)
When The system processes transit/return actions
Then Set broker name to 'NOT-REQ' and clear broker name 2. For 'RT' action: set in-transit status to RETURN, application type to '33', clear destination station information, and update origin station from port lookup. For 'US' action: set in-transit status to TRANSIT and application type to '33'
R-GCCCCADD-cbl-00035 Shipper Record Building
Process Rules
📊 Business Logic Narrative
When the process 'Shipper Record Building' is invoked, and assuming that edi bol shipper data or fastway shipment shipper data, when the system builds the shipper customs record, the desired outcome is that set entity id to 'sh', sequence to '0001'. if edi shipper data found, use consignor name and shipper chop from edi, get address from edi address segments, get contact information from edi contact segments. if edi data not found, use shipper data from fastway shipment root. validate all segments and insert customs record.
💻 Technical Criteria
Given EDI BOL shipper data or FastWay shipment shipper data
When The system builds the shipper customs record
Then Set entity ID to 'SH', sequence to '0001'. If EDI shipper data found, use consignor name and shipper chop from EDI, get address from EDI address segments, get contact information from EDI contact segments. If EDI data not found, use shipper data from FastWay shipment root. Validate all segments and insert customs record
R-GCCCCADD-cbl-00036 Consignee Record Building
Process Rules
📊 Business Logic Narrative
When the process 'Consignee Record Building' is invoked, and assuming that edi bol consignee data or fastway shipment consignee data, when the system builds the consignee customs record, the desired outcome is that set entity id to 'cn', sequence to '0002'. if edi consignee data found, use shipper name and consignee chop from edi, get address from edi address segments, get contact information from edi contact segments. if edi data not found, use consignee data from fastway shipment root. validate all segments and insert customs record.
💻 Technical Criteria
Given EDI BOL consignee data or FastWay shipment consignee data
When The system builds the consignee customs record
Then Set entity ID to 'CN', sequence to '0002'. If EDI consignee data found, use shipper name and consignee chop from EDI, get address from EDI address segments, get contact information from EDI contact segments. If EDI data not found, use consignee data from FastWay shipment root. Validate all segments and insert customs record
R-GCCCCADD-cbl-00040 Importer Segment Building
Decision Rules
📊 Business Logic Narrative
When the process 'Importer Segment Building' is invoked, and assuming that edi importer data, au table importer data, or backed up importer information, when the system builds the importer segment, the desired outcome is that if edi importer data found, create importer record with edi details and manage csa indicator based on business number qualifier. if edi data not found but backed up importer data exists, use backed up data. if au table data found and no other importer data, create importer record from au table with business number qualifier 'm5' and turn on csa indicator.
💻 Technical Criteria
Given EDI importer data, AU table importer data, or backed up importer information
When The system builds the importer segment
Then If EDI importer data found, create importer record with EDI details and manage CSA indicator based on business number qualifier. If EDI data not found but backed up importer data exists, use backed up data. If AU table data found and no other importer data, create importer record from AU table with business number qualifier 'M5' and turn on CSA indicator
R-GCCCCADD-cbl-00046 Check for Existing Importer Data
Decision Rules
📊 Business Logic Narrative
When the process 'Check for Existing Importer Data' is invoked, and assuming that customs manifest processing is being initialized, when the system evaluates importer data availability, the desired outcome is that if importer, business number, and business number qualifier are all present, proceed to search for existing importer records.
💻 Technical Criteria
Given Customs manifest processing is being initialized
When The system evaluates importer data availability
Then If importer, business number, and business number qualifier are all present, proceed to search for existing importer records
R-GCCCCADD-cbl-00047 Search for Existing Importer in Customs Records
Process Rules
📊 Business Logic Narrative
When the process 'Search for Existing Importer in Customs Records' is invoked, and assuming that importer data exists in input and search criteria are met, when the system searches customs records from sequence 3 to 24, the desired outcome is that for each sequence, retrieve customs record type 55 and check if entity id equals 'im' for importer records.
💻 Technical Criteria
Given Importer data exists in input and search criteria are met
When The system searches customs records from sequence 3 to 24
Then For each sequence, retrieve customs record type 55 and check if entity ID equals 'IM' for importer records
R-GCCCCADD-cbl-00048 Backup Existing Importer Data
Process Rules
📊 Business Logic Narrative
When the process 'Backup Existing Importer Data' is invoked, and assuming that an existing importer record is found in customs records, when the system processes the found importer data, the desired outcome is that extract and store all importer details including name, address, contact information, and clear original importer fields from input.
💻 Technical Criteria
Given An existing importer record is found in customs records
When The system processes the found importer data
Then Extract and store all importer details including name, address, contact information, and clear original importer fields from input
R-GCCCCADD-cbl-00049 Initialize Customs Record Arrays
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Customs Record Arrays' is invoked, and assuming that program initialization is completing, when customs record storage areas need to be prepared, the desired outcome is that clear customs record type 55 arrays and set initial sequence index to 3.
💻 Technical Criteria
Given Program initialization is completing
When Customs record storage areas need to be prepared
Then Clear customs record type 55 arrays and set initial sequence index to 3
R-GCCCCADD-cbl-00050 Corrector EDI with Existing Importer Data?
Decision Rules
📊 Business Logic Narrative
When the process 'Corrector EDI with Existing Importer Data?' is invoked, and assuming that a corrector edi transaction is being processed and importer data exists in input parameters and business number and business number qualifier are present, when the system checks for existing importer data, the desired outcome is that the system should initiate backup process if all importer fields are populated.
💻 Technical Criteria
Given A corrector EDI transaction is being processed AND importer data exists in input parameters AND business number and business number qualifier are present
When The system checks for existing importer data
Then The system should initiate backup process if all importer fields are populated
R-GCCCCADD-cbl-00052 Importer Record Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Importer Record Found?' is invoked, and assuming that system has searched customs database records for importer information, when a record is retrieved with entity id code equal to 'im', the desired outcome is that the system should set importer found flag and proceed with data extraction.
💻 Technical Criteria
Given System has searched customs database records for importer information
When A record is retrieved with entity ID code equal to 'IM'
Then The system should set importer found flag and proceed with data extraction
R-GCCCCADD-cbl-00053 Extract Current Importer Information
Action Rules
📊 Business Logic Narrative
When the process 'Extract Current Importer Information' is invoked, and assuming that an importer record has been found in the customs database, when the system processes the importer record, the desired outcome is that the system should extract entity id, name, chop code, business identifiers, and set importer found status.
💻 Technical Criteria
Given An importer record has been found in the customs database
When The system processes the importer record
Then The system should extract entity ID, name, CHOP code, business identifiers, and set importer found status
R-GCCCCADD-cbl-00054 Backup Importer Name and CHOP Code
Process Rules
📊 Business Logic Narrative
When the process 'Backup Importer Name and CHOP Code' is invoked, and assuming that importer information has been extracted from database record, when the system processes importer identification data, the desired outcome is that the system should store importer name and chop code in temporary backup variables.
💻 Technical Criteria
Given Importer information has been extracted from database record
When The system processes importer identification data
Then The system should store importer name and CHOP code in temporary backup variables
R-GCCCCADD-cbl-00055 Backup Business Number and Qualifier
Process Rules
📊 Business Logic Narrative
When the process 'Backup Business Number and Qualifier' is invoked, and assuming that importer identification data has been backed up, when the system processes business registration information, the desired outcome is that the system should store business number qualifier and business number in temporary backup variables.
💻 Technical Criteria
Given Importer identification data has been backed up
When The system processes business registration information
Then The system should store business number qualifier and business number in temporary backup variables
R-GCCCCADD-cbl-00057 Backup City, State, Postal Code
Process Rules
📊 Business Logic Narrative
When the process 'Backup City, State, Postal Code' is invoked, and assuming that address information has been backed up, when the system processes geographic location data, the desired outcome is that the system should store city name, state/province code, and postal code in temporary backup variables.
💻 Technical Criteria
Given Address information has been backed up
When The system processes geographic location data
Then The system should store city name, state/province code, and postal code in temporary backup variables
R-GCCCCADD-cbl-00058 Backup Country Code
Process Rules
📊 Business Logic Narrative
When the process 'Backup Country Code' is invoked, and assuming that geographic location data has been backed up, when the system processes country information, the desired outcome is that the system should store country code in temporary backup variable.
💻 Technical Criteria
Given Geographic location data has been backed up
When The system processes country information
Then The system should store country code in temporary backup variable
R-GCCCCADD-cbl-00061 Set Backup Completion Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Backup Completion Flag' is invoked, and assuming that all importer data has been backed up to temporary variables, when the backup process completes successfully, the desired outcome is that the system should set importer found flag to indicate backup completion.
💻 Technical Criteria
Given All importer data has been backed up to temporary variables
When The backup process completes successfully
Then The system should set importer found flag to indicate backup completion
R-GCCCCADD-cbl-00062 Clear Original Importer Fields
Process Rules
📊 Business Logic Narrative
When the process 'Clear Original Importer Fields' is invoked, and assuming that importer data backup has been completed, when the system prepares for corrector processing, the desired outcome is that the system should clear importer, business number, and business number qualifier fields from input.
💻 Technical Criteria
Given Importer data backup has been completed
When The system prepares for corrector processing
Then The system should clear importer, business number, and business number qualifier fields from input
R-GCCCCADD-cbl-00063 Skip Backup - No Existing Data
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Skip Backup - No Existing Data', assuming that system is not processing corrector edi or no existing importer data is found in database search, when the backup process evaluation occurs, the desired outcome is that the system should skip backup operations and continue with normal processing.
💻 Technical Criteria
EXCLUDING System is not processing corrector EDI OR no existing importer data is found in database search
When The backup process evaluation occurs
Then The system should skip backup operations and continue with normal processing
R-GCCCCADD-cbl-00077 Set Origin Station Name to GCCC-ORIGIN-STATION-NAME
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Origin Station Name to GCCC-ORIGIN-STATION-NAME' is invoked, and assuming that a shipment record with a valid origin station name, when the origin station name field contains data, the desired outcome is that set the origin station name in the customs manifest record.
💻 Technical Criteria
Given A shipment record with a valid origin station name
When The origin station name field contains data
Then Set the origin station name in the customs manifest record
R-GCCCCADD-cbl-00079 Set Origin Station State Code to GCCC-ORIGIN-STATION-STATE-CODE
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Origin Station State Code to GCCC-ORIGIN-STATION-STATE-CODE' is invoked, and assuming that a shipment record with a valid origin province or state code, when the origin province or state code field contains data, the desired outcome is that set the origin station state code in the customs manifest record and perform origin country determination.
💻 Technical Criteria
Given A shipment record with a valid origin province or state code
When The origin province or state code field contains data
Then Set the origin station state code in the customs manifest record and perform origin country determination
R-GCCCCADD-cbl-00080 Convert Origin Station Number from Character to Numeric
Computation Rules
📊 Business Logic Narrative
When the process 'Convert Origin Station Number from Character to Numeric' is invoked, and assuming that a shipment record with origin station number in character format, when processing origin station information, the desired outcome is that convert the character station number to numeric format and assign to the customs manifest origin station number field.
💻 Technical Criteria
Given A shipment record with origin station number in character format
When Processing origin station information
Then Convert the character station number to numeric format and assign to the customs manifest origin station number field
R-GCCCCADD-cbl-00082 Set Destination Station Name to GCCC-DESTIN-STATION-NAME
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Destination Station Name to GCCC-DESTIN-STATION-NAME' is invoked, and assuming that a shipment record with a valid destination station name, when the destination station name field contains data, the desired outcome is that set the destination station name in the customs manifest record.
💻 Technical Criteria
Given A shipment record with a valid destination station name
When The destination station name field contains data
Then Set the destination station name in the customs manifest record
R-GCCCCADD-cbl-00083 Set Destination Station State Code to GCCC-DESTIN-STATION-STATE-CODE
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Destination Station State Code to GCCC-DESTIN-STATION-STATE-CODE' is invoked, and assuming that a shipment record with destination province or state code information, when processing destination station information, the desired outcome is that set the destination station state code in the customs manifest record.
💻 Technical Criteria
Given A shipment record with destination province or state code information
When Processing destination station information
Then Set the destination station state code in the customs manifest record
R-GCCCCADD-cbl-00084 Convert Destination Station Number from Character to Numeric
Computation Rules
📊 Business Logic Narrative
When the process 'Convert Destination Station Number from Character to Numeric' is invoked, and assuming that a shipment record with destination station number in character format, when processing destination station information, the desired outcome is that convert the character station number to numeric format and assign to the customs manifest destination station number field.
💻 Technical Criteria
Given A shipment record with destination station number in character format
When Processing destination station information
Then Convert the character station number to numeric format and assign to the customs manifest destination station number field
R-GCCCCADD-cbl-00085 Set default manifest-from port to 'IIS-A6'
Decision Rules
📊 Business Logic Narrative
When the process 'Set default manifest-from port to 'IIS-A6'' is invoked, and assuming that a shipment is being processed for customs manifest creation, when the action code is iis-a6 or the multi-manifest indicator equals 'y' and the manifest from port in shipment root is blank, the desired outcome is that set the manifest from port to 'iis-a6'.
💻 Technical Criteria
Given A shipment is being processed for customs manifest creation
When The action code is IIS-A6 OR the multi-manifest indicator equals 'Y' AND the manifest from port in shipment root is blank
Then Set the manifest from port to 'IIS-A6'
R-GCCCCADD-cbl-00086 Lookup manifest-from port in MC table
Action Rules
📊 Business Logic Narrative
When the process 'Lookup manifest-from port in MC table' is invoked, and assuming that a manifest from port has been determined from shipment root data, when the system needs to validate and get details for the manifest from port, the desired outcome is that perform a lookup in the mc table using the manifest from port as the sequence id.
💻 Technical Criteria
Given A manifest from port has been determined from shipment root data
When The system needs to validate and get details for the manifest from port
Then Perform a lookup in the MC table using the manifest from port as the sequence ID
R-GCCCCADD-cbl-00087 Canadian customs code = '00000'?
Validation Rules
📊 Business Logic Narrative
When the process 'Canadian customs code = '00000'?' is invoked, and assuming that mc table lookup for manifest from port was successful, when the canadian customs code from mc table equals '00000', the desired outcome is that clear the mc table data and add an error message for invalid canadian customs code for manifest port.
💻 Technical Criteria
Given MC table lookup for manifest from port was successful
When The Canadian customs code from MC table equals '00000'
Then Clear the MC table data AND add an error message for invalid Canadian customs code for manifest port
R-GCCCCADD-cbl-00088 Add invalid manifest port error message
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Add invalid manifest port error message', assuming that a manifest from port needs to be validated in the mc table, when the mc table lookup is not successful, the desired outcome is that clear the mc table data and add an error message for invalid manifest port.
💻 Technical Criteria
EXCLUDING A manifest from port needs to be validated in the MC table
When The MC table lookup is not successful
Then Clear the MC table data AND add an error message for invalid manifest port
R-GCCCCADD-cbl-00089 Set manifest-from station code
Process Rules
📊 Business Logic Narrative
When the process 'Set manifest-from station code' is invoked, and assuming that mc table lookup for manifest from port was successful and canadian customs code is valid, when processing manifest from port information, the desired outcome is that set the manifest from station code to the canadian customs code from mc table and set the us port of exit code from mc table.
💻 Technical Criteria
Given MC table lookup for manifest from port was successful AND Canadian customs code is valid
When Processing manifest from port information
Then Set the manifest from station code to the Canadian customs code from MC table AND set the US port of exit code from MC table
R-GCCCCADD-cbl-00090 Set default manifest-to port to 'IIS-A6'
Decision Rules
📊 Business Logic Narrative
When the process 'Set default manifest-to port to 'IIS-A6'' is invoked, and assuming that a shipment is being processed for customs manifest creation, when the action code is iis-a6 or the multi-manifest indicator equals 'y' and the manifest to port in shipment root is blank, the desired outcome is that set the manifest to port to 'iis-a6'.
💻 Technical Criteria
Given A shipment is being processed for customs manifest creation
When The action code is IIS-A6 OR the multi-manifest indicator equals 'Y' AND the manifest to port in shipment root is blank
Then Set the manifest to port to 'IIS-A6'
R-GCCCCADD-cbl-00091 Set error flag for missing manifest-to port
Validation Rules
📊 Business Logic Narrative
When the process 'Set error flag for missing manifest-to port' is invoked, and assuming that a shipment requires manifest to port information, when the manifest to port from shipment root is blank, the desired outcome is that set error flag 1 to on.
💻 Technical Criteria
Given A shipment requires manifest to port information
When The manifest to port from shipment root is blank
Then Set error flag 1 to ON
R-GCCCCADD-cbl-00092 Canadian customs code = '00000'?
Validation Rules
📊 Business Logic Narrative
When the process 'Canadian customs code = '00000'?' is invoked, and assuming that mc table lookup for manifest to port was successful, when the canadian customs code from mc table equals '00000', the desired outcome is that clear the mc table data and set error flag 2 to on and save the port name for error messaging.
💻 Technical Criteria
Given MC table lookup for manifest to port was successful
When The Canadian customs code from MC table equals '00000'
Then Clear the MC table data AND set error flag 2 to ON AND save the port name for error messaging
R-GCCCCADD-cbl-00093 Add invalid customs code error message
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Add invalid customs code error message', assuming that a manifest to port needs to be validated in the mc table, when the mc table lookup is not successful, the desired outcome is that clear the mc table data and set error flag 3 to on and save the port name for error messaging.
💻 Technical Criteria
EXCLUDING A manifest to port needs to be validated in the MC table
When The MC table lookup is not successful
Then Clear the MC table data AND set error flag 3 to ON AND save the port name for error messaging
R-GCCCCADD-cbl-01902 Is Canadian Customs Code '00000'?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Canadian Customs Code '00000'?' is invoked, and assuming that the mc table lookup was successful and returned a canadian customs code, when the canadian customs code equals '00000', the desired outcome is that the system should clear the mc table data and generate an error message for invalid canadian customs code.
💻 Technical Criteria
Given The MC table lookup was successful and returned a Canadian customs code
When The Canadian customs code equals '00000'
Then The system should clear the MC table data and generate an error message for invalid Canadian customs code
R-GCCCCADD-cbl-01903 Generate MC Table Not Found Error
Validation Rules
📊 Business Logic Narrative
When the process 'Generate MC Table Not Found Error' is invoked, and assuming that a manifest-from port code is provided for lookup, when the mc table lookup fails to find a matching record, the desired outcome is that the system should clear mc table data and generate an error message indicating the manifest port was not found in mc table.
💻 Technical Criteria
Given A manifest-from port code is provided for lookup
When The MC table lookup fails to find a matching record
Then The system should clear MC table data and generate an error message indicating the manifest port was not found in MC table
R-GCCCCADD-cbl-01904 Set Manifest-From Station Code
Process Rules
📊 Business Logic Narrative
When the process 'Set Manifest-From Station Code' is invoked, and assuming that the mc table lookup was successful and returned a valid canadian customs code (not '00000'), when the system processes the mc table record, the desired outcome is that the manifest-from station code should be set to the canadian customs code and the us port of exit code should be set from the mc record.
💻 Technical Criteria
Given The MC table lookup was successful and returned a valid Canadian customs code (not '00000')
When The system processes the MC table record
Then The manifest-from station code should be set to the Canadian customs code and the US port of exit code should be set from the MC record
R-GCCCCADD-cbl-02301 Lookup Manifest From Port in MC Table
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Manifest From Port in MC Table' is invoked, and assuming that a manifest from port has been determined for the shipment, when the system performs a lookup in the mc table using the manifest from port as the key, the desired outcome is that the system retrieves the corresponding mc table record if it exists.
💻 Technical Criteria
Given A manifest from port has been determined for the shipment
When The system performs a lookup in the MC table using the manifest from port as the key
Then The system retrieves the corresponding MC table record if it exists
R-GCCCCADD-cbl-02302 Generate Invalid Customs Code Error
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Invalid Customs Code Error' is invoked, and assuming that the mc table lookup for manifest from port was successful, when the canadian customs code in the retrieved record equals '00000', the desired outcome is that the system generates an error message for invalid canadian customs code and uses the port name in the error.
💻 Technical Criteria
Given The MC table lookup for manifest from port was successful
When The Canadian customs code in the retrieved record equals '00000'
Then The system generates an error message for invalid Canadian customs code and uses the port name in the error
R-GCCCCADD-cbl-02303 Generate Invalid Manifest Port Error
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Invalid Manifest Port Error' is invoked, and assuming that a manifest from port has been specified for the shipment, when the mc table lookup fails to find a matching record, the desired outcome is that the system generates an error message for invalid manifest port and uses the port name in the error.
💻 Technical Criteria
Given A manifest from port has been specified for the shipment
When The MC table lookup fails to find a matching record
Then The system generates an error message for invalid manifest port and uses the port name in the error
R-GCCCCADD-cbl-02304 Set Valid Customs and Exit Codes
Process Rules
📊 Business Logic Narrative
When the process 'Set Valid Customs and Exit Codes' is invoked, and assuming that the mc table lookup for manifest from port was successful and the canadian customs code is valid (not '00000'), when the system processes the mc table record, the desired outcome is that the system sets the manifest from station code to the canadian customs code and sets the us port of exit code from the mc record.
💻 Technical Criteria
Given The MC table lookup for manifest from port was successful and the Canadian customs code is valid (not '00000')
When The system processes the MC table record
Then The system sets the manifest from station code to the Canadian customs code and sets the US port of exit code from the MC record
R-GCCCCADD-cbl-02305 Lookup Manifest To Port in MC Table
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Manifest To Port in MC Table' is invoked, and assuming that a manifest to port has been determined for the shipment, when the system performs a lookup in the mc table using the manifest to port as the key, the desired outcome is that the system retrieves the corresponding mc table record if it exists.
💻 Technical Criteria
Given A manifest to port has been determined for the shipment
When The system performs a lookup in the MC table using the manifest to port as the key
Then The system retrieves the corresponding MC table record if it exists
R-GCCCCADD-cbl-02306 Generate Invalid Customs Code Error
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Invalid Customs Code Error' is invoked, and assuming that the mc table lookup for manifest to port was successful, when the canadian customs code in the retrieved record equals '00000', the desired outcome is that the system sets error flag 2 and saves the port name for error reporting.
💻 Technical Criteria
Given The MC table lookup for manifest to port was successful
When The Canadian customs code in the retrieved record equals '00000'
Then The system sets error flag 2 and saves the port name for error reporting
R-GCCCCADD-cbl-02307 Generate Invalid Manifest Port Error
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Invalid Manifest Port Error' is invoked, and assuming that a manifest to port has been specified for the shipment, when the mc table lookup fails to find a matching record, the desired outcome is that the system sets error flag 3 and saves the port name for error reporting.
💻 Technical Criteria
Given A manifest to port has been specified for the shipment
When The MC table lookup fails to find a matching record
Then The system sets error flag 3 and saves the port name for error reporting
R-GCCCCADD-cbl-02308 Set Valid Customs Code
Process Rules
📊 Business Logic Narrative
When the process 'Set Valid Customs Code' is invoked, and assuming that the mc table lookup for manifest to port was successful and the canadian customs code is valid, when the system processes the mc table record, the desired outcome is that the system sets the manifest to station code, destination station number, and batch print call letters from the mc record.
💻 Technical Criteria
Given The MC table lookup for manifest to port was successful and the Canadian customs code is valid
When The system processes the MC table record
Then The system sets the manifest to station code, destination station number, and batch print call letters from the MC record
R-GCCCCADD-cbl-02649 Check if code equals '00000' and generate specific error messages for invalid customs codes
Validation Rules
📊 Business Logic Narrative
When the process 'Check if code equals '00000' and generate specific error messages for invalid customs codes' is invoked, and assuming that a canadian customs code is retrieved from the mc table for the manifest from port, when the canadian customs code equals '00000', the desired outcome is that the system clears the mc table data, sets the port name as message number, retrieves the invalid canadian customs error message, and adds it to the validation error list.
💻 Technical Criteria
Given A Canadian customs code is retrieved from the MC table for the manifest from port
When The Canadian customs code equals '00000'
Then The system clears the MC table data, sets the port name as message number, retrieves the invalid Canadian customs error message, and adds it to the validation error list
R-GCCCCADD-cbl-02651 Set Valid Canadian Customs Code
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Valid Canadian Customs Code', assuming that a canadian customs code is retrieved from the mc table and is not '00000', when the canadian customs code validation passes, the desired outcome is that the system assigns the canadian customs code to the manifest from station code field.
💻 Technical Criteria
EXCLUDING A Canadian customs code is retrieved from the MC table and is not '00000'
When The Canadian customs code validation passes
Then The system assigns the Canadian customs code to the manifest from station code field
R-GCCCCADD-cbl-02652 Continue Processing
Decision Rules
📊 Business Logic Narrative
When the process 'Continue Processing' is invoked, and assuming that valid mc table data is available for the manifest from port, when the canadian customs code validation is complete, the desired outcome is that the system assigns the us state exit code from the mc table to the us port of exit code field.
💻 Technical Criteria
Given Valid MC table data is available for the manifest from port
When The Canadian customs code validation is complete
Then The system assigns the US state exit code from the MC table to the US port of exit code field
R-GCCCCADD-cbl-02830 Set Error Message Number to INV-MFST-PORT-CA-CUSTOMS
Action Rules
📊 Business Logic Narrative
When the process 'Set Error Message Number to INV-MFST-PORT-CA-CUSTOMS' is invoked, and assuming that an invalid canadian customs code has been detected for a manifest port, when the system needs to retrieve the error message for inv-mfst-port-ca-customs, the desired outcome is that the system sets the error message number to inv-mfst-port-ca-customs for message lookup.
💻 Technical Criteria
Given An invalid Canadian customs code has been detected for a manifest port
When The system needs to retrieve the error message for INV-MFST-PORT-CA-CUSTOMS
Then The system sets the error message number to INV-MFST-PORT-CA-CUSTOMS for message lookup
R-GCCCCADD-cbl-01908 Generate MC Table Not Found Error
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate MC Table Not Found Error', assuming that a manifest-to port lookup is attempted in the mc reference table, when the mc table lookup is not successful (port not found), the desired outcome is that the system should clear the mc table data, set error flag 3, save the port name for error messaging, and continue processing.
💻 Technical Criteria
EXCLUDING A manifest-to port lookup is attempted in the MC reference table
When The MC table lookup is not successful (port not found)
Then The system should clear the MC table data, set error flag 3, save the port name for error messaging, and continue processing
R-GCCCCADD-cbl-01909 Canadian Customs Code = '00000'?
Validation Rules
📊 Business Logic Narrative
When the process 'Canadian Customs Code = '00000'?' is invoked, and assuming that a successful mc table lookup has returned manifest code details, when the canadian customs code from the mc record equals '00000', the desired outcome is that the system should treat this as invalid, clear the mc table data, set error flag 2, and save the port name for error messaging.
💻 Technical Criteria
Given A successful MC table lookup has returned manifest code details
When The Canadian customs code from the MC record equals '00000'
Then The system should treat this as invalid, clear the MC table data, set error flag 2, and save the port name for error messaging
R-GCCCCADD-cbl-01910 Set Manifest-To Station Code
Process Rules
📊 Business Logic Narrative
When the process 'Set Manifest-To Station Code' is invoked, and assuming that a successful mc table lookup with a valid canadian customs code (not '00000'), when the manifest-to port validation is complete, the desired outcome is that the system should set the manifest-to station code from the canadian customs code, set the destination station number from the mc station number, and set the batch print call letters from the mc call letters.
💻 Technical Criteria
Given A successful MC table lookup with a valid Canadian customs code (not '00000')
When The manifest-to port validation is complete
Then The system should set the manifest-to station code from the Canadian customs code, set the destination station number from the MC station number, and set the batch print call letters from the MC call letters
R-GCCCCADD-cbl-02312 Lookup Manifest-To Port in MC Table
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Manifest-To Port in MC Table' is invoked, and assuming that a manifest-to port name from shipment data, when looking up the port in the mc manifest codes table, the desired outcome is that attempt to retrieve port configuration including customs codes and station information.
💻 Technical Criteria
Given A manifest-to port name from shipment data
When Looking up the port in the MC manifest codes table
Then Attempt to retrieve port configuration including customs codes and station information
R-GCCCCADD-cbl-02313 MC Table Lookup Successful?
Decision Rules
📊 Business Logic Narrative
When the process 'MC Table Lookup Successful?' is invoked, and assuming that a manifest-to port lookup attempt in mc table, when the lookup operation completes, the desired outcome is that if port is found, proceed with data validation, otherwise set error flag 3 and save port name for error reporting.
💻 Technical Criteria
Given A manifest-to port lookup attempt in MC table
When The lookup operation completes
Then If port is found, proceed with data validation, otherwise set error flag 3 and save port name for error reporting
R-GCCCCADD-cbl-02314 Canadian Customs Code = '00000'?
Validation Rules
📊 Business Logic Narrative
When the process 'Canadian Customs Code = '00000'?' is invoked, and assuming that a manifest port record retrieved from mc table, when the canadian customs code equals '00000', the desired outcome is that clear the mc table data, set error flag 2, and save port name for error message as the customs code is invalid.
💻 Technical Criteria
Given A manifest port record retrieved from MC table
When The Canadian customs code equals '00000'
Then Clear the MC table data, set error flag 2, and save port name for error message as the customs code is invalid
R-GCCCCADD-cbl-02315 Set Manifest-To Station Code
Process Rules
📊 Business Logic Narrative
When the process 'Set Manifest-To Station Code' is invoked, and assuming that valid mc table data for manifest-to port with non-zero canadian customs code, when processing manifest station information, the desired outcome is that set manifest-to station code from canadian customs code, set station number, and set call letters for batch printing.
💻 Technical Criteria
Given Valid MC table data for manifest-to port with non-zero Canadian customs code
When Processing manifest station information
Then Set manifest-to station code from Canadian customs code, set station number, and set call letters for batch printing
R-GCCCCADD-cbl-02316 Generate 'Invalid Manifest Upon' Error Message
Action Rules
📊 Business Logic Narrative
When the process 'Generate 'Invalid Manifest Upon' Error Message' is invoked, and assuming that error flag 1 is set indicating missing manifest-to port, when processing manifest-to port validation errors, the desired outcome is that retrieve and generate 'invalid manifest upon' error message.
💻 Technical Criteria
Given Error flag 1 is set indicating missing manifest-to port
When Processing manifest-to port validation errors
Then Retrieve and generate 'Invalid Manifest Upon' error message
R-GCCCCADD-cbl-02317 Generate 'Invalid Canadian Customs Code' Error Message
Action Rules
📊 Business Logic Narrative
When the process 'Generate 'Invalid Canadian Customs Code' Error Message' is invoked, and assuming that error flag 2 is set indicating invalid canadian customs code and saved port name, when processing manifest-to port validation errors, the desired outcome is that use saved port name and retrieve 'invalid canadian customs code' error message.
💻 Technical Criteria
Given Error flag 2 is set indicating invalid Canadian customs code and saved port name
When Processing manifest-to port validation errors
Then Use saved port name and retrieve 'Invalid Canadian Customs Code' error message
R-GCCCCADD-cbl-02318 Generate 'Invalid Manifest Port MC' Error Message
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate 'Invalid Manifest Port MC' Error Message', assuming that error flag 3 is set indicating port not found in mc table and saved port name, when processing manifest-to port validation errors, the desired outcome is that use saved port name and retrieve 'invalid manifest port mc' error message.
💻 Technical Criteria
EXCLUDING Error flag 3 is set indicating port not found in MC table and saved port name
When Processing manifest-to port validation errors
Then Use saved port name and retrieve 'Invalid Manifest Port MC' error message
R-GCCCCADD-cbl-00100 Lookup CM Table for Station
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Lookup CM Table for Station', assuming that a shipment has manifest to station name equal to 'iis-a6' and the destination is not in the united states, when the system needs to determine sub-location code information, the desired outcome is that the destination station number should be looked up in the cm table to retrieve port manifest upon information.
💻 Technical Criteria
EXCLUDING A shipment has manifest to station name equal to 'IIS-A6' and the destination is not in the United States
When The system needs to determine sub-location code information
Then The destination station number should be looked up in the CM table to retrieve port manifest upon information
R-GCCCCADD-cbl-00102 Check Canadian Customs Code
Validation Rules
📊 Business Logic Narrative
When the process 'Check Canadian Customs Code' is invoked, and assuming that a manifest from port has been successfully looked up in the mc table, when the canadian customs code equals '00000', the desired outcome is that the system marks the canadian customs code as invalid, generates an error message for invalid canadian customs port, and clears the mc table data.
💻 Technical Criteria
Given A manifest from port has been successfully looked up in the MC table
When The Canadian customs code equals '00000'
Then The system marks the Canadian customs code as invalid, generates an error message for invalid Canadian customs port, and clears the MC table data
R-GCCCCADD-cbl-00103 Set Canadian Customs Code
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Canadian Customs Code', assuming that a manifest from port has been successfully looked up in the mc table and the canadian customs code is not '00000', when the customs code validation passes, the desired outcome is that the system sets the canadian customs code to the manifest from station code and sets the us port of exit code.
💻 Technical Criteria
EXCLUDING A manifest from port has been successfully looked up in the MC table and the Canadian customs code is not '00000'
When The customs code validation passes
Then The system sets the Canadian customs code to the manifest from station code and sets the US port of exit code
R-GCCCCADD-cbl-00104 Generate MC Table Not Found Error
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate MC Table Not Found Error', assuming that a manifest from port lookup is attempted in the mc table, when the mc table lookup is not successful, the desired outcome is that the system clears the mc table data, generates an error message for invalid manifest port mc, and uses the port name as the error message number.
💻 Technical Criteria
EXCLUDING A manifest from port lookup is attempted in the MC table
When The MC table lookup is not successful
Then The system clears the MC table data, generates an error message for invalid manifest port MC, and uses the port name as the error message number
R-GCCCCADD-cbl-00105 Check Manifest To Canadian Customs Code
Validation Rules
📊 Business Logic Narrative
When the process 'Check Manifest To Canadian Customs Code' is invoked, and assuming that a manifest to port has been successfully looked up in the mc table, when the canadian customs code equals '00000', the desired outcome is that the system clears the mc table data, sets error flag 2, and saves the port name for error reporting.
💻 Technical Criteria
Given A manifest to port has been successfully looked up in the MC table
When The Canadian customs code equals '00000'
Then The system clears the MC table data, sets error flag 2, and saves the port name for error reporting
R-GCCCCADD-cbl-00106 Set Manifest To Station Code
Action Rules
📊 Business Logic Narrative
When the process 'Set Manifest To Station Code' is invoked, and assuming that a manifest to port has been successfully looked up in the mc table and the canadian customs code is valid, when the customs code validation passes, the desired outcome is that the system sets the manifest to station code, batch print call letters, and destination station number for indexing.
💻 Technical Criteria
Given A manifest to port has been successfully looked up in the MC table and the Canadian customs code is valid
When The customs code validation passes
Then The system sets the manifest to station code, batch print call letters, and destination station number for indexing
R-GCCCCADD-cbl-00107 Generate MC Table Not Found Error
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate MC Table Not Found Error', assuming that a manifest to port lookup is attempted in the mc table, when the mc table lookup is not successful, the desired outcome is that the system clears the mc table data, sets error flag 3, and saves the port name for error reporting.
💻 Technical Criteria
EXCLUDING A manifest to port lookup is attempted in the MC table
When The MC table lookup is not successful
Then The system clears the MC table data, sets error flag 3, and saves the port name for error reporting
R-GCCCCADD-cbl-01916 Manifest From Port Available?
Validation Rules
📊 Business Logic Narrative
When the process 'Manifest From Port Available?' is invoked, and assuming that a shipment with manifest from port data, when the system validates canadian customs code requirements, the desired outcome is that the system should proceed with mc table lookup if manifest from port is available, otherwise generate manifest port not found error.
💻 Technical Criteria
Given A shipment with manifest from port data
When The system validates Canadian customs code requirements
Then The system should proceed with MC table lookup if manifest from port is available, otherwise generate manifest port not found error
R-GCCCCADD-cbl-01917 Lookup MC Table with Manifest From Port
Action Rules
📊 Business Logic Narrative
When the process 'Lookup MC Table with Manifest From Port' is invoked, and assuming that a valid manifest from port identifier, when the system needs to validate canadian customs requirements, the desired outcome is that the system should lookup the mc table to retrieve canadian customs code and us port exit code.
💻 Technical Criteria
Given A valid manifest from port identifier
When The system needs to validate Canadian customs requirements
Then The system should lookup the MC table to retrieve Canadian customs code and US port exit code
R-GCCCCADD-cbl-01918 MC Table Lookup Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'MC Table Lookup Successful?' is invoked, and assuming that an mc table lookup operation has been performed, when the system evaluates the lookup result, the desired outcome is that the system should proceed with customs code validation if successful, otherwise generate manifest port not found error.
💻 Technical Criteria
Given An MC table lookup operation has been performed
When The system evaluates the lookup result
Then The system should proceed with customs code validation if successful, otherwise generate manifest port not found error
R-GCCCCADD-cbl-01920 Set Canadian Customs Code to Manifest From Station Code
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Canadian Customs Code to Manifest From Station Code', assuming that a valid canadian customs code that is not '00000', when the system processes manifest from station information, the desired outcome is that the system should assign the canadian customs code to the manifest from station code field.
💻 Technical Criteria
EXCLUDING A valid Canadian customs code that is not '00000'
When The system processes manifest from station information
Then The system should assign the Canadian customs code to the manifest from station code field
R-GCCCCADD-cbl-01921 Generate Invalid Canadian Customs Code Error Message
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Invalid Canadian Customs Code Error Message' is invoked, and assuming that a canadian customs code equal to '00000' from mc table lookup, when the system validates customs code requirements, the desired outcome is that the system should generate an error message indicating invalid canadian customs code for the manifest port.
💻 Technical Criteria
Given A Canadian customs code equal to '00000' from MC table lookup
When The system validates customs code requirements
Then The system should generate an error message indicating invalid Canadian customs code for the manifest port
R-GCCCCADD-cbl-01922 Generate Manifest Port Not Found Error Message
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Manifest Port Not Found Error Message', assuming that a manifest from port that is either missing or not found in mc table, when the system attempts to validate manifest port information, the desired outcome is that the system should generate an error message indicating the manifest port was not found in the manifest code table.
💻 Technical Criteria
EXCLUDING A manifest from port that is either missing or not found in MC table
When The system attempts to validate manifest port information
Then The system should generate an error message indicating the manifest port was not found in the manifest code table
R-GCCCCADD-cbl-01923 Clear MC Table Data
Process Rules
📊 Business Logic Narrative
When the process 'Clear MC Table Data' is invoked, and assuming that an error condition in canadian customs code validation or mc table lookup failure, when the system encounters validation errors, the desired outcome is that the system should clear all mc table data to ensure invalid information is not used.
💻 Technical Criteria
Given An error condition in Canadian customs code validation or MC table lookup failure
When The system encounters validation errors
Then The system should clear all MC table data to ensure invalid information is not used
R-GCCCCADD-cbl-01924 Set US Port of Exit Code from MC Table
Process Rules
📊 Business Logic Narrative
When the process 'Set US Port of Exit Code from MC Table' is invoked, and assuming that valid mc table data with us port exit information, when the system processes customs border crossing requirements, the desired outcome is that the system should assign the us port of exit code from mc table to the customs record.
💻 Technical Criteria
Given Valid MC table data with US port exit information
When The system processes customs border crossing requirements
Then The system should assign the US port of exit code from MC table to the customs record
R-GCCCCADD-cbl-02319 Initialize Table Access Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Table Access Parameters' is invoked, and assuming that a manifest port lookup is required, when the system prepares to access the mc table, the desired outcome is that all table access parameters are cleared and initialized to spaces.
💻 Technical Criteria
Given A manifest port lookup is required
When The system prepares to access the MC table
Then All table access parameters are cleared and initialized to spaces
R-GCCCCADD-cbl-02325 Extract Canadian Customs Code
Process Rules
📊 Business Logic Narrative
When the process 'Extract Canadian Customs Code' is invoked, and assuming that valid mc table data has been retrieved, when the system processes the manifest code information, the desired outcome is that the canadian customs code is extracted from the table data.
💻 Technical Criteria
Given Valid MC table data has been retrieved
When The system processes the manifest code information
Then The Canadian customs code is extracted from the table data
R-GCCCCADD-cbl-02326 Canadian Customs Code = '00000'?
Validation Rules
📊 Business Logic Narrative
When the process 'Canadian Customs Code = '00000'?' is invoked, and assuming that a canadian customs code has been extracted from mc table data, when the system validates the customs code, the desired outcome is that the code is considered invalid if it equals '00000'.
💻 Technical Criteria
Given A Canadian customs code has been extracted from MC table data
When The system validates the customs code
Then The code is considered invalid if it equals '00000'
R-GCCCCADD-cbl-02327 Clear Table Data
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Clear Table Data', assuming that the canadian customs code equals '00000', when the system detects an invalid customs code, the desired outcome is that the mc table data is cleared to spaces.
💻 Technical Criteria
EXCLUDING The Canadian customs code equals '00000'
When The system detects an invalid customs code
Then The MC table data is cleared to spaces
R-GCCCCADD-cbl-02328 Set Port Name in Error Message
Process Rules
📊 Business Logic Narrative
When the process 'Set Port Name in Error Message' is invoked, and assuming that an invalid canadian customs code has been detected, when the system prepares an error message, the desired outcome is that the manifest port name is set in the message number field.
💻 Technical Criteria
Given An invalid Canadian customs code has been detected
When The system prepares an error message
Then The manifest port name is set in the message number field
R-GCCCCADD-cbl-02329 Set Error Number INV-MFST-PORT-CA-CUSTOMS
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Error Number INV-MFST-PORT-CA-CUSTOMS' is invoked, and assuming that an invalid canadian customs code error needs to be reported, when the system sets the error identification, the desired outcome is that the error number is set to inv-mfst-port-ca-customs.
💻 Technical Criteria
Given An invalid Canadian customs code error needs to be reported
When The system sets the error identification
Then The error number is set to INV-MFST-PORT-CA-CUSTOMS
R-GCCCCADD-cbl-02330 Retrieve Error Message Text
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Error Message Text' is invoked, and assuming that an error number for invalid canadian customs code is set, when the system needs the error message text, the desired outcome is that the error message text is retrieved from the message table.
💻 Technical Criteria
Given An error number for invalid Canadian customs code is set
When The system needs the error message text
Then The error message text is retrieved from the message table
R-GCCCCADD-cbl-02331 Add Error Message to Message Array
Process Rules
📊 Business Logic Narrative
When the process 'Add Error Message to Message Array' is invoked, and assuming that an invalid canadian customs code error message has been retrieved, when the system processes the error, the desired outcome is that the error message is added to the message array for reporting.
💻 Technical Criteria
Given An invalid Canadian customs code error message has been retrieved
When The system processes the error
Then The error message is added to the message array for reporting
R-GCCCCADD-cbl-02333 Set Port Name in Error Message
Process Rules
📊 Business Logic Narrative
When the process 'Set Port Name in Error Message' is invoked, and assuming that an mc table lookup has failed, when the system prepares an error message, the desired outcome is that the manifest port name is set in the message number field.
💻 Technical Criteria
Given An MC table lookup has failed
When The system prepares an error message
Then The manifest port name is set in the message number field
R-GCCCCADD-cbl-02334 Set Error Number INV-MFST-PORT-MC
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Error Number INV-MFST-PORT-MC' is invoked, and assuming that an mc table lookup failure error needs to be reported, when the system sets the error identification, the desired outcome is that the error number is set to inv-mfst-port-mc.
💻 Technical Criteria
Given An MC table lookup failure error needs to be reported
When The system sets the error identification
Then The error number is set to INV-MFST-PORT-MC
R-GCCCCADD-cbl-02336 Add Error Message to Message Array
Process Rules
📊 Business Logic Narrative
When the process 'Add Error Message to Message Array' is invoked, and assuming that an mc table lookup failure error message has been retrieved, when the system processes the error, the desired outcome is that the error message is added to the message array for reporting.
💻 Technical Criteria
Given An MC table lookup failure error message has been retrieved
When The system processes the error
Then The error message is added to the message array for reporting
R-GCCCCADD-cbl-02337 Move Canadian Customs Code to Manifest Station Code
Process Rules
📊 Business Logic Narrative
When the process 'Move Canadian Customs Code to Manifest Station Code' is invoked, and assuming that a valid canadian customs code has been retrieved from mc table, when the system processes the valid customs code, the desired outcome is that the canadian customs code is moved to the manifest from station code field.
💻 Technical Criteria
Given A valid Canadian customs code has been retrieved from MC table
When The system processes the valid customs code
Then The Canadian customs code is moved to the manifest from station code field
R-GCCCCADD-cbl-02338 Move US Port Exit Code
Process Rules
📊 Business Logic Narrative
When the process 'Move US Port Exit Code' is invoked, and assuming that valid mc table data with us port exit code exists, when the system processes the manifest code information, the desired outcome is that the us port exit code is moved to the appropriate field.
💻 Technical Criteria
Given Valid MC table data with US port exit code exists
When The system processes the manifest code information
Then The US port exit code is moved to the appropriate field
R-GCCCCADD-cbl-01925 Extract US Port Exit Code from MC Table
Action Rules
📊 Business Logic Narrative
When the process 'Extract US Port Exit Code from MC Table' is invoked, and assuming that a manifest from port exists in the shipment root data and the mc table lookup was successful and the mc table contains port configuration data, when the system processes the mc table lookup results, the desired outcome is that the us port of exit code from the mc table is extracted and assigned to the customs record us port of exit code field.
💻 Technical Criteria
Given A manifest from port exists in the shipment root data AND the MC table lookup was successful AND the MC table contains port configuration data
When The system processes the MC table lookup results
Then The US port of exit code from the MC table is extracted and assigned to the customs record US port of exit code field
R-GCCCCADD-cbl-01927 MC Table Lookup Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'MC Table Lookup Successful?' is invoked, and assuming that a manifest from port lookup has been attempted in the mc table, when the system evaluates the lookup result status, the desired outcome is that if the lookup was successful, proceed to extract us port exit code, otherwise handle the lookup failure.
💻 Technical Criteria
Given A manifest from port lookup has been attempted in the MC table
When The system evaluates the lookup result status
Then If the lookup was successful, proceed to extract US port exit code, otherwise handle the lookup failure
R-GCCCCADD-cbl-00109 Is Destination NOT US?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Destination NOT US?' is invoked, and assuming that a manifest-to station of 'iis-a6' and a destination with state/province code, when the system searches the state-country table to determine if destination state corresponds to 'us' country, the desired outcome is that the system proceeds to cm table lookup if destination is not us, otherwise sets sub-location code to spaces.
💻 Technical Criteria
Given A manifest-to station of 'IIS-A6' and a destination with state/province code
When The system searches the state-country table to determine if destination state corresponds to 'US' country
Then The system proceeds to CM table lookup if destination is not US, otherwise sets sub-location code to spaces
R-GCCCCADD-cbl-00110 Lookup CM Table with Destination Station Number
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Lookup CM Table with Destination Station Number', assuming that a destination that is not us and manifest-to station of 'iis-a6', when the system calls gcctbio with table id 'cm' and destination station number as sequence id, the desired outcome is that the system retrieves cm table segment data for further processing.
💻 Technical Criteria
EXCLUDING A destination that is not US and manifest-to station of 'IIS-A6'
When The system calls GCCTBIO with table ID 'CM' and destination station number as sequence ID
Then The system retrieves CM table segment data for further processing
R-GCCCCADD-cbl-00111 CM Table Lookup Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'CM Table Lookup Successful?' is invoked, and assuming that a cm table lookup has been performed with destination station number, when the system checks the gcctbio return flag for successful status, the desired outcome is that the system proceeds to get port manifest information if successful, otherwise sets sub-location code to spaces.
💻 Technical Criteria
Given A CM table lookup has been performed with destination station number
When The system checks the GCCTBIO return flag for successful status
Then The system proceeds to get port manifest information if successful, otherwise sets sub-location code to spaces
R-GCCCCADD-cbl-00116 Set Sub-location Code to SPACES
Process Rules
📊 Business Logic Narrative
When the process 'Set Sub-location Code to SPACES' is invoked, and assuming that a failed cm table lookup, failed mc table lookup, or destination is us, when the system cannot retrieve valid sub-location information, the desired outcome is that the system sets the sub-location code to spaces.
💻 Technical Criteria
Given A failed CM table lookup, failed MC table lookup, or destination is US
When The system cannot retrieve valid sub-location information
Then The system sets the sub-location code to spaces
R-GCCCCADD-cbl-01929 Check if IIS-A6 Manifest and Non-US Destination
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check if IIS-A6 Manifest and Non-US Destination', assuming that a manifest is being processed with manifest-to-station-name and destination country information available, when the manifest-to-station-name equals 'iis-a6' and the destination is not in the united states, the desired outcome is that the system should initiate sub-location code determination process.
💻 Technical Criteria
EXCLUDING A manifest is being processed with manifest-to-station-name and destination country information available
When The manifest-to-station-name equals 'IIS-A6' AND the destination is not in the United States
Then The system should initiate sub-location code determination process
R-GCCCCADD-cbl-01930 Lookup Destination Station in CM Table
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Destination Station in CM Table' is invoked, and assuming that the manifest qualifies for sub-location code determination and destination station number is available from shipment root, when the system performs a lookup in the cm table using the destination station number, the desired outcome is that the system should attempt to retrieve the corresponding cm table record.
💻 Technical Criteria
Given The manifest qualifies for sub-location code determination and destination station number is available from shipment root
When The system performs a lookup in the CM table using the destination station number
Then The system should attempt to retrieve the corresponding CM table record
R-GCCCCADD-cbl-01931 Get Port Manifest Upon from CM Table
Process Rules
📊 Business Logic Narrative
When the process 'Get Port Manifest Upon from CM Table' is invoked, and assuming that a successful cm table lookup has been performed for the destination station, when the cm table record is retrieved successfully, the desired outcome is that the system should extract the port-manifest-upon field from the cm table record.
💻 Technical Criteria
Given A successful CM table lookup has been performed for the destination station
When The CM table record is retrieved successfully
Then The system should extract the port-manifest-upon field from the CM table record
R-GCCCCADD-cbl-02340 Is Destination Not US?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is Destination Not US?', assuming that the manifest-to station is 'iis-a6', when the destination province/state code is checked against the state-country lookup table and the destination country is not 'us', the desired outcome is that the system should proceed to lookup the destination station in the cm table.
💻 Technical Criteria
EXCLUDING The manifest-to station is 'IIS-A6'
When The destination province/state code is checked against the state-country lookup table and the destination country is not 'US'
Then The system should proceed to lookup the destination station in the CM table
R-GCCCCADD-cbl-02346 Set Sub-location Code from MC Table
Process Rules
📊 Business Logic Narrative
When the process 'Set Sub-location Code from MC Table' is invoked, and assuming that the mc table lookup was successful, when the system processes the mc table result, the desired outcome is that the sub-location code should be assigned from the mc table sub-location code field.
💻 Technical Criteria
Given The MC table lookup was successful
When The system processes the MC table result
Then The sub-location code should be assigned from the MC table sub-location code field
R-GCCCCADD-cbl-02347 Set Sub-location Code to Spaces
Process Rules
📊 Business Logic Narrative
When the process 'Set Sub-location Code to Spaces' is invoked, and assuming that an mc table lookup has been attempted, when the mc table lookup fails to return valid data, the desired outcome is that the sub-location code should be set to spaces.
💻 Technical Criteria
Given An MC table lookup has been attempted
When The MC table lookup fails to return valid data
Then The sub-location code should be set to spaces
R-GCCCCADD-cbl-02348 Set Sub-location Code to Spaces
Process Rules
📊 Business Logic Narrative
When the process 'Set Sub-location Code to Spaces' is invoked, and assuming that a cm table lookup has been attempted, when the cm table lookup fails to return valid data, the desired outcome is that the sub-location code should be set to spaces without proceeding to mc table lookup.
💻 Technical Criteria
Given A CM table lookup has been attempted
When The CM table lookup fails to return valid data
Then The sub-location code should be set to spaces without proceeding to MC table lookup
R-GCCCCADD-cbl-02671 Is Destination Not US?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Destination Not US?' is invoked, and assuming that the manifest-to station is 'iis-a6' and destination state code is available, when the system searches the state-country table to determine if the destination state belongs to us, the desired outcome is that the system continues with cm table lookup if destination is not us, otherwise ends the process.
💻 Technical Criteria
Given The manifest-to station is 'IIS-A6' and destination state code is available
When The system searches the state-country table to determine if the destination state belongs to US
Then The system continues with CM table lookup if destination is not US, otherwise ends the process
R-GCCCCADD-cbl-02672 Get Destination Station Number from SHIPROOT
Action Rules
📊 Business Logic Narrative
When the process 'Get Destination Station Number from SHIPROOT' is invoked, and assuming that the destination is confirmed as non-us and requires cm table lookup, when the system accesses the shiproot data structure, the desired outcome is that the destination station number is retrieved and prepared for numeric conversion.
💻 Technical Criteria
Given The destination is confirmed as non-US and requires CM table lookup
When The system accesses the SHIPROOT data structure
Then The destination station number is retrieved and prepared for numeric conversion
R-GCCCCADD-cbl-02673 Convert Station Number to Numeric Format
Computation Rules
📊 Business Logic Narrative
When the process 'Convert Station Number to Numeric Format' is invoked, and assuming that the destination station number has been retrieved from shiproot, when the system processes the station number for table lookup, the desired outcome is that the station number is converted to numeric format and stored in the working storage variable.
💻 Technical Criteria
Given The destination station number has been retrieved from SHIPROOT
When The system processes the station number for table lookup
Then The station number is converted to numeric format and stored in the working storage variable
R-GCCCCADD-cbl-02674 Execute CM Table Lookup with Station Number
Action Rules
📊 Business Logic Narrative
When the process 'Execute CM Table Lookup with Station Number' is invoked, and assuming that the destination station number is in proper numeric format, when the system calls the table lookup service with table id 'cm' and the station number as the search key, the desired outcome is that the system attempts to retrieve the corresponding cm table record.
💻 Technical Criteria
Given The destination station number is in proper numeric format
When The system calls the table lookup service with table ID 'CM' and the station number as the search key
Then The system attempts to retrieve the corresponding CM table record
R-GCCCCADD-cbl-02675 CM Table Lookup Successful?
Decision Rules
📊 Business Logic Narrative
When the process 'CM Table Lookup Successful?' is invoked, and assuming that a cm table lookup has been executed with the destination station number, when the system checks the return status of the table lookup operation, the desired outcome is that the system proceeds to extract cm data if successful, otherwise sets sub-location code to spaces.
💻 Technical Criteria
Given A CM table lookup has been executed with the destination station number
When The system checks the return status of the table lookup operation
Then The system proceeds to extract CM data if successful, otherwise sets sub-location code to spaces
R-GCCCCADD-cbl-02680 Set Sub-location Code to Spaces
Action Rules
📊 Business Logic Narrative
When the process 'Set Sub-location Code to Spaces' is invoked, and assuming that either the cm table lookup or mc table lookup has failed, when the system determines that valid sub-location data cannot be retrieved, the desired outcome is that the sub-location code field is set to spaces to indicate no valid sub-location.
💻 Technical Criteria
Given Either the CM table lookup or MC table lookup has failed
When The system determines that valid sub-location data cannot be retrieved
Then The sub-location code field is set to spaces to indicate no valid sub-location
R-GCCCCADD-cbl-00122 Call RF Table Lookup
Action Rules
📊 Business Logic Narrative
When the process 'Call RF Table Lookup' is invoked, and assuming that rf table lookup parameters are configured with consignee chop and destination station, when the system executes the rf table lookup, the desired outcome is that the system calls the table lookup function to retrieve rail facility data.
💻 Technical Criteria
Given RF table lookup parameters are configured with consignee CHOP and destination station
When The system executes the RF table lookup
Then The system calls the table lookup function to retrieve rail facility data
R-GCCCCADD-cbl-00125 Is Sub-location Code Present?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Sub-location Code Present?' is invoked, and assuming that a shipment with destination station information, when the sub-location code field is evaluated for presence, the desired outcome is that if sub-location code is not spaces, sub-location requirements are considered met.
💻 Technical Criteria
Given A shipment with destination station information
When The sub-location code field is evaluated for presence
Then If sub-location code is not spaces, sub-location requirements are considered met
R-GCCCCADD-cbl-00126 CSA Indicator On?
Policy Rules
📊 Business Logic Narrative
When the process 'CSA Indicator On?' is invoked, and assuming that a shipment without a sub-location code, when the csa indicator is evaluated, the desired outcome is that if csa indicator is on, sub-location requirements are considered met.
💻 Technical Criteria
Given A shipment without a sub-location code
When The CSA indicator is evaluated
Then If CSA indicator is ON, sub-location requirements are considered met
R-GCCCCADD-cbl-00127 Manifest From = Manifest To AND Not IIS-A6?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Manifest From = Manifest To AND Not IIS-A6?', assuming that a shipment without sub-location code and csa indicator off, when manifest from station name equals manifest to station name and manifest to station name is not 'iis-a6', the desired outcome is that sub-location requirements are considered met.
💻 Technical Criteria
EXCLUDING A shipment without sub-location code and CSA indicator OFF
When Manifest from station name equals manifest to station name AND manifest to station name is not 'IIS-A6'
Then Sub-location requirements are considered met
R-GCCCCADD-cbl-00128 Destination is US?
Policy Rules
📊 Business Logic Narrative
When the process 'Destination is US?' is invoked, and assuming that a shipment that doesn't meet previous sub-location exemptions, when the destination country is determined to be us based on state/province code lookup, the desired outcome is that sub-location requirements are considered met.
💻 Technical Criteria
Given A shipment that doesn't meet previous sub-location exemptions
When The destination country is determined to be US based on state/province code lookup
Then Sub-location requirements are considered met
R-GCCCCADD-cbl-00129 Arrival Indicator = 'Y'?
Decision Rules
📊 Business Logic Narrative
When the process 'Arrival Indicator = 'Y'?' is invoked, and assuming that a shipment that doesn't meet other sub-location exemptions, when the arrival indicator is evaluated, the desired outcome is that if arrival indicator equals 'y', sub-location requirements are considered met.
💻 Technical Criteria
Given A shipment that doesn't meet other sub-location exemptions
When The arrival indicator is evaluated
Then If arrival indicator equals 'Y', sub-location requirements are considered met
R-GCCCCADD-cbl-00130 Set Sub-location Error Flag
Validation Rules
📊 Business Logic Narrative
When the process 'Set Sub-location Error Flag' is invoked, and assuming that a shipment that doesn't meet any sub-location exemption criteria, when all sub-location validation checks are completed, the desired outcome is that the sub-location error flag is set to indicate missing required sub-location code.
💻 Technical Criteria
Given A shipment that doesn't meet any sub-location exemption criteria
When All sub-location validation checks are completed
Then The sub-location error flag is set to indicate missing required sub-location code
R-GCCCCADD-cbl-00131 Clear Sub-location Code
Process Rules
📊 Business Logic Narrative
When the process 'Clear Sub-location Code' is invoked, and assuming that a shipment that has completed sub-location validation, when the shipment has in-transit status of transit or return, the desired outcome is that the sub-location code is cleared to spaces.
💻 Technical Criteria
Given A shipment that has completed sub-location validation
When The shipment has in-transit status of TRANSIT or RETURN
Then The sub-location code is cleared to spaces
R-GCCCCADD-cbl-00132 Generate Invalid Destination Station Sub-location Error
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Invalid Destination Station Sub-location Error' is invoked, and assuming that a non-transit/non-return shipment with sub-location error flag set, when final sub-location validation is performed, the desired outcome is that an error message for invalid destination station sub-location code is generated and added to the message list.
💻 Technical Criteria
Given A non-transit/non-return shipment with sub-location error flag set
When Final sub-location validation is performed
Then An error message for invalid destination station sub-location code is generated and added to the message list
R-GCCCCADD-cbl-01936 CSA Indicator On?
Policy Rules
📊 Business Logic Narrative
When the process 'CSA Indicator On?' is invoked, and assuming that a customs control record has no sub-location code set, when the csa indicator is turned on, the desired outcome is that the system should waive the sub-location code requirement and continue processing.
💻 Technical Criteria
Given A customs control record has no sub-location code set
When The CSA indicator is turned on
Then The system should waive the sub-location code requirement and continue processing
R-GCCCCADD-cbl-01937 Manifest From/To Stations Same AND Not IIS-A6?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Manifest From/To Stations Same AND Not IIS-A6?', assuming that a customs control record has no sub-location code set and csa indicator is off, when the manifest from station name equals the manifest to station name and the manifest to station name is not 'iis-a6', the desired outcome is that the system should waive the sub-location code requirement and continue processing.
💻 Technical Criteria
EXCLUDING A customs control record has no sub-location code set and CSA indicator is off
When The manifest from station name equals the manifest to station name AND the manifest to station name is not 'IIS-A6'
Then The system should waive the sub-location code requirement and continue processing
R-GCCCCADD-cbl-01938 Destination is US?
Decision Rules
📊 Business Logic Narrative
When the process 'Destination is US?' is invoked, and assuming that a customs control record has no sub-location code set, csa indicator is off, and manifest stations are different or one is iis-a6, when the destination state code corresponds to a us state in the state-country lookup table, the desired outcome is that the system should waive the sub-location code requirement and continue processing.
💻 Technical Criteria
Given A customs control record has no sub-location code set, CSA indicator is off, and manifest stations are different or one is IIS-A6
When The destination state code corresponds to a US state in the state-country lookup table
Then The system should waive the sub-location code requirement and continue processing
R-GCCCCADD-cbl-01939 Arrival Indicator = 'Y'?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Arrival Indicator = 'Y'?', assuming that a customs control record has no sub-location code set, csa indicator is off, manifest stations don't qualify for exemption, and destination is not us, when the arrival indicator equals 'y', the desired outcome is that the system should waive the sub-location code requirement and continue processing.
💻 Technical Criteria
EXCLUDING A customs control record has no sub-location code set, CSA indicator is off, manifest stations don't qualify for exemption, and destination is not US
When The arrival indicator equals 'Y'
Then The system should waive the sub-location code requirement and continue processing
R-GCCCCADD-cbl-01940 Set Sub-location Error Flag
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Sub-location Error Flag', assuming that a customs control record has no sub-location code set, csa indicator is off, manifest stations don't qualify for exemption, destination is not us, and arrival indicator is not 'y', when all exemption conditions fail to be met, the desired outcome is that the system should set the sub-location error flag to indicate a validation failure.
💻 Technical Criteria
EXCLUDING A customs control record has no sub-location code set, CSA indicator is off, manifest stations don't qualify for exemption, destination is not US, and arrival indicator is not 'Y'
When All exemption conditions fail to be met
Then The system should set the sub-location error flag to indicate a validation failure
R-GCCCCADD-cbl-01941 Generate Error Message: Invalid Destination Station Sub-location Code
Action Rules
📊 Business Logic Narrative
When the process 'Generate Error Message: Invalid Destination Station Sub-location Code' is invoked, and assuming that the sub-location error flag has been set due to missing sub-location code, when the system processes the error condition, the desired outcome is that the system should generate an error message indicating invalid destination station sub-location code and add it to the message collection.
💻 Technical Criteria
Given The sub-location error flag has been set due to missing sub-location code
When The system processes the error condition
Then The system should generate an error message indicating invalid destination station sub-location code and add it to the message collection
R-GCCCCADD-cbl-01950 Set Quantity Qualifier from Segment
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Quantity Qualifier from Segment' is invoked, and assuming that processing the first commodity segment with lading quantity qualifier, when setting quantity qualifier for the shipment, the desired outcome is that move the lading quantity qualifier from the commodity segment to the customs quantity qualifier.
💻 Technical Criteria
Given Processing the first commodity segment with lading quantity qualifier
When Setting quantity qualifier for the shipment
Then Move the lading quantity qualifier from the commodity segment to the customs quantity qualifier
R-GCCCCADD-cbl-01957 Use Calculated Quantity
Decision Rules
📊 Business Logic Narrative
When the process 'Use Calculated Quantity' is invoked, and assuming that final number of units is greater than zero, when finalizing quantity assignment, the desired outcome is that move the calculated number of units to the customs lading quantity.
💻 Technical Criteria
Given Final number of units is greater than zero
When Finalizing quantity assignment
Then Move the calculated number of units to the customs lading quantity
R-GCCCCADD-cbl-01958 Set Default Quantity to 1
Decision Rules
📊 Business Logic Narrative
When the process 'Set Default Quantity to 1' is invoked, and assuming that final number of units is zero or less, when finalizing quantity assignment, the desired outcome is that set number of units to 1 and move to customs lading quantity.
💻 Technical Criteria
Given Final number of units is zero or less
When Finalizing quantity assignment
Then Set number of units to 1 and move to customs lading quantity
R-GCCCCADD-cbl-00184 Extract City/State from EDI HC Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract City/State from EDI HC Segment' is invoked, and assuming that edi bol hc city/state segment is available, when processing shipper location information, the desired outcome is that extract city from f4-city-name, state from f4-state-prov-code, postal code from f4-postal-code, and country from f4-country-code.
💻 Technical Criteria
Given EDI BOL HC city/state segment is available
When Processing shipper location information
Then Extract city from F4-CITY-NAME, state from F4-STATE-PROV-CODE, postal code from F4-POSTAL-CODE, and country from F4-COUNTRY-CODE
R-GCCCCADD-cbl-00185 Parse Fastway Address for City/State
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Parse Fastway Address for City/State', assuming that edi bol hc segment is not available, when processing shipper location information from fastway data, the desired outcome is that parse shpr-addr(2) to extract city name, state/province code, postal code, and determine country code from state lookup table.
💻 Technical Criteria
EXCLUDING EDI BOL HC segment is not available
When Processing shipper location information from Fastway data
Then Parse SHPR-ADDR(2) to extract city name, state/province code, postal code, and determine country code from state lookup table
R-GCCCCADD-cbl-00242 Store Compressed Description in GCCC-LADING-DESCRIPTION
Process Rules
📊 Business Logic Narrative
When the process 'Store Compressed Description in GCCC-LADING-DESCRIPTION' is invoked, and assuming that description data has been compressed by the gcccomp utility, when the system stores the compressed description, the desired outcome is that the compressed description is stored in gccc-lading-description field for the customs record.
💻 Technical Criteria
Given Description data has been compressed by the GCCCOMP utility
When The system stores the compressed description
Then The compressed description is stored in GCCC-LADING-DESCRIPTION field for the customs record
R-GCCCCADD-cbl-02897 Move UN Number to Output
Process Rules
📊 Business Logic Narrative
When the process 'Move UN Number to Output' is invoked, and assuming that a valid un number has been identified from hazmat data, when the system processes the validated un number, the desired outcome is that the un number is moved to the customs manifest un number field.
💻 Technical Criteria
Given A valid UN number has been identified from hazmat data
When The system processes the validated UN number
Then The UN number is moved to the customs manifest UN number field
R-GCCCCADD-cbl-02902 Set Hazmat Information Sequence Counter
Process Rules
📊 Business Logic Narrative
When the process 'Set Hazmat Information Sequence Counter' is invoked, and assuming that hazmat information processing is required for the customs manifest, when the system begins processing lh3 hazmat description segments, the desired outcome is that the hazmat information sequence counter is set to 1 to start processing from the first sequence.
💻 Technical Criteria
Given Hazmat information processing is required for the customs manifest
When The system begins processing LH3 hazmat description segments
Then The hazmat information sequence counter is set to 1 to start processing from the first sequence
R-GCCCCADD-cbl-02904 Store Proper Shipping Name in Commodity Description Danger Field
Process Rules
📊 Business Logic Narrative
When the process 'Store Proper Shipping Name in Commodity Description Danger Field' is invoked, and assuming that the lh3 proper shipping name has been successfully extracted from the ebsbchi hazmat segment, when the system processes the extracted proper shipping name, the desired outcome is that the lh3 proper shipping name is stored in the commodity description danger field for inclusion in the customs manifest.
💻 Technical Criteria
Given The LH3 proper shipping name has been successfully extracted from the EBSBCHI hazmat segment
When The system processes the extracted proper shipping name
Then The LH3 proper shipping name is stored in the commodity description danger field for inclusion in the customs manifest
R-GCCCCADD-cbl-02413 Extract Hazmat Description from ERPD-HAZ-DESC
Process Rules
📊 Business Logic Narrative
When the process 'Extract Hazmat Description from ERPD-HAZ-DESC' is invoked, and assuming that shiperpd segment data is available with hazmat description information, when the system processes the hazmat description field from erpd-haz-desc, the desired outcome is that the first 15 characters of hazmat description are extracted and stored in the customs commodity danger description field.
💻 Technical Criteria
Given SHIPERPD segment data is available with hazmat description information
When The system processes the hazmat description field from ERPD-HAZ-DESC
Then The first 15 characters of hazmat description are extracted and stored in the customs commodity danger description field
R-GCCCCADD-cbl-00274 EDI BOL Data Available?
Decision Rules
📊 Business Logic Narrative
When the process 'EDI BOL Data Available?' is invoked, and assuming that a shipment is being processed for customs manifest creation, when the system checks for edi bol data availability, the desired outcome is that if the origin road number is not zero, the system attempts to retrieve edi bol data from shipmin segment.
💻 Technical Criteria
Given A shipment is being processed for customs manifest creation
When The system checks for EDI BOL data availability
Then If the origin road number is not zero, the system attempts to retrieve EDI BOL data from SHIPMIN segment
R-GCCCCADD-cbl-00281 Process Transportation Segments
Process Rules
📊 Business Logic Narrative
When the process 'Process Transportation Segments' is invoked, and assuming that edi bol data is available for processing, when the system processes transportation segments, the desired outcome is that transportation segments (tn, t2, ta, t3 types) are retrieved from ebsnrtd segments to get transportation details, additional addresses, and contact information.
💻 Technical Criteria
Given EDI BOL data is available for processing
When The system processes transportation segments
Then Transportation segments (TN, T2, TA, T3 types) are retrieved from EBSNRTD segments to get transportation details, additional addresses, and contact information
R-GCCCCADD-cbl-02023 Initialize Record 55 Processing
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Record 55 Processing' is invoked, and assuming that the system needs to process entity records for customs database creation, when record 55 processing is initiated, the desired outcome is that the sequence index is set to 3 and the working storage array for record 55 data is cleared.
💻 Technical Criteria
Given The system needs to process entity records for customs database creation
When Record 55 processing is initiated
Then The sequence index is set to 3 and the working storage array for Record 55 data is cleared
R-GCCCCADD-cbl-02026 Get Shipper City/State/Postal from HC Segment
Action Rules
📊 Business Logic Narrative
When the process 'Get Shipper City/State/Postal from HC Segment' is invoked, and assuming that edi bol contains shipper location data in hc segment, when the system processes shipper location information, the desired outcome is that city name, state/province code, postal code, and country code are extracted from the corresponding hc segment fields.
💻 Technical Criteria
Given EDI BOL contains shipper location data in HC segment
When The system processes shipper location information
Then City name, state/province code, postal code, and country code are extracted from the corresponding HC segment fields
R-GCCCCADD-cbl-02031 Get Consignee City/State/Postal from CC Segment
Action Rules
📊 Business Logic Narrative
When the process 'Get Consignee City/State/Postal from CC Segment' is invoked, and assuming that edi bol contains consignee location data in cc segment, when the system processes consignee location information, the desired outcome is that city name, state/province code, postal code, and country code are extracted from the corresponding cc segment fields.
💻 Technical Criteria
Given EDI BOL contains consignee location data in CC segment
When The system processes consignee location information
Then City name, state/province code, postal code, and country code are extracted from the corresponding CC segment fields
R-GCCCCADD-cbl-02036 Build Carrier Entity from TN Segment
Action Rules
📊 Business Logic Narrative
When the process 'Build Carrier Entity from TN Segment' is invoked, and assuming that edi bol contains transportation data in tn segment with specific organization id, when the system processes transportation entity building for organization ids c1, n1, 11, mc, oo, or fw, the desired outcome is that entity record is created with the organization id as entity type, name extracted from tn segment, and associated address information retrieved from t2 and ta segments.
💻 Technical Criteria
Given EDI BOL contains transportation data in TN segment with specific organization ID
When The system processes transportation entity building for organization IDs C1, N1, 11, MC, OO, or FW
Then Entity record is created with the organization ID as entity type, name extracted from TN segment, and associated address information retrieved from T2 and TA segments
R-GCCCCADD-cbl-02041 Get Entity City/State/Postal from GA Segment
Action Rules
📊 Business Logic Narrative
When the process 'Get Entity City/State/Postal from GA Segment' is invoked, and assuming that edi bol contains entity location data in ga segment for a named entity, when the system processes entity location information, the desired outcome is that city name, state/province code, postal code, and country code are extracted from the corresponding ga segment fields.
💻 Technical Criteria
Given EDI BOL contains entity location data in GA segment for a named entity
When The system processes entity location information
Then City name, state/province code, postal code, and country code are extracted from the corresponding GA segment fields
R-GCCCCADD-cbl-02044 Build Additional Entities
Action Rules
📊 Business Logic Narrative
When the process 'Build Additional Entities' is invoked, and assuming that the system needs to process importer entity information, when importer data is found in edi bol im segment, the desired outcome is that entity id is set to 'im', importer name and business number details are extracted, csa indicator is managed, and address information is populated from associated segments.
💻 Technical Criteria
Given The system needs to process importer entity information
When Importer data is found in EDI BOL IM segment
Then Entity ID is set to 'IM', importer name and business number details are extracted, CSA indicator is managed, and address information is populated from associated segments
R-GCCCCADD-cbl-02045 Build Additional Entities
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Build Additional Entities', assuming that edi bol importer data is not available but backup importer data exists from earlier processing, when the system builds importer record, the desired outcome is that importer information is populated from backup data including chop, name, business number qualifier, business number, csa indicator, address, city, state, postal code, country, and contact information.
💻 Technical Criteria
EXCLUDING EDI BOL importer data is not available but backup importer data exists from earlier processing
When The system builds importer record
Then Importer information is populated from backup data including CHOP, name, business number qualifier, business number, CSA indicator, address, city, state, postal code, country, and contact information
R-GCCCCADD-cbl-02422 Extract City/State/Postal from EDI BOL
Process Rules
📊 Business Logic Narrative
When the process 'Extract City/State/Postal from EDI BOL' is invoked, and assuming that edi bol shipper city/state data is available in ebsnrsa segment, when the system processes the shipper location information, the desired outcome is that extract city from f4-city-name, extract state/province from f4-state-prov-code, extract postal code from f4-postal-code, and extract country code from f4-country-code.
💻 Technical Criteria
Given EDI BOL shipper city/state data is available in EBSNRSA segment
When The system processes the shipper location information
Then Extract city from F4-CITY-NAME, extract state/province from F4-STATE-PROV-CODE, extract postal code from F4-POSTAL-CODE, and extract country code from F4-COUNTRY-CODE
R-GCCCCADD-cbl-02423 Parse Fastway Address for City/State/Postal
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Parse Fastway Address for City/State/Postal', assuming that edi bol shipper city/state data is not available, when the system needs shipper location information, the desired outcome is that parse shpr-addr(2) to extract city name, state/province code, and postal code, then lookup country code from state/province using tb-state-country table.
💻 Technical Criteria
EXCLUDING EDI BOL shipper city/state data is not available
When The system needs shipper location information
Then Parse SHPR-ADDR(2) to extract city name, state/province code, and postal code, then lookup country code from state/province using TB-STATE-COUNTRY table
R-GCCCCADD-cbl-02424 EDI BOL Contact Info Available?
Decision Rules
📊 Business Logic Narrative
When the process 'EDI BOL Contact Info Available?' is invoked, and assuming that shipper location information has been processed, when the system checks for edi bol shipper contact data by looking up ebsnrsa segment with types 'hn' and 'gp', the desired outcome is that if edi bol contact data is found, extract contact information; otherwise set contact fields to blank.
💻 Technical Criteria
Given Shipper location information has been processed
When The system checks for EDI BOL shipper contact data by looking up EBSNRSA segment with types 'HN' and 'GP'
Then If EDI BOL contact data is found, extract contact information; otherwise set contact fields to blank
R-GCCCCADD-cbl-02433 Extract City/State/Postal from EDI BOL
Process Rules
📊 Business Logic Narrative
When the process 'Extract City/State/Postal from EDI BOL' is invoked, and assuming that edi bol consignee city/state data is available in ebsnrsa segment, when the system processes the consignee location information, the desired outcome is that extract city from d4-city-name, extract state/province from d4-state-prov-code, extract postal code from d4-postal-code, and extract country code from d4-country-code.
💻 Technical Criteria
Given EDI BOL consignee city/state data is available in EBSNRSA segment
When The system processes the consignee location information
Then Extract city from D4-CITY-NAME, extract state/province from D4-STATE-PROV-CODE, extract postal code from D4-POSTAL-CODE, and extract country code from D4-COUNTRY-CODE
R-GCCCCADD-cbl-02434 Parse Fastway Address for City/State/Postal
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Parse Fastway Address for City/State/Postal', assuming that edi bol consignee city/state data is not available, when the system needs consignee location information, the desired outcome is that parse cons-data(4) to extract city name, state/province code, and postal code, then lookup country code from state/province using tb-state-country table.
💻 Technical Criteria
EXCLUDING EDI BOL consignee city/state data is not available
When The system needs consignee location information
Then Parse CONS-DATA(4) to extract city name, state/province code, and postal code, then lookup country code from state/province using TB-STATE-COUNTRY table
R-GCCCCADD-cbl-02435 EDI BOL Contact Info Available?
Decision Rules
📊 Business Logic Narrative
When the process 'EDI BOL Contact Info Available?' is invoked, and assuming that consignee location information has been processed, when the system checks for edi bol consignee contact data by looking up ebsnrsa segment with types 'cn' and 'gp', the desired outcome is that if edi bol contact data is found, extract contact information; otherwise set contact fields to blank.
💻 Technical Criteria
Given Consignee location information has been processed
When The system checks for EDI BOL consignee contact data by looking up EBSNRSA segment with types 'CN' and 'GP'
Then If EDI BOL contact data is found, extract contact information; otherwise set contact fields to blank
R-GCCCCADD-cbl-02445 Process C1 - Carrier Entity
Decision Rules
📊 Business Logic Narrative
When the process 'Process C1 - Carrier Entity' is invoked, and assuming that transportation data exists with organization id 'c1' or consignee data code is 'c' in fastway, when the system processes c1 entity data, the desired outcome is that the system extracts c1 name from edi transportation data if found, otherwise uses consignee data from fastway, gets address and contact information, validates the entity data, and creates a record with entity id 'c1'.
💻 Technical Criteria
Given Transportation data exists with organization ID 'C1' or consignee data code is 'C' in Fastway
When The system processes C1 entity data
Then The system extracts C1 name from EDI transportation data if found, otherwise uses consignee data from Fastway, gets address and contact information, validates the entity data, and creates a record with entity ID 'C1'
R-GCCCCADD-cbl-02447 Process N1 - Notify Party
Process Rules
📊 Business Logic Narrative
When the process 'Process N1 - Notify Party' is invoked, and assuming that edi transportation data exists with organization id 'n1', when the system processes n1 entity data, the desired outcome is that the system extracts n1 name, address, and contact information, validates the entity data, and creates a record with entity id 'n1'.
💻 Technical Criteria
Given EDI transportation data exists with organization ID 'N1'
When The system processes N1 entity data
Then The system extracts N1 name, address, and contact information, validates the entity data, and creates a record with entity ID 'N1'
R-GCCCCADD-cbl-02450 Process Additional Entities - 11, MC, OO, FW
Process Rules
📊 Business Logic Narrative
When the process 'Process Additional Entities - 11, MC, OO, FW' is invoked, and assuming that edi transportation data exists with organization id matching '11', 'mc', 'oo', or 'fw', when the system processes the additional entity data, the desired outcome is that the system extracts entity name, address information from t2 segment, city/state/postal data from ta segment, contact information from t3 segment, validates the entity data, and creates a record with the respective entity id.
💻 Technical Criteria
Given EDI transportation data exists with organization ID matching '11', 'MC', 'OO', or 'FW'
When The system processes the additional entity data
Then The system extracts entity name, address information from T2 segment, city/state/postal data from TA segment, contact information from T3 segment, validates the entity data, and creates a record with the respective entity ID
R-GCCCCADD-cbl-02459 Validate Address Information
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Validate Address Information', assuming that entity country code is canada, usa, or mexico, when state/province code is missing or invalid for the specified country, the desired outcome is that the system generates required state/province error message or invalid state/province error message.
💻 Technical Criteria
EXCLUDING Entity country code is Canada, USA, or Mexico
When State/province code is missing or invalid for the specified country
Then The system generates required state/province error message or invalid state/province error message
R-GCCCCADD-cbl-02721 Initialize Search Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Search Parameters' is invoked, and assuming that a transportation entity lookup process is starting, when the search initialization is performed, the desired outcome is that the entity not found flag is set to true and the transportation segment found flag is set to true.
💻 Technical Criteria
Given A transportation entity lookup process is starting
When The search initialization is performed
Then The entity not found flag is set to true and the transportation segment found flag is set to true
R-GCCCCADD-cbl-02722 Set Search Sequence to 1
Process Rules
📊 Business Logic Narrative
When the process 'Set Search Sequence to 1' is invoked, and assuming that transportation entity search parameters are initialized, when the search sequence is being set up, the desired outcome is that the search sequence counter is set to 1.
💻 Technical Criteria
Given Transportation entity search parameters are initialized
When The search sequence is being set up
Then The search sequence counter is set to 1
R-GCCCCADD-cbl-02724 Transportation Segment Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Transportation Segment Found?' is invoked, and assuming that a transportation segment lookup has been attempted, when the system checks the lookup result status, the desired outcome is that if the status code is spaces then the segment is found, otherwise the segment is not found.
💻 Technical Criteria
Given A transportation segment lookup has been attempted
When The system checks the lookup result status
Then If the status code is spaces then the segment is found, otherwise the segment is not found
R-GCCCCADD-cbl-02725 Check D5-ORG-ID Match
Process Rules
📊 Business Logic Narrative
When the process 'Check D5-ORG-ID Match' is invoked, and assuming that a transportation segment has been successfully retrieved, when the organization id needs to be extracted, the desired outcome is that the d5-org-id field is extracted from the transportation segment data.
💻 Technical Criteria
Given A transportation segment has been successfully retrieved
When The organization ID needs to be extracted
Then The D5-ORG-ID field is extracted from the transportation segment data
R-GCCCCADD-cbl-02726 D5-ORG-ID Matches Target?
Decision Rules
📊 Business Logic Narrative
When the process 'D5-ORG-ID Matches Target?' is invoked, and assuming that an organization id has been extracted from the transportation segment and a target entity id is specified, when the comparison is performed, the desired outcome is that if the d5-org-id equals the target entity id then a match is found, otherwise continue searching.
💻 Technical Criteria
Given An organization ID has been extracted from the transportation segment and a target entity ID is specified
When The comparison is performed
Then If the D5-ORG-ID equals the target entity ID then a match is found, otherwise continue searching
R-GCCCCADD-cbl-02727 Mark Entity Found
Process Rules
📊 Business Logic Narrative
When the process 'Mark Entity Found' is invoked, and assuming that the organization id from a transportation segment matches the target entity id, when the entity found status is updated, the desired outcome is that the entity found flag is set to true.
💻 Technical Criteria
Given The organization ID from a transportation segment matches the target entity ID
When The entity found status is updated
Then The entity found flag is set to true
R-GCCCCADD-cbl-02728 Increment Search Sequence
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Increment Search Sequence', assuming that the current transportation segment does not contain the target entity id, when the search needs to continue to the next segment, the desired outcome is that the search sequence counter is incremented by 1.
💻 Technical Criteria
EXCLUDING The current transportation segment does not contain the target entity ID
When The search needs to continue to the next segment
Then The search sequence counter is incremented by 1
R-GCCCCADD-cbl-02729 More Segments to Search?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'More Segments to Search?', assuming that the search sequence has been incremented and the target entity has not been found, when the system checks for continuation of the search loop, the desired outcome is that if the transportation segment found flag is true then continue searching, otherwise stop the search.
💻 Technical Criteria
EXCLUDING The search sequence has been incremented and the target entity has not been found
When The system checks for continuation of the search loop
Then If the transportation segment found flag is true then continue searching, otherwise stop the search
R-GCCCCADD-cbl-02730 Entity Located Successfully
Process Rules
📊 Business Logic Narrative
When the process 'Entity Located Successfully' is invoked, and assuming that a transportation segment with matching organization id has been found, when the search process completes successfully, the desired outcome is that the entity found flag remains true and the search sequence is decremented by 1 to reflect the correct position.
💻 Technical Criteria
Given A transportation segment with matching organization ID has been found
When The search process completes successfully
Then The entity found flag remains true and the search sequence is decremented by 1 to reflect the correct position
R-GCCCCADD-cbl-02731 Entity Not Found
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Entity Not Found', assuming that all available transportation segments have been searched or no segments were found, when the target entity id was not matched in any segment, the desired outcome is that the entity not found flag remains true.
💻 Technical Criteria
EXCLUDING All available transportation segments have been searched or no segments were found
When The target entity ID was not matched in any segment
Then The entity not found flag remains true
R-GCCCCADD-cbl-02905 Initialize Search Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Search Parameters' is invoked, and assuming that a transportation segment search is initiated, when the search parameters need to be initialized, the desired outcome is that the organization id status is set to not found and the transportation segment found status is set to true.
💻 Technical Criteria
Given A transportation segment search is initiated
When The search parameters need to be initialized
Then The organization ID status is set to not found and the transportation segment found status is set to true
R-GCCCCADD-cbl-02906 Set Sequence Counter to 1
Process Rules
📊 Business Logic Narrative
When the process 'Set Sequence Counter to 1' is invoked, and assuming that a transportation segment search is being initialized, when the sequence counter needs to be set for iteration, the desired outcome is that the sequence counter is set to 1 to begin searching from the first sequence.
💻 Technical Criteria
Given A transportation segment search is being initialized
When The sequence counter needs to be set for iteration
Then The sequence counter is set to 1 to begin searching from the first sequence
R-GCCCCADD-cbl-02908 Execute EDI BOL Segment Retrieval
Action Rules
📊 Business Logic Narrative
When the process 'Execute EDI BOL Segment Retrieval' is invoked, and assuming that transportation segment request parameters are configured, when the edi bol segment retrieval is executed, the desired outcome is that the ebclgio service is called with the configured parameters to retrieve the transportation segment.
💻 Technical Criteria
Given Transportation segment request parameters are configured
When The EDI BOL segment retrieval is executed
Then The EBCLGIO service is called with the configured parameters to retrieve the transportation segment
R-GCCCCADD-cbl-02909 Segment Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Segment Found?' is invoked, and assuming that a transportation segment retrieval has been executed, when the retrieval result needs to be validated, the desired outcome is that if the status code is spaces then the segment is found, otherwise the segment is not found.
💻 Technical Criteria
Given A transportation segment retrieval has been executed
When The retrieval result needs to be validated
Then If the status code is spaces then the segment is found, otherwise the segment is not found
R-GCCCCADD-cbl-02910 Organization ID Matches Target?
Decision Rules
📊 Business Logic Narrative
When the process 'Organization ID Matches Target?' is invoked, and assuming that a transportation segment has been successfully retrieved, when the organization id needs to be validated against the target, the desired outcome is that if the retrieved organization id equals the target organization id then a match is found, otherwise continue searching.
💻 Technical Criteria
Given A transportation segment has been successfully retrieved
When The organization ID needs to be validated against the target
Then If the retrieved organization ID equals the target organization ID then a match is found, otherwise continue searching
R-GCCCCADD-cbl-02912 Increment Sequence Counter
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Increment Sequence Counter', assuming that the current transportation segment does not match the target organization id, when the search needs to continue to the next sequence, the desired outcome is that the sequence counter is incremented by 1.
💻 Technical Criteria
EXCLUDING The current transportation segment does not match the target organization ID
When The search needs to continue to the next sequence
Then The sequence counter is incremented by 1
R-GCCCCADD-cbl-02913 Continue Search?
Decision Rules
📊 Business Logic Narrative
When the process 'Continue Search?' is invoked, and assuming that a transportation segment search iteration has completed, when the continuation criteria needs to be evaluated, the desired outcome is that if the segment was not found then set transportation segment not found status to true, otherwise if organization id is not found then continue searching.
💻 Technical Criteria
Given A transportation segment search iteration has completed
When The continuation criteria needs to be evaluated
Then If the segment was not found then set transportation segment not found status to true, otherwise if organization ID is not found then continue searching
R-GCCCCADD-cbl-00298 CSA Indicator ON?
Decision Rules
📊 Business Logic Narrative
When the process 'CSA Indicator ON?' is invoked, and assuming that the system is processing importer data and csa indicator is already on, when the importer processing logic is executed, the desired outcome is that skip au table lookup and importer data processing.
💻 Technical Criteria
Given The system is processing importer data and CSA indicator is already ON
When The importer processing logic is executed
Then Skip AU table lookup and importer data processing
R-GCCCCADD-cbl-00299 AU Table Data Available?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'AU Table Data Available?', assuming that the system is checking for au table data availability and csa indicator is off, when au table data is not available (gcstbrtau is spaces), the desired outcome is that skip importer data processing and continue with next steps.
💻 Technical Criteria
EXCLUDING The system is checking for AU table data availability and CSA indicator is OFF
When AU table data is not available (GCSTBRTAU is spaces)
Then Skip importer data processing and continue with next steps
R-GCCCCADD-cbl-00300 Importer Already Set?
Decision Rules
📊 Business Logic Narrative
When the process 'Importer Already Set?' is invoked, and assuming that the system has au table data available and csa indicator is off and importer data has already been found and set from previous processing, when the system checks if importer is already set (ws-au-imp-found is true), the desired outcome is that skip au table lookup and importer data processing.
💻 Technical Criteria
Given The system has AU table data available and CSA indicator is OFF and importer data has already been found and set from previous processing
When The system checks if importer is already set (WS-AU-IMP-FOUND is true)
Then Skip AU table lookup and importer data processing
R-GCCCCADD-cbl-00301 Lookup AU Table by Consignee CHOP and Commodity Code
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Lookup AU Table by Consignee CHOP and Commodity Code', assuming that the system needs to find importer data and csa indicator is off and au table data is available and importer is not already set, when the system performs au table lookup using consignee chop code and commodity code, the desired outcome is that retrieve au table record with matching consignee chop and commodity code.
💻 Technical Criteria
EXCLUDING The system needs to find importer data and CSA indicator is OFF and AU table data is available and importer is not already set
When The system performs AU table lookup using consignee CHOP code and commodity code
Then Retrieve AU table record with matching consignee CHOP and commodity code
R-GCCCCADD-cbl-00302 AU Record Found?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'AU Record Found?', assuming that the system has performed au table lookup using consignee chop and commodity code, when au table lookup returns no matching record (gcctbio-return-flag not equal to successful), the desired outcome is that skip importer data processing and continue with next steps.
💻 Technical Criteria
EXCLUDING The system has performed AU table lookup using consignee CHOP and commodity code
When AU table lookup returns no matching record (GCCTBIO-RETURN-FLAG not equal to SUCCESSFUL)
Then Skip importer data processing and continue with next steps
R-GCCCCADD-cbl-00305 Set Business Number Qualifier to 'M5'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Business Number Qualifier to 'M5'' is invoked, and assuming that importer data is being set from au table record and business number has been assigned, when the system sets the business number qualifier, the desired outcome is that set business number qualifier to 'm5' to indicate au table source.
💻 Technical Criteria
Given Importer data is being set from AU table record and business number has been assigned
When The system sets the business number qualifier
Then Set business number qualifier to 'M5' to indicate AU table source
R-GCCCCADD-cbl-00306 Turn CSA Indicator ON
Action Rules
📊 Business Logic Narrative
When the process 'Turn CSA Indicator ON' is invoked, and assuming that importer data has been successfully set from au table including name, business number, and qualifier, when the system finalizes the au table importer setup, the desired outcome is that turn csa indicator on to indicate canada-us agreement processing.
💻 Technical Criteria
Given Importer data has been successfully set from AU table including name, business number, and qualifier
When The system finalizes the AU table importer setup
Then Turn CSA indicator ON to indicate Canada-US agreement processing
R-GCCCCADD-cbl-00307 Mark AU Importer Found
Action Rules
📊 Business Logic Narrative
When the process 'Mark AU Importer Found' is invoked, and assuming that importer data has been successfully set from au table and csa indicator has been turned on, when the system completes au table importer processing, the desired outcome is that set au importer found flag (ws-au-imp-found) to true.
💻 Technical Criteria
Given Importer data has been successfully set from AU table and CSA indicator has been turned ON
When The system completes AU table importer processing
Then Set AU importer found flag (WS-AU-IMP-FOUND) to true
R-GCCCCADD-cbl-00308 Check for EDI Importer Data
Decision Rules
📊 Business Logic Narrative
When the process 'Check for EDI Importer Data' is invoked, and assuming that au table importer data has been processed and au importer found flag is set, when the system checks for additional edi importer data, the desired outcome is that verify if edi importer data exists (ws-s55-imp-found) for further processing decisions.
💻 Technical Criteria
Given AU table importer data has been processed and AU importer found flag is set
When The system checks for additional EDI importer data
Then Verify if EDI importer data exists (WS-S55-IMP-FOUND) for further processing decisions
R-GCCCCADD-cbl-00309 Business Number Qualifier BN or Blank?
Decision Rules
📊 Business Logic Narrative
When the process 'Business Number Qualifier BN or Blank?' is invoked, and assuming that au importer data has been processed and edi importer data also exists, when the system evaluates the edi business number qualifier, the desired outcome is that check if business number qualifier is 'bn' or blank (spaces) to determine csa indicator action.
💻 Technical Criteria
Given AU importer data has been processed and EDI importer data also exists
When The system evaluates the EDI business number qualifier
Then Check if business number qualifier is 'BN' or blank (spaces) to determine CSA indicator action
R-GCCCCADD-cbl-00310 Turn CSA Indicator OFF
Policy Rules
📊 Business Logic Narrative
When the process 'Turn CSA Indicator OFF' is invoked, and assuming that au importer data has been processed with csa indicator on and edi importer data exists with business number qualifier 'bn' or blank, when the system determines csa indicator setting based on data source priority, the desired outcome is that turn csa indicator off to prioritize edi importer data over au table data.
💻 Technical Criteria
Given AU importer data has been processed with CSA indicator ON and EDI importer data exists with business number qualifier 'BN' or blank
When The system determines CSA indicator setting based on data source priority
Then Turn CSA indicator OFF to prioritize EDI importer data over AU table data
R-GCCCCADD-cbl-00311 Create Final Importer Record
Action Rules
📊 Business Logic Narrative
When the process 'Create Final Importer Record' is invoked, and assuming that importer data has been processed from au table and csa indicator decisions have been made, when the system creates the final importer record, the desired outcome is that build customs record 55 with importer entity type, name, business number, qualifier, and address information.
💻 Technical Criteria
Given Importer data has been processed from AU table and CSA indicator decisions have been made
When The system creates the final importer record
Then Build customs record 55 with importer entity type, name, business number, qualifier, and address information
R-GCCCCADD-cbl-00312 Replace Last N1 Record
Process Rules
📊 Business Logic Narrative
When the process 'Replace Last N1 Record' is invoked, and assuming that final importer record needs to be created and the system has reached the maximum of 24 n1 records, when the system attempts to add the importer record, the desired outcome is that replace the last n1 record (sequence 24) with the new importer record using repl function.
💻 Technical Criteria
Given Final importer record needs to be created and the system has reached the maximum of 24 N1 records
When The system attempts to add the importer record
Then Replace the last N1 record (sequence 24) with the new importer record using REPL function
R-GCCCCADD-cbl-00313 Insert New N1 Record
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Insert New N1 Record', assuming that final importer record needs to be created and the system has not reached the maximum of 24 n1 records, when the system adds the importer record, the desired outcome is that insert new n1 record at the next available sequence position with importer information.
💻 Technical Criteria
EXCLUDING Final importer record needs to be created and the system has not reached the maximum of 24 N1 records
When The system adds the importer record
Then Insert new N1 record at the next available sequence position with importer information
R-GCCCCADD-cbl-02058 Lookup AU Table with Consignee CHOP and Commodity Code
Action Rules
📊 Business Logic Narrative
When the process 'Lookup AU Table with Consignee CHOP and Commodity Code' is invoked, and assuming that csa indicator is off and au table has data and no importer is currently set, when the system performs au table lookup using consignee chop code and commodity code, the desired outcome is that the system retrieves authorized user record if it exists in the au table.
💻 Technical Criteria
Given CSA indicator is OFF AND AU table has data AND no importer is currently set
When The system performs AU table lookup using consignee CHOP code and commodity code
Then The system retrieves authorized user record if it exists in the AU table
R-GCCCCADD-cbl-02060 Extract Importer Name from AU Table
Process Rules
📊 Business Logic Narrative
When the process 'Extract Importer Name from AU Table' is invoked, and assuming that a valid au table record has been found, when the system processes the au table data, the desired outcome is that the system extracts importer name and business number from the au table record.
💻 Technical Criteria
Given A valid AU table record has been found
When The system processes the AU table data
Then The system extracts importer name and business number from the AU table record
R-GCCCCADD-cbl-02061 Set Business Number Qualifier to 'M5'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Business Number Qualifier to 'M5'' is invoked, and assuming that importer data has been extracted from au table, when the system processes the importer business number, the desired outcome is that the system sets the business number qualifier to 'm5' and activates csa indicator.
💻 Technical Criteria
Given Importer data has been extracted from AU table
When The system processes the importer business number
Then The system sets the business number qualifier to 'M5' and activates CSA indicator
R-GCCCCADD-cbl-02062 Create Importer Record from AU Data
Process Rules
📊 Business Logic Narrative
When the process 'Create Importer Record from AU Data' is invoked, and assuming that au importer data has been found and no existing s55 importer record exists, when the system needs to create importer customs record, the desired outcome is that the system creates a new customs record with importer name, business number, qualifier 'm5', default address 'na', and activates csa indicator.
💻 Technical Criteria
Given AU importer data has been found AND no existing S55 importer record exists
When The system needs to create importer customs record
Then The system creates a new customs record with importer name, business number, qualifier 'M5', default address 'NA', and activates CSA indicator
R-GCCCCADD-cbl-02063 Set Default Address as 'NA'
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Default Address as 'NA'', assuming that a new importer customs record is being created from au table data, when address information is not available in au table, the desired outcome is that the system sets the address field to 'na' and clears all city, state, postal, and contact data fields.
💻 Technical Criteria
EXCLUDING A new importer customs record is being created from AU table data
When Address information is not available in AU table
Then The system sets the address field to 'NA' and clears all city, state, postal, and contact data fields
R-GCCCCADD-cbl-02465 Initialize AU Table Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize AU Table Parameters' is invoked, and assuming that a customs manifest processing request is initiated, when the system needs to lookup importer information from the au table, the desired outcome is that the system initializes lookup parameters by clearing all table keys and flags, setting function code to 'gu' for retrieval, setting table id to 'au', and preparing for database access.
💻 Technical Criteria
Given A customs manifest processing request is initiated
When The system needs to lookup importer information from the AU table
Then The system initializes lookup parameters by clearing all table keys and flags, setting function code to 'GU' for retrieval, setting table ID to 'AU', and preparing for database access
R-GCCCCADD-cbl-02470 Extract AU Importer Data
Process Rules
📊 Business Logic Narrative
When the process 'Extract AU Importer Data' is invoked, and assuming that au table lookup found a matching record, when the system processes the au record data, the desired outcome is that the system extracts the importer name from the au table segment and stores it for further processing.
💻 Technical Criteria
Given AU table lookup found a matching record
When The system processes the AU record data
Then The system extracts the importer name from the AU table segment and stores it for further processing
R-GCCCCADD-cbl-02471 Extract AU Business Number
Process Rules
📊 Business Logic Narrative
When the process 'Extract AU Business Number' is invoked, and assuming that au record data has been accessed and importer name extracted, when the system continues processing the au record, the desired outcome is that the system extracts the business number from the au table segment for importer business identification.
💻 Technical Criteria
Given AU record data has been accessed and importer name extracted
When The system continues processing the AU record
Then The system extracts the business number from the AU table segment for importer business identification
R-GCCCCADD-cbl-02472 Check CSA Indicator Status
Decision Rules
📊 Business Logic Narrative
When the process 'Check CSA Indicator Status' is invoked, and assuming that au importer and business number data have been extracted, when the system checks the current csa indicator status and existing importer data, the desired outcome is that if csa indicator is already on or importer data is already populated from another source, the system skips au data assignment; otherwise, it proceeds to set au data.
💻 Technical Criteria
Given AU importer and business number data have been extracted
When The system checks the current CSA indicator status and existing importer data
Then If CSA indicator is already on OR importer data is already populated from another source, the system skips AU data assignment; otherwise, it proceeds to set AU data
R-GCCCCADD-cbl-02476 Turn CSA Indicator ON
Policy Rules
📊 Business Logic Narrative
When the process 'Turn CSA Indicator ON' is invoked, and assuming that au importer data and business number qualifier have been assigned, when the system finalizes au data assignment, the desired outcome is that the system turns on the csa indicator to reflect that the importer is eligible for customs self-assessment processing.
💻 Technical Criteria
Given AU importer data and business number qualifier have been assigned
When The system finalizes AU data assignment
Then The system turns on the CSA indicator to reflect that the importer is eligible for customs self-assessment processing
R-GCCCCADD-cbl-02477 Mark AU Importer Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Mark AU Importer Found Flag' is invoked, and assuming that au importer data has been successfully assigned and csa indicator activated, when the system updates processing status flags, the desired outcome is that the system sets the au importer found flag to true to track that au processing was successful.
💻 Technical Criteria
Given AU importer data has been successfully assigned and CSA indicator activated
When The system updates processing status flags
Then The system sets the AU importer found flag to true to track that AU processing was successful
R-GCCCCADD-cbl-02478 AU Importer Found AND S55 Importer Not Found?
Decision Rules
📊 Business Logic Narrative
When the process 'AU Importer Found AND S55 Importer Not Found?' is invoked, and assuming that au processing has completed and au importer found flag is set, when the system evaluates whether to create a new importer record, the desired outcome is that if au importer was found and no s55 importer record exists, the system proceeds to create a new importer record; otherwise, it completes au processing.
💻 Technical Criteria
Given AU processing has completed and AU importer found flag is set
When The system evaluates whether to create a new importer record
Then If AU importer was found AND no S55 importer record exists, the system proceeds to create a new importer record; otherwise, it completes AU processing
R-GCCCCADD-cbl-02480 Set Entity ID to IM
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Entity ID to IM' is invoked, and assuming that a new importer record structure has been created, when the system sets the entity classification, the desired outcome is that the system sets the entity id code to 'im' to identify this record as an importer entity.
💻 Technical Criteria
Given A new importer record structure has been created
When The system sets the entity classification
Then The system sets the entity ID code to 'IM' to identify this record as an importer entity
R-GCCCCADD-cbl-02481 Set Importer Name
Process Rules
📊 Business Logic Narrative
When the process 'Set Importer Name' is invoked, and assuming that importer record has entity id set and au importer name is available, when the system populates importer identification fields, the desired outcome is that the system sets the name field in the customs record to the au importer name and also updates the main importer field in the manifest.
💻 Technical Criteria
Given Importer record has entity ID set and AU importer name is available
When The system populates importer identification fields
Then The system sets the name field in the customs record to the AU importer name and also updates the main importer field in the manifest
R-GCCCCADD-cbl-02482 Set Business Number and Qualifier
Process Rules
📊 Business Logic Narrative
When the process 'Set Business Number and Qualifier' is invoked, and assuming that importer name has been set in the customs record, when the system completes business identification setup, the desired outcome is that the system sets the id code to the au business number, sets the id code qualifier to 'm5', and updates corresponding fields in the main manifest.
💻 Technical Criteria
Given Importer name has been set in the customs record
When The system completes business identification setup
Then The system sets the ID code to the AU business number, sets the ID code qualifier to 'M5', and updates corresponding fields in the main manifest
R-GCCCCADD-cbl-02483 Set Default Address to NA
Validation Rules
📊 Business Logic Narrative
When the process 'Set Default Address to NA' is invoked, and assuming that business identification fields have been set in the importer record, when the system sets address information, the desired outcome is that the system sets the primary address field to 'na' (not available) and clears the secondary address field and all location fields.
💻 Technical Criteria
Given Business identification fields have been set in the importer record
When The system sets address information
Then The system sets the primary address field to 'NA' (Not Available) and clears the secondary address field and all location fields
R-GCCCCADD-cbl-02485 Turn CSA Indicator ON
Policy Rules
📊 Business Logic Narrative
When the process 'Turn CSA Indicator ON' is invoked, and assuming that new importer record has been fully populated with au data, when the system finalizes the record creation, the desired outcome is that the system turns on the csa indicator in the main manifest to enable customs self-assessment processing for this importer.
💻 Technical Criteria
Given New importer record has been fully populated with AU data
When The system finalizes the record creation
Then The system turns on the CSA indicator in the main manifest to enable customs self-assessment processing for this importer
R-GCCCCADD-cbl-02066 Check if Importer Data from Input?
Validation Rules
📊 Business Logic Narrative
When the process 'Check if Importer Data from Input?' is invoked, and assuming that input parameters containing importer name, business number, and business number qualifier fields, when the system validates importer data presence, the desired outcome is that the system should confirm if all required importer fields (name, business number, and qualifier) contain valid data.
💻 Technical Criteria
Given Input parameters containing importer name, business number, and business number qualifier fields
When The system validates importer data presence
Then The system should confirm if all required importer fields (name, business number, and qualifier) contain valid data
R-GCCCCADD-cbl-02067 Check if AU Table Has Importer Data?
Action Rules
📊 Business Logic Narrative
When the process 'Check if AU Table Has Importer Data?' is invoked, and assuming that au table contains importer name and business number for the consignee and commodity combination, when the system finds valid importer data in au table, the desired outcome is that the system should extract importer name and business number, set csa indicator to on, and mark au importer as found.
💻 Technical Criteria
Given AU table contains importer name and business number for the consignee and commodity combination
When The system finds valid importer data in AU table
Then The system should extract importer name and business number, set CSA indicator to ON, and mark AU importer as found
R-GCCCCADD-cbl-02068 Check Transit/Return Status?
Policy Rules
📊 Business Logic Narrative
When the process 'Check Transit/Return Status?' is invoked, and assuming that a shipment with in-transit status set to transit or return and csa indicator currently on, when the system processes csa indicator for transit/return shipments, the desired outcome is that the system should set csa indicator to off, clear importer name, business number qualifier, and business number fields, and reset au importer found flag.
💻 Technical Criteria
Given A shipment with in-transit status set to TRANSIT or RETURN and CSA indicator currently ON
When The system processes CSA indicator for transit/return shipments
Then The system should set CSA indicator to OFF, clear importer name, business number qualifier, and business number fields, and reset AU importer found flag
R-GCCCCADD-cbl-02069 Check AU and EDI BOL Importer Data?
Validation Rules
📊 Business Logic Narrative
When the process 'Check AU and EDI BOL Importer Data?' is invoked, and assuming that au table contains importer data and edi bol contains importer segment data, when the system finds both au importer data and edi bol importer data are present, the desired outcome is that the system should proceed to validate business number qualifier for csa indicator adjustment.
💻 Technical Criteria
Given AU table contains importer data and EDI BOL contains importer segment data
When The system finds both AU importer data and EDI BOL importer data are present
Then The system should proceed to validate business number qualifier for CSA indicator adjustment
R-GCCCCADD-cbl-02070 Check Business Number Qualifier?
Decision Rules
📊 Business Logic Narrative
When the process 'Check Business Number Qualifier?' is invoked, and assuming that both au table importer data and edi bol importer data are found with business number qualifier, when the business number qualifier is 'bn' or contains spaces, the desired outcome is that the system should set csa indicator to off.
💻 Technical Criteria
Given Both AU table importer data and EDI BOL importer data are found with business number qualifier
When The business number qualifier is 'BN' or contains spaces
Then The system should set CSA indicator to OFF
R-GCCCCADD-cbl-00314 CSA Indicator Already On?
Decision Rules
📊 Business Logic Narrative
When the process 'CSA Indicator Already On?' is invoked, and assuming that a shipment is being processed for customs, when the csa indicator is already set to on, the desired outcome is that skip csa indicator management and proceed to transit/return validation.
💻 Technical Criteria
Given A shipment is being processed for customs
When The CSA indicator is already set to ON
Then Skip CSA indicator management and proceed to transit/return validation
R-GCCCCADD-cbl-00315 AU Table Data Available?
Decision Rules
📊 Business Logic Narrative
When the process 'AU Table Data Available?' is invoked, and assuming that a shipment requires csa indicator evaluation, when the au table lookup returns no importer data, the desired outcome is that skip csa indicator activation and proceed to transit/return validation.
💻 Technical Criteria
Given A shipment requires CSA indicator evaluation
When The AU table lookup returns no importer data
Then Skip CSA indicator activation and proceed to transit/return validation
R-GCCCCADD-cbl-00316 Importer Data Present in Input?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Importer Data Present in Input?', assuming that au table contains importer data and csa indicator is not already on, when importer data is already present in the input, the desired outcome is that skip au table importer retrieval and proceed to transit/return validation.
💻 Technical Criteria
EXCLUDING AU table contains importer data and CSA indicator is not already on
When Importer data is already present in the input
Then Skip AU table importer retrieval and proceed to transit/return validation
R-GCCCCADD-cbl-00317 Retrieve AU Table Importer Data
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve AU Table Importer Data' is invoked, and assuming that csa indicator is off, au table has data, and no importer data exists in input, when au table lookup is performed for the consignee and commodity combination, the desired outcome is that retrieve importer name and business number from au table if found.
💻 Technical Criteria
Given CSA indicator is off, AU table has data, and no importer data exists in input
When AU table lookup is performed for the consignee and commodity combination
Then Retrieve importer name and business number from AU table if found
R-GCCCCADD-cbl-00318 Set CSA Indicator ON
Process Rules
📊 Business Logic Narrative
When the process 'Set CSA Indicator ON' is invoked, and assuming that importer data has been successfully retrieved from au table, when au table contains valid importer information, the desired outcome is that set the csa indicator to on to enable csa processing.
💻 Technical Criteria
Given Importer data has been successfully retrieved from AU table
When AU table contains valid importer information
Then Set the CSA indicator to ON to enable CSA processing
R-GCCCCADD-cbl-00321 Set Business Number Qualifier to M5
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Business Number Qualifier to M5' is invoked, and assuming that business number has been set from au table, when au table importer data is being processed, the desired outcome is that set the business number qualifier to 'm5'.
💻 Technical Criteria
Given Business number has been set from AU table
When AU table importer data is being processed
Then Set the business number qualifier to 'M5'
R-GCCCCADD-cbl-00322 Reset CSA Indicator OFF
Policy Rules
📊 Business Logic Narrative
When the process 'Reset CSA Indicator OFF' is invoked, and assuming that a shipment has been processed for csa indicator management, when the shipment is classified as transit (moving through canada) or return (moving back to origin), the desired outcome is that set the csa indicator to off to disable csa processing.
💻 Technical Criteria
Given A shipment has been processed for CSA indicator management
When The shipment is classified as transit (moving through Canada) or return (moving back to origin)
Then Set the CSA indicator to OFF to disable CSA processing
R-GCCCCADD-cbl-00323 Clear Importer Data
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Clear Importer Data', assuming that csa indicator has been reset to off for transit or return shipment, when the shipment does not require importer information, the desired outcome is that clear all importer data fields including name, business number, and business number qualifier.
💻 Technical Criteria
EXCLUDING CSA indicator has been reset to OFF for transit or return shipment
When The shipment does not require importer information
Then Clear all importer data fields including name, business number, and business number qualifier
R-GCCCCADD-cbl-00324 Reset CSA Indicator OFF for Duplicate Sources
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Reset CSA Indicator OFF for Duplicate Sources', assuming that shipment is not transit or return type, when au table importer data is found and edi bol importer data exists with business number qualifier (bn or spaces), the desired outcome is that set csa indicator to off to resolve data source conflict.
💻 Technical Criteria
EXCLUDING Shipment is not transit or return type
When AU table importer data is found AND EDI BOL importer data exists with business number qualifier (BN or spaces)
Then Set CSA indicator to OFF to resolve data source conflict
R-GCCCCADD-cbl-00341 Action Code Check
Decision Rules
📊 Business Logic Narrative
When the process 'Action Code Check' is invoked, and assuming that description components have been extracted for enhancement, when the system evaluates the shipment action code, the desired outcome is that route to us transit description for 'us' action, rt transit description for 'rt' action, or use original description for other actions.
💻 Technical Criteria
Given Description components have been extracted for enhancement
When The system evaluates the shipment action code
Then Route to US transit description for 'US' action, RT transit description for 'RT' action, or use original description for other actions
R-GCCCCADD-cbl-00349 Search State-Country Table for Destination Station State Code
Decision Rules
📊 Business Logic Narrative
When the process 'Search State-Country Table for Destination Station State Code' is invoked, and assuming that a destination station state code exists, when the system searches the state-country lookup table for the destination station state code, the desired outcome is that if the state code is found in the table, set the destination country code to the corresponding country entry from the table, otherwise set the destination country code to spaces.
💻 Technical Criteria
Given A destination station state code exists
When The system searches the state-country lookup table for the destination station state code
Then If the state code is found in the table, set the destination country code to the corresponding country entry from the table, otherwise set the destination country code to spaces
R-GCCCCADD-cbl-00354 Search Application Type Table with Country Combination
Decision Rules
📊 Business Logic Narrative
When the process 'Search Application Type Table with Country Combination' is invoked, and assuming that origin and destination country codes have been determined, when the system searches the application type table using the country code combination, the desired outcome is that if a matching combination is found, the corresponding application type and in-transit status are assigned, otherwise both fields are set to spaces.
💻 Technical Criteria
Given Origin and destination country codes have been determined
When The system searches the application type table using the country code combination
Then If a matching combination is found, the corresponding application type and in-transit status are assigned, otherwise both fields are set to spaces
R-GCCCCADD-cbl-00356 Search 1: Use Shipper CHOP, Consignee CHOP, Origin Station, Destination Road, Commodity Code
Action Rules
📊 Business Logic Narrative
When the process 'Search 1: Use Shipper CHOP, Consignee CHOP, Origin Station, Destination Road, Commodity Code' is invoked, and assuming that a shipment has shipper chop code, consignee chop code, origin station number, destination road number, and commodity stcc code, when the system performs the primary broker search in the crossing table, the desired outcome is that the system uses shipper chop, consignee chop, origin station, destination road formatted as 'road' + road number, and commodity code as search criteria.
💻 Technical Criteria
Given A shipment has shipper CHOP code, consignee CHOP code, origin station number, destination road number, and commodity STCC code
When The system performs the primary broker search in the crossing table
Then The system uses shipper CHOP, consignee CHOP, origin station, destination road formatted as 'ROAD' + road number, and commodity code as search criteria
R-GCCCCADD-cbl-00362 Check Manifest-To Station Override
Decision Rules
📊 Business Logic Narrative
When the process 'Check Manifest-To Station Override' is invoked, and assuming that broker information has been successfully applied to the customs record, when the system evaluates the canadian manifest-to station field in the broker data, the desired outcome is that if the canadian manifest-to station field is not spaces, the system will process the station override.
💻 Technical Criteria
Given Broker information has been successfully applied to the customs record
When The system evaluates the Canadian manifest-to station field in the broker data
Then If the Canadian manifest-to station field is not spaces, the system will process the station override
R-GCCCCADD-cbl-00364 Lookup Station in MC Table
Validation Rules
📊 Business Logic Narrative
When the process 'Lookup Station in MC Table' is invoked, and assuming that the manifest-to station lookup in mc table was successful, when the system evaluates the canadian customs code for the station, the desired outcome is that if the canadian customs code equals '00000', the system sets error flag 2 and records the station name for error reporting.
💻 Technical Criteria
Given The manifest-to station lookup in MC table was successful
When The system evaluates the Canadian customs code for the station
Then If the Canadian customs code equals '00000', the system sets error flag 2 and records the station name for error reporting
R-GCCCCADD-cbl-00365 Update Manifest-To Station Code
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Update Manifest-To Station Code', assuming that the manifest-to station validation was successful and canadian customs code is not '00000', when the system updates the manifest-to station information, the desired outcome is that the system moves the canadian customs code to manifest-to station code, station number to destination station number fields, and call letters to batch print call letters.
💻 Technical Criteria
EXCLUDING The manifest-to station validation was successful and Canadian customs code is not '00000'
When The system updates the manifest-to station information
Then The system moves the Canadian customs code to manifest-to station code, station number to destination station number fields, and call letters to batch print call letters
R-GCCCCADD-cbl-00366 Set Station Validation Error
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Station Validation Error', assuming that the manifest-to station lookup in mc table was not successful, when the system processes the lookup failure, the desired outcome is that the system sets error flag 3 and records the station name for error reporting.
💻 Technical Criteria
EXCLUDING The manifest-to station lookup in MC table was not successful
When The system processes the lookup failure
Then The system sets error flag 3 and records the station name for error reporting
R-GCCCCADD-cbl-02071 Search 1: Full Criteria Match
Action Rules
📊 Business Logic Narrative
When the process 'Search 1: Full Criteria Match' is invoked, and assuming that a shipment has shipper chop, consignee chop, origin station number, destination station number, and commodity code available, when the system performs the first broker search attempt with all available criteria, the desired outcome is that the system searches the crossing table using shipper chop, consignee chop, origin station, destination splc (road + road number), and commodity code as search parameters.
💻 Technical Criteria
Given A shipment has shipper CHOP, consignee CHOP, origin station number, destination station number, and commodity code available
When The system performs the first broker search attempt with all available criteria
Then The system searches the crossing table using shipper CHOP, consignee CHOP, origin station, destination SPLC (ROAD + road number), and commodity code as search parameters
R-GCCCCADD-cbl-02073 Search 2: Consignee + Station + Commodity
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Search 2: Consignee + Station + Commodity', assuming that the first broker search with full criteria did not find matching broker data, when the system performs the second broker search attempt, the desired outcome is that the system searches using wildcard for shipper chop, wildcard for origin station, original consignee chop, destination splc, and commodity code.
💻 Technical Criteria
EXCLUDING The first broker search with full criteria did not find matching broker data
When The system performs the second broker search attempt
Then The system searches using wildcard for shipper CHOP, wildcard for origin station, original consignee CHOP, destination SPLC, and commodity code
R-GCCCCADD-cbl-02075 Search 3: Wildcard + Commodity Only
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Search 3: Wildcard + Commodity Only', assuming that the second broker search with reduced criteria did not find matching broker data, when the system performs the third broker search attempt, the desired outcome is that the system searches using wildcard for shipper chop, wildcard for consignee chop, wildcard for origin station, original destination splc, and wildcard for commodity code.
💻 Technical Criteria
EXCLUDING The second broker search with reduced criteria did not find matching broker data
When The system performs the third broker search attempt
Then The system searches using wildcard for shipper CHOP, wildcard for consignee CHOP, wildcard for origin station, original destination SPLC, and wildcard for commodity code
R-GCCCCADD-cbl-02077 Set Initial Search Criteria
Process Rules
📊 Business Logic Narrative
When the process 'Set Initial Search Criteria' is invoked, and assuming that shipment root data and commodity data are available for processing, when the broker search process is initiated, the desired outcome is that the system extracts shipper chop, consignee chop, origin station number, destination station number, destination road number, and commodity code from the shipment data.
💻 Technical Criteria
Given Shipment root data and commodity data are available for processing
When The broker search process is initiated
Then The system extracts shipper CHOP, consignee CHOP, origin station number, destination station number, destination road number, and commodity code from the shipment data
R-GCCCCADD-cbl-02486 Search 1: Full Criteria Match
Action Rules
📊 Business Logic Narrative
When the process 'Search 1: Full Criteria Match' is invoked, and assuming that a shipment requires broker assignment and all search criteria are available (shipper chop code, consignee chop code, origin station number, destination station number, origin splc as wildcard, destination splc with road number, and commodity code), when the system executes the first broker search with complete criteria, the desired outcome is that the system calls the crossing table lookup service with all specified parameters and sets the broker data found flag based on the lookup result.
💻 Technical Criteria
Given A shipment requires broker assignment and all search criteria are available (shipper CHOP code, consignee CHOP code, origin station number, destination station number, origin SPLC as wildcard, destination SPLC with road number, and commodity code)
When The system executes the first broker search with complete criteria
Then The system calls the crossing table lookup service with all specified parameters and sets the broker data found flag based on the lookup result
R-GCCCCADD-cbl-02487 Search 2: Wildcard Shipper CHOP
Action Rules
📊 Business Logic Narrative
When the process 'Search 2: Wildcard Shipper CHOP' is invoked, and assuming that the initial broker search with full criteria returned no results, when the system executes the second broker search replacing shipper chop code with wildcard and keeping consignee chop, origin station, destination station, origin splc, destination splc with road number, and commodity code unchanged, the desired outcome is that the system calls the crossing table lookup service with modified criteria and sets the broker data found flag based on the lookup result.
💻 Technical Criteria
Given The initial broker search with full criteria returned no results
When The system executes the second broker search replacing shipper CHOP code with wildcard and keeping consignee CHOP, origin station, destination station, origin SPLC, destination SPLC with road number, and commodity code unchanged
Then The system calls the crossing table lookup service with modified criteria and sets the broker data found flag based on the lookup result
R-GCCCCADD-cbl-02488 Search 3: Wildcard All Criteria
Action Rules
📊 Business Logic Narrative
When the process 'Search 3: Wildcard All Criteria' is invoked, and assuming that both the initial and secondary broker searches returned no results, when the system executes the third broker search replacing shipper chop code, origin station, and commodity code with wildcards while keeping consignee chop, destination station, origin splc, and destination splc with road number unchanged, the desired outcome is that the system calls the crossing table lookup service with maximum wildcard criteria and sets the broker data found flag based on the lookup result.
💻 Technical Criteria
Given Both the initial and secondary broker searches returned no results
When The system executes the third broker search replacing shipper CHOP code, origin station, and commodity code with wildcards while keeping consignee CHOP, destination station, origin SPLC, and destination SPLC with road number unchanged
Then The system calls the crossing table lookup service with maximum wildcard criteria and sets the broker data found flag based on the lookup result
R-GCCCCADD-cbl-02491 Update Manifest-To Station
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Update Manifest-To Station', assuming that broker data has been applied from the crossing table, when the crossing table data contains a canadian manifest-to station specification that is not spaces, the desired outcome is that the system updates the manifest-to station name, performs mc table lookup for the new station, validates the canadian customs code, and updates related station information including customs code, station number, and call letters.
💻 Technical Criteria
EXCLUDING Broker data has been applied from the crossing table
When The crossing table data contains a Canadian manifest-to station specification that is not spaces
Then The system updates the manifest-to station name, performs MC table lookup for the new station, validates the Canadian customs code, and updates related station information including customs code, station number, and call letters
R-GCCCCADD-cbl-02744 Search 1: Specific Shipper CHOP + Consignee CHOP + Origin Station + Destination Road + Commodity Code
Action Rules
📊 Business Logic Narrative
When the process 'Search 1: Specific Shipper CHOP + Consignee CHOP + Origin Station + Destination Road + Commodity Code' is invoked, and assuming that a shipment has shipper chop code, consignee chop code, origin station number, destination road number, and commodity code available, when the system performs the first crossing table search with all specific criteria, the desired outcome is that the system searches the crossing table using shipper chop, consignee chop, origin station, destination road prefixed with 'road', and commodity code to find matching broker information.
💻 Technical Criteria
Given A shipment has shipper CHOP code, consignee CHOP code, origin station number, destination road number, and commodity code available
When The system performs the first crossing table search with all specific criteria
Then The system searches the crossing table using shipper CHOP, consignee CHOP, origin station, destination road prefixed with 'ROAD', and commodity code to find matching broker information
R-GCCCCADD-cbl-02745 Search 2: Wildcard Shipper CHOP + Consignee CHOP + Wildcard Origin + Destination Road + Commodity Code
Action Rules
📊 Business Logic Narrative
When the process 'Search 2: Wildcard Shipper CHOP + Consignee CHOP + Wildcard Origin + Destination Road + Commodity Code' is invoked, and assuming that the primary crossing table search with specific criteria returned no results, when the system performs the second crossing table search with partial wildcards, the desired outcome is that the system searches using wildcard for shipper chop, specific consignee chop, wildcard for origin station, destination road prefixed with 'road', and specific commodity code.
💻 Technical Criteria
Given The primary crossing table search with specific criteria returned no results
When The system performs the second crossing table search with partial wildcards
Then The system searches using wildcard for shipper CHOP, specific consignee CHOP, wildcard for origin station, destination road prefixed with 'ROAD', and specific commodity code
R-GCCCCADD-cbl-02941 Build Destination SPLC Code with 'ROAD' + Road Number
Computation Rules
📊 Business Logic Narrative
When the process 'Build Destination SPLC Code with 'ROAD' + Road Number' is invoked, and assuming that a shipment root record contains destination road number, when preparing crossing table lookup parameters for broker determination, the desired outcome is that the destination road number is converted to numeric format and concatenated with 'road' prefix to form the destination splc code.
💻 Technical Criteria
Given A shipment root record contains destination road number
When Preparing crossing table lookup parameters for broker determination
Then The destination road number is converted to numeric format and concatenated with 'ROAD' prefix to form the destination SPLC code
R-GCCCCADD-cbl-02943 Execute GCCCROS2 Call with Exact Match Parameters
Action Rules
📊 Business Logic Narrative
When the process 'Execute GCCCROS2 Call with Exact Match Parameters' is invoked, and assuming that all crossing table search parameters are populated with shipper chop, consignee chop, origin station number, destination splc code, and commodity code, when executing the first crossing table lookup attempt for broker determination, the desired outcome is that the gcccros2 program is called with the exact match parameters to search for broker information.
💻 Technical Criteria
Given All crossing table search parameters are populated with shipper CHOP, consignee CHOP, origin station number, destination SPLC code, and commodity code
When Executing the first crossing table lookup attempt for broker determination
Then The GCCCROS2 program is called with the exact match parameters to search for broker information
R-GCCCCADD-cbl-02945 Set Wildcard Shipper CHOP to '*'
Decision Rules
📊 Business Logic Narrative
When the process 'Set Wildcard Shipper CHOP to '*'' is invoked, and assuming that a crossing table lookup is required for broker assignment and the first lookup attempt with specific shipper chop has failed, when the system performs a second lookup pattern with wildcard shipper chop set to '*' while keeping original consignee chop, wildcard origin station set to '*', destination road number from shipment root, and commodity code from shipment commodity data, the desired outcome is that the crossing table is searched with the wildcard shipper pattern and if broker data is found then broker information is returned and if no broker data is found then the system proceeds to the next search pattern.
💻 Technical Criteria
Given A crossing table lookup is required for broker assignment AND the first lookup attempt with specific shipper CHOP has failed
When The system performs a second lookup pattern with wildcard shipper CHOP set to '*' while keeping original consignee CHOP, wildcard origin station set to '*', destination road number from shipment root, and commodity code from shipment commodity data
Then The crossing table is searched with the wildcard shipper pattern AND if broker data is found then broker information is returned AND if no broker data is found then the system proceeds to the next search pattern
R-GCCCCADD-cbl-02947 Keep Destination Road Number
Process Rules
📊 Business Logic Narrative
When the process 'Keep Destination Road Number' is invoked, and assuming that a crossing table lookup with wildcard shipper chop is being performed and destination road number exists in shipment root data, when the system prepares the second search pattern parameters, the desired outcome is that the destination road number from shipment root is preserved and used in the crossing table lookup with format 'road' plus the 3-digit road number.
💻 Technical Criteria
Given A crossing table lookup with wildcard shipper CHOP is being performed AND destination road number exists in shipment root data
When The system prepares the second search pattern parameters
Then The destination road number from shipment root is preserved and used in the crossing table lookup with format 'ROAD' plus the 3-digit road number
R-GCCCCADD-cbl-02949 Execute Crossing Table Lookup
Action Rules
📊 Business Logic Narrative
When the process 'Execute Crossing Table Lookup' is invoked, and assuming that all wildcard search parameters are prepared with wildcard shipper chop, original consignee chop, wildcard origin station, destination road number, and commodity code, when the crossing table lookup is executed using gcccros2 program, the desired outcome is that the crossing table is searched with the wildcard pattern parameters and the lookup result indicates whether broker data was found.
💻 Technical Criteria
Given All wildcard search parameters are prepared with wildcard shipper CHOP, original consignee CHOP, wildcard origin station, destination road number, and commodity code
When The crossing table lookup is executed using GCCCROS2 program
Then The crossing table is searched with the wildcard pattern parameters AND the lookup result indicates whether broker data was found
R-GCCCCADD-cbl-02958 Execute Crossing Table Lookup with GCCCROS2
Action Rules
📊 Business Logic Narrative
When the process 'Execute Crossing Table Lookup with GCCCROS2' is invoked, and assuming that all crossing table lookup parameters have been set with wildcard shipper chop, wildcard origin station, actual destination station, and actual commodity code, when the system executes the crossing table lookup, the desired outcome is that the gcccros2 program is called with the configured parameters to search for applicable broker assignment data.
💻 Technical Criteria
Given All crossing table lookup parameters have been set with wildcard shipper CHOP, wildcard origin station, actual destination station, and actual commodity code
When The system executes the crossing table lookup
Then The GCCCROS2 program is called with the configured parameters to search for applicable broker assignment data
R-GCCCCADD-cbl-02084 MC Table Lookup Successful?
Decision Rules
📊 Business Logic Narrative
When the process 'MC Table Lookup Successful?' is invoked, and assuming that mc table lookup has been performed for manifest-to station, when the lookup operation completes, the desired outcome is that if lookup is successful, validate canadian customs code, otherwise set error flag 3 for invalid manifest port.
💻 Technical Criteria
Given MC table lookup has been performed for manifest-to station
When The lookup operation completes
Then If lookup is successful, validate Canadian customs code, otherwise set error flag 3 for invalid manifest port
R-GCCCCADD-cbl-02085 Canadian Customs Code = '00000'?
Validation Rules
📊 Business Logic Narrative
When the process 'Canadian Customs Code = '00000'?' is invoked, and assuming that mc table lookup was successful for manifest-to station, when canadian customs code equals '00000', the desired outcome is that set error flag 2 for invalid canadian customs code, otherwise proceed with station code update.
💻 Technical Criteria
Given MC table lookup was successful for manifest-to station
When Canadian customs code equals '00000'
Then Set error flag 2 for invalid Canadian customs code, otherwise proceed with station code update
R-GCCCCADD-cbl-02086 Set Error Flag 2 - Invalid Canadian Customs Code
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Error Flag 2 - Invalid Canadian Customs Code', assuming that manifest-to station lookup was successful but canadian customs code is '00000', when invalid canadian customs code is detected, the desired outcome is that set error flag 2 and save station name for error reporting.
💻 Technical Criteria
EXCLUDING Manifest-to station lookup was successful but Canadian customs code is '00000'
When Invalid Canadian customs code is detected
Then Set error flag 2 and save station name for error reporting
R-GCCCCADD-cbl-02087 Set Error Flag 3 - Invalid Manifest Port
Validation Rules
📊 Business Logic Narrative
When the process 'Set Error Flag 3 - Invalid Manifest Port' is invoked, and assuming that manifest-to station validation was attempted in mc table, when mc table lookup fails, the desired outcome is that set error flag 3 and save station name for error reporting.
💻 Technical Criteria
Given Manifest-to station validation was attempted in MC table
When MC table lookup fails
Then Set error flag 3 and save station name for error reporting
R-GCCCCADD-cbl-02088 Update Manifest-To Station Code
Action Rules
📊 Business Logic Narrative
When the process 'Update Manifest-To Station Code' is invoked, and assuming that mc table lookup was successful and canadian customs code is valid, when manifest-to station code update is required, the desired outcome is that set manifest-to station code to canadian customs code from mc table.
💻 Technical Criteria
Given MC table lookup was successful and Canadian customs code is valid
When Manifest-to station code update is required
Then Set manifest-to station code to Canadian customs code from MC table
R-GCCCCADD-cbl-02089 Update Station Number and Call Letters
Action Rules
📊 Business Logic Narrative
When the process 'Update Station Number and Call Letters' is invoked, and assuming that manifest-to station code has been successfully updated, when additional station information update is required, the desired outcome is that set destination station number for index and batch print call letters from mc table station data.
💻 Technical Criteria
Given Manifest-to station code has been successfully updated
When Additional station information update is required
Then Set destination station number for index and batch print call letters from MC table station data
R-GCCCCADD-cbl-00367 Move Broker Name from Crossing Table
Action Rules
📊 Business Logic Narrative
When the process 'Move Broker Name from Crossing Table' is invoked, and assuming that a crossing table lookup has been performed and broker data is available, when the system processes broker information from the crossing table, the desired outcome is that the broker name from the crossing table is assigned to the customs manifest broker name field.
💻 Technical Criteria
Given A crossing table lookup has been performed and broker data is available
When The system processes broker information from the crossing table
Then The broker name from the crossing table is assigned to the customs manifest broker name field
R-GCCCCADD-cbl-00372 MC Table Lookup Successful?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'MC Table Lookup Successful?', assuming that a lookup has been performed in the mc table for the manifest-to station, when the mc table lookup is not successful, the desired outcome is that error flag 3 is set to on status and the station sequence id is saved for error reporting.
💻 Technical Criteria
EXCLUDING A lookup has been performed in the MC table for the manifest-to station
When The MC table lookup is not successful
Then Error flag 3 is set to ON status and the station sequence ID is saved for error reporting
R-GCCCCADD-cbl-00373 Validate Canadian Customs Code
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Canadian Customs Code' is invoked, and assuming that the mc table lookup was successful and returned station data, when the system validates the canadian customs code from the mc table data, the desired outcome is that if the canadian customs code equals '00000', it is considered invalid and error flag 2 is set to on status with the station sequence id saved for error reporting.
💻 Technical Criteria
Given The MC table lookup was successful and returned station data
When The system validates the Canadian customs code from the MC table data
Then If the Canadian customs code equals '00000', it is considered invalid and error flag 2 is set to ON status with the station sequence ID saved for error reporting
R-GCCCCADD-cbl-00374 Set Station Information
Action Rules
📊 Business Logic Narrative
When the process 'Set Station Information' is invoked, and assuming that the mc table lookup was successful and the canadian customs code is valid, when the system processes the valid station information, the desired outcome is that the manifest-to station code is set to the canadian customs code, the destination station number is set to the mc station number, and the batch print call letters are set to the mc call letters.
💻 Technical Criteria
Given The MC table lookup was successful and the Canadian customs code is valid
When The system processes the valid station information
Then The manifest-to station code is set to the Canadian customs code, the destination station number is set to the MC station number, and the batch print call letters are set to the MC call letters
R-GCCCCADD-cbl-00377 Set In-Transit Status to Return
Process Rules
📊 Business Logic Narrative
When the process 'Set In-Transit Status to Return' is invoked, and assuming that a shipment has action code 'rt' (return), when the system configures the transit status, the desired outcome is that the in-transit status should be set to return.
💻 Technical Criteria
Given A shipment has action code 'RT' (Return)
When The system configures the transit status
Then The in-transit status should be set to RETURN
R-GCCCCADD-cbl-00378 Set Application Type to '33'
Policy Rules
📊 Business Logic Narrative
When the process 'Set Application Type to '33'' is invoked, and assuming that a shipment has action code 'rt' (return), when the system sets the customs application type, the desired outcome is that the application type should be set to '33'.
💻 Technical Criteria
Given A shipment has action code 'RT' (Return)
When The system sets the customs application type
Then The application type should be set to '33'
R-GCCCCADD-cbl-00379 Clear Destination Station Numbers
Process Rules
📊 Business Logic Narrative
When the process 'Clear Destination Station Numbers' is invoked, and assuming that a shipment has action code 'rt' (return), when the system processes destination information, the desired outcome is that the destination station number for index, destination station number index, and error/release status index should be cleared.
💻 Technical Criteria
Given A shipment has action code 'RT' (Return)
When The system processes destination information
Then The destination station number for index, destination station number index, and error/release status index should be cleared
R-GCCCCADD-cbl-00380 Update Origin Station Name from Port
Action Rules
📊 Business Logic Narrative
When the process 'Update Origin Station Name from Port' is invoked, and assuming that a shipment has action code 'rt' (return) and a manifest from station name, when the system searches the port city state table for matching port name, the desired outcome is that the origin station name should be updated with the port city and origin station state code should be updated with the port state.
💻 Technical Criteria
Given A shipment has action code 'RT' (Return) and a manifest from station name
When The system searches the port city state table for matching port name
Then The origin station name should be updated with the port city and origin station state code should be updated with the port state
R-GCCCCADD-cbl-00381 Set In-Transit Status to Transit
Process Rules
📊 Business Logic Narrative
When the process 'Set In-Transit Status to Transit' is invoked, and assuming that a shipment has action code 'us' (transit), when the system configures the transit status, the desired outcome is that the in-transit status should be set to transit and application type should be set to '33'.
💻 Technical Criteria
Given A shipment has action code 'US' (Transit)
When The system configures the transit status
Then The in-transit status should be set to TRANSIT and application type should be set to '33'
R-GCCCCADD-cbl-00382 Turn Off CSA Indicator
Policy Rules
📊 Business Logic Narrative
When the process 'Turn Off CSA Indicator' is invoked, and assuming that a shipment has in-transit status of transit or return and csa indicator is on, when the system processes csa requirements, the desired outcome is that the csa indicator should be turned off, importer name should be cleared, business number qualifier should be cleared, and business number should be cleared.
💻 Technical Criteria
Given A shipment has in-transit status of TRANSIT or RETURN and CSA indicator is on
When The system processes CSA requirements
Then The CSA indicator should be turned off, importer name should be cleared, business number qualifier should be cleared, and business number should be cleared
R-GCCCCADD-cbl-00384 Continue Processing
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Continue Processing', assuming that a shipment does not have in-transit status of transit or return and has a sub-location error, when the system validates sub-location requirements, the desired outcome is that an error message for invalid destination station sub-location code should be generated.
💻 Technical Criteria
EXCLUDING A shipment does not have in-transit status of TRANSIT or RETURN and has a sub-location error
When The system validates sub-location requirements
Then An error message for invalid destination station sub-location code should be generated
R-GCCCCADD-cbl-00386 Determine Destination Country Code
Definitional Rules
📊 Business Logic Narrative
When the process 'Determine Destination Country Code' is invoked, and assuming that a destination station state code exists, when the system searches the state-country lookup table for the destination station state code, the desired outcome is that the corresponding country code is assigned to the destination country field.
💻 Technical Criteria
Given A destination station state code exists
When The system searches the state-country lookup table for the destination station state code
Then The corresponding country code is assigned to the destination country field
R-GCCCCADD-cbl-00389 Set In-Transit Status to RETURN
Process Rules
📊 Business Logic Narrative
When the process 'Set In-Transit Status to RETURN' is invoked, and assuming that a shipment with action code 'rt', when the system processes the return shipment, the desired outcome is that the in-transit status is set to return, application type is set to '33', destination station numbers are cleared, and origin station information is updated from port lookup if found.
💻 Technical Criteria
Given A shipment with action code 'RT'
When The system processes the return shipment
Then The in-transit status is set to RETURN, application type is set to '33', destination station numbers are cleared, and origin station information is updated from port lookup if found
R-GCCCCADD-cbl-00390 Set In-Transit Status to TRANSIT
Process Rules
📊 Business Logic Narrative
When the process 'Set In-Transit Status to TRANSIT' is invoked, and assuming that a shipment with action code 'us', when the system processes the transit shipment, the desired outcome is that the in-transit status is set to transit and application type is set to '33'.
💻 Technical Criteria
Given A shipment with action code 'US'
When The system processes the transit shipment
Then The in-transit status is set to TRANSIT and application type is set to '33'
R-GCCCCADD-cbl-00391 Turn OFF CSA Indicator
Policy Rules
📊 Business Logic Narrative
When the process 'Turn OFF CSA Indicator' is invoked, and assuming that a shipment with csa indicator turned on and in-transit status of either transit or return, when the system processes the shipment, the desired outcome is that the csa indicator is turned off, importer data is cleared (importer name, business number qualifier, business number), and au importer flag is set to not found.
💻 Technical Criteria
Given A shipment with CSA indicator turned ON and in-transit status of either TRANSIT or RETURN
When The system processes the shipment
Then The CSA indicator is turned OFF, importer data is cleared (importer name, business number qualifier, business number), and AU importer flag is set to not found
R-GCCCCADD-cbl-00397 Origin Country = 'MX'?
Decision Rules
📊 Business Logic Narrative
When the process 'Origin Country = 'MX'?' is invoked, and assuming that the au table processing has been completed, when the system checks if the origin country is set to 'mx' (mexico), the desired outcome is that if the origin country is mexico, the determination process should exit and keep the mexico origin; otherwise, continue with state-country validation.
💻 Technical Criteria
Given The AU table processing has been completed
When The system checks if the origin country is set to 'MX' (Mexico)
Then If the origin country is Mexico, the determination process should exit and keep the Mexico origin; otherwise, continue with state-country validation
R-GCCCCADD-cbl-00398 Search State-Country Table
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Search State-Country Table', assuming that the origin country is not mexico and state-country validation is needed, when the system searches the state-country table using the origin station state code, the desired outcome is that if the origin state code is found in the table, the origin country should be set from the corresponding table entry; otherwise, the origin country should remain spaces.
💻 Technical Criteria
EXCLUDING The origin country is not Mexico and state-country validation is needed
When The system searches the state-country table using the origin station state code
Then If the origin state code is found in the table, the origin country should be set from the corresponding table entry; otherwise, the origin country should remain spaces
R-GCCCCADD-cbl-00430 Validate Quantity
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Quantity' is invoked, and assuming that calculated quantity from edi or fastway data, when finalizing quantity for customs manifest, the desired outcome is that if quantity is greater than zero, use the calculated quantity, otherwise set default quantity to 1.
💻 Technical Criteria
Given Calculated quantity from EDI or Fastway data
When Finalizing quantity for customs manifest
Then If quantity is greater than zero, use the calculated quantity, otherwise set default quantity to 1
R-GCCCCADD-cbl-00457 Extract City/State/Postal from EDI BOL HC
Action Rules
📊 Business Logic Narrative
When the process 'Extract City/State/Postal from EDI BOL HC' is invoked, and assuming that edi bol hc city/state segment is available, when the system processes shipper location information, the desired outcome is that city name is extracted from f4-city-name, state code from f4-state-prov-code, postal code from f4-postal-code, and country code from f4-country-code.
💻 Technical Criteria
Given EDI BOL HC city/state segment is available
When The system processes shipper location information
Then City name is extracted from F4-CITY-NAME, state code from F4-STATE-PROV-CODE, postal code from F4-POSTAL-CODE, and country code from F4-COUNTRY-CODE
R-GCCCCADD-cbl-00458 Parse Fastway Address for City/State/Postal
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Parse Fastway Address for City/State/Postal', assuming that edi bol hc segment is not available and fastway address data exists, when the system needs to extract location components, the desired outcome is that the system parses shpr-addr field to extract city name, state/province code, and postal code components.
💻 Technical Criteria
EXCLUDING EDI BOL HC segment is not available and Fastway address data exists
When The system needs to extract location components
Then The system parses SHPR-ADDR field to extract city name, state/province code, and postal code components
R-GCCCCADD-cbl-00466 Parse Fastway City/State Information
Action Rules
📊 Business Logic Narrative
When the process 'Parse Fastway City/State Information' is invoked, and assuming that fastway data is being used for shipper location information, when the system processes city and state information, the desired outcome is that the system parses shpr-addr(2) to extract city name, state/province code, and postal code, then determines country code through state lookup.
💻 Technical Criteria
Given Fastway data is being used for shipper location information
When The system processes city and state information
Then The system parses SHPR-ADDR(2) to extract city name, state/province code, and postal code, then determines country code through state lookup
R-GCCCCADD-cbl-00467 Validate Shipper Record Data
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Shipper Record Data' is invoked, and assuming that shipper record has been populated with data from either edi bol or fastway sources, when the system performs data validation, the desired outcome is that all required shipper fields are validated for completeness and format compliance according to customs requirements.
💻 Technical Criteria
Given Shipper record has been populated with data from either EDI BOL or Fastway sources
When The system performs data validation
Then All required shipper fields are validated for completeness and format compliance according to customs requirements
R-GCCCCADD-cbl-00468 Store Shipper Record in Array Position 1
Process Rules
📊 Business Logic Narrative
When the process 'Store Shipper Record in Array Position 1' is invoked, and assuming that shipper record has been validated and completed, when the system stores the record for customs processing, the desired outcome is that the shipper record is stored in ws-gcsccs55-data array at position 1.
💻 Technical Criteria
Given Shipper record has been validated and completed
When The system stores the record for customs processing
Then The shipper record is stored in WS-GCSCCS55-DATA array at position 1
R-GCCCCADD-cbl-00486 Build C1 Carrier Entity Segment
Process Rules
📊 Business Logic Narrative
When the process 'Build C1 Carrier Entity Segment' is invoked, and assuming that an edi bol contains transportation data with organization id c1, when the system processes the carrier entity segment from edi, the desired outcome is that the system creates a c1 entity record with organization id, name, address, city, state, postal code, country, and contact information from the edi transportation data.
💻 Technical Criteria
Given An EDI BOL contains transportation data with organization ID C1
When The system processes the carrier entity segment from EDI
Then The system creates a C1 entity record with organization ID, name, address, city, state, postal code, country, and contact information from the EDI transportation data
R-GCCCCADD-cbl-00487 Build C1 Carrier Entity Segment
Decision Rules
📊 Business Logic Narrative
When the process 'Build C1 Carrier Entity Segment' is invoked, and assuming that no edi transportation data exists for c1 organization id and the consignee data code in fastway shipment data equals 'c', when the system processes the carrier entity segment from fastway, the desired outcome is that the system creates a c1 entity record using consignee data from fastway shipment with name, address, city, state, postal code, and country information.
💻 Technical Criteria
Given No EDI transportation data exists for C1 organization ID AND the consignee data code in Fastway shipment data equals 'C'
When The system processes the carrier entity segment from Fastway
Then The system creates a C1 entity record using consignee data from Fastway shipment with name, address, city, state, postal code, and country information
R-GCCCCADD-cbl-00488 Build N1 Notify Party Segment
Process Rules
📊 Business Logic Narrative
When the process 'Build N1 Notify Party Segment' is invoked, and assuming that an edi bol contains transportation data with organization id n1, when the system processes the notify party entity segment, the desired outcome is that the system creates an n1 entity record with organization id, name, address, city, state, postal code, country, and contact information from the edi transportation data.
💻 Technical Criteria
Given An EDI BOL contains transportation data with organization ID N1
When The system processes the notify party entity segment
Then The system creates an N1 entity record with organization ID, name, address, city, state, postal code, country, and contact information from the EDI transportation data
R-GCCCCADD-cbl-00490 Build Additional Entity Segments
Process Rules
📊 Business Logic Narrative
When the process 'Build Additional Entity Segments' is invoked, and assuming that an edi bol contains transportation data with organization ids 11, mc, oo, or fw, when the system processes each additional entity segment type, the desired outcome is that the system creates entity records for each found organization type with organization id, name, address, city, state, postal code, country, and contact information from the edi transportation data.
💻 Technical Criteria
Given An EDI BOL contains transportation data with organization IDs 11, MC, OO, or FW
When The system processes each additional entity segment type
Then The system creates entity records for each found organization type with organization ID, name, address, city, state, postal code, country, and contact information from the EDI transportation data
R-GCCCCADD-cbl-02494 Build BN - Beneficial Owner Entity
Process Rules
📊 Business Logic Narrative
When the process 'Build BN - Beneficial Owner Entity' is invoked, and assuming that edi bol contains beneficial owner entity data with organization id 'bn', when processing beneficial owner entity segment, the desired outcome is that create bn entity record with name, address, city/state/postal information from transportation data.
💻 Technical Criteria
Given EDI BOL contains beneficial owner entity data with organization ID 'BN'
When Processing beneficial owner entity segment
Then Create BN entity record with name, address, city/state/postal information from transportation data
R-GCCCCADD-cbl-02495 Build C1 - Carrier Entity
Decision Rules
📊 Business Logic Narrative
When the process 'Build C1 - Carrier Entity' is invoked, and assuming that edi transportation data contains organization id 'c1' or fastway consignee data code is 'c', when processing carrier entity segment, the desired outcome is that create c1 entity record with name, address, city/state/postal, and contact information from available data source.
💻 Technical Criteria
Given EDI transportation data contains organization ID 'C1' OR Fastway consignee data code is 'C'
When Processing carrier entity segment
Then Create C1 entity record with name, address, city/state/postal, and contact information from available data source
R-GCCCCADD-cbl-02496 Build N1 - Notify Party Entity
Process Rules
📊 Business Logic Narrative
When the process 'Build N1 - Notify Party Entity' is invoked, and assuming that edi transportation data contains organization id 'n1', when processing notify party entity segment, the desired outcome is that create n1 entity record with name, address, city/state/postal, and contact information.
💻 Technical Criteria
Given EDI transportation data contains organization ID 'N1'
When Processing notify party entity segment
Then Create N1 entity record with name, address, city/state/postal, and contact information
R-GCCCCADD-cbl-02498 Build Additional Entities - 11, NN, MC, OO, FW
Process Rules
📊 Business Logic Narrative
When the process 'Build Additional Entities - 11, NN, MC, OO, FW' is invoked, and assuming that edi transportation data contains organization ids '11', 'nn', 'mc', 'oo', or 'fw', when processing additional entity segments, the desired outcome is that create corresponding entity records with name, address, city/state/postal, and contact information.
💻 Technical Criteria
Given EDI transportation data contains organization IDs '11', 'NN', 'MC', 'OO', or 'FW'
When Processing additional entity segments
Then Create corresponding entity records with name, address, city/state/postal, and contact information
R-GCCCCADD-cbl-02499 Build IM - Importer Entity
Decision Rules
📊 Business Logic Narrative
When the process 'Build IM - Importer Entity' is invoked, and assuming that edi bol contains importer entity data or existing importer data is available, when processing importer entity segment, the desired outcome is that create im entity record with name, business number, qualifier, address, and contact information, and set csa indicator appropriately.
💻 Technical Criteria
Given EDI BOL contains importer entity data OR existing importer data is available
When Processing importer entity segment
Then Create IM entity record with name, business number, qualifier, address, and contact information, and set CSA indicator appropriately
R-GCCCCADD-cbl-02506 Validate State Required for CA/US/MX
Validation Rules
📊 Business Logic Narrative
When the process 'Validate State Required for CA/US/MX' is invoked, and assuming that country code is canada, usa, or mexico, when state/province code is blank, the desired outcome is that generate validation error for required state/province information.
💻 Technical Criteria
Given Country code is Canada, USA, or Mexico
When State/province code is blank
Then Generate validation error for required state/province information
R-GCCCCADD-cbl-02750 Entity ID Present?
Validation Rules
📊 Business Logic Narrative
When the process 'Entity ID Present?' is invoked, and assuming that a customs record segment is being processed for entity information, when the entity id code field is evaluated for presence, the desired outcome is that if entity id code is spaces, skip entity validation and complete processing, otherwise proceed with entity validation.
💻 Technical Criteria
Given A customs record segment is being processed for entity information
When The entity ID code field is evaluated for presence
Then If entity ID code is spaces, skip entity validation and complete processing, otherwise proceed with entity validation
R-GCCCCADD-cbl-02105 EDI BOL Shipper Data Available?
Decision Rules
📊 Business Logic Narrative
When the process 'EDI BOL Shipper Data Available?' is invoked, and assuming that a shipment requires shipper information for customs manifest creation, when the system checks for edi bol shipper data in hn segment, the desired outcome is that if edi bol shipper data is found, extract shipper name and chop code from hn segment, otherwise extract shipper name and chop code from fastway shiproot.
💻 Technical Criteria
Given A shipment requires shipper information for customs manifest creation
When The system checks for EDI BOL shipper data in HN segment
Then If EDI BOL shipper data is found, extract shipper name and CHOP code from HN segment, otherwise extract shipper name and CHOP code from Fastway SHIPROOT
R-GCCCCADD-cbl-02106 EDI BOL Consignee Data Available?
Decision Rules
📊 Business Logic Narrative
When the process 'EDI BOL Consignee Data Available?' is invoked, and assuming that a shipment requires consignee information for customs manifest creation, when the system checks for edi bol consignee data in cn segment, the desired outcome is that if edi bol consignee data is found, extract consignee name and chop code from cn segment, otherwise extract consignee name and chop code from fastway shiproot.
💻 Technical Criteria
Given A shipment requires consignee information for customs manifest creation
When The system checks for EDI BOL consignee data in CN segment
Then If EDI BOL consignee data is found, extract consignee name and CHOP code from CN segment, otherwise extract consignee name and CHOP code from Fastway SHIPROOT
R-GCCCCADD-cbl-02110 EDI BOL Carrier Data Available?
Decision Rules
📊 Business Logic Narrative
When the process 'EDI BOL Carrier Data Available?' is invoked, and assuming that a shipment requires carrier or entity information for customs processing, when the system checks for edi bol carrier data in tn segment, the desired outcome is that if edi bol carrier data is found, extract organization id and name from tn segment, otherwise extract entity information from fastway cons-data fields.
💻 Technical Criteria
Given A shipment requires carrier or entity information for customs processing
When The system checks for EDI BOL carrier data in TN segment
Then If EDI BOL carrier data is found, extract organization ID and name from TN segment, otherwise extract entity information from Fastway CONS-DATA fields
R-GCCCCADD-cbl-00523 Search for UC City/State Segment
Action Rules
📊 Business Logic Narrative
When the process 'Search for UC City/State Segment' is invoked, and assuming that ultimate consignee address processing is complete, when the system searches for corresponding uc location segment with un type and sequence '01', the desired outcome is that the system retrieves location data if the uc segment exists.
💻 Technical Criteria
Given Ultimate Consignee address processing is complete
When The system searches for corresponding UC location segment with UN type and sequence '01'
Then The system retrieves location data if the UC segment exists
R-GCCCCADD-cbl-00524 Extract City/State/Postal/Country from EDI
Decision Rules
📊 Business Logic Narrative
When the process 'Extract City/State/Postal/Country from EDI' is invoked, and assuming that edi bol uc location segment is successfully retrieved, when the system processes the location information, the desired outcome is that city name is set from u4-city-name, state/province code from u4-state-prov-code, postal code from u4-postal-code, and country code from u4-country-code.
💻 Technical Criteria
Given EDI BOL UC location segment is successfully retrieved
When The system processes the location information
Then City name is set from U4-CITY-NAME, state/province code from U4-STATE-PROV-CODE, postal code from U4-POSTAL-CODE, and country code from U4-COUNTRY-CODE
R-GCCCCADD-cbl-00525 Clear City/State/Postal/Country Fields
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Clear City/State/Postal/Country Fields', assuming that edi bol uc location segment is not found, when the system processes ultimate consignee location requirements, the desired outcome is that all location fields (city name, state/province code, postal code, country code) are cleared.
💻 Technical Criteria
EXCLUDING EDI BOL UC location segment is not found
When The system processes Ultimate Consignee location requirements
Then All location fields (city name, state/province code, postal code, country code) are cleared
R-GCCCCADD-cbl-00526 Search for GP Contact Segment
Action Rules
📊 Business Logic Narrative
When the process 'Search for GP Contact Segment' is invoked, and assuming that ultimate consignee location processing is complete, when the system searches for corresponding gp contact segment with un type and sequence '01', the desired outcome is that the system retrieves contact data if the gp segment exists.
💻 Technical Criteria
Given Ultimate Consignee location processing is complete
When The system searches for corresponding GP contact segment with UN type and sequence '01'
Then The system retrieves contact data if the GP segment exists
R-GCCCCADD-cbl-00529 Validate UC Segment Data
Validation Rules
📊 Business Logic Narrative
When the process 'Validate UC Segment Data' is invoked, and assuming that ultimate consignee segment data is populated, when the system performs n1 segment validation, the desired outcome is that all required fields are validated according to customs requirements and error messages are generated for missing mandatory data.
💻 Technical Criteria
Given Ultimate Consignee segment data is populated
When The system performs N1 segment validation
Then All required fields are validated according to customs requirements and error messages are generated for missing mandatory data
R-GCCCCADD-cbl-00532 Set BN Entity ID for Search
Definitional Rules
📊 Business Logic Narrative
When the process 'Set BN Entity ID for Search' is invoked, and assuming that the system needs to search for beneficial owner transportation data, when preparing to search transportation segments, the desired outcome is that the entity id is set to 'bn' for beneficial owner identification.
💻 Technical Criteria
Given The system needs to search for beneficial owner transportation data
When Preparing to search transportation segments
Then The entity ID is set to 'BN' for beneficial owner identification
R-GCCCCADD-cbl-00533 Search Transportation Segments for BN
Action Rules
📊 Business Logic Narrative
When the process 'Search Transportation Segments for BN' is invoked, and assuming that the entity id is set to 'bn' for beneficial owner, when searching transportation segments database, the desired outcome is that the system retrieves transportation segments matching the beneficial owner entity id.
💻 Technical Criteria
Given The entity ID is set to 'BN' for beneficial owner
When Searching transportation segments database
Then The system retrieves transportation segments matching the beneficial owner entity ID
R-GCCCCADD-cbl-00534 BN Transportation Segment Found?
Decision Rules
📊 Business Logic Narrative
When the process 'BN Transportation Segment Found?' is invoked, and assuming that a search for beneficial owner transportation segments has been performed, when evaluating the search results, the desired outcome is that the system determines whether beneficial owner transportation segment data exists or processing should be skipped.
💻 Technical Criteria
Given A search for beneficial owner transportation segments has been performed
When Evaluating the search results
Then The system determines whether beneficial owner transportation segment data exists or processing should be skipped
R-GCCCCADD-cbl-00535 Search for BN Entity in EDI BOL
Action Rules
📊 Business Logic Narrative
When the process 'Search for BN Entity in EDI BOL' is invoked, and assuming that beneficial owner transportation segment exists, when searching edi bol entity segments for beneficial owner data, the desired outcome is that the system retrieves beneficial owner entity information from edi bol segments.
💻 Technical Criteria
Given Beneficial owner transportation segment exists
When Searching EDI BOL entity segments for beneficial owner data
Then The system retrieves beneficial owner entity information from EDI BOL segments
R-GCCCCADD-cbl-00537 Set BN Entity ID Code
Definitional Rules
📊 Business Logic Narrative
When the process 'Set BN Entity ID Code' is invoked, and assuming that beneficial owner entity is found in edi bol, when processing beneficial owner entity information, the desired outcome is that the entity id code 'bn' is assigned to the customs segment.
💻 Technical Criteria
Given Beneficial owner entity is found in EDI BOL
When Processing beneficial owner entity information
Then The entity ID code 'BN' is assigned to the customs segment
R-GCCCCADD-cbl-00538 Extract Beneficial Owner Name
Process Rules
📊 Business Logic Narrative
When the process 'Extract Beneficial Owner Name' is invoked, and assuming that beneficial owner entity data is available in edi bol, when processing beneficial owner information, the desired outcome is that the beneficial owner name is extracted and assigned to the customs segment.
💻 Technical Criteria
Given Beneficial owner entity data is available in EDI BOL
When Processing beneficial owner information
Then The beneficial owner name is extracted and assigned to the customs segment
R-GCCCCADD-cbl-00539 Set Consignee CHOP Code
Process Rules
📊 Business Logic Narrative
When the process 'Set Consignee CHOP Code' is invoked, and assuming that beneficial owner entity information is being processed, when setting up beneficial owner segment data, the desired outcome is that the consignee chop code is assigned to the beneficial owner customs segment.
💻 Technical Criteria
Given Beneficial owner entity information is being processed
When Setting up beneficial owner segment data
Then The consignee CHOP code is assigned to the beneficial owner customs segment
R-GCCCCADD-cbl-00542 Extract Address Information
Process Rules
📊 Business Logic Narrative
When the process 'Extract Address Information' is invoked, and assuming that beneficial owner address segment is found in edi, when processing address information, the desired outcome is that address line 1 and address line 2 are extracted and assigned to the customs segment.
💻 Technical Criteria
Given Beneficial owner address segment is found in EDI
When Processing address information
Then Address line 1 and address line 2 are extracted and assigned to the customs segment
R-GCCCCADD-cbl-00546 Extract City, State, Postal, Country
Process Rules
📊 Business Logic Narrative
When the process 'Extract City, State, Postal, Country' is invoked, and assuming that beneficial owner city/state segment is found in edi, when processing city and state information, the desired outcome is that city name, state/province code, postal code, and country code are extracted and assigned to the customs segment.
💻 Technical Criteria
Given Beneficial owner city/state segment is found in EDI
When Processing city and state information
Then City name, state/province code, postal code, and country code are extracted and assigned to the customs segment
R-GCCCCADD-cbl-00547 Clear City/State Information
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Clear City/State Information', assuming that beneficial owner city/state segment is not found in edi, when processing city and state information, the desired outcome is that city, state, postal code, and country fields are cleared in the customs segment.
💻 Technical Criteria
EXCLUDING Beneficial owner city/state segment is not found in EDI
When Processing city and state information
Then City, state, postal code, and country fields are cleared in the customs segment
R-GCCCCADD-cbl-00549 Validate BN Segment Data
Validation Rules
📊 Business Logic Narrative
When the process 'Validate BN Segment Data' is invoked, and assuming that beneficial owner segment data has been populated, when validating the segment before database insertion, the desired outcome is that the beneficial owner segment data is validated according to customs data requirements.
💻 Technical Criteria
Given Beneficial owner segment data has been populated
When Validating the segment before database insertion
Then The beneficial owner segment data is validated according to customs data requirements
R-GCCCCADD-cbl-00551 Skip BN Processing
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Skip BN Processing', assuming that beneficial owner transportation segment or entity data is not found, when determining processing path, the desired outcome is that beneficial owner processing is skipped and the system continues to the next processing step.
💻 Technical Criteria
EXCLUDING Beneficial owner transportation segment or entity data is not found
When Determining processing path
Then Beneficial owner processing is skipped and the system continues to the next processing step
R-GCCCCADD-cbl-00554 Search EDI BOL Transportation Segments
Action Rules
📊 Business Logic Narrative
When the process 'Search EDI BOL Transportation Segments' is invoked, and assuming that edi bol transportation data is available for processing, when the system searches for c1 carrier entity information, the desired outcome is that the system looks up transportation segments with entity type 'c1' in the edi bol data.
💻 Technical Criteria
Given EDI BOL transportation data is available for processing
When The system searches for C1 carrier entity information
Then The system looks up transportation segments with entity type 'C1' in the EDI BOL data
R-GCCCCADD-cbl-00555 C1 Entity Found in EDI BOL?
Decision Rules
📊 Business Logic Narrative
When the process 'C1 Entity Found in EDI BOL?' is invoked, and assuming that the system has searched edi bol transportation segments for c1 entity data, when evaluating the availability of c1 carrier information, the desired outcome is that if c1 entity is found in edi bol, use edi data; otherwise check fastway data source.
💻 Technical Criteria
Given The system has searched EDI BOL transportation segments for C1 entity data
When Evaluating the availability of C1 carrier information
Then If C1 entity is found in EDI BOL, use EDI data; otherwise check Fastway data source
R-GCCCCADD-cbl-00556 Extract Carrier Data from EDI BOL
Process Rules
📊 Business Logic Narrative
When the process 'Extract Carrier Data from EDI BOL' is invoked, and assuming that c1 carrier entity data exists in edi bol transportation segments, when processing carrier information from edi source, the desired outcome is that the system extracts carrier name, id, and related data from the edi bol transportation segments.
💻 Technical Criteria
Given C1 carrier entity data exists in EDI BOL transportation segments
When Processing carrier information from EDI source
Then The system extracts carrier name, ID, and related data from the EDI BOL transportation segments
R-GCCCCADD-cbl-00557 Get Carrier Name and ID
Process Rules
📊 Business Logic Narrative
When the process 'Get Carrier Name and ID' is invoked, and assuming that c1 carrier entity data is available in edi bol transportation segments, when extracting carrier identification information, the desired outcome is that the carrier name is assigned to entity name field and carrier id is assigned to entity id field.
💻 Technical Criteria
Given C1 carrier entity data is available in EDI BOL transportation segments
When Extracting carrier identification information
Then The carrier name is assigned to entity name field and carrier ID is assigned to entity ID field
R-GCCCCADD-cbl-00558 Get Carrier Address from T2 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Get Carrier Address from T2 Segment' is invoked, and assuming that edi t2 transportation segment data is available for the carrier, when processing carrier address information, the desired outcome is that the address lines are extracted from t2 segment and assigned to carrier address fields.
💻 Technical Criteria
Given EDI T2 transportation segment data is available for the carrier
When Processing carrier address information
Then The address lines are extracted from T2 segment and assigned to carrier address fields
R-GCCCCADD-cbl-00559 Get Carrier City/State from TA Segment
Process Rules
📊 Business Logic Narrative
When the process 'Get Carrier City/State from TA Segment' is invoked, and assuming that edi ta transportation segment data is available for the carrier, when processing carrier location information, the desired outcome is that the city name, state code, postal code, and country code are extracted from ta segment.
💻 Technical Criteria
Given EDI TA transportation segment data is available for the carrier
When Processing carrier location information
Then The city name, state code, postal code, and country code are extracted from TA segment
R-GCCCCADD-cbl-00560 Get Carrier Contact from T3 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Get Carrier Contact from T3 Segment' is invoked, and assuming that edi t3 transportation segment data is available for the carrier, when processing carrier contact information, the desired outcome is that the contact function code, contact name, communication qualifier, and communication number are extracted from t3 segment.
💻 Technical Criteria
Given EDI T3 transportation segment data is available for the carrier
When Processing carrier contact information
Then The contact function code, contact name, communication qualifier, and communication number are extracted from T3 segment
R-GCCCCADD-cbl-00561 Carrier Data Available in Fastway?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Carrier Data Available in Fastway?', assuming that c1 carrier entity data is not found in edi bol transportation segments, when evaluating alternative data sources for carrier information, the desired outcome is that if consignee data field 2 contains carrier information, use fastway data; otherwise end c1 processing.
💻 Technical Criteria
EXCLUDING C1 carrier entity data is not found in EDI BOL transportation segments
When Evaluating alternative data sources for carrier information
Then If consignee data field 2 contains carrier information, use Fastway data; otherwise end C1 processing
R-GCCCCADD-cbl-00565 Parse City/State/Postal from Consignee Field 4
Process Rules
📊 Business Logic Narrative
When the process 'Parse City/State/Postal from Consignee Field 4' is invoked, and assuming that carrier information is being extracted from fastway consignee data field 4, when processing carrier location information from fastway source, the desired outcome is that the city name, state code, and postal code are parsed from consignee data field 4 and assigned to respective location fields.
💻 Technical Criteria
Given Carrier information is being extracted from Fastway consignee data field 4
When Processing carrier location information from Fastway source
Then The city name, state code, and postal code are parsed from consignee data field 4 and assigned to respective location fields
R-GCCCCADD-cbl-00572 Search EDI BOL for Transportation Segments
Process Rules
📊 Business Logic Narrative
When the process 'Search EDI BOL for Transportation Segments' is invoked, and assuming that edi bol data is available for processing, when searching for notify party transportation segments, the desired outcome is that the system iterates through transportation segments starting from sequence 1 until found or maximum sequences reached.
💻 Technical Criteria
Given EDI BOL data is available for processing
When Searching for notify party transportation segments
Then The system iterates through transportation segments starting from sequence 1 until found or maximum sequences reached
R-GCCCCADD-cbl-00573 Transportation Segment Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Transportation Segment Found?' is invoked, and assuming that a transportation segment lookup is performed, when checking for segment existence in edi bol data, the desired outcome is that if segment exists, continue processing; otherwise skip to end of notify party processing.
💻 Technical Criteria
Given A transportation segment lookup is performed
When Checking for segment existence in EDI BOL data
Then If segment exists, continue processing; otherwise skip to end of notify party processing
R-GCCCCADD-cbl-00574 Extract Organization ID from Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Organization ID from Segment' is invoked, and assuming that a valid transportation segment is found, when processing the segment data, the desired outcome is that the organization id is extracted from the d5-org-id field.
💻 Technical Criteria
Given A valid transportation segment is found
When Processing the segment data
Then The organization ID is extracted from the D5-ORG-ID field
R-GCCCCADD-cbl-00575 Organization ID Matches 'N1'?
Decision Rules
📊 Business Logic Narrative
When the process 'Organization ID Matches 'N1'?' is invoked, and assuming that an organization id is extracted from transportation segment, when validating entity type for notify party processing, the desired outcome is that if organization id equals 'n1', continue with notify party processing; otherwise search next segment.
💻 Technical Criteria
Given An organization ID is extracted from transportation segment
When Validating entity type for notify party processing
Then If organization ID equals 'N1', continue with notify party processing; otherwise search next segment
R-GCCCCADD-cbl-00576 Extract Entity Name
Process Rules
📊 Business Logic Narrative
When the process 'Extract Entity Name' is invoked, and assuming that a transportation segment with organization id 'n1' is found, when processing notify party entity information, the desired outcome is that the entity name is extracted from d5-name field and stored in the n1 segment.
💻 Technical Criteria
Given A transportation segment with organization ID 'N1' is found
When Processing notify party entity information
Then The entity name is extracted from D5-NAME field and stored in the N1 segment
R-GCCCCADD-cbl-00588 Validate N1 Segment Data
Validation Rules
📊 Business Logic Narrative
When the process 'Validate N1 Segment Data' is invoked, and assuming that all notify party information is extracted and processed, when validating segment data for customs compliance, the desired outcome is that system performs field validation checks and generates error messages for missing required data.
💻 Technical Criteria
Given All notify party information is extracted and processed
When Validating segment data for customs compliance
Then System performs field validation checks and generates error messages for missing required data
R-GCCCCADD-cbl-00590 Skip - No N1 Entity Found
Decision Rules
📊 Business Logic Narrative
When the process 'Skip - No N1 Entity Found' is invoked, and assuming that all transportation segments have been searched, when no segments with organization id 'n1' are found, the desired outcome is that notify party processing is skipped and control returns to main processing.
💻 Technical Criteria
Given All transportation segments have been searched
When No segments with organization ID 'N1' are found
Then Notify party processing is skipped and control returns to main processing
R-GCCCCADD-cbl-00612 Build 11 Entity Segment
Process Rules
📊 Business Logic Narrative
When the process 'Build 11 Entity Segment' is invoked, and assuming that a customs manifest is being created and entity type 11 processing is required, when the system searches for edi bol tn segment with entity type 11, the desired outcome is that if found, the system processes the entity data and creates a record 55 segment, otherwise skips to next entity type.
💻 Technical Criteria
Given A customs manifest is being created and entity type 11 processing is required
When The system searches for EDI BOL TN segment with entity type 11
Then If found, the system processes the entity data and creates a record 55 segment, otherwise skips to next entity type
R-GCCCCADD-cbl-00615 Process NN Entity Data from EDI
Process Rules
📊 Business Logic Narrative
When the process 'Process NN Entity Data from EDI' is invoked, and assuming that a valid nn entity segment is found with acceptable entity id code, when the system processes the nn entity data, the desired outcome is that the system extracts entity name, consignee chop code, and builds address and contact information for the customs record.
💻 Technical Criteria
Given A valid NN entity segment is found with acceptable entity ID code
When The system processes the NN entity data
Then The system extracts entity name, consignee chop code, and builds address and contact information for the customs record
R-GCCCCADD-cbl-00618 Build MC Entity Segment
Process Rules
📊 Business Logic Narrative
When the process 'Build MC Entity Segment' is invoked, and assuming that mc entity processing is required for the customs manifest, when the system searches for edi bol tn segment with entity type mc, the desired outcome is that if found, the system processes the mc entity data and creates a record 55 segment, otherwise continues to next entity type.
💻 Technical Criteria
Given MC entity processing is required for the customs manifest
When The system searches for EDI BOL TN segment with entity type MC
Then If found, the system processes the MC entity data and creates a record 55 segment, otherwise continues to next entity type
R-GCCCCADD-cbl-00619 Build OO Entity Segment
Process Rules
📊 Business Logic Narrative
When the process 'Build OO Entity Segment' is invoked, and assuming that oo entity processing is required for the customs manifest, when the system searches for edi bol tn segment with entity type oo, the desired outcome is that if found, the system processes the oo entity data and creates a record 55 segment, otherwise continues to next entity type.
💻 Technical Criteria
Given OO entity processing is required for the customs manifest
When The system searches for EDI BOL TN segment with entity type OO
Then If found, the system processes the OO entity data and creates a record 55 segment, otherwise continues to next entity type
R-GCCCCADD-cbl-00620 Build FW Entity Segment
Process Rules
📊 Business Logic Narrative
When the process 'Build FW Entity Segment' is invoked, and assuming that fw entity processing is required for the customs manifest, when the system searches for edi bol tn segment with entity type fw, the desired outcome is that if found, the system processes the fw entity data and creates a record 55 segment, completing additional entity processing.
💻 Technical Criteria
Given FW entity processing is required for the customs manifest
When The system searches for EDI BOL TN segment with entity type FW
Then If found, the system processes the FW entity data and creates a record 55 segment, completing additional entity processing
R-GCCCCADD-cbl-00621 Skip Entity Processing
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Skip Entity Processing', assuming that importer data was found in previous processing steps and nn entity has invalid entity id, when the system encounters an invalid nn entity id code, the desired outcome is that the system retains the previously found importer data and sets importer found flag, skipping current nn entity processing.
💻 Technical Criteria
EXCLUDING Importer data was found in previous processing steps and NN entity has invalid entity ID
When The system encounters an invalid NN entity ID code
Then The system retains the previously found importer data and sets importer found flag, skipping current NN entity processing
R-GCCCCADD-cbl-00624 Store Original Importer Name
Process Rules
📊 Business Logic Narrative
When the process 'Store Original Importer Name' is invoked, and assuming that an existing importer record has been found with entity id 'im', when the system processes the importer record data, the desired outcome is that the system should backup the chop code to temporary storage for later restoration.
💻 Technical Criteria
Given An existing importer record has been found with entity ID 'IM'
When The system processes the importer record data
Then The system should backup the CHOP code to temporary storage for later restoration
R-GCCCCADD-cbl-00625 Store Original Importer Name
Process Rules
📊 Business Logic Narrative
When the process 'Store Original Importer Name' is invoked, and assuming that an existing importer record has been found with entity id 'im', when the system processes the importer record data, the desired outcome is that the system should backup the importer name to temporary storage for later restoration.
💻 Technical Criteria
Given An existing importer record has been found with entity ID 'IM'
When The system processes the importer record data
Then The system should backup the importer name to temporary storage for later restoration
R-GCCCCADD-cbl-00626 Store Original Business Qualifier
Process Rules
📊 Business Logic Narrative
When the process 'Store Original Business Qualifier' is invoked, and assuming that an existing importer record has been found with entity id 'im', when the system processes the importer record data, the desired outcome is that the system should backup the business number qualifier to temporary storage for later restoration.
💻 Technical Criteria
Given An existing importer record has been found with entity ID 'IM'
When The system processes the importer record data
Then The system should backup the business number qualifier to temporary storage for later restoration
R-GCCCCADD-cbl-00627 Store Original Business Number
Process Rules
📊 Business Logic Narrative
When the process 'Store Original Business Number' is invoked, and assuming that an existing importer record has been found with entity id 'im', when the system processes the importer record data, the desired outcome is that the system should backup the business number to temporary storage for later restoration.
💻 Technical Criteria
Given An existing importer record has been found with entity ID 'IM'
When The system processes the importer record data
Then The system should backup the business number to temporary storage for later restoration
R-GCCCCADD-cbl-00628 Store Original CSA Indicator
Process Rules
📊 Business Logic Narrative
When the process 'Store Original CSA Indicator' is invoked, and assuming that an existing importer record has been found with entity id 'im', when the system processes the importer record data, the desired outcome is that the system should backup the csa indicator to temporary storage for later restoration.
💻 Technical Criteria
Given An existing importer record has been found with entity ID 'IM'
When The system processes the importer record data
Then The system should backup the CSA indicator to temporary storage for later restoration
R-GCCCCADD-cbl-00629 Store Original Address Information
Process Rules
📊 Business Logic Narrative
When the process 'Store Original Address Information' is invoked, and assuming that an existing importer record has been found with entity id 'im', when the system processes the importer record data, the desired outcome is that the system should backup all address information including address lines 1 and 2, city, state/province, postal code, and country to temporary storage.
💻 Technical Criteria
Given An existing importer record has been found with entity ID 'IM'
When The system processes the importer record data
Then The system should backup all address information including address lines 1 and 2, city, state/province, postal code, and country to temporary storage
R-GCCCCADD-cbl-00630 Store Original Contact Details
Process Rules
📊 Business Logic Narrative
When the process 'Store Original Contact Details' is invoked, and assuming that an existing importer record has been found with entity id 'im', when the system processes the importer record data, the desired outcome is that the system should backup contact function code, person name, communication qualifier, and communication number to temporary storage.
💻 Technical Criteria
Given An existing importer record has been found with entity ID 'IM'
When The system processes the importer record data
Then The system should backup contact function code, person name, communication qualifier, and communication number to temporary storage
R-GCCCCADD-cbl-00631 Clear Current Importer Fields
Process Rules
📊 Business Logic Narrative
When the process 'Clear Current Importer Fields' is invoked, and assuming that original importer data has been successfully backed up, when the system completes the backup process, the desired outcome is that the system should clear the importer, business number, and business number qualifier fields from the current input data.
💻 Technical Criteria
Given Original importer data has been successfully backed up
When The system completes the backup process
Then The system should clear the importer, business number, and business number qualifier fields from the current input data
R-GCCCCADD-cbl-00632 Set Backup Data Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Backup Data Found Flag' is invoked, and assuming that original importer data has been successfully backed up and current fields cleared, when the backup process completes successfully, the desired outcome is that the system should set the temporary importer found flag to indicate successful backup.
💻 Technical Criteria
Given Original importer data has been successfully backed up and current fields cleared
When The backup process completes successfully
Then The system should set the temporary importer found flag to indicate successful backup
R-GCCCCADD-cbl-00633 Restore Original Data if Needed
Process Rules
📊 Business Logic Narrative
When the process 'Restore Original Data if Needed' is invoked, and assuming that original importer data has been backed up and the temporary importer found flag is set, when the system needs to create the final importer record, the desired outcome is that the system should restore all backed up importer information including chop code, name, business details, csa indicator, address, and contact information to the customs record.
💻 Technical Criteria
Given Original importer data has been backed up and the temporary importer found flag is set
When The system needs to create the final importer record
Then The system should restore all backed up importer information including CHOP code, name, business details, CSA indicator, address, and contact information to the customs record
R-GCCCCADD-cbl-00634 AU Importer Data Found?
Validation Rules
📊 Business Logic Narrative
When the process 'AU Importer Data Found?' is invoked, and assuming that the system is processing importer record creation and au table data has been retrieved, when the system checks if au importer data was found during the lookup process, the desired outcome is that if au importer data is found, proceed to check s55 importer record status, otherwise end the process.
💻 Technical Criteria
Given The system is processing importer record creation and AU table data has been retrieved
When The system checks if AU importer data was found during the lookup process
Then If AU importer data is found, proceed to check S55 importer record status, otherwise end the process
R-GCCCCADD-cbl-00635 S55 Importer Record Not Found?
Validation Rules
📊 Business Logic Narrative
When the process 'S55 Importer Record Not Found?' is invoked, and assuming that au importer data has been found and the system needs to create an importer record, when the system checks if an s55 importer record already exists, the desired outcome is that if no s55 importer record is found, proceed to check sequence position availability, otherwise end the process.
💻 Technical Criteria
Given AU importer data has been found and the system needs to create an importer record
When The system checks if an S55 importer record already exists
Then If no S55 importer record is found, proceed to check sequence position availability, otherwise end the process
R-GCCCCADD-cbl-00636 Available Sequence Position?
Validation Rules
📊 Business Logic Narrative
When the process 'Available Sequence Position?' is invoked, and assuming that au importer data exists and no s55 importer record is found, when the system checks if the current sequence index is less than or equal to the maximum sequence position, the desired outcome is that if sequence position is available, proceed to initialize new record, otherwise use maximum sequence position.
💻 Technical Criteria
Given AU importer data exists and no S55 importer record is found
When The system checks if the current sequence index is less than or equal to the maximum sequence position
Then If sequence position is available, proceed to initialize new record, otherwise use maximum sequence position
R-GCCCCADD-cbl-00639 Set Entity ID to 'IM'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Entity ID to 'IM'' is invoked, and assuming that a new importer record has been initialized, when the system sets the entity identification code, the desired outcome is that set the entity id code to 'im' to identify this record as an importer entity.
💻 Technical Criteria
Given A new importer record has been initialized
When The system sets the entity identification code
Then Set the entity ID code to 'IM' to identify this record as an importer entity
R-GCCCCADD-cbl-00640 Copy Importer Name from AU Table
Process Rules
📊 Business Logic Narrative
When the process 'Copy Importer Name from AU Table' is invoked, and assuming that the importer record is being populated with au table data, when the system copies the importer name from the au table, the desired outcome is that set both the customs record name field and the main importer field to the au table importer name.
💻 Technical Criteria
Given The importer record is being populated with AU table data
When The system copies the importer name from the AU table
Then Set both the customs record name field and the main importer field to the AU table importer name
R-GCCCCADD-cbl-00641 Copy Business Number from AU Table
Process Rules
📊 Business Logic Narrative
When the process 'Copy Business Number from AU Table' is invoked, and assuming that the importer record is being populated with au table data, when the system copies the business number from the au table, the desired outcome is that set both the customs record id code field and the main business number field to the au table business number.
💻 Technical Criteria
Given The importer record is being populated with AU table data
When The system copies the business number from the AU table
Then Set both the customs record ID code field and the main business number field to the AU table business number
R-GCCCCADD-cbl-00642 Set Business Number Qualifier to 'M5'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Business Number Qualifier to 'M5'' is invoked, and assuming that the importer record is being created from au table data, when the system sets the business number qualifier, the desired outcome is that set both the customs record id code qualifier and the main business number qualifier to 'm5'.
💻 Technical Criteria
Given The importer record is being created from AU table data
When The system sets the business number qualifier
Then Set both the customs record ID code qualifier and the main business number qualifier to 'M5'
R-GCCCCADD-cbl-00644 Clear Address and Contact Fields
Process Rules
📊 Business Logic Narrative
When the process 'Clear Address and Contact Fields' is invoked, and assuming that the importer record is being created from au table data, when the system initializes address and contact fields, the desired outcome is that set secondary address, city, state, postal code, country, and all contact fields to spaces.
💻 Technical Criteria
Given The importer record is being created from AU table data
When The system initializes address and contact fields
Then Set secondary address, city, state, postal code, country, and all contact fields to spaces
R-GCCCCADD-cbl-00645 Set CSA Indicator ON
Policy Rules
📊 Business Logic Narrative
When the process 'Set CSA Indicator ON' is invoked, and assuming that the importer record is being created from au table data, when the system sets the csa indicator, the desired outcome is that set the csa indicator to on to indicate this importer is authorized for customs self assessment.
💻 Technical Criteria
Given The importer record is being created from AU table data
When The system sets the CSA indicator
Then Set the CSA indicator to ON to indicate this importer is authorized for customs self assessment
R-GCCCCADD-cbl-00646 24 N1 Records Already Exist?
Decision Rules
📊 Business Logic Narrative
When the process '24 N1 Records Already Exist?' is invoked, and assuming that the importer record has been populated with au table data and csa indicator is set, when the system checks if 24 n1 data records already exist, the desired outcome is that if 24 n1 records exist, perform a replace operation, otherwise perform an insert operation.
💻 Technical Criteria
Given The importer record has been populated with AU table data and CSA indicator is set
When The system checks if 24 N1 data records already exist
Then If 24 N1 records exist, perform a replace operation, otherwise perform an insert operation
R-GCCCCADD-cbl-00647 Replace Existing Record
Action Rules
📊 Business Logic Narrative
When the process 'Replace Existing Record' is invoked, and assuming that 24 n1 records already exist and a new importer record needs to be stored, when the system performs a replace operation, the desired outcome is that call the customs i/o module with replace function to update the existing record at the current sequence position.
💻 Technical Criteria
Given 24 N1 records already exist and a new importer record needs to be stored
When The system performs a replace operation
Then Call the customs I/O module with replace function to update the existing record at the current sequence position
R-GCCCCADD-cbl-00648 Insert New Record
Action Rules
📊 Business Logic Narrative
When the process 'Insert New Record' is invoked, and assuming that less than 24 n1 records exist and a new importer record needs to be stored, when the system performs an insert operation, the desired outcome is that validate the n1 segment and insert the new record into the sequence position array.
💻 Technical Criteria
Given Less than 24 N1 records exist and a new importer record needs to be stored
When The system performs an insert operation
Then Validate the N1 segment and insert the new record into the sequence position array
R-GCCCCADD-cbl-00649 Check N1 Record Count
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check N1 Record Count', assuming that the system is processing importer data from au table and importer data was found in au table and importer data was not found in existing 55 records and the current record index exceeds the maximum sequence of 24, when the system attempts to add a new importer n1 record, the desired outcome is that the system sets the record index to the maximum sequence (24) and sets the 24-n1-data-found flag to true and uses replace function instead of insert for the 24th record position.
💻 Technical Criteria
EXCLUDING The system is processing importer data from AU table AND importer data was found in AU table AND importer data was not found in existing 55 records AND the current record index exceeds the maximum sequence of 24
When The system attempts to add a new importer N1 record
Then The system sets the record index to the maximum sequence (24) AND sets the 24-N1-data-found flag to true AND uses replace function instead of insert for the 24th record position
R-GCCCCADD-cbl-00651 Set Override Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Override Flag' is invoked, and assuming that the system is about to use the 24th record position for importer data, when the record index is set to the maximum sequence, the desired outcome is that the system sets the 24-n1-data-found flag to true.
💻 Technical Criteria
Given The system is about to use the 24th record position for importer data
When The record index is set to the maximum sequence
Then The system sets the 24-N1-data-found flag to true
R-GCCCCADD-cbl-00652 Override 24th Record with New Data
Action Rules
📊 Business Logic Narrative
When the process 'Override 24th Record with New Data' is invoked, and assuming that the 24-n1-data-found flag is set to true and importer record data is prepared for storage, when the system stores the importer record, the desired outcome is that the system calls the database i/o function with replace operation instead of insert operation.
💻 Technical Criteria
Given The 24-N1-data-found flag is set to true AND importer record data is prepared for storage
When The system stores the importer record
Then The system calls the database I/O function with replace operation instead of insert operation
R-GCCCCADD-cbl-00653 Add New Record Normally
Process Rules
📊 Business Logic Narrative
When the process 'Add New Record Normally' is invoked, and assuming that the 24-n1-data-found flag is set to false and importer record data is prepared for storage, when the system stores the importer record, the desired outcome is that the system validates the n1 segment and performs the standard insert operation for the new record.
💻 Technical Criteria
Given The 24-N1-data-found flag is set to false AND importer record data is prepared for storage
When The system stores the importer record
Then The system validates the N1 segment AND performs the standard insert operation for the new record
R-GCCCCADD-cbl-00665 Store in Commodity Description Danger Field
Process Rules
📊 Business Logic Narrative
When the process 'Store in Commodity Description Danger Field' is invoked, and assuming that proper shipping name has been extracted from hazmat data, when storing hazmat description for customs documentation, the desired outcome is that proper shipping name is stored in commodity description danger field.
💻 Technical Criteria
Given Proper shipping name has been extracted from hazmat data
When Storing hazmat description for customs documentation
Then Proper shipping name is stored in commodity description danger field
R-GCCCCADD-cbl-00673 Extract UN Number from SHIPERP
Computation Rules
📊 Business Logic Narrative
When the process 'Extract UN Number from SHIPERP' is invoked, and assuming that emergency response data contains a valid un code starting with 'un', when the system processes hazmat identification information, the desired outcome is that the system extracts the un/na code and assigns it to the customs un number field.
💻 Technical Criteria
Given Emergency response data contains a valid UN code starting with 'UN'
When The system processes hazmat identification information
Then The system extracts the UN/NA code and assigns it to the customs UN number field
R-GCCCCADD-cbl-02113 Generate Entity ID Required Error
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Entity ID Required Error' is invoked, and assuming that a party record contains address data (n3), location data (n4), or contact data (per) but the entity id is missing or blank, when the system validates the party information, the desired outcome is that generate an error message indicating that entity id is required when address information is present.
💻 Technical Criteria
Given A party record contains address data (N3), location data (N4), or contact data (PER) but the entity ID is missing or blank
When The system validates the party information
Then Generate an error message indicating that entity ID is required when address information is present
R-GCCCCADD-cbl-02114 Generate Name Required Error
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Name Required Error' is invoked, and assuming that a party record contains address data (n3), location data (n4), or contact data (per) but the party name is missing or blank, when the system validates the party information, the desired outcome is that generate an error message indicating that name is required when address information is present.
💻 Technical Criteria
Given A party record contains address data (N3), location data (N4), or contact data (PER) but the party name is missing or blank
When The system validates the party information
Then Generate an error message indicating that name is required when address information is present
R-GCCCCADD-cbl-02118 Is Entity ID or Name Missing?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Entity ID or Name Missing?' is invoked, and assuming that a party record is for sequence 1 (shipper) or sequence 2 (consignee) and contains address, location, or contact data, when the system validates required party information, the desired outcome is that both entity id and name must be present, and all required address fields must be populated with appropriate error messages for missing data.
💻 Technical Criteria
Given A party record is for sequence 1 (shipper) or sequence 2 (consignee) and contains address, location, or contact data
When The system validates required party information
Then Both entity ID and name must be present, and all required address fields must be populated with appropriate error messages for missing data
R-GCCCCADD-cbl-02124 Valid State-Country Match?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Valid State-Country Match?', assuming that both state/province code and country code are provided for canada, usa, or mexico, when the state/province code does not exist in the state-country lookup table for the specified country, the desired outcome is that generate an invalid state/province code error message (gccs-e-invalid-n402).
💻 Technical Criteria
EXCLUDING Both state/province code and country code are provided for Canada, USA, or Mexico
When The state/province code does not exist in the state-country lookup table for the specified country
Then Generate an invalid state/province code error message (GCCS-E-INVALID-N402)
R-GCCCCADD-cbl-02531 Valid State-Country Combination?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Valid State-Country Combination?', assuming that address data contains both state/province code and country code for canada, usa, or mexico, when the state/province code does not exist in the state-country lookup table for the specified country, the desired outcome is that the system should generate an invalid state/province code error message.
💻 Technical Criteria
EXCLUDING Address data contains both state/province code and country code for Canada, USA, or Mexico
When The state/province code does not exist in the state-country lookup table for the specified country
Then The system should generate an invalid state/province code error message
R-GCCCCADD-cbl-02776 Set Valid Province Flag
Decision Rules
📊 Business Logic Narrative
When the process 'Set Valid Province Flag' is invoked, and assuming that a destination state/province code from shipment data, when the system searches the state-country table for the destination state code, the desired outcome is that if the state code corresponds to country 'us', set destination as us, otherwise set as non-us destination.
💻 Technical Criteria
Given A destination state/province code from shipment data
When The system searches the state-country table for the destination state code
Then If the state code corresponds to country 'US', set destination as US, otherwise set as non-US destination
R-GCCCCADD-cbl-00726 Add Error Message to Validation Results
Process Rules
📊 Business Logic Narrative
When the process 'Add Error Message to Validation Results' is invoked, and assuming that an invalid state/province error has been generated, when the system processes the error for reporting, the desired outcome is that the error message is retrieved using z400-retrieve-err-msg and added to the message array using z100-add-message.
💻 Technical Criteria
Given An invalid state/province error has been generated
When The system processes the error for reporting
Then The error message is retrieved using Z400-RETRIEVE-ERR-MSG and added to the message array using Z100-ADD-MESSAGE
R-GCCCCADD-cbl-00727 Canada/USA/Mexico require state/province
Validation Rules
📊 Business Logic Narrative
When the process 'Canada/USA/Mexico require state/province' is invoked, and assuming that an address has a country code of canada, usa, or mexico, when the system validates the n402 state/province code field, the desired outcome is that if the state/province code is spaces, generate required field error gccs-e-gen-required-n402.
💻 Technical Criteria
Given An address has a country code of Canada, USA, or Mexico
When The system validates the N402 state/province code field
Then If the state/province code is spaces, generate required field error GCCS-E-GEN-REQUIRED-N402
R-GCCCCADD-cbl-00734 Required Field Missing
Validation Rules
📊 Business Logic Narrative
When the process 'Required Field Missing' is invoked, and assuming that a customs manifest is being created, when the shipper name field is validated, the desired outcome is that if the shipper name is blank or spaces, an error message for invalid shipper name should be generated and added to the error collection.
💻 Technical Criteria
Given A customs manifest is being created
When The shipper name field is validated
Then If the shipper name is blank or spaces, an error message for invalid shipper name should be generated and added to the error collection
R-GCCCCADD-cbl-00735 Required Field Missing
Validation Rules
📊 Business Logic Narrative
When the process 'Required Field Missing' is invoked, and assuming that a customs manifest is being created, when the consignee name field is validated, the desired outcome is that if the consignee name is blank or spaces, an error message for invalid consignee name should be generated and added to the error collection.
💻 Technical Criteria
Given A customs manifest is being created
When The consignee name field is validated
Then If the consignee name is blank or spaces, an error message for invalid consignee name should be generated and added to the error collection
R-GCCCCADD-cbl-00736 Required Field Missing
Validation Rules
📊 Business Logic Narrative
When the process 'Required Field Missing' is invoked, and assuming that a customs manifest is being processed, when the origin station name is validated, the desired outcome is that if the origin station name is blank or spaces, an error message for invalid origin station name should be generated and added to the error collection.
💻 Technical Criteria
Given A customs manifest is being processed
When The origin station name is validated
Then If the origin station name is blank or spaces, an error message for invalid origin station name should be generated and added to the error collection
R-GCCCCADD-cbl-00737 Required Field Missing
Validation Rules
📊 Business Logic Narrative
When the process 'Required Field Missing' is invoked, and assuming that a customs manifest is being processed, when the destination station name is validated, the desired outcome is that if the destination station name is blank or spaces, an error message for invalid destination station name should be generated and added to the error collection.
💻 Technical Criteria
Given A customs manifest is being processed
When The destination station name is validated
Then If the destination station name is blank or spaces, an error message for invalid destination station name should be generated and added to the error collection
R-GCCCCADD-cbl-00738 Required Field Missing
Validation Rules
📊 Business Logic Narrative
When the process 'Required Field Missing' is invoked, and assuming that a customs manifest is being processed, when the origin province state code is validated, the desired outcome is that if the origin province state code is blank or spaces, an error message for invalid origin province state code should be generated and added to the error collection.
💻 Technical Criteria
Given A customs manifest is being processed
When The origin province state code is validated
Then If the origin province state code is blank or spaces, an error message for invalid origin province state code should be generated and added to the error collection
R-GCCCCADD-cbl-00739 Invalid Manifest Port
Validation Rules
📊 Business Logic Narrative
When the process 'Invalid Manifest Port' is invoked, and assuming that a manifest port needs to be validated, when the system looks up the manifest port in the mc table, the desired outcome is that if the manifest port is not found in the mc table, an error message for invalid manifest port should be generated and added to the error collection.
💻 Technical Criteria
Given A manifest port needs to be validated
When The system looks up the manifest port in the MC table
Then If the manifest port is not found in the MC table, an error message for invalid manifest port should be generated and added to the error collection
R-GCCCCADD-cbl-00740 Invalid Customs Code
Validation Rules
📊 Business Logic Narrative
When the process 'Invalid Customs Code' is invoked, and assuming that a manifest port has been found in the mc table, when the canadian customs code is validated, the desired outcome is that if the canadian customs code equals '00000', an error message for invalid canadian customs code should be generated and added to the error collection.
💻 Technical Criteria
Given A manifest port has been found in the MC table
When The Canadian customs code is validated
Then If the Canadian customs code equals '00000', an error message for invalid Canadian customs code should be generated and added to the error collection
R-GCCCCADD-cbl-00741 Required Field Missing
Validation Rules
📊 Business Logic Narrative
When the process 'Required Field Missing' is invoked, and assuming that a customs manifest is being processed, when the manifest upon port is validated, the desired outcome is that if the manifest upon port is blank or spaces, error flag 1 should be set to indicate a missing manifest upon port.
💻 Technical Criteria
Given A customs manifest is being processed
When The manifest upon port is validated
Then If the manifest upon port is blank or spaces, error flag 1 should be set to indicate a missing manifest upon port
R-GCCCCADD-cbl-00745 Missing Address Information
Validation Rules
📊 Business Logic Narrative
When the process 'Missing Address Information' is invoked, and assuming that a destination station is being processed and sub-location validation is required, when the sub-location code is validated against business rules, the desired outcome is that if the sub-location code is missing and none of the exemption conditions are met (csa indicator on, same manifest ports not iis-a6, us destination, or arrival indicator y), an error message for invalid destination station sub-location code should be generated.
💻 Technical Criteria
Given A destination station is being processed and sub-location validation is required
When The sub-location code is validated against business rules
Then If the sub-location code is missing and none of the exemption conditions are met (CSA indicator on, same manifest ports not IIS-A6, US destination, or arrival indicator Y), an error message for invalid destination station sub-location code should be generated
R-GCCCCADD-cbl-00751 Required Field Missing
Validation Rules
📊 Business Logic Narrative
When the process 'Required Field Missing' is invoked, and assuming that an n4 segment contains location data, when the n401 city name field is validated, the desired outcome is that if the n401 city name field is blank or spaces, an error message for required n401 field should be generated and added to the error collection.
💻 Technical Criteria
Given An N4 segment contains location data
When The N401 city name field is validated
Then If the N401 city name field is blank or spaces, an error message for required N401 field should be generated and added to the error collection
R-GCCCCADD-cbl-00754 Required Field Missing
Validation Rules
📊 Business Logic Narrative
When the process 'Required Field Missing' is invoked, and assuming that the country code indicates canada, usa, or mexico, when the n402 state province code field is validated, the desired outcome is that if the n402 state province code field is blank or spaces, an error message for required n402 field should be generated and added to the error collection.
💻 Technical Criteria
Given The country code indicates Canada, USA, or Mexico
When The N402 state province code field is validated
Then If the N402 state province code field is blank or spaces, an error message for required N402 field should be generated and added to the error collection
R-GCCCCADD-cbl-00756 Required Field Missing
Validation Rules
📊 Business Logic Narrative
When the process 'Required Field Missing' is invoked, and assuming that an n4 segment contains location data, when the n404 country code field is validated, the desired outcome is that if the n404 country code field is blank or spaces, an error message for required n404 field should be generated and added to the error collection.
💻 Technical Criteria
Given An N4 segment contains location data
When The N404 country code field is validated
Then If the N404 country code field is blank or spaces, an error message for required N404 field should be generated and added to the error collection
R-GCCCCADD-cbl-00760 Required Field Missing
Validation Rules
📊 Business Logic Narrative
When the process 'Required Field Missing' is invoked, and assuming that a customs manifest is being validated, when the lading quantity qualifier field is checked, the desired outcome is that if the lading quantity qualifier is blank or spaces, an error message for required n1010 field should be generated and added to the error collection.
💻 Technical Criteria
Given A customs manifest is being validated
When The lading quantity qualifier field is checked
Then If the lading quantity qualifier is blank or spaces, an error message for required N1010 field should be generated and added to the error collection
R-GCCCCADD-cbl-00777 Build SS Table Key with Port Code
Computation Rules
📊 Business Logic Narrative
When the process 'Build SS Table Key with Port Code' is invoked, and assuming that canadian customs code from manifest station, when ss table key is constructed, the desired outcome is that build key with 'c' prefix followed by last 3 digits of canadian customs code, and use '6105' if haulage rights scac is spaces, otherwise use haulage rights scac.
💻 Technical Criteria
Given Canadian customs code from manifest station
When SS table key is constructed
Then Build key with 'C' prefix followed by last 3 digits of Canadian customs code, and use '6105' if haulage rights SCAC is spaces, otherwise use haulage rights SCAC
R-GCCCCADD-cbl-00799 HN - Shipper Name Segment
Process Rules
📊 Business Logic Narrative
When the process 'HN - Shipper Name Segment' is invoked, and assuming that edi bol data exists with shipper information, when the system needs to retrieve shipper name details for customs processing, the desired outcome is that the hn segment is accessed from ebsnrsc data source with entity type 'hn' and sequence '01', containing shipper name and identification codes.
💻 Technical Criteria
Given EDI BOL data exists with shipper information
When The system needs to retrieve shipper name details for customs processing
Then The HN segment is accessed from EBSNRSC data source with entity type 'HN' and sequence '01', containing shipper name and identification codes
R-GCCCCADD-cbl-00800 HA - Shipper Address Segment
Process Rules
📊 Business Logic Narrative
When the process 'HA - Shipper Address Segment' is invoked, and assuming that edi bol data exists with shipper address information, when the system needs to retrieve shipper address details for customs processing, the desired outcome is that the ha segment is accessed from ebsnrsa data source with entity type 'ha' and sequence '01', containing shipper street address lines.
💻 Technical Criteria
Given EDI BOL data exists with shipper address information
When The system needs to retrieve shipper address details for customs processing
Then The HA segment is accessed from EBSNRSA data source with entity type 'HA' and sequence '01', containing shipper street address lines
R-GCCCCADD-cbl-00801 HC - Shipper City/State Segment
Process Rules
📊 Business Logic Narrative
When the process 'HC - Shipper City/State Segment' is invoked, and assuming that edi bol data exists with shipper geographic information, when the system needs to retrieve shipper city, state, postal code, and country details for customs processing, the desired outcome is that the hc segment is accessed from ebsnrsa data source with entity type 'hc' and sequence '01', containing shipper city, state, postal code, and country code.
💻 Technical Criteria
Given EDI BOL data exists with shipper geographic information
When The system needs to retrieve shipper city, state, postal code, and country details for customs processing
Then The HC segment is accessed from EBSNRSA data source with entity type 'HC' and sequence '01', containing shipper city, state, postal code, and country code
R-GCCCCADD-cbl-00802 GP - Contact Person Segment
Process Rules
📊 Business Logic Narrative
When the process 'GP - Contact Person Segment' is invoked, and assuming that edi bol data exists with contact person information, when the system needs to retrieve contact details for customs processing, the desired outcome is that the gp segment is accessed from ebsnrsa data source with entity type 'gp' and sequence '01', containing contact function code, name, communication number qualifier, and communication number.
💻 Technical Criteria
Given EDI BOL data exists with contact person information
When The system needs to retrieve contact details for customs processing
Then The GP segment is accessed from EBSNRSA data source with entity type 'GP' and sequence '01', containing contact function code, name, communication number qualifier, and communication number
R-GCCCCADD-cbl-00803 CN - Consignee Name Segment
Process Rules
📊 Business Logic Narrative
When the process 'CN - Consignee Name Segment' is invoked, and assuming that edi bol data exists with consignee information, when the system needs to retrieve consignee name details for customs processing, the desired outcome is that the cn segment is accessed from ebsnrsc data source with entity type 'cn' and sequence '01', containing consignee name and identification codes.
💻 Technical Criteria
Given EDI BOL data exists with consignee information
When The system needs to retrieve consignee name details for customs processing
Then The CN segment is accessed from EBSNRSC data source with entity type 'CN' and sequence '01', containing consignee name and identification codes
R-GCCCCADD-cbl-00804 CA - Consignee Address Segment
Process Rules
📊 Business Logic Narrative
When the process 'CA - Consignee Address Segment' is invoked, and assuming that edi bol data exists with consignee address information, when the system needs to retrieve consignee address details for customs processing, the desired outcome is that the ca segment is accessed from ebsnrsa data source with entity type 'ca' and sequence '01', containing consignee street address lines.
💻 Technical Criteria
Given EDI BOL data exists with consignee address information
When The system needs to retrieve consignee address details for customs processing
Then The CA segment is accessed from EBSNRSA data source with entity type 'CA' and sequence '01', containing consignee street address lines
R-GCCCCADD-cbl-00805 CC - Consignee City/State Segment
Process Rules
📊 Business Logic Narrative
When the process 'CC - Consignee City/State Segment' is invoked, and assuming that edi bol data exists with consignee geographic information, when the system needs to retrieve consignee city, state, postal code, and country details for customs processing, the desired outcome is that the cc segment is accessed from ebsnrsa data source with entity type 'cc' and sequence '01', containing consignee city, state, postal code, and country code.
💻 Technical Criteria
Given EDI BOL data exists with consignee geographic information
When The system needs to retrieve consignee city, state, postal code, and country details for customs processing
Then The CC segment is accessed from EBSNRSA data source with entity type 'CC' and sequence '01', containing consignee city, state, postal code, and country code
R-GCCCCADD-cbl-00806 PN - Stuffer Name Segment
Process Rules
📊 Business Logic Narrative
When the process 'PN - Stuffer Name Segment' is invoked, and assuming that edi bol data exists with stuffer information, when the system needs to retrieve stuffer name details for customs processing, the desired outcome is that the pn segment is accessed from ebsnrsc data source with entity type 'pn' and sequence '01', containing stuffer name and identification codes.
💻 Technical Criteria
Given EDI BOL data exists with stuffer information
When The system needs to retrieve stuffer name details for customs processing
Then The PN segment is accessed from EBSNRSC data source with entity type 'PN' and sequence '01', containing stuffer name and identification codes
R-GCCCCADD-cbl-00807 UN - Ultimate Consignee Name Segment
Process Rules
📊 Business Logic Narrative
When the process 'UN - Ultimate Consignee Name Segment' is invoked, and assuming that edi bol data exists with ultimate consignee information, when the system needs to retrieve ultimate consignee name details for customs processing, the desired outcome is that the un segment is accessed from ebsnrsc data source with entity type 'un' and sequence '01', containing ultimate consignee name and identification codes.
💻 Technical Criteria
Given EDI BOL data exists with ultimate consignee information
When The system needs to retrieve ultimate consignee name details for customs processing
Then The UN segment is accessed from EBSNRSC data source with entity type 'UN' and sequence '01', containing ultimate consignee name and identification codes
R-GCCCCADD-cbl-00808 BN - Beneficial Owner Name Segment
Process Rules
📊 Business Logic Narrative
When the process 'BN - Beneficial Owner Name Segment' is invoked, and assuming that edi bol data exists with beneficial owner information, when the system needs to retrieve beneficial owner name details for customs processing, the desired outcome is that the bn segment is accessed from ebsnrsc data source with entity type 'bn' and sequence '01', containing beneficial owner name and identification codes.
💻 Technical Criteria
Given EDI BOL data exists with beneficial owner information
When The system needs to retrieve beneficial owner name details for customs processing
Then The BN segment is accessed from EBSNRSC data source with entity type 'BN' and sequence '01', containing beneficial owner name and identification codes
R-GCCCCADD-cbl-00811 Initialize Search Variables
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Search Variables' is invoked, and assuming that transportation segment processing is starting, when the system initializes search parameters, the desired outcome is that the d5-org-id found flag is set to false and tn segment found flag is set to true.
💻 Technical Criteria
Given Transportation segment processing is starting
When The system initializes search parameters
Then The D5-ORG-ID found flag is set to false and TN segment found flag is set to true
R-GCCCCADD-cbl-00813 TN Segment Found?
Decision Rules
📊 Business Logic Narrative
When the process 'TN Segment Found?' is invoked, and assuming that a transportation segment retrieval attempt has been made, when the system checks the retrieval status, the desired outcome is that if segment is found, continue with organization id matching, otherwise set tn segment not found flag.
💻 Technical Criteria
Given A transportation segment retrieval attempt has been made
When The system checks the retrieval status
Then If segment is found, continue with organization ID matching, otherwise set TN segment not found flag
R-GCCCCADD-cbl-00814 Check if D5-ORG-ID Matches Target
Validation Rules
📊 Business Logic Narrative
When the process 'Check if D5-ORG-ID Matches Target' is invoked, and assuming that a transportation segment has been successfully retrieved, when the system compares the d5-org-id from the segment with the target organization id, the desired outcome is that the organization ids are evaluated for exact match.
💻 Technical Criteria
Given A transportation segment has been successfully retrieved
When The system compares the D5-ORG-ID from the segment with the target organization ID
Then The organization IDs are evaluated for exact match
R-GCCCCADD-cbl-00816 Set D5-ORG-ID Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set D5-ORG-ID Found Flag' is invoked, and assuming that the d5-org-id from transportation segment matches the target organization id, when the system processes the successful match, the desired outcome is that the d5-org-id found flag is set to true to indicate successful search completion.
💻 Technical Criteria
Given The D5-ORG-ID from transportation segment matches the target organization ID
When The system processes the successful match
Then The D5-ORG-ID found flag is set to true to indicate successful search completion
R-GCCCCADD-cbl-00817 Increment Sequence Counter
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Increment Sequence Counter', assuming that the current transportation segment organization id does not match the target, when the system prepares for the next search iteration, the desired outcome is that the sequence counter is incremented by 1 to retrieve the next transportation segment.
💻 Technical Criteria
EXCLUDING The current transportation segment organization ID does not match the target
When The system prepares for the next search iteration
Then The sequence counter is incremented by 1 to retrieve the next transportation segment
R-GCCCCADD-cbl-00818 Continue Search?
Decision Rules
📊 Business Logic Narrative
When the process 'Continue Search?' is invoked, and assuming that a transportation segment has been processed and sequence counter incremented, when the system evaluates search continuation criteria, the desired outcome is that if target organization id not found and more segments may exist, continue search loop, otherwise terminate search.
💻 Technical Criteria
Given A transportation segment has been processed and sequence counter incremented
When The system evaluates search continuation criteria
Then If target organization ID not found and more segments may exist, continue search loop, otherwise terminate search
R-GCCCCADD-cbl-00819 Set TN Segment Not Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set TN Segment Not Found Flag' is invoked, and assuming that no transportation segment was retrieved or search loop has completed without finding target, when the system terminates the search process, the desired outcome is that the tn segment found flag is set to false to indicate search termination.
💻 Technical Criteria
Given No transportation segment was retrieved or search loop has completed without finding target
When The system terminates the search process
Then The TN segment found flag is set to false to indicate search termination
R-GCCCCADD-cbl-00821 Search for BN Entity in Transportation Data
Decision Rules
📊 Business Logic Narrative
When the process 'Search for BN Entity in Transportation Data' is invoked, and assuming that a customs manifest is being processed and bn segment processing is initiated, when the system searches for bn entity in transportation data segments with organization id 'bn', the desired outcome is that if bn entity is found, initialize bn segment record and proceed with bn processing, otherwise skip bn processing entirely.
💻 Technical Criteria
Given A customs manifest is being processed and BN segment processing is initiated
When The system searches for BN entity in transportation data segments with organization ID 'BN'
Then If BN entity is found, initialize BN segment record and proceed with BN processing, otherwise skip BN processing entirely
R-GCCCCADD-cbl-00822 Extract Entity Name
Action Rules
📊 Business Logic Narrative
When the process 'Extract Entity Name' is invoked, and assuming that a bn entity has been found in transportation data segments, when the system processes the bn entity data, the desired outcome is that set entity id code to 'bn', extract entity name from transportation data, extract consignee chop code, and clear identification code fields.
💻 Technical Criteria
Given A BN entity has been found in transportation data segments
When The system processes the BN entity data
Then Set entity ID code to 'BN', extract entity name from transportation data, extract consignee CHOP code, and clear identification code fields
R-GCCCCADD-cbl-00832 Entity Type is PF or SS?
Decision Rules
📊 Business Logic Narrative
When the process 'Entity Type is PF or SS?' is invoked, and assuming that an mcoa segment has been found, when the system checks the entity type in the segment, the desired outcome is that if the entity type is pf or ss, the segment is processed for customs data creation, otherwise the segment is skipped.
💻 Technical Criteria
Given an MCOA segment has been found
When the system checks the entity type in the segment
Then if the entity type is PF or SS, the segment is processed for customs data creation, otherwise the segment is skipped
R-GCCCCADD-cbl-00834 Set Entity ID Code
Process Rules
📊 Business Logic Narrative
When the process 'Set Entity ID Code' is invoked, and assuming that entity information has been extracted from an mcoa segment, when the system creates the customs record, the desired outcome is that the entity id code from the mcoa segment is assigned to the n101 entity id code field in the customs record.
💻 Technical Criteria
Given entity information has been extracted from an MCOA segment
When the system creates the customs record
Then the entity ID code from the MCOA segment is assigned to the N101 entity ID code field in the customs record
R-GCCCCADD-cbl-00835 Set Entity Name
Process Rules
📊 Business Logic Narrative
When the process 'Set Entity Name' is invoked, and assuming that entity information has been extracted from an mcoa segment, when the system creates the customs record, the desired outcome is that the entity name from the mcoa segment is assigned to the n102 name field in the customs record.
💻 Technical Criteria
Given entity information has been extracted from an MCOA segment
When the system creates the customs record
Then the entity name from the MCOA segment is assigned to the N102 name field in the customs record
R-GCCCCADD-cbl-00836 Set ID Code Qualifier
Process Rules
📊 Business Logic Narrative
When the process 'Set ID Code Qualifier' is invoked, and assuming that entity information has been extracted from an mcoa segment, when the system creates the customs record, the desired outcome is that the id code qualifier from the mcoa segment is assigned to the n103 id code qualifier field in the customs record.
💻 Technical Criteria
Given entity information has been extracted from an MCOA segment
When the system creates the customs record
Then the ID code qualifier from the MCOA segment is assigned to the N103 ID code qualifier field in the customs record
R-GCCCCADD-cbl-00837 Set ID Code
Process Rules
📊 Business Logic Narrative
When the process 'Set ID Code' is invoked, and assuming that entity information has been extracted from an mcoa segment, when the system creates the customs record, the desired outcome is that the id code from the mcoa segment is assigned to the n104 id code field in the customs record.
💻 Technical Criteria
Given entity information has been extracted from an MCOA segment
When the system creates the customs record
Then the ID code from the MCOA segment is assigned to the N104 ID code field in the customs record
R-GCCCCADD-cbl-00844 City/State Segment Found?
Decision Rules
📊 Business Logic Narrative
When the process 'City/State Segment Found?' is invoked, and assuming that an attempt to retrieve mcoa city/state information has been made, when the system checks if city/state data was found, the desired outcome is that if city/state data is found, extract all location fields, otherwise clear all address fields.
💻 Technical Criteria
Given an attempt to retrieve MCOA city/state information has been made
When the system checks if city/state data was found
Then if city/state data is found, extract all location fields, otherwise clear all address fields
R-GCCCCADD-cbl-00845 Extract City Name
Process Rules
📊 Business Logic Narrative
When the process 'Extract City Name' is invoked, and assuming that an mcoa city/state segment has been found, when the system processes the location information, the desired outcome is that the city name field is extracted and assigned to the n401 city name field.
💻 Technical Criteria
Given an MCOA city/state segment has been found
When the system processes the location information
Then the city name field is extracted and assigned to the N401 city name field
R-GCCCCADD-cbl-00846 Extract State/Province Code
Process Rules
📊 Business Logic Narrative
When the process 'Extract State/Province Code' is invoked, and assuming that an mcoa city/state segment has been found, when the system processes the location information, the desired outcome is that the state/province code field is extracted and assigned to the n402 state/province code field.
💻 Technical Criteria
Given an MCOA city/state segment has been found
When the system processes the location information
Then the state/province code field is extracted and assigned to the N402 state/province code field
R-GCCCCADD-cbl-00847 Extract Postal Code
Process Rules
📊 Business Logic Narrative
When the process 'Extract Postal Code' is invoked, and assuming that an mcoa city/state segment has been found, when the system processes the location information, the desired outcome is that the postal code field is extracted and assigned to the n403 postal code field.
💻 Technical Criteria
Given an MCOA city/state segment has been found
When the system processes the location information
Then the postal code field is extracted and assigned to the N403 postal code field
R-GCCCCADD-cbl-00848 Extract Country Code
Process Rules
📊 Business Logic Narrative
When the process 'Extract Country Code' is invoked, and assuming that an mcoa city/state segment has been found, when the system processes the location information, the desired outcome is that the country code field is extracted and assigned to the n404 country code field.
💻 Technical Criteria
Given an MCOA city/state segment has been found
When the system processes the location information
Then the country code field is extracted and assigned to the N404 country code field
R-GCCCCADD-cbl-00849 Clear Address Fields
Validation Rules
📊 Business Logic Narrative
When the process 'Clear Address Fields' is invoked, and assuming that no mcoa city/state segment was found, when the system needs to populate location fields, the desired outcome is that all location fields (city name, state/province code, postal code, country code) are set to spaces.
💻 Technical Criteria
Given no MCOA city/state segment was found
When the system needs to populate location fields
Then all location fields (city name, state/province code, postal code, country code) are set to spaces
R-GCCCCADD-cbl-00850 Validate N1 Segment Data
Validation Rules
📊 Business Logic Narrative
When the process 'Validate N1 Segment Data' is invoked, and assuming that an n1 segment has been constructed from mcoa data, when the system validates the segment data, the desired outcome is that all required fields are checked for completeness and validity according to customs requirements.
💻 Technical Criteria
Given an N1 segment has been constructed from MCOA data
When the system validates the segment data
Then all required fields are checked for completeness and validity according to customs requirements
R-GCCCCADD-cbl-00860 Initialize Record 55 Variables
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Record 55 Variables' is invoked, and assuming that the customs record 55 processing is starting, when the system initializes record 55 variables, the desired outcome is that the sequence index is set to 3 and the record 55 array is cleared to spaces.
💻 Technical Criteria
Given The customs record 55 processing is starting
When The system initializes record 55 variables
Then The sequence index is set to 3 and the record 55 array is cleared to spaces
R-GCCCCADD-cbl-00861 Build Shipper Record - Sequence 0001
Decision Rules
📊 Business Logic Narrative
When the process 'Build Shipper Record - Sequence 0001' is invoked, and assuming that a shipment requires shipper information for customs record 55, when the system builds the shipper record and edi bol shipper data (ebsnrsc-hn) is found, the desired outcome is that the system creates entity id 'sh', extracts shipper name and chop code from edi data, gets address from ebsnrsa-ha segment, gets city/state/postal/country from ebsnrsa-hc segment, and gets contact information from ebsnrsa-gp segment.
💻 Technical Criteria
Given A shipment requires shipper information for customs record 55
When The system builds the shipper record and EDI BOL shipper data (EBSNRSC-HN) is found
Then The system creates entity ID 'SH', extracts shipper name and CHOP code from EDI data, gets address from EBSNRSA-HA segment, gets city/state/postal/country from EBSNRSA-HC segment, and gets contact information from EBSNRSA-GP segment
R-GCCCCADD-cbl-00862 Build Shipper Record - Sequence 0001
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Build Shipper Record - Sequence 0001', assuming that a shipment requires shipper information for customs record 55, when the system builds the shipper record and edi bol shipper data is not found, the desired outcome is that the system creates entity id 'sh', uses shipper name and chop from shiproot, uses shipper address from shiproot, and derives city/state/postal/country from shiproot address data.
💻 Technical Criteria
EXCLUDING A shipment requires shipper information for customs record 55
When The system builds the shipper record and EDI BOL shipper data is not found
Then The system creates entity ID 'SH', uses shipper name and CHOP from SHIPROOT, uses shipper address from SHIPROOT, and derives city/state/postal/country from SHIPROOT address data
R-GCCCCADD-cbl-00863 Build Consignee Record - Sequence 0002
Decision Rules
📊 Business Logic Narrative
When the process 'Build Consignee Record - Sequence 0002' is invoked, and assuming that a shipment requires consignee information for customs record 55, when the system builds the consignee record and edi bol consignee data (ebsnrsc-cn) is found, the desired outcome is that the system creates entity id 'cn', extracts consignee name and chop code from edi data, gets address from ebsnrsa-ca segment, gets city/state/postal/country from ebsnrsa-cc segment, and gets contact information from ebsnrsa-gp segment.
💻 Technical Criteria
Given A shipment requires consignee information for customs record 55
When The system builds the consignee record and EDI BOL consignee data (EBSNRSC-CN) is found
Then The system creates entity ID 'CN', extracts consignee name and CHOP code from EDI data, gets address from EBSNRSA-CA segment, gets city/state/postal/country from EBSNRSA-CC segment, and gets contact information from EBSNRSA-GP segment
R-GCCCCADD-cbl-00864 Build Consignee Record - Sequence 0002
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Build Consignee Record - Sequence 0002', assuming that a shipment requires consignee information for customs record 55, when the system builds the consignee record and edi bol consignee data is not found, the desired outcome is that the system creates entity id 'cn', uses consignee name and chop from shiproot, uses consignee address from shiproot, and derives city/state/postal/country from shiproot address data.
💻 Technical Criteria
EXCLUDING A shipment requires consignee information for customs record 55
When The system builds the consignee record and EDI BOL consignee data is not found
Then The system creates entity ID 'CN', uses consignee name and CHOP from SHIPROOT, uses consignee address from SHIPROOT, and derives city/state/postal/country from SHIPROOT address data
R-GCCCCADD-cbl-00865 Build Stuffer Entity SF
Decision Rules
📊 Business Logic Narrative
When the process 'Build Stuffer Entity SF' is invoked, and assuming that a shipment may have stuffer information, when the system finds edi bol stuffer data (ebsnrsc-pn), the desired outcome is that the system creates entity id 'sf', extracts stuffer name from edi data, gets address from ebsnrsa-pa segment, gets city/state/postal/country from ebsnrsa-pc segment, gets contact information from ebsnrsa-gp segment, and inserts the record into customs database.
💻 Technical Criteria
Given A shipment may have stuffer information
When The system finds EDI BOL stuffer data (EBSNRSC-PN)
Then The system creates entity ID 'SF', extracts stuffer name from EDI data, gets address from EBSNRSA-PA segment, gets city/state/postal/country from EBSNRSA-PC segment, gets contact information from EBSNRSA-GP segment, and inserts the record into customs database
R-GCCCCADD-cbl-00866 Build Ultimate Consignee Entity UC
Decision Rules
📊 Business Logic Narrative
When the process 'Build Ultimate Consignee Entity UC' is invoked, and assuming that a shipment may have ultimate consignee information, when the system finds edi bol ultimate consignee data (ebsnrsc-un), the desired outcome is that the system creates entity id 'uc', extracts ultimate consignee name from edi data, gets address from ebsnrsa-ua segment or sets default 'na', gets city/state/postal/country from ebsnrsa-uc segment or sets to spaces, gets contact information from ebsnrsa-gp segment, and inserts the record into customs database.
💻 Technical Criteria
Given A shipment may have ultimate consignee information
When The system finds EDI BOL ultimate consignee data (EBSNRSC-UN)
Then The system creates entity ID 'UC', extracts ultimate consignee name from EDI data, gets address from EBSNRSA-UA segment or sets default 'NA', gets city/state/postal/country from EBSNRSA-UC segment or sets to spaces, gets contact information from EBSNRSA-GP segment, and inserts the record into customs database
R-GCCCCADD-cbl-00867 Build Beneficial Owner Entity BN
Decision Rules
📊 Business Logic Narrative
When the process 'Build Beneficial Owner Entity BN' is invoked, and assuming that a shipment may have beneficial owner information, when the system finds edi bol beneficial owner data (ebsnrsc-bn) and organization id is 'bn', the desired outcome is that the system creates entity id 'bn', extracts beneficial owner name and chop from edi data, gets address from ebsnrsa-bt segment or sets default 'na', gets city/state/postal/country from ebsnrsa-by segment or sets to spaces, and inserts the record into customs database.
💻 Technical Criteria
Given A shipment may have beneficial owner information
When The system finds EDI BOL beneficial owner data (EBSNRSC-BN) and organization ID is 'BN'
Then The system creates entity ID 'BN', extracts beneficial owner name and CHOP from EDI data, gets address from EBSNRSA-BT segment or sets default 'NA', gets city/state/postal/country from EBSNRSA-BY segment or sets to spaces, and inserts the record into customs database
R-GCCCCADD-cbl-00868 Build Carrier Entity C1
Decision Rules
📊 Business Logic Narrative
When the process 'Build Carrier Entity C1' is invoked, and assuming that a shipment may have carrier information, when the system finds edi bol carrier data with organization id 'c1' or fastway consignee data code 'c', the desired outcome is that the system creates entity id 'c1', extracts carrier name from edi or fastway data, gets address information from appropriate segments, gets city/state/postal/country information, gets contact information, and inserts the record into customs database.
💻 Technical Criteria
Given A shipment may have carrier information
When The system finds EDI BOL carrier data with organization ID 'C1' or Fastway consignee data code 'C'
Then The system creates entity ID 'C1', extracts carrier name from EDI or Fastway data, gets address information from appropriate segments, gets city/state/postal/country information, gets contact information, and inserts the record into customs database
R-GCCCCADD-cbl-00869 Build Notify Party Entity N1
Decision Rules
📊 Business Logic Narrative
When the process 'Build Notify Party Entity N1' is invoked, and assuming that a shipment may have notify party information, when the system finds edi bol data with organization id 'n1', the desired outcome is that the system creates entity id 'n1', extracts notify party name from edi data, gets address information from t2 segment, gets city/state/postal/country from ta segment, gets contact information from t3 segment, and inserts the record into customs database.
💻 Technical Criteria
Given A shipment may have notify party information
When The system finds EDI BOL data with organization ID 'N1'
Then The system creates entity ID 'N1', extracts notify party name from EDI data, gets address information from T2 segment, gets city/state/postal/country from TA segment, gets contact information from T3 segment, and inserts the record into customs database
R-GCCCCADD-cbl-00870 Build Payment/Service Entity PF/SS
Decision Rules
📊 Business Logic Narrative
When the process 'Build Payment/Service Entity PF/SS' is invoked, and assuming that a shipment may have payment or service entity information, when the system finds edi bol mcoa data with organization id 'pf' or 'ss', the desired outcome is that the system creates entity id matching the organization id, extracts entity name and id codes from mcoa data, gets address from on segment or sets default 'na', gets city/state/postal/country from oc segment or sets to spaces, and inserts the record into customs database.
💻 Technical Criteria
Given A shipment may have payment or service entity information
When The system finds EDI BOL MCOA data with organization ID 'PF' or 'SS'
Then The system creates entity ID matching the organization ID, extracts entity name and ID codes from MCOA data, gets address from ON segment or sets default 'NA', gets city/state/postal/country from OC segment or sets to spaces, and inserts the record into customs database
R-GCCCCADD-cbl-00872 Build Importer Entity IM
Decision Rules
📊 Business Logic Narrative
When the process 'Build Importer Entity IM' is invoked, and assuming that a shipment requires importer information for customs record 55, when the system finds edi bol importer data with entity id 'im' and existing importer data is available from initialization, the desired outcome is that the system retains the existing importer data including chop code, name, business number qualifier, business number, csa indicator, address, city, state, postal code, country, and contact information, and inserts the record into customs database.
💻 Technical Criteria
Given A shipment requires importer information for customs record 55
When The system finds EDI BOL importer data with entity ID 'IM' and existing importer data is available from initialization
Then The system retains the existing importer data including CHOP code, name, business number qualifier, business number, CSA indicator, address, city, state, postal code, country, and contact information, and inserts the record into customs database
R-GCCCCADD-cbl-00873 Build Importer Entity IM
Decision Rules
📊 Business Logic Narrative
When the process 'Build Importer Entity IM' is invoked, and assuming that a shipment requires importer information for customs record 55, when the system finds edi bol importer data with entity id 'im' and no existing importer data is available, the desired outcome is that the system creates entity id 'im', extracts importer name and business information from edi data, gets address from n3 segment or sets default 'na', gets city/state/postal/country from n4 segment, sets contact information to spaces, and inserts the record into customs database.
💻 Technical Criteria
Given A shipment requires importer information for customs record 55
When The system finds EDI BOL importer data with entity ID 'IM' and no existing importer data is available
Then The system creates entity ID 'IM', extracts importer name and business information from EDI data, gets address from N3 segment or sets default 'NA', gets city/state/postal/country from N4 segment, sets contact information to spaces, and inserts the record into customs database
R-GCCCCADD-cbl-00874 Finalize Importer Processing
Decision Rules
📊 Business Logic Narrative
When the process 'Finalize Importer Processing' is invoked, and assuming that a shipment requires importer information and au table importer data was found during initialization, when the system finalizes importer processing and no importer record was created from edi data and sequence index is within maximum limit, the desired outcome is that the system creates entity id 'im', uses importer name and business number from au table, sets business number qualifier to 'm5', sets address to 'na', clears city/state/postal/country and contact information, sets csa indicator on, and either replaces existing record or inserts new record based on availability.
💻 Technical Criteria
Given A shipment requires importer information and AU table importer data was found during initialization
When The system finalizes importer processing and no importer record was created from EDI data and sequence index is within maximum limit
Then The system creates entity ID 'IM', uses importer name and business number from AU table, sets business number qualifier to 'M5', sets address to 'NA', clears city/state/postal/country and contact information, sets CSA indicator on, and either replaces existing record or inserts new record based on availability
R-GCCCCADD-cbl-00879 Validate N1 Segment Data
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Validate N1 Segment Data', assuming that an entity record has city/state information for canada, usa, or mexico, when the state/province code is missing or the state/province and country combination is invalid, the desired outcome is that the system generates error messages for missing state/province or invalid state/province combinations, and derives country code from state/province when country is missing.
💻 Technical Criteria
EXCLUDING An entity record has city/state information for Canada, USA, or Mexico
When The state/province code is missing or the state/province and country combination is invalid
Then The system generates error messages for missing state/province or invalid state/province combinations, and derives country code from state/province when country is missing
R-GCCCCADD-cbl-02140 Extract City/State from EDI BOL
Action Rules
📊 Business Logic Narrative
When the process 'Extract City/State from EDI BOL' is invoked, and assuming that edi bol city/state data is available, when the system extracts location information, the desired outcome is that city is set from f4-city-name, state from f4-state-prov-code, postal code from f4-postal-code, and country from f4-country-code.
💻 Technical Criteria
Given EDI BOL city/state data is available
When The system extracts location information
Then City is set from F4-CITY-NAME, state from F4-STATE-PROV-CODE, postal code from F4-POSTAL-CODE, and country from F4-COUNTRY-CODE
R-GCCCCADD-cbl-02141 Parse City/State from Fastway Data
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Parse City/State from Fastway Data', assuming that edi bol city/state data is not available, when the system needs location information, the desired outcome is that address line 2 is parsed to extract city name, state/province code, and postal code.
💻 Technical Criteria
EXCLUDING EDI BOL city/state data is not available
When The system needs location information
Then Address line 2 is parsed to extract city name, state/province code, and postal code
R-GCCCCADD-cbl-02535 EDI BOL Shipper Data Available?
Decision Rules
📊 Business Logic Narrative
When the process 'EDI BOL Shipper Data Available?' is invoked, and assuming that a shipper record needs to be built for customs processing, when the system checks for edi bol shipper data availability, the desired outcome is that the system identifies if edi bol contains shipper name and contact information.
💻 Technical Criteria
Given A shipper record needs to be built for customs processing
When The system checks for EDI BOL shipper data availability
Then The system identifies if EDI BOL contains shipper name and contact information
R-GCCCCADD-cbl-02537 Use Fastway Shipper Data
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Fastway Shipper Data', assuming that edi bol shipper data is not available, when the system needs shipper information for customs processing, the desired outcome is that shipper chop code and name are extracted from shiproot fastway data with entity id set to 'sh'.
💻 Technical Criteria
EXCLUDING EDI BOL shipper data is not available
When The system needs shipper information for customs processing
Then Shipper CHOP code and name are extracted from SHIPROOT Fastway data with entity ID set to 'SH'
R-GCCCCADD-cbl-02551 Validate State/Country Combination
Validation Rules
📊 Business Logic Narrative
When the process 'Validate State/Country Combination' is invoked, and assuming that state/province code and country code have been determined, when the system validates the state-country combination, the desired outcome is that state/province code is verified as valid for canada, usa, or mexico, and error messages are generated for invalid combinations.
💻 Technical Criteria
Given State/province code and country code have been determined
When The system validates the state-country combination
Then State/province code is verified as valid for Canada, USA, or Mexico, and error messages are generated for invalid combinations
R-GCCCCADD-cbl-02553 EDI BOL Consignee Data Available?
Decision Rules
📊 Business Logic Narrative
When the process 'EDI BOL Consignee Data Available?' is invoked, and assuming that a consignee record needs to be built for customs processing, when the system checks for edi bol consignee data availability, the desired outcome is that the system identifies if edi bol contains consignee name and contact information.
💻 Technical Criteria
Given A consignee record needs to be built for customs processing
When The system checks for EDI BOL consignee data availability
Then The system identifies if EDI BOL contains consignee name and contact information
R-GCCCCADD-cbl-02555 Use Fastway Consignee Data
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Fastway Consignee Data', assuming that edi bol consignee data is not available, when the system needs consignee information for customs processing, the desired outcome is that consignee chop code and name are extracted from shiproot consignee data with entity id set to 'cn'.
💻 Technical Criteria
EXCLUDING EDI BOL consignee data is not available
When The system needs consignee information for customs processing
Then Consignee CHOP code and name are extracted from SHIPROOT consignee data with entity ID set to 'CN'
R-GCCCCADD-cbl-02556 Store Shipper and Consignee Records
Process Rules
📊 Business Logic Narrative
When the process 'Store Shipper and Consignee Records' is invoked, and assuming that shipper and consignee records have been validated successfully, when the system completes record building process, the desired outcome is that shipper record is stored at array position 1 and consignee record is stored at array position 2 in the customs manifest data structure.
💻 Technical Criteria
Given Shipper and consignee records have been validated successfully
When The system completes record building process
Then Shipper record is stored at array position 1 and consignee record is stored at array position 2 in the customs manifest data structure
R-GCCCCADD-cbl-02777 Parse Fastway Address String into Components - Extract city, state, and postal code from concatenated address field
Process Rules
📊 Business Logic Narrative
When the process 'Parse Fastway Address String into Components - Extract city, state, and postal code from concatenated address field' is invoked, and assuming that a shipper address is stored in shpr-addr(2) field in fastway shipment data, when the system processes shipper address information for customs manifest creation, the desired outcome is that the concatenated address string is parsed into separate city name, state/province code, and postal code components and moved to the corresponding n4 segment fields.
💻 Technical Criteria
Given A shipper address is stored in SHPR-ADDR(2) field in Fastway shipment data
When The system processes shipper address information for customs manifest creation
Then The concatenated address string is parsed into separate city name, state/province code, and postal code components and moved to the corresponding N4 segment fields
R-GCCCCADD-cbl-02778 Parse Fastway Address String into Components - Extract city, state, and postal code from concatenated address field
Process Rules
📊 Business Logic Narrative
When the process 'Parse Fastway Address String into Components - Extract city, state, and postal code from concatenated address field' is invoked, and assuming that a consignee address is stored in cons-data(4) field in fastway shipment data, when the system processes consignee address information for customs manifest creation, the desired outcome is that the concatenated address string is parsed into separate city name, state/province code, and postal code components and moved to the corresponding n4 segment fields.
💻 Technical Criteria
Given A consignee address is stored in CONS-DATA(4) field in Fastway shipment data
When The system processes consignee address information for customs manifest creation
Then The concatenated address string is parsed into separate city name, state/province code, and postal code components and moved to the corresponding N4 segment fields
R-GCCCCADD-cbl-02779 Parse Fastway Address String into Components - Extract city, state, and postal code from concatenated address field
Process Rules
📊 Business Logic Narrative
When the process 'Parse Fastway Address String into Components - Extract city, state, and postal code from concatenated address field' is invoked, and assuming that a notify party address is stored in cons-data(4) field in fastway shipment data, when the system processes notify party address information for customs manifest creation, the desired outcome is that the concatenated address string is parsed into separate city name, state/province code, and postal code components and moved to the corresponding n4 segment fields.
💻 Technical Criteria
Given A notify party address is stored in CONS-DATA(4) field in Fastway shipment data
When The system processes notify party address information for customs manifest creation
Then The concatenated address string is parsed into separate city name, state/province code, and postal code components and moved to the corresponding N4 segment fields
R-GCCCCADD-cbl-02982 Move Address String to Work Area
Process Rules
📊 Business Logic Narrative
When the process 'Move Address String to Work Area' is invoked, and assuming that an address string containing city, state/province, and postal code in concatenated format, when the system processes the address for customs manifest creation, the desired outcome is that the city name component is extracted and moved to the city name field.
💻 Technical Criteria
Given An address string containing city, state/province, and postal code in concatenated format
When The system processes the address for customs manifest creation
Then The city name component is extracted and moved to the city name field
R-GCCCCADD-cbl-02983 Extract State/Province Code
Process Rules
📊 Business Logic Narrative
When the process 'Extract State/Province Code' is invoked, and assuming that an address string containing city, state/province, and postal code information, when the address is being processed for customs manifest, the desired outcome is that the state/province code is extracted and assigned to the appropriate field.
💻 Technical Criteria
Given An address string containing city, state/province, and postal code information
When The address is being processed for customs manifest
Then The state/province code is extracted and assigned to the appropriate field
R-GCCCCADD-cbl-02984 Extract Postal Code
Process Rules
📊 Business Logic Narrative
When the process 'Extract Postal Code' is invoked, and assuming that an address string containing city, state/province, and postal code information, when the address is being processed for customs manifest creation, the desired outcome is that the postal code is extracted and assigned to the postal code field.
💻 Technical Criteria
Given An address string containing city, state/province, and postal code information
When The address is being processed for customs manifest creation
Then The postal code is extracted and assigned to the postal code field
R-GCCCCADD-cbl-02987 Move Address String to WS-ADDRESS
Process Rules
📊 Business Logic Narrative
When the process 'Move Address String to WS-ADDRESS' is invoked, and assuming that a shipper address is stored in shpr-addr(2) as a concatenated string containing city, state/province, and postal code, when the system processes shipper address information for customs record creation, the desired outcome is that the concatenated address string is moved to ws-address for parsing into individual components.
💻 Technical Criteria
Given A shipper address is stored in SHPR-ADDR(2) as a concatenated string containing city, state/province, and postal code
When The system processes shipper address information for customs record creation
Then The concatenated address string is moved to WS-ADDRESS for parsing into individual components
R-GCCCCADD-cbl-02988 Extract City Name from Address
Process Rules
📊 Business Logic Narrative
When the process 'Extract City Name from Address' is invoked, and assuming that an address string has been loaded into ws-address for parsing, when the system extracts address components for customs documentation, the desired outcome is that the city name component is extracted from ws-address and assigned to ws-city-name, then moved to gccs-n401-city-name.
💻 Technical Criteria
Given An address string has been loaded into WS-ADDRESS for parsing
When The system extracts address components for customs documentation
Then The city name component is extracted from WS-ADDRESS and assigned to WS-CITY-NAME, then moved to GCCS-N401-CITY-NAME
R-GCCCCADD-cbl-02989 Extract State/Province Code from Address
Process Rules
📊 Business Logic Narrative
When the process 'Extract State/Province Code from Address' is invoked, and assuming that an address string has been loaded into ws-address for parsing, when the system extracts address components for customs documentation, the desired outcome is that the state/province code component is extracted from ws-address and assigned to ws-state-prov-code, then moved to gccs-n402-state-prov-cde.
💻 Technical Criteria
Given An address string has been loaded into WS-ADDRESS for parsing
When The system extracts address components for customs documentation
Then The state/province code component is extracted from WS-ADDRESS and assigned to WS-STATE-PROV-CODE, then moved to GCCS-N402-STATE-PROV-CDE
R-GCCCCADD-cbl-02990 Extract Postal Code from Address
Process Rules
📊 Business Logic Narrative
When the process 'Extract Postal Code from Address' is invoked, and assuming that an address string has been loaded into ws-address for parsing, when the system extracts address components for customs documentation, the desired outcome is that the postal code component is extracted from ws-address and assigned to ws-postal-code, then moved to gccs-n403-postal-cde.
💻 Technical Criteria
Given An address string has been loaded into WS-ADDRESS for parsing
When The system extracts address components for customs documentation
Then The postal code component is extracted from WS-ADDRESS and assigned to WS-POSTAL-CODE, then moved to GCCS-N403-POSTAL-CDE
R-GCCCCADD-cbl-02991 Move Parsed Components to Output Fields
Decision Rules
📊 Business Logic Narrative
When the process 'Move Parsed Components to Output Fields' is invoked, and assuming that a state/province code has been extracted from an address string, when the system needs to determine the corresponding country for customs purposes, the desired outcome is that the system searches the tb-state-country table using the state/province code as key and assigns the matching country code to ws-country, then moves it to gccs-n404-country-cde.
💻 Technical Criteria
Given A state/province code has been extracted from an address string
When The system needs to determine the corresponding country for customs purposes
Then The system searches the TB-STATE-COUNTRY table using the state/province code as key and assigns the matching country code to WS-COUNTRY, then moves it to GCCS-N404-COUNTRY-CDE
R-GCCCCADD-cbl-02992 Move Address String to WS-ADDRESS
Process Rules
📊 Business Logic Narrative
When the process 'Move Address String to WS-ADDRESS' is invoked, and assuming that a consignee address is stored in cons-data(4) as a concatenated string containing city, state/province, and postal code, when the system processes consignee address information for customs record creation, the desired outcome is that the concatenated address string is moved to ws-address for parsing into individual components.
💻 Technical Criteria
Given A consignee address is stored in CONS-DATA(4) as a concatenated string containing city, state/province, and postal code
When The system processes consignee address information for customs record creation
Then The concatenated address string is moved to WS-ADDRESS for parsing into individual components
R-GCCCCADD-cbl-02164 Build C1 - Carrier Entity
Process Rules
📊 Business Logic Narrative
When the process 'Build C1 - Carrier Entity' is invoked, and assuming that transportation data exists in either edi or fastway system, when building c1 entity record and c1 entity is found in edi transportation data, the desired outcome is that extract c1 organization id, name, and address information from edi transportation segments.
💻 Technical Criteria
Given Transportation data exists in either EDI or FastWay system
When Building C1 entity record and C1 entity is found in EDI transportation data
Then Extract C1 organization ID, name, and address information from EDI transportation segments
R-GCCCCADD-cbl-02165 Use Fastway Carrier Data
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Fastway Carrier Data', assuming that c1 entity is not found in edi transportation data and fastway system contains carrier data, when building c1 entity record and consignee data code equals 'c', the desired outcome is that extract carrier information from fastway consignee data and build c1 entity record with name and address.
💻 Technical Criteria
EXCLUDING C1 entity is not found in EDI transportation data and FastWay system contains carrier data
When Building C1 entity record and consignee data code equals 'C'
Then Extract carrier information from FastWay consignee data and build C1 entity record with name and address
R-GCCCCADD-cbl-02176 Backup Original Importer Data
Process Rules
📊 Business Logic Narrative
When the process 'Backup Original Importer Data' is invoked, and assuming that a corrector edi transaction is being processed and the temporary importer name contains data from previous processing, when the system detects existing importer data in temporary variables, the desired outcome is that the system backs up all original importer details including name, business number, qualifier, address, city, province, postal code, country, and contact information to temporary storage variables.
💻 Technical Criteria
Given A corrector EDI transaction is being processed AND the temporary importer name contains data from previous processing
When The system detects existing importer data in temporary variables
Then The system backs up all original importer details including name, business number, qualifier, address, city, province, postal code, country, and contact information to temporary storage variables
R-GCCCCADD-cbl-02178 Process EDI BOL Importer Data
Process Rules
📊 Business Logic Narrative
When the process 'Process EDI BOL Importer Data' is invoked, and assuming that edi bol contains an importer segment with entity id 'im', when the system processes the importer segment data, the desired outcome is that the system extracts importer name, sets it as the customs importer, extracts business number qualifier and business number, sets importer found flag to true, and creates customs record with all importer details including address and contact information.
💻 Technical Criteria
Given EDI BOL contains an importer segment with entity ID 'IM'
When The system processes the importer segment data
Then The system extracts importer name, sets it as the customs importer, extracts business number qualifier and business number, sets importer found flag to true, and creates customs record with all importer details including address and contact information
R-GCCCCADD-cbl-02179 AU Table has Importer Data?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'AU Table has Importer Data?', assuming that edi bol does not contain importer segment data and au table lookup is performed using consignee chop and commodity code, when the system queries the au table for matching importer records, the desired outcome is that the system determines if au table contains valid importer data and sets the au importer found flag accordingly.
💻 Technical Criteria
EXCLUDING EDI BOL does not contain importer segment data AND AU table lookup is performed using consignee chop and commodity code
When The system queries the AU table for matching importer records
Then The system determines if AU table contains valid importer data and sets the AU importer found flag accordingly
R-GCCCCADD-cbl-02180 Use AU Table Importer Data
Process Rules
📊 Business Logic Narrative
When the process 'Use AU Table Importer Data' is invoked, and assuming that au table contains valid importer data for the consignee and commodity combination, when the system processes au table importer information, the desired outcome is that the system sets importer name from au table, sets business number from au table, sets business number qualifier to 'm5', sets csa indicator to on, and marks au importer as found.
💻 Technical Criteria
Given AU table contains valid importer data for the consignee and commodity combination
When The system processes AU table importer information
Then The system sets importer name from AU table, sets business number from AU table, sets business number qualifier to 'M5', sets CSA indicator to ON, and marks AU importer as found
R-GCCCCADD-cbl-02181 Corrector EDI Deletes Importer?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Corrector EDI Deletes Importer?', assuming that a corrector edi transaction is being processed and backed up importer data exists in temporary variables and current processing has not found importer data in edi bol, when the system evaluates whether to restore backed up importer data, the desired outcome is that if backed up importer data exists and current processing found no importer data, the system restores the backed up importer information; otherwise it clears the importer data.
💻 Technical Criteria
EXCLUDING A corrector EDI transaction is being processed AND backed up importer data exists in temporary variables AND current processing has not found importer data in EDI BOL
When The system evaluates whether to restore backed up importer data
Then If backed up importer data exists and current processing found no importer data, the system restores the backed up importer information; otherwise it clears the importer data
R-GCCCCADD-cbl-02182 Restore Backed Up Importer Data
Process Rules
📊 Business Logic Narrative
When the process 'Restore Backed Up Importer Data' is invoked, and assuming that corrector edi has deleted importer data and backed up importer data exists in temporary variables, when the system restores importer information, the desired outcome is that the system restores all backed up importer details including chop code, entity id, name, business number qualifier, business number, csa indicator, address lines, city, province, postal code, country, and contact information from temporary storage.
💻 Technical Criteria
Given Corrector EDI has deleted importer data AND backed up importer data exists in temporary variables
When The system restores importer information
Then The system restores all backed up importer details including chop code, entity ID, name, business number qualifier, business number, CSA indicator, address lines, city, province, postal code, country, and contact information from temporary storage
R-GCCCCADD-cbl-02183 Both AU and EDI Importer Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Both AU and EDI Importer Found?' is invoked, and assuming that both au table importer data and edi bol importer data have been found and processed, when the system evaluates csa indicator settings for dual importer sources, the desired outcome is that if edi business number qualifier is 'bn' or spaces, the system turns off csa indicator to prevent conflicts; otherwise csa indicator remains as set by the respective data source.
💻 Technical Criteria
Given Both AU table importer data and EDI BOL importer data have been found AND processed
When The system evaluates CSA indicator settings for dual importer sources
Then If EDI business number qualifier is 'BN' or spaces, the system turns off CSA indicator to prevent conflicts; otherwise CSA indicator remains as set by the respective data source
R-GCCCCADD-cbl-02184 Create Final Importer Record
Process Rules
📊 Business Logic Narrative
When the process 'Create Final Importer Record' is invoked, and assuming that all importer data processing is complete including edi bol processing, au table lookup, and corrector edi handling, when the system creates the final importer record, the desired outcome is that the system validates all importer segment data, creates customs record type 55 with entity id 'im', includes all importer details, and prepares the record for insertion into customs database.
💻 Technical Criteria
Given All importer data processing is complete including EDI BOL processing, AU table lookup, and corrector EDI handling
When The system creates the final importer record
Then The system validates all importer segment data, creates customs record type 55 with entity ID 'IM', includes all importer details, and prepares the record for insertion into customs database
R-GCCCCADD-cbl-00883 Check for Existing Importer Data from Corrector EDI
Decision Rules
📊 Business Logic Narrative
When the process 'Check for Existing Importer Data from Corrector EDI' is invoked, and assuming that a customs manifest processing request is initiated, when the system checks for existing importer data from corrector edi transactions, the desired outcome is that the system identifies whether backup importer data exists and sets the appropriate processing flag.
💻 Technical Criteria
Given A customs manifest processing request is initiated
When The system checks for existing importer data from corrector EDI transactions
Then The system identifies whether backup importer data exists and sets the appropriate processing flag
R-GCCCCADD-cbl-00884 Backup Original Importer Data
Process Rules
📊 Business Logic Narrative
When the process 'Backup Original Importer Data' is invoked, and assuming that existing importer data is found from corrector edi and importer name exists in temporary storage, when the system processes importer segment building, the desired outcome is that the system backs up all importer details including name, business number qualifier, business number, csa indicator, address, city, province, postal code, country, and contact information.
💻 Technical Criteria
Given Existing importer data is found from corrector EDI and importer name exists in temporary storage
When The system processes importer segment building
Then The system backs up all importer details including name, business number qualifier, business number, CSA indicator, address, city, province, postal code, country, and contact information
R-GCCCCADD-cbl-00886 Process New Importer N1 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Process New Importer N1 Segment' is invoked, and assuming that importer n1 segment is found in edi bol and no corrector edi backup data exists, when the system processes the importer n1 segment with entity id code equal to 'im', the desired outcome is that the system extracts importer name to customs importer field, moves id code qualifier to business number qualifier, moves id code to business number, and sets importer found flag to true.
💻 Technical Criteria
Given Importer N1 segment is found in EDI BOL and no corrector EDI backup data exists
When The system processes the importer N1 segment with entity ID code equal to 'IM'
Then The system extracts importer name to customs importer field, moves ID code qualifier to business number qualifier, moves ID code to business number, and sets importer found flag to true
R-GCCCCADD-cbl-00887 Set CSA Indicator Management
Policy Rules
📊 Business Logic Narrative
When the process 'Set CSA Indicator Management' is invoked, and assuming that importer data is found from au table and importer segment is found and business number qualifier is 'bn' or spaces, when the system processes csa indicator management, the desired outcome is that the system turns off the csa indicator.
💻 Technical Criteria
Given Importer data is found from AU table and importer segment is found and business number qualifier is 'BN' or spaces
When The system processes CSA indicator management
Then The system turns off the CSA indicator
R-GCCCCADD-cbl-00889 Set Default 'NA' if Address Missing
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Default 'NA' if Address Missing', assuming that importer n3 segment is not found in edi bol, when the system processes address information, the desired outcome is that the system clears n3 data fields and sets address line 1 to 'na'.
💻 Technical Criteria
EXCLUDING Importer N3 segment is not found in EDI BOL
When The system processes address information
Then The system clears N3 data fields and sets address line 1 to 'NA'
R-GCCCCADD-cbl-00890 Process City, State, Postal, Country
Process Rules
📊 Business Logic Narrative
When the process 'Process City, State, Postal, Country' is invoked, and assuming that importer n4 segment data is available from edi bol, when the system processes city and state information, the desired outcome is that the system copies city name, state/province code, postal code, and country code from the n4 segment.
💻 Technical Criteria
Given Importer N4 segment data is available from EDI BOL
When The system processes city and state information
Then The system copies city name, state/province code, postal code, and country code from the N4 segment
R-GCCCCADD-cbl-00891 Process City, State, Postal, Country
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Process City, State, Postal, Country', assuming that importer n4 segment is not found in edi bol, when the system processes city and state information, the desired outcome is that the system clears all n4 data fields including city, state, postal code, and country.
💻 Technical Criteria
EXCLUDING Importer N4 segment is not found in EDI BOL
When The system processes city and state information
Then The system clears all N4 data fields including city, state, postal code, and country
R-GCCCCADD-cbl-00892 Clear Contact Information
Process Rules
📊 Business Logic Narrative
When the process 'Clear Contact Information' is invoked, and assuming that importer segment processing is in progress, when the system processes contact information, the desired outcome is that the system clears all contact data fields including contact function code, name, communication number qualifier, and communication number.
💻 Technical Criteria
Given Importer segment processing is in progress
When The system processes contact information
Then The system clears all contact data fields including contact function code, name, communication number qualifier, and communication number
R-GCCCCADD-cbl-00893 Restore Backed Up Importer Data
Process Rules
📊 Business Logic Narrative
When the process 'Restore Backed Up Importer Data' is invoked, and assuming that corrector edi backup data exists and importer segment is found, when the system processes importer data restoration, the desired outcome is that the system restores all backed up importer details including consignee chop code, entity id code, importer name, business number qualifier, business number, csa indicator, address lines, city, province, postal code, country, and contact information, and sets importer found flag to true.
💻 Technical Criteria
Given Corrector EDI backup data exists and importer segment is found
When The system processes importer data restoration
Then The system restores all backed up importer details including consignee chop code, entity ID code, importer name, business number qualifier, business number, CSA indicator, address lines, city, province, postal code, country, and contact information, and sets importer found flag to true
R-GCCCCADD-cbl-00894 Handle Importer Data Deletion
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Handle Importer Data Deletion', assuming that importer n1 segment is not found in edi bol and backup importer name exists and importer segment is not found, when the system handles importer data deletion, the desired outcome is that the system restores backed up importer data and manages csa indicator, otherwise clears importer name if no importer segment found.
💻 Technical Criteria
EXCLUDING Importer N1 segment is not found in EDI BOL and backup importer name exists and importer segment is not found
When The system handles importer data deletion
Then The system restores backed up importer data and manages CSA indicator, otherwise clears importer name if no importer segment found
R-GCCCCADD-cbl-00895 Clear Importer Fields
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Clear Importer Fields', assuming that no valid importer data is found and importer segment is not found, when the system processes importer field clearing, the desired outcome is that the system clears the importer name field and entity id code.
💻 Technical Criteria
EXCLUDING No valid importer data is found and importer segment is not found
When The system processes importer field clearing
Then The system clears the importer name field and entity ID code
R-GCCCCADD-cbl-02185 Get Importer N1 Segment from EDI BOL
Action Rules
📊 Business Logic Narrative
When the process 'Get Importer N1 Segment from EDI BOL' is invoked, and assuming that an edi bol key exists for the shipment, when the system searches for importer n1 segment data in the edi bol, the desired outcome is that the system retrieves the importer entity information if available.
💻 Technical Criteria
Given An EDI BOL key exists for the shipment
When The system searches for importer N1 segment data in the EDI BOL
Then The system retrieves the importer entity information if available
R-GCCCCADD-cbl-02186 Is Corrector EDI with Backup Data?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Corrector EDI with Backup Data?' is invoked, and assuming that importer data is found in edi bol and backup importer data exists from previous processing, when the system evaluates if this is a corrector edi transaction with existing backup data, the desired outcome is that the system chooses to restore backup data if corrector edi with backup exists, otherwise processes new importer data.
💻 Technical Criteria
Given Importer data is found in EDI BOL and backup importer data exists from previous processing
When The system evaluates if this is a corrector EDI transaction with existing backup data
Then The system chooses to restore backup data if corrector EDI with backup exists, otherwise processes new importer data
R-GCCCCADD-cbl-02187 Restore Backup Importer Data
Process Rules
📊 Business Logic Narrative
When the process 'Restore Backup Importer Data' is invoked, and assuming that a corrector edi transaction is being processed and backup importer data exists, when the system needs to preserve original importer information, the desired outcome is that the system restores all backup importer data including name, business number, qualifier, address, city, state, postal code, country, and contact information.
💻 Technical Criteria
Given A corrector EDI transaction is being processed and backup importer data exists
When The system needs to preserve original importer information
Then The system restores all backup importer data including name, business number, qualifier, address, city, state, postal code, country, and contact information
R-GCCCCADD-cbl-02188 Extract Importer Business Information
Process Rules
📊 Business Logic Narrative
When the process 'Extract Importer Business Information' is invoked, and assuming that valid importer n1 segment data is available from edi bol, when the system processes the importer entity information, the desired outcome is that the system assigns importer name to customs importer field, business number qualifier to customs business number qualifier field, and business number to customs business number field.
💻 Technical Criteria
Given Valid importer N1 segment data is available from EDI BOL
When The system processes the importer entity information
Then The system assigns importer name to customs importer field, business number qualifier to customs business number qualifier field, and business number to customs business number field
R-GCCCCADD-cbl-02191 Process City/State/Postal Information
Process Rules
📊 Business Logic Narrative
When the process 'Process City/State/Postal Information' is invoked, and assuming that importer n4 city/state segment data is available from edi bol, when the system processes the geographic information, the desired outcome is that the system assigns city name, state/province code, postal code, and country code to customs manifest fields.
💻 Technical Criteria
Given Importer N4 city/state segment data is available from EDI BOL
When The system processes the geographic information
Then The system assigns city name, state/province code, postal code, and country code to customs manifest fields
R-GCCCCADD-cbl-02192 Reset CSA Indicator if AU and EDI Both Found
Policy Rules
📊 Business Logic Narrative
When the process 'Reset CSA Indicator if AU and EDI Both Found' is invoked, and assuming that importer data exists in au table and edi bol importer data is found and processed, when the business number qualifier is 'bn' or spaces, the desired outcome is that the system turns off the csa indicator.
💻 Technical Criteria
Given Importer data exists in AU table and EDI BOL importer data is found and processed
When The business number qualifier is 'BN' or spaces
Then The system turns off the CSA indicator
R-GCCCCADD-cbl-02193 Corrector EDI Deleting Importer?
Decision Rules
📊 Business Logic Narrative
When the process 'Corrector EDI Deleting Importer?' is invoked, and assuming that no importer data is found in the current edi bol transaction, when the system evaluates if this represents an importer deletion in a corrector edi, the desired outcome is that the system checks for backup data to restore or clears importer information if no backup exists.
💻 Technical Criteria
Given No importer data is found in the current EDI BOL transaction
When The system evaluates if this represents an importer deletion in a corrector EDI
Then The system checks for backup data to restore or clears importer information if no backup exists
R-GCCCCADD-cbl-02194 Restore Backup and Mark as Found
Process Rules
📊 Business Logic Narrative
When the process 'Restore Backup and Mark as Found' is invoked, and assuming that no importer data found in current edi bol but backup importer data exists, when the system processes a corrector edi transaction, the desired outcome is that the system restores the backup importer data and marks importer as found.
💻 Technical Criteria
Given No importer data found in current EDI BOL but backup importer data exists
When The system processes a corrector EDI transaction
Then The system restores the backup importer data and marks importer as found
R-GCCCCADD-cbl-02195 Clear Importer Information
Process Rules
📊 Business Logic Narrative
When the process 'Clear Importer Information' is invoked, and assuming that no importer data is found in edi bol and no backup importer data exists, when the system processes the importer information, the desired outcome is that the system clears the importer field from customs manifest.
💻 Technical Criteria
Given No importer data is found in EDI BOL and no backup importer data exists
When The system processes the importer information
Then The system clears the importer field from customs manifest
R-GCCCCADD-cbl-02558 Backup Original Importer Data to Temporary Variables
Process Rules
📊 Business Logic Narrative
When the process 'Backup Original Importer Data to Temporary Variables' is invoked, and assuming that corrector edi processing is identified with existing importer data, when the system needs to preserve original importer information, the desired outcome is that all importer details including chop code, name, qualifier, business number, csa indicator, address, city, province, postal code, country, and contact information are copied to temporary storage variables.
💻 Technical Criteria
Given Corrector EDI processing is identified with existing importer data
When The system needs to preserve original importer information
Then All importer details including CHOP code, name, qualifier, business number, CSA indicator, address, city, province, postal code, country, and contact information are copied to temporary storage variables
R-GCCCCADD-cbl-02560 Extract and Store Original Importer Information
Process Rules
📊 Business Logic Narrative
When the process 'Extract and Store Original Importer Information' is invoked, and assuming that an importer record is found in the database with entity id 'im', when the system processes the retrieved importer record, the desired outcome is that all importer attributes including chop code, name, business number qualifier, business number, csa indicator, address lines, city, province, postal code, country, and contact details are extracted and stored in temporary variables, and the importer found flag is set.
💻 Technical Criteria
Given An importer record is found in the database with entity ID 'IM'
When The system processes the retrieved importer record
Then All importer attributes including CHOP code, name, business number qualifier, business number, CSA indicator, address lines, city, province, postal code, country, and contact details are extracted and stored in temporary variables, and the importer found flag is set
R-GCCCCADD-cbl-02561 Clear Current Importer Data Fields
Process Rules
📊 Business Logic Narrative
When the process 'Clear Current Importer Data Fields' is invoked, and assuming that original importer data has been backed up, when the system prepares to process new importer information, the desired outcome is that the current importer, business number, and business number qualifier fields are cleared to spaces.
💻 Technical Criteria
Given Original importer data has been backed up
When The system prepares to process new importer information
Then The current importer, business number, and business number qualifier fields are cleared to spaces
R-GCCCCADD-cbl-02562 Process New Importer Data from EDI BOL
Action Rules
📊 Business Logic Narrative
When the process 'Process New Importer Data from EDI BOL' is invoked, and assuming that the system needs to process importer data from edi sources, when edi bol importer segment is accessed using the edi bol key, the desired outcome is that if the edi segment is found and contains entity id 'im', the importer data is processed, otherwise the system prepares to use backup data.
💻 Technical Criteria
Given The system needs to process importer data from EDI sources
When EDI BOL importer segment is accessed using the EDI BOL key
Then If the EDI segment is found and contains entity ID 'IM', the importer data is processed, otherwise the system prepares to use backup data
R-GCCCCADD-cbl-02563 Create Importer Record from EDI Data
Process Rules
📊 Business Logic Narrative
When the process 'Create Importer Record from EDI Data' is invoked, and assuming that valid importer data is available from edi bol with entity id 'im', when the system creates the importer customs record, the desired outcome is that the importer name is stored in customs database, business number qualifier and business number are captured, importer found flag is set, and csa indicator status is determined based on business number qualifier.
💻 Technical Criteria
Given Valid importer data is available from EDI BOL with entity ID 'IM'
When The system creates the importer customs record
Then The importer name is stored in customs database, business number qualifier and business number are captured, importer found flag is set, and CSA indicator status is determined based on business number qualifier
R-GCCCCADD-cbl-02564 Restore Original Importer Data from Backup Variables
Process Rules
📊 Business Logic Narrative
When the process 'Restore Original Importer Data from Backup Variables' is invoked, and assuming that no new importer data is available from edi bol and backup data exists in temporary variables, when the system needs to restore original importer information, the desired outcome is that all importer details including chop code, entity id, name, business qualifiers, csa indicator, address, city, province, postal code, country, and contact information are restored from temporary variables to the customs record.
💻 Technical Criteria
Given No new importer data is available from EDI BOL and backup data exists in temporary variables
When The system needs to restore original importer information
Then All importer details including CHOP code, entity ID, name, business qualifiers, CSA indicator, address, city, province, postal code, country, and contact information are restored from temporary variables to the customs record
R-GCCCCADD-cbl-02565 Set Importer Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Importer Found Flag' is invoked, and assuming that importer data has been restored from backup variables, when the system completes the importer data restoration process, the desired outcome is that the importer found flag is set to indicate successful importer data processing.
💻 Technical Criteria
Given Importer data has been restored from backup variables
When The system completes the importer data restoration process
Then The importer found flag is set to indicate successful importer data processing
R-GCCCCADD-cbl-02566 Validate Business Number and Qualifier
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Business Number and Qualifier' is invoked, and assuming that importer data has been processed from either edi or backup sources, when the system validates the business number and qualifier combination, the desired outcome is that if both au table importer and record 55 importer are found and business number qualifier is 'bn' or spaces, the csa indicator is turned off.
💻 Technical Criteria
Given Importer data has been processed from either EDI or backup sources
When The system validates the business number and qualifier combination
Then If both AU table importer and record 55 importer are found and business number qualifier is 'BN' or spaces, the CSA indicator is turned off
R-GCCCCADD-cbl-02567 Update CSA Indicator Based on Data Source
Policy Rules
📊 Business Logic Narrative
When the process 'Update CSA Indicator Based on Data Source' is invoked, and assuming that importer data has been validated and processed, when the system determines the appropriate csa indicator status, the desired outcome is that the csa indicator is set based on business rules considering the data source, business number qualifier, and existing importer records.
💻 Technical Criteria
Given Importer data has been validated and processed
When The system determines the appropriate CSA indicator status
Then The CSA indicator is set based on business rules considering the data source, business number qualifier, and existing importer records
R-GCCCCADD-cbl-02781 Check if Corrector EDI has Importer Data?
Decision Rules
📊 Business Logic Narrative
When the process 'Check if Corrector EDI has Importer Data?' is invoked, and assuming that a corrector edi transaction is being processed, when the system checks for importer data presence in the edi, the desired outcome is that if importer, business number, and business number qualifier are all present, proceed to search existing records, otherwise continue with normal processing.
💻 Technical Criteria
Given A corrector EDI transaction is being processed
When The system checks for importer data presence in the EDI
Then If importer, business number, and business number qualifier are all present, proceed to search existing records, otherwise continue with normal processing
R-GCCCCADD-cbl-02783 Found Existing Importer in Record 55?
Validation Rules
📊 Business Logic Narrative
When the process 'Found Existing Importer in Record 55?' is invoked, and assuming that a customs record type 55 has been retrieved during the search, when the system checks the entity id code in the record, the desired outcome is that if the entity id code equals 'im', mark as importer found and proceed to backup data, otherwise continue searching.
💻 Technical Criteria
Given A customs record type 55 has been retrieved during the search
When The system checks the entity ID code in the record
Then If the entity ID code equals 'IM', mark as importer found and proceed to backup data, otherwise continue searching
R-GCCCCADD-cbl-02784 Store Importer CHOP
Process Rules
📊 Business Logic Narrative
When the process 'Store Importer CHOP' is invoked, and assuming that an existing importer record has been found in the customs data, when the system needs to backup the original importer information, the desired outcome is that store the chop code from the existing record to temporary storage for potential restoration.
💻 Technical Criteria
Given An existing importer record has been found in the customs data
When The system needs to backup the original importer information
Then Store the CHOP code from the existing record to temporary storage for potential restoration
R-GCCCCADD-cbl-02785 Store Importer Name
Process Rules
📊 Business Logic Narrative
When the process 'Store Importer Name' is invoked, and assuming that an existing importer record has been found in the customs data, when the system needs to backup the original importer information, the desired outcome is that store the importer name from the existing record to temporary storage for potential restoration.
💻 Technical Criteria
Given An existing importer record has been found in the customs data
When The system needs to backup the original importer information
Then Store the importer name from the existing record to temporary storage for potential restoration
R-GCCCCADD-cbl-02786 Store Business Number Qualifier
Process Rules
📊 Business Logic Narrative
When the process 'Store Business Number Qualifier' is invoked, and assuming that an existing importer record has been found in the customs data, when the system needs to backup the original importer information, the desired outcome is that store the business number qualifier from the existing record to temporary storage for potential restoration.
💻 Technical Criteria
Given An existing importer record has been found in the customs data
When The system needs to backup the original importer information
Then Store the business number qualifier from the existing record to temporary storage for potential restoration
R-GCCCCADD-cbl-02787 Store Business Number
Process Rules
📊 Business Logic Narrative
When the process 'Store Business Number' is invoked, and assuming that an existing importer record has been found in the customs data, when the system needs to backup the original importer information, the desired outcome is that store the business number from the existing record to temporary storage for potential restoration.
💻 Technical Criteria
Given An existing importer record has been found in the customs data
When The system needs to backup the original importer information
Then Store the business number from the existing record to temporary storage for potential restoration
R-GCCCCADD-cbl-02788 Store CSA Indicator
Process Rules
📊 Business Logic Narrative
When the process 'Store CSA Indicator' is invoked, and assuming that an existing importer record has been found in the customs data, when the system needs to backup the original importer information, the desired outcome is that store the csa indicator from the existing record to temporary storage for potential restoration.
💻 Technical Criteria
Given An existing importer record has been found in the customs data
When The system needs to backup the original importer information
Then Store the CSA indicator from the existing record to temporary storage for potential restoration
R-GCCCCADD-cbl-02789 Store Address Information
Process Rules
📊 Business Logic Narrative
When the process 'Store Address Information' is invoked, and assuming that an existing importer record has been found in the customs data, when the system needs to backup the original importer information, the desired outcome is that store both address line 1 and address line 2 from the existing record to temporary storage for potential restoration.
💻 Technical Criteria
Given An existing importer record has been found in the customs data
When The system needs to backup the original importer information
Then Store both address line 1 and address line 2 from the existing record to temporary storage for potential restoration
R-GCCCCADD-cbl-02790 Store City/State/Postal
Process Rules
📊 Business Logic Narrative
When the process 'Store City/State/Postal' is invoked, and assuming that an existing importer record has been found in the customs data, when the system needs to backup the original importer information, the desired outcome is that store the city name, state/province code, postal code, and country code from the existing record to temporary storage for potential restoration.
💻 Technical Criteria
Given An existing importer record has been found in the customs data
When The system needs to backup the original importer information
Then Store the city name, state/province code, postal code, and country code from the existing record to temporary storage for potential restoration
R-GCCCCADD-cbl-02791 Store Contact Information
Process Rules
📊 Business Logic Narrative
When the process 'Store Contact Information' is invoked, and assuming that an existing importer record has been found in the customs data, when the system needs to backup the original importer information, the desired outcome is that store the contact function code, person name, communication number qualifier, and communication number from the existing record to temporary storage for potential restoration.
💻 Technical Criteria
Given An existing importer record has been found in the customs data
When The system needs to backup the original importer information
Then Store the contact function code, person name, communication number qualifier, and communication number from the existing record to temporary storage for potential restoration
R-GCCCCADD-cbl-02792 Clear Current Importer Fields
Process Rules
📊 Business Logic Narrative
When the process 'Clear Current Importer Fields' is invoked, and assuming that original importer data has been successfully backed up to temporary storage, when the system needs to clear current importer fields for corrector edi processing, the desired outcome is that set importer, business number, and business number qualifier fields to spaces in the current processing area.
💻 Technical Criteria
Given Original importer data has been successfully backed up to temporary storage
When The system needs to clear current importer fields for corrector EDI processing
Then Set importer, business number, and business number qualifier fields to spaces in the current processing area
R-GCCCCADD-cbl-02793 Corrector EDI Deletes Importer?
Decision Rules
📊 Business Logic Narrative
When the process 'Corrector EDI Deletes Importer?' is invoked, and assuming that corrector edi processing has been completed and original importer data was backed up, when the system checks if the corrector edi has deleted importer information, the desired outcome is that if backed up importer name exists and no new importer data is found in sequence 55, proceed to restore backed up data, otherwise continue normal processing.
💻 Technical Criteria
Given Corrector EDI processing has been completed and original importer data was backed up
When The system checks if the corrector EDI has deleted importer information
Then If backed up importer name exists and no new importer data is found in sequence 55, proceed to restore backed up data, otherwise continue normal processing
R-GCCCCADD-cbl-02794 No Backup Data Available?
Validation Rules
📊 Business Logic Narrative
When the process 'No Backup Data Available?' is invoked, and assuming that corrector edi has deleted importer information and restoration is needed, when the system checks for availability of backed up importer data, the desired outcome is that if backed up importer name is present, proceed with data restoration, otherwise clear importer fields.
💻 Technical Criteria
Given Corrector EDI has deleted importer information and restoration is needed
When The system checks for availability of backed up importer data
Then If backed up importer name is present, proceed with data restoration, otherwise clear importer fields
R-GCCCCADD-cbl-02803 Mark Importer Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Mark Importer Found Flag' is invoked, and assuming that importer data has been successfully restored from backup, when the system completes the restoration process, the desired outcome is that set the importer found flag to indicate that valid importer data is now available for processing.
💻 Technical Criteria
Given Importer data has been successfully restored from backup
When The system completes the restoration process
Then Set the importer found flag to indicate that valid importer data is now available for processing
R-GCCCCADD-cbl-02804 Clear Importer Fields
Process Rules
📊 Business Logic Narrative
When the process 'Clear Importer Fields' is invoked, and assuming that corrector edi has deleted importer information and no backup data is available for restoration, when the system cannot restore importer data from backup, the desired outcome is that clear the importer field in the current processing area and set importer not found flag.
💻 Technical Criteria
Given Corrector EDI has deleted importer information and no backup data is available for restoration
When The system cannot restore importer data from backup
Then Clear the importer field in the current processing area and set importer not found flag
R-GCCCCADD-cbl-02196 Importer Data Exists in Input Parameters?
Validation Rules
📊 Business Logic Narrative
When the process 'Importer Data Exists in Input Parameters?' is invoked, and assuming that a corrector edi transaction is being processed, when the system checks input parameters for importer data, the desired outcome is that if importer name, business number, and business number qualifier are all present, proceed to search existing records, otherwise skip backup processing.
💻 Technical Criteria
Given A corrector EDI transaction is being processed
When The system checks input parameters for importer data
Then If importer name, business number, and business number qualifier are all present, proceed to search existing records, otherwise skip backup processing
R-GCCCCADD-cbl-02197 Search Existing Customs Records
Process Rules
📊 Business Logic Narrative
When the process 'Search Existing Customs Records' is invoked, and assuming that importer data exists in input parameters, when the system searches customs records from sequence 3 to 24 for entity id 'im', the desired outcome is that continue searching until an importer record is found or all sequences are exhausted.
💻 Technical Criteria
Given Importer data exists in input parameters
When The system searches customs records from sequence 3 to 24 for entity ID 'IM'
Then Continue searching until an importer record is found or all sequences are exhausted
R-GCCCCADD-cbl-02198 Found Existing Importer Record?
Decision Rules
📊 Business Logic Narrative
When the process 'Found Existing Importer Record?' is invoked, and assuming that a search has been performed through customs records, when the system evaluates if a record with entity id 'im' was found, the desired outcome is that if found, proceed to backup the data, otherwise end the backup process.
💻 Technical Criteria
Given A search has been performed through customs records
When The system evaluates if a record with entity ID 'IM' was found
Then If found, proceed to backup the data, otherwise end the backup process
R-GCCCCADD-cbl-02199 Backup Original Importer Data
Process Rules
📊 Business Logic Narrative
When the process 'Backup Original Importer Data' is invoked, and assuming that an existing importer record has been found in the customs database, when the system backs up the importer data, the desired outcome is that store all importer details including name, business number, qualifier, address, city, province, postal code, country, and contact information in backup variables.
💻 Technical Criteria
Given An existing importer record has been found in the customs database
When The system backs up the importer data
Then Store all importer details including name, business number, qualifier, address, city, province, postal code, country, and contact information in backup variables
R-GCCCCADD-cbl-02201 Set Backup Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Backup Found Flag' is invoked, and assuming that importer data has been stored in backup variables, when the backup process completes successfully, the desired outcome is that set the temporary importer found flag to true.
💻 Technical Criteria
Given Importer data has been stored in backup variables
When The backup process completes successfully
Then Set the temporary importer found flag to true
R-GCCCCADD-cbl-02202 Clear Input Importer Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Clear Input Importer Parameters' is invoked, and assuming that original importer data has been backed up successfully, when the system clears input parameters, the desired outcome is that set importer name, business number, and business number qualifier to spaces in the input structure.
💻 Technical Criteria
Given Original importer data has been backed up successfully
When The system clears input parameters
Then Set importer name, business number, and business number qualifier to spaces in the input structure
R-GCCCCADD-cbl-02203 Corrector EDI Deletes Importer Data?
Decision Rules
📊 Business Logic Narrative
When the process 'Corrector EDI Deletes Importer Data?' is invoked, and assuming that a corrector edi transaction has been processed and backup data exists, when the system checks if importer data was deleted by the corrector, the desired outcome is that if backup data exists and no new importer data was found in edi, restore the original data, otherwise process new importer data.
💻 Technical Criteria
Given A corrector EDI transaction has been processed and backup data exists
When The system checks if importer data was deleted by the corrector
Then If backup data exists and no new importer data was found in EDI, restore the original data, otherwise process new importer data
R-GCCCCADD-cbl-02205 Rebuild Importer Record from Backup
Process Rules
📊 Business Logic Narrative
When the process 'Rebuild Importer Record from Backup' is invoked, and assuming that original importer data needs to be restored, when the system rebuilds the importer record, the desired outcome is that create a complete importer record with entity id 'im', restore name, business number, qualifier, all address fields, and contact information from backup variables.
💻 Technical Criteria
Given Original importer data needs to be restored
When The system rebuilds the importer record
Then Create a complete importer record with entity ID 'IM', restore name, business number, qualifier, all address fields, and contact information from backup variables
R-GCCCCADD-cbl-00896 Check if Corrector EDI has Importer Data
Decision Rules
📊 Business Logic Narrative
When the process 'Check if Corrector EDI has Importer Data' is invoked, and assuming that a corrector edi transaction is being processed, when the system checks for importer entity data in the edi bol segments, the desired outcome is that the system determines if importer data exists and proceeds with appropriate processing path.
💻 Technical Criteria
Given A corrector EDI transaction is being processed
When The system checks for importer entity data in the EDI BOL segments
Then The system determines if importer data exists and proceeds with appropriate processing path
R-GCCCCADD-cbl-00897 Backup Original Importer Data to Temporary Variables
Process Rules
📊 Business Logic Narrative
When the process 'Backup Original Importer Data to Temporary Variables' is invoked, and assuming that corrector edi contains importer data and existing importer data is found in temporary variables, when the system processes the corrector edi importer information, the desired outcome is that the system retains the original importer data from backup variables including name, business number, qualifier, csa indicator, address, city, province, postal code, country, and contact information.
💻 Technical Criteria
Given Corrector EDI contains importer data AND existing importer data is found in temporary variables
When The system processes the corrector EDI importer information
Then The system retains the original importer data from backup variables including name, business number, qualifier, CSA indicator, address, city, province, postal code, country, and contact information
R-GCCCCADD-cbl-00898 Search Existing Records for Importer Entity 'IM'
Action Rules
📊 Business Logic Narrative
When the process 'Search Existing Records for Importer Entity 'IM'' is invoked, and assuming that corrector edi processing is initiated, when the system searches for existing importer records with entity id 'im' in sequences 3 through 24, the desired outcome is that the system identifies if an existing importer record is found and sets the appropriate processing flag.
💻 Technical Criteria
Given Corrector EDI processing is initiated
When The system searches for existing importer records with entity ID 'IM' in sequences 3 through 24
Then The system identifies if an existing importer record is found and sets the appropriate processing flag
R-GCCCCADD-cbl-00899 Process New Importer Data from EDI BOL N1 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Process New Importer Data from EDI BOL N1 Segment' is invoked, and assuming that corrector edi contains importer n1 segment data and no existing importer record is found, when the system processes the edi bol n1 segment for importer entity, the desired outcome is that the system extracts importer name, business number qualifier, business number, and sets the importer found flag.
💻 Technical Criteria
Given Corrector EDI contains importer N1 segment data AND no existing importer record is found
When The system processes the EDI BOL N1 segment for importer entity
Then The system extracts importer name, business number qualifier, business number, and sets the importer found flag
R-GCCCCADD-cbl-00900 Set Importer Information in Customs Record
Process Rules
📊 Business Logic Narrative
When the process 'Set Importer Information in Customs Record' is invoked, and assuming that importer data is available from corrector edi n1 segment, when the system processes the importer information, the desired outcome is that the system updates the customs record with importer name in both gccc-importer and gccs-n102-name fields, and sets the importer found flag.
💻 Technical Criteria
Given Importer data is available from corrector EDI N1 segment
When The system processes the importer information
Then The system updates the customs record with importer name in both GCCC-IMPORTER and GCCS-N102-NAME fields, and sets the importer found flag
R-GCCCCADD-cbl-00901 Update Business Number and Qualifier
Process Rules
📊 Business Logic Narrative
When the process 'Update Business Number and Qualifier' is invoked, and assuming that importer n1 segment contains business number qualifier and business number, when the system processes the importer business identification, the desired outcome is that the system updates both customs record fields (gccc-business-nbr-qual, gccc-business-nbr) and n1 segment fields (gccs-n103-id-cde-qual, gccs-n104-id-cde) with the business number qualifier and business number.
💻 Technical Criteria
Given Importer N1 segment contains business number qualifier and business number
When The system processes the importer business identification
Then The system updates both customs record fields (GCCC-BUSINESS-NBR-QUAL, GCCC-BUSINESS-NBR) and N1 segment fields (GCCS-N103-ID-CDE-QUAL, GCCS-N104-ID-CDE) with the business number qualifier and business number
R-GCCCCADD-cbl-00903 Process Importer City/State from N4 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Process Importer City/State from N4 Segment' is invoked, and assuming that corrector edi contains importer n4 city/state segment data, when the system processes the n4 segment for importer location, the desired outcome is that the system updates the customs record with city name, state/province code, postal code, and country code from the n4 segment.
💻 Technical Criteria
Given Corrector EDI contains importer N4 city/state segment data
When The system processes the N4 segment for importer location
Then The system updates the customs record with city name, state/province code, postal code, and country code from the N4 segment
R-GCCCCADD-cbl-00904 Clear Contact Information PER Segment Data
Process Rules
📊 Business Logic Narrative
When the process 'Clear Contact Information PER Segment Data' is invoked, and assuming that importer record is being processed from corrector edi, when the system handles contact information for the importer, the desired outcome is that the system clears all per segment contact fields (contact function code, name, communication number qualifier, and communication number).
💻 Technical Criteria
Given Importer record is being processed from corrector EDI
When The system handles contact information for the importer
Then The system clears all PER segment contact fields (contact function code, name, communication number qualifier, and communication number)
R-GCCCCADD-cbl-00905 Is this Corrector EDI Deletion Request?
Decision Rules
📊 Business Logic Narrative
When the process 'Is this Corrector EDI Deletion Request?' is invoked, and assuming that corrector edi processing is in progress, when the system evaluates if this is a deletion request based on the absence of importer data in edi segments, the desired outcome is that the system determines the appropriate action path for either deletion or update processing.
💻 Technical Criteria
Given Corrector EDI processing is in progress
When The system evaluates if this is a deletion request based on the absence of importer data in EDI segments
Then The system determines the appropriate action path for either deletion or update processing
R-GCCCCADD-cbl-00906 Restore Original Importer Data from Backup if Available
Process Rules
📊 Business Logic Narrative
When the process 'Restore Original Importer Data from Backup if Available' is invoked, and assuming that corrector edi deletion request is identified and original importer data exists in backup variables and no importer record found in sequence 55, when the system processes the deletion request, the desired outcome is that the system restores the original importer data from backup variables if available, otherwise clears the importer fields.
💻 Technical Criteria
Given Corrector EDI deletion request is identified AND original importer data exists in backup variables AND no importer record found in sequence 55
When The system processes the deletion request
Then The system restores the original importer data from backup variables if available, otherwise clears the importer fields
R-GCCCCADD-cbl-00907 Reset CSA Indicator if Conditions Met
Policy Rules
📊 Business Logic Narrative
When the process 'Reset CSA Indicator if Conditions Met' is invoked, and assuming that importer data is found in au table and importer data is found in sequence 55 and business number qualifier is 'bn' or blank, when the system evaluates csa indicator conditions, the desired outcome is that the system turns off the csa indicator.
💻 Technical Criteria
Given Importer data is found in AU table AND importer data is found in sequence 55 AND business number qualifier is 'BN' or blank
When The system evaluates CSA indicator conditions
Then The system turns off the CSA indicator
R-GCCCCADD-cbl-00908 Validate N1 Segment Data
Validation Rules
📊 Business Logic Narrative
When the process 'Validate N1 Segment Data' is invoked, and assuming that importer n1 segment data has been processed, when the system validates the n1 segment information, the desired outcome is that the system performs comprehensive validation including entity id, name, address, city/state, and contact information requirements.
💻 Technical Criteria
Given Importer N1 segment data has been processed
When The system validates the N1 segment information
Then The system performs comprehensive validation including entity ID, name, address, city/state, and contact information requirements
R-GCCCCADD-cbl-00910 EDI BOL Available?
Decision Rules
📊 Business Logic Narrative
When the process 'EDI BOL Available?' is invoked, and assuming that the system is processing importer address information, when the system checks for edi bol data availability, the desired outcome is that the system should proceed with edi bol processing if available, otherwise use default address processing.
💻 Technical Criteria
Given The system is processing importer address information
When The system checks for EDI BOL data availability
Then The system should proceed with EDI BOL processing if available, otherwise use default address processing
R-GCCCCADD-cbl-00911 Retrieve Importer N3 Segment from EDI BOL
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Importer N3 Segment from EDI BOL' is invoked, and assuming that edi bol data is available for processing, when the system retrieves the importer n3 address segment, the desired outcome is that the system should extract the address segment from the edi bol data source.
💻 Technical Criteria
Given EDI BOL data is available for processing
When The system retrieves the importer N3 address segment
Then The system should extract the address segment from the EDI BOL data source
R-GCCCCADD-cbl-00922 Extract City Name from N4 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract City Name from N4 Segment' is invoked, and assuming that an importer n4 address segment is successfully retrieved from edi bol, when the n4 segment contains city name information, the desired outcome is that the system extracts the city name from the d4-city-name field.
💻 Technical Criteria
Given An importer N4 address segment is successfully retrieved from EDI BOL
When The N4 segment contains city name information
Then The system extracts the city name from the D4-CITY-NAME field
R-GCCCCADD-cbl-00923 Extract State/Province Code from N4 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract State/Province Code from N4 Segment' is invoked, and assuming that an importer n4 address segment is successfully retrieved from edi bol, when the n4 segment contains state or province code information, the desired outcome is that the system extracts the state/province code from the d4-state-prov-code field.
💻 Technical Criteria
Given An importer N4 address segment is successfully retrieved from EDI BOL
When The N4 segment contains state or province code information
Then The system extracts the state/province code from the D4-STATE-PROV-CODE field
R-GCCCCADD-cbl-00924 Extract Postal Code from N4 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Postal Code from N4 Segment' is invoked, and assuming that an importer n4 address segment is successfully retrieved from edi bol, when the n4 segment contains postal code information, the desired outcome is that the system extracts the postal code from the d4-postal-code field.
💻 Technical Criteria
Given An importer N4 address segment is successfully retrieved from EDI BOL
When The N4 segment contains postal code information
Then The system extracts the postal code from the D4-POSTAL-CODE field
R-GCCCCADD-cbl-00925 Extract Country Code from N4 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Country Code from N4 Segment' is invoked, and assuming that an importer n4 address segment is successfully retrieved from edi bol, when the n4 segment contains country code information, the desired outcome is that the system extracts the country code from the d4-country-code field.
💻 Technical Criteria
Given An importer N4 address segment is successfully retrieved from EDI BOL
When The N4 segment contains country code information
Then The system extracts the country code from the D4-COUNTRY-CODE field
R-GCCCCADD-cbl-00926 Move City to Customs Record
Process Rules
📊 Business Logic Narrative
When the process 'Move City to Customs Record' is invoked, and assuming that city name has been extracted from the importer n4 segment, when the system processes the address information for customs record, the desired outcome is that the city name is stored in the gccs-n401-city-name field of the customs record.
💻 Technical Criteria
Given City name has been extracted from the importer N4 segment
When The system processes the address information for customs record
Then The city name is stored in the GCCS-N401-CITY-NAME field of the customs record
R-GCCCCADD-cbl-00927 Move State/Province to Customs Record
Process Rules
📊 Business Logic Narrative
When the process 'Move State/Province to Customs Record' is invoked, and assuming that state or province code has been extracted from the importer n4 segment, when the system processes the address information for customs record, the desired outcome is that the state/province code is stored in the gccs-n402-state-prov-cde field of the customs record.
💻 Technical Criteria
Given State or province code has been extracted from the importer N4 segment
When The system processes the address information for customs record
Then The state/province code is stored in the GCCS-N402-STATE-PROV-CDE field of the customs record
R-GCCCCADD-cbl-00928 Move Postal Code to Customs Record
Process Rules
📊 Business Logic Narrative
When the process 'Move Postal Code to Customs Record' is invoked, and assuming that postal code has been extracted from the importer n4 segment, when the system processes the address information for customs record, the desired outcome is that the postal code is stored in the gccs-n403-postal-cde field of the customs record.
💻 Technical Criteria
Given Postal code has been extracted from the importer N4 segment
When The system processes the address information for customs record
Then The postal code is stored in the GCCS-N403-POSTAL-CDE field of the customs record
R-GCCCCADD-cbl-00929 Move Country Code to Customs Record
Process Rules
📊 Business Logic Narrative
When the process 'Move Country Code to Customs Record' is invoked, and assuming that country code has been extracted from the importer n4 segment, when the system processes the address information for customs record, the desired outcome is that the country code is stored in the gccs-n404-country-cde field of the customs record.
💻 Technical Criteria
Given Country code has been extracted from the importer N4 segment
When The system processes the address information for customs record
Then The country code is stored in the GCCS-N404-COUNTRY-CDE field of the customs record
R-GCCCCADD-cbl-00930 Clear All N4 Data Fields
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Clear All N4 Data Fields', assuming that the system attempts to retrieve importer n4 segment from edi bol, when the n4 segment is not found or retrieval fails, the desired outcome is that the system clears all n4 data fields in the customs record (gcsccs55-n4-data).
💻 Technical Criteria
EXCLUDING The system attempts to retrieve importer N4 segment from EDI BOL
When The N4 segment is not found or retrieval fails
Then The system clears all N4 data fields in the customs record (GCSCCS55-N4-DATA)
R-GCCCCADD-cbl-00932 Extract Contact Function Code
Process Rules
📊 Business Logic Narrative
When the process 'Extract Contact Function Code' is invoked, and assuming that an importer per segment is found in the edi bol, when the system processes the contact information, the desired outcome is that the system extracts the contact function code from the per segment and stores it in the importer record.
💻 Technical Criteria
Given An importer PER segment is found in the EDI BOL
When The system processes the contact information
Then The system extracts the contact function code from the PER segment and stores it in the importer record
R-GCCCCADD-cbl-00933 Extract Contact Person Name
Process Rules
📊 Business Logic Narrative
When the process 'Extract Contact Person Name' is invoked, and assuming that an importer per segment is found in the edi bol, when the system processes the contact information, the desired outcome is that the system extracts the contact person name from the per segment and stores it in the importer record.
💻 Technical Criteria
Given An importer PER segment is found in the EDI BOL
When The system processes the contact information
Then The system extracts the contact person name from the PER segment and stores it in the importer record
R-GCCCCADD-cbl-00934 Extract Communication Number Qualifier
Process Rules
📊 Business Logic Narrative
When the process 'Extract Communication Number Qualifier' is invoked, and assuming that an importer per segment is found in the edi bol, when the system processes the contact information, the desired outcome is that the system extracts the communication number qualifier from the per segment and stores it in the importer record.
💻 Technical Criteria
Given An importer PER segment is found in the EDI BOL
When The system processes the contact information
Then The system extracts the communication number qualifier from the PER segment and stores it in the importer record
R-GCCCCADD-cbl-00935 Extract Communication Number
Process Rules
📊 Business Logic Narrative
When the process 'Extract Communication Number' is invoked, and assuming that an importer per segment is found in the edi bol, when the system processes the contact information, the desired outcome is that the system extracts the communication number from the per segment and stores it in the importer record.
💻 Technical Criteria
Given An importer PER segment is found in the EDI BOL
When The system processes the contact information
Then The system extracts the communication number from the PER segment and stores it in the importer record
R-GCCCCADD-cbl-00936 Clear Contact Information Fields
Process Rules
📊 Business Logic Narrative
When the process 'Clear Contact Information Fields' is invoked, and assuming that no importer per segment is found in the edi bol or no edi bol data is available, when the system processes importer contact information, the desired outcome is that the system clears all contact information fields in the importer record.
💻 Technical Criteria
Given No importer PER segment is found in the EDI BOL or no EDI BOL data is available
When The system processes importer contact information
Then The system clears all contact information fields in the importer record
R-GCCCCADD-cbl-00937 Generate Error: Communication Qualifier Required
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Error: Communication Qualifier Required', assuming that a contact person name is provided in the importer contact information, when the communication qualifier is blank or not provided, the desired outcome is that the system generates an error indicating that communication qualifier is required.
💻 Technical Criteria
EXCLUDING A contact person name is provided in the importer contact information
When The communication qualifier is blank or not provided
Then The system generates an error indicating that communication qualifier is required
R-GCCCCADD-cbl-00940 Check for Existing Importer Data
Process Rules
📊 Business Logic Narrative
When the process 'Check for Existing Importer Data' is invoked, and assuming that a corrector edi transaction is being processed and importer information exists in the original shipment data, when the system searches for importer records in sequence 3 through 24 and finds an entity with id 'im', the desired outcome is that the system should capture and store all existing importer details including chop code, name, business number qualifier, business number, csa indicator, address information, and contact details.
💻 Technical Criteria
Given A corrector EDI transaction is being processed AND importer information exists in the original shipment data
When The system searches for importer records in sequence 3 through 24 AND finds an entity with ID 'IM'
Then The system should capture and store all existing importer details including CHOP code, name, business number qualifier, business number, CSA indicator, address information, and contact details
R-GCCCCADD-cbl-00941 Backup Original Importer Data
Process Rules
📊 Business Logic Narrative
When the process 'Backup Original Importer Data' is invoked, and assuming that original importer data has been found in the shipment records and corrector edi processing is about to begin, when the system identifies importer entity data with all associated fields populated, the desired outcome is that the system should store all importer fields in temporary variables including chop code, name, address lines, city, province/state, postal code, country, contact information, business number, business number qualifier, and csa indicator.
💻 Technical Criteria
Given Original importer data has been found in the shipment records AND corrector EDI processing is about to begin
When The system identifies importer entity data with all associated fields populated
Then The system should store all importer fields in temporary variables including CHOP code, name, address lines, city, province/state, postal code, country, contact information, business number, business number qualifier, and CSA indicator
R-GCCCCADD-cbl-00942 Importer Data Deleted by Corrector?
Decision Rules
📊 Business Logic Narrative
When the process 'Importer Data Deleted by Corrector?' is invoked, and assuming that original importer data exists in backup variables and corrector edi processing has been completed, when the system checks for importer entity records in the corrected edi data and no importer records are found or importer fields are cleared, the desired outcome is that the system should identify this as an importer data deletion scenario requiring restoration of original data.
💻 Technical Criteria
Given Original importer data exists in backup variables AND corrector EDI processing has been completed
When The system checks for importer entity records in the corrected EDI data AND no importer records are found OR importer fields are cleared
Then The system should identify this as an importer data deletion scenario requiring restoration of original data
R-GCCCCADD-cbl-00943 Retain Original Importer Data
Process Rules
📊 Business Logic Narrative
When the process 'Retain Original Importer Data' is invoked, and assuming that corrector edi has deleted importer information and original importer data exists in backup variables, when the system processes the importer data restoration, the desired outcome is that the system should restore all original importer fields from backup variables including chop code as sc301, entity id as 'im', name as n102, business number qualifier as n103, business number as n104, csa indicator, address lines as n301/n302, city as n401, state/province as n402, postal code as n403, country as n404, and contact information as per segments.
💻 Technical Criteria
Given Corrector EDI has deleted importer information AND original importer data exists in backup variables
When The system processes the importer data restoration
Then The system should restore all original importer fields from backup variables including CHOP code as SC301, entity ID as 'IM', name as N102, business number qualifier as N103, business number as N104, CSA indicator, address lines as N301/N302, city as N401, state/province as N402, postal code as N403, country as N404, and contact information as PER segments
R-GCCCCADD-cbl-00958 Set Manifest From Port to 'IIS-A6'
Decision Rules
📊 Business Logic Narrative
When the process 'Set Manifest From Port to 'IIS-A6'' is invoked, and assuming that a shipment is being processed and the action type is iis-a6 or the multi-manifest indicator is 'y', when the manifest from port field is blank (spaces), the desired outcome is that the manifest from port should be set to 'iis-a6'.
💻 Technical Criteria
Given A shipment is being processed AND the action type is IIS-A6 OR the multi-manifest indicator is 'Y'
When The manifest from port field is blank (spaces)
Then The manifest from port should be set to 'IIS-A6'
R-GCCCCADD-cbl-00959 Set Manifest To Port to 'IIS-A6'
Decision Rules
📊 Business Logic Narrative
When the process 'Set Manifest To Port to 'IIS-A6'' is invoked, and assuming that a shipment is being processed and the action type is iis-a6 or the multi-manifest indicator is 'y', when the manifest to port field is blank (spaces), the desired outcome is that the manifest to port should be set to 'iis-a6'.
💻 Technical Criteria
Given A shipment is being processed AND the action type is IIS-A6 OR the multi-manifest indicator is 'Y'
When The manifest to port field is blank (spaces)
Then The manifest to port should be set to 'IIS-A6'
R-GCCCCADD-cbl-00961 Set Initial Search Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Set Initial Search Parameters' is invoked, and assuming that a shipment requires broker information lookup, when the broker lookup process is initiated, the desired outcome is that all search parameters are populated with shipper chop, consignee chop, origin station, destination station with road number, and commodity code.
💻 Technical Criteria
Given A shipment requires broker information lookup
When The broker lookup process is initiated
Then All search parameters are populated with shipper CHOP, consignee CHOP, origin station, destination station with road number, and commodity code
R-GCCCCADD-cbl-00973 Move Broker Name from Crossing Table
Action Rules
📊 Business Logic Narrative
When the process 'Move Broker Name from Crossing Table' is invoked, and assuming that crossing table contains valid broker data and override conditions are satisfied, when broker name assignment is performed, the desired outcome is that the broker name from crossing table is moved to the customs record broker field.
💻 Technical Criteria
Given Crossing table contains valid broker data and override conditions are satisfied
When Broker name assignment is performed
Then The broker name from crossing table is moved to the customs record broker field
R-GCCCCADD-cbl-00975 Override Manifest-To Station Information
Action Rules
📊 Business Logic Narrative
When the process 'Override Manifest-To Station Information' is invoked, and assuming that crossing table contains valid manifest-to station information, when manifest-to station override is performed, the desired outcome is that reset error flags, update manifest-to station name, lookup station in mc table, validate canadian customs code, and update destination station information including station number and call letters.
💻 Technical Criteria
Given Crossing table contains valid manifest-to station information
When Manifest-to station override is performed
Then Reset error flags, update manifest-to station name, lookup station in MC table, validate Canadian customs code, and update destination station information including station number and call letters
R-GCCCCADD-cbl-00979 Lookup MC Table for Manifest-To Port
Action Rules
📊 Business Logic Narrative
When the process 'Lookup MC Table for Manifest-To Port' is invoked, and assuming that a manifest-to station name has been set from crossing table, when the system looks up the manifest port in mc table, the desired outcome is that the system attempts to retrieve mc table data for the specified manifest port.
💻 Technical Criteria
Given A manifest-to station name has been set from crossing table
When The system looks up the manifest port in MC table
Then The system attempts to retrieve MC table data for the specified manifest port
R-GCCCCADD-cbl-00980 MC Table Lookup Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'MC Table Lookup Successful?' is invoked, and assuming that an mc table lookup has been performed for a manifest port, when the system evaluates the lookup result, the desired outcome is that the system determines success or failure based on data retrieval status.
💻 Technical Criteria
Given An MC table lookup has been performed for a manifest port
When The system evaluates the lookup result
Then The system determines success or failure based on data retrieval status
R-GCCCCADD-cbl-00981 Validate Canadian Customs Code
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Canadian Customs Code' is invoked, and assuming that mc table data has been successfully retrieved for a manifest port, when the system validates the canadian customs code, the desired outcome is that the system checks if the customs code is not equal to '00000' which indicates an invalid code.
💻 Technical Criteria
Given MC table data has been successfully retrieved for a manifest port
When The system validates the Canadian customs code
Then The system checks if the customs code is not equal to '00000' which indicates an invalid code
R-GCCCCADD-cbl-00982 Set Manifest-To Station Code
Action Rules
📊 Business Logic Narrative
When the process 'Set Manifest-To Station Code' is invoked, and assuming that a valid canadian customs code has been retrieved from mc table, when the system configures the manifest-to station, the desired outcome is that the manifest-to station code is set to the canadian customs code from mc table.
💻 Technical Criteria
Given A valid Canadian customs code has been retrieved from MC table
When The system configures the manifest-to station
Then The manifest-to station code is set to the Canadian customs code from MC table
R-GCCCCADD-cbl-00983 Set Destination Station Number
Action Rules
📊 Business Logic Narrative
When the process 'Set Destination Station Number' is invoked, and assuming that valid mc table data exists for the manifest-to station, when the system sets destination station configuration, the desired outcome is that the destination station number for index is set to the mc table station number.
💻 Technical Criteria
Given Valid MC table data exists for the manifest-to station
When The system sets destination station configuration
Then The destination station number for index is set to the MC table station number
R-GCCCCADD-cbl-00985 Set Error Flag 2 - Invalid Customs Code
Validation Rules
📊 Business Logic Narrative
When the process 'Set Error Flag 2 - Invalid Customs Code' is invoked, and assuming that mc table lookup was successful but canadian customs code equals '00000', when the system validates the customs code, the desired outcome is that error flag 2 is set to on and the manifest port name is saved for error reporting.
💻 Technical Criteria
Given MC table lookup was successful but Canadian customs code equals '00000'
When The system validates the customs code
Then Error flag 2 is set to ON and the manifest port name is saved for error reporting
R-GCCCCADD-cbl-00986 Set Error Flag 3 - Invalid MC Port
Validation Rules
📊 Business Logic Narrative
When the process 'Set Error Flag 3 - Invalid MC Port' is invoked, and assuming that mc table lookup failed to retrieve data for the manifest-to station, when the system processes the lookup failure, the desired outcome is that error flag 3 is set to on and the manifest port name is saved for error reporting.
💻 Technical Criteria
Given MC table lookup failed to retrieve data for the manifest-to station
When The system processes the lookup failure
Then Error flag 3 is set to ON and the manifest port name is saved for error reporting
R-GCCCCADD-cbl-00992 Lookup State-Country Table
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Lookup State-Country Table', assuming that the origin country is not mexico and state-country lookup is needed, when the state-country table is searched using the origin station state code, the desired outcome is that if a matching state code is found, the corresponding country should be set as the origin country.
💻 Technical Criteria
EXCLUDING The origin country is not Mexico and state-country lookup is needed
When The state-country table is searched using the origin station state code
Then If a matching state code is found, the corresponding country should be set as the origin country
R-GCCCCADD-cbl-00993 Initialize Origin Country to Spaces
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Origin Country to Spaces' is invoked, and assuming that a shipment requires origin country determination, when the mexico origin country handling process begins, the desired outcome is that the origin country field should be initialized to spaces.
💻 Technical Criteria
Given A shipment requires origin country determination
When The Mexico origin country handling process begins
Then The origin country field should be initialized to spaces
R-GCCCCADD-cbl-00997 Exit - Keep Mexico as Origin Country
Decision Rules
📊 Business Logic Narrative
When the process 'Exit - Keep Mexico as Origin Country' is invoked, and assuming that the origin country has been determined from authorized user data, when the origin country is 'mx' (mexico), the desired outcome is that the system should preserve mexico as the origin country and exit the country determination process.
💻 Technical Criteria
Given The origin country has been determined from authorized user data
When The origin country is 'MX' (Mexico)
Then The system should preserve Mexico as the origin country and exit the country determination process
R-GCCCCADD-cbl-00998 Lookup State-Country Table with Origin Station State Code
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Lookup State-Country Table with Origin Station State Code', assuming that the origin country is not mexico and needs to be determined, when the origin station state code is available, the desired outcome is that the system should lookup the state-country table using the origin station state code to determine the origin country.
💻 Technical Criteria
EXCLUDING The origin country is not Mexico and needs to be determined
When The origin station state code is available
Then The system should lookup the state-country table using the origin station state code to determine the origin country
R-GCCCCADD-cbl-01019 Call Date Calculation Utility ISCDTCAL
Action Rules
📊 Business Logic Narrative
When the process 'Call Date Calculation Utility ISCDTCAL' is invoked, and assuming that all date calculation parameters are properly configured, when the system needs to calculate the border arrival eta, the desired outcome is that the iscdtcal utility is called with the configured parameters.
💻 Technical Criteria
Given All date calculation parameters are properly configured
When The system needs to calculate the border arrival ETA
Then The ISCDTCAL utility is called with the configured parameters
R-GCCCCADD-cbl-01021 Set Border Arrival ETA Date
Process Rules
📊 Business Logic Narrative
When the process 'Set Border Arrival ETA Date' is invoked, and assuming that the date calculation utility executed successfully, when the system processes the successful calculation result, the desired outcome is that the calculated new date is assigned as the border arrival eta.
💻 Technical Criteria
Given The date calculation utility executed successfully
When The system processes the successful calculation result
Then The calculated new date is assigned as the border arrival ETA
R-GCCCCADD-cbl-01025 Convert Character to Numeric Format
Computation Rules
📊 Business Logic Narrative
When the process 'Convert Character to Numeric Format' is invoked, and assuming that a shipment record contains an origin station number in character format, when the system processes the origin station data for customs manifest creation, the desired outcome is that the origin station number is converted to numeric format and stored in the customs record origin station number field.
💻 Technical Criteria
Given A shipment record contains an origin station number in character format
When The system processes the origin station data for customs manifest creation
Then The origin station number is converted to numeric format and stored in the customs record origin station number field
R-GCCCCADD-cbl-01026 Convert Character to Numeric Format
Computation Rules
📊 Business Logic Narrative
When the process 'Convert Character to Numeric Format' is invoked, and assuming that a shipment record contains a destination station number in character format, when the system processes the destination station data for customs manifest creation, the desired outcome is that the destination station number is converted to numeric format and stored in the customs record destination station number field.
💻 Technical Criteria
Given A shipment record contains a destination station number in character format
When The system processes the destination station data for customs manifest creation
Then The destination station number is converted to numeric format and stored in the customs record destination station number field
R-GCCCCADD-cbl-01027 Store Numeric Destination Station Number
Computation Rules
📊 Business Logic Narrative
When the process 'Store Numeric Destination Station Number' is invoked, and assuming that a manifest to station has been validated and contains a station number in the mc table lookup result, when the system processes the manifest to station information, the desired outcome is that the station number is converted to numeric format and stored in both the destination station number index and destination station number index station fields.
💻 Technical Criteria
Given A manifest to station has been validated and contains a station number in the MC table lookup result
When The system processes the manifest to station information
Then The station number is converted to numeric format and stored in both the destination station number index and destination station number index station fields
R-GCCCCADD-cbl-01031 Canadian Customs Code = '00000'?
Validation Rules
📊 Business Logic Narrative
When the process 'Canadian Customs Code = '00000'?' is invoked, and assuming that a canadian customs code has been retrieved from the mc table, when the canadian customs code equals '00000', the desired outcome is that the system identifies this as an invalid customs code and clears the mc table data.
💻 Technical Criteria
Given A Canadian customs code has been retrieved from the MC table
When The Canadian customs code equals '00000'
Then The system identifies this as an invalid customs code and clears the MC table data
R-GCCCCADD-cbl-01032 Set Error Message: Invalid Manifest Port Canadian Customs Code
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Error Message: Invalid Manifest Port Canadian Customs Code', assuming that the canadian customs code from mc table equals '00000', when the system detects this invalid customs code, the desired outcome is that the system generates an error message for invalid manifest port canadian customs code and adds it to the message array.
💻 Technical Criteria
EXCLUDING The Canadian customs code from MC table equals '00000'
When The system detects this invalid customs code
Then The system generates an error message for invalid manifest port Canadian customs code and adds it to the message array
R-GCCCCADD-cbl-01034 Set Canadian Customs Code to Manifest From Station Code
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Canadian Customs Code to Manifest From Station Code', assuming that a valid canadian customs code has been retrieved from mc table, when the canadian customs code is not '00000', the desired outcome is that the system assigns the canadian customs code to the manifest from station code field.
💻 Technical Criteria
EXCLUDING A valid Canadian customs code has been retrieved from MC table
When The Canadian customs code is not '00000'
Then The system assigns the Canadian customs code to the manifest from station code field
R-GCCCCADD-cbl-01035 Continue Processing
Process Rules
📊 Business Logic Narrative
When the process 'Continue Processing' is invoked, and assuming that valid mc table data has been retrieved, when processing continues after validation, the desired outcome is that the system assigns the us port of exit code from the mc table to the corresponding field.
💻 Technical Criteria
Given Valid MC table data has been retrieved
When Processing continues after validation
Then The system assigns the US port of exit code from the MC table to the corresponding field
R-GCCCCADD-cbl-01037 Log Error - Invalid Manifest Port
Validation Rules
📊 Business Logic Narrative
When the process 'Log Error - Invalid Manifest Port' is invoked, and assuming that a shipment has a manifest from port defined in the shipment root data, when the system attempts to look up the manifest from port in the mc table and the lookup fails, the desired outcome is that the system clears the mc table data and logs an error message for invalid manifest port.
💻 Technical Criteria
Given A shipment has a manifest from port defined in the shipment root data
When The system attempts to look up the manifest from port in the MC table and the lookup fails
Then The system clears the MC table data and logs an error message for invalid manifest port
R-GCCCCADD-cbl-01038 Extract US Port Exit Code from MC Table
Validation Rules
📊 Business Logic Narrative
When the process 'Extract US Port Exit Code from MC Table' is invoked, and assuming that a manifest from port lookup in the mc table is successful, when the canadian customs code in the mc table record equals '00000', the desired outcome is that the system clears the mc table data and adds an error message for invalid canadian customs code.
💻 Technical Criteria
Given A manifest from port lookup in the MC table is successful
When The Canadian customs code in the MC table record equals '00000'
Then The system clears the MC table data and adds an error message for invalid Canadian customs code
R-GCCCCADD-cbl-01039 Get Manifest From Port from Shipment Root
Decision Rules
📊 Business Logic Narrative
When the process 'Get Manifest From Port from Shipment Root' is invoked, and assuming that the action is iis-a6 or the multi-manifest indicator is 'y', when the manifest from port in the shipment root is blank, the desired outcome is that the system sets the manifest from port to 'iis-a6'.
💻 Technical Criteria
Given The action is IIS-A6 or the multi-manifest indicator is 'Y'
When The manifest from port in the shipment root is blank
Then The system sets the manifest from port to 'IIS-A6'
R-GCCCCADD-cbl-01040 Get Manifest To Port from Shipment Root
Decision Rules
📊 Business Logic Narrative
When the process 'Get Manifest To Port from Shipment Root' is invoked, and assuming that the action is iis-a6 or the multi-manifest indicator is 'y', when the manifest to port in the shipment root is blank, the desired outcome is that the system sets the manifest to port to 'iis-a6'.
💻 Technical Criteria
Given The action is IIS-A6 or the multi-manifest indicator is 'Y'
When The manifest to port in the shipment root is blank
Then The system sets the manifest to port to 'IIS-A6'
R-GCCCCADD-cbl-01041 Log Error - Invalid Manifest Port
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Log Error - Invalid Manifest Port', assuming that a shipment is being processed for customs manifest creation, when the manifest to port is blank or not provided, the desired outcome is that the system sets error flag 1 to indicate missing manifest to port.
💻 Technical Criteria
EXCLUDING A shipment is being processed for customs manifest creation
When The manifest to port is blank or not provided
Then The system sets error flag 1 to indicate missing manifest to port
R-GCCCCADD-cbl-01042 Set US Port Exit Code for Manifest To Station
Validation Rules
📊 Business Logic Narrative
When the process 'Set US Port Exit Code for Manifest To Station' is invoked, and assuming that a manifest to port lookup in the mc table is successful, when the canadian customs code in the mc table record equals '00000', the desired outcome is that the system clears the mc table data and sets error flag 2 with the port name for invalid canadian customs code.
💻 Technical Criteria
Given A manifest to port lookup in the MC table is successful
When The Canadian customs code in the MC table record equals '00000'
Then The system clears the MC table data and sets error flag 2 with the port name for invalid Canadian customs code
R-GCCCCADD-cbl-01043 Log Error - Invalid Manifest Port
Validation Rules
📊 Business Logic Narrative
When the process 'Log Error - Invalid Manifest Port' is invoked, and assuming that a shipment has a manifest to port defined, when the system attempts to look up the manifest to port in the mc table and the lookup fails, the desired outcome is that the system clears the mc table data and sets error flag 3 with the port name for invalid manifest port.
💻 Technical Criteria
Given A shipment has a manifest to port defined
When The system attempts to look up the manifest to port in the MC table and the lookup fails
Then The system clears the MC table data and sets error flag 3 with the port name for invalid manifest port
R-GCCCCADD-cbl-01049 Set Destination as Non-US by Default
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Destination as Non-US by Default' is invoked, and assuming that a destination country classification process is starting, when the system begins destination country determination, the desired outcome is that the destination should be set as non-us by default.
💻 Technical Criteria
Given A destination country classification process is starting
When The system begins destination country determination
Then The destination should be set as non-US by default
R-GCCCCADD-cbl-01051 Does Destination State Match Table Entry?
Decision Rules
📊 Business Logic Narrative
When the process 'Does Destination State Match Table Entry?' is invoked, and assuming that a destination state code from shipment root and a state-country lookup table, when the system searches for the destination state code in the lookup table, the desired outcome is that the system should identify if the destination state code matches any table entry.
💻 Technical Criteria
Given A destination state code from shipment root and a state-country lookup table
When The system searches for the destination state code in the lookup table
Then The system should identify if the destination state code matches any table entry
R-GCCCCADD-cbl-01053 Set Destination as US
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Destination as US' is invoked, and assuming that a destination state code matches a lookup table entry with country code 'us', when the state-country verification confirms us destination, the desired outcome is that the destination should be classified as us.
💻 Technical Criteria
Given A destination state code matches a lookup table entry with country code 'US'
When The state-country verification confirms US destination
Then The destination should be classified as US
R-GCCCCADD-cbl-01054 Keep Destination as Non-US
Definitional Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Keep Destination as Non-US', assuming that a destination state code either does not match any lookup table entry or matches an entry with non-us country code, when the state-country verification does not confirm us destination, the desired outcome is that the destination should remain classified as non-us.
💻 Technical Criteria
EXCLUDING A destination state code either does not match any lookup table entry or matches an entry with non-US country code
When The state-country verification does not confirm US destination
Then The destination should remain classified as non-US
R-GCCCCADD-cbl-01060 Call RF Table Lookup
Action Rules
📊 Business Logic Narrative
When the process 'Call RF Table Lookup' is invoked, and assuming that rf table lookup parameters with consignee chop, destination station, and table id 'rf', when the system calls the table lookup function, the desired outcome is that the system attempts to retrieve matching rf table record.
💻 Technical Criteria
Given RF table lookup parameters with consignee CHOP, destination station, and table ID 'RF'
When The system calls the table lookup function
Then The system attempts to retrieve matching RF table record
R-GCCCCADD-cbl-01064 Lookup CM Table with Destination Station
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Lookup CM Table with Destination Station', assuming that manifest to station name equals 'iis-a6' and destination is not us, when system looks up destination station number in cm table, the desired outcome is that if cm table lookup is successful, retrieve port manifest upon information for further mc table lookup.
💻 Technical Criteria
EXCLUDING Manifest to station name equals 'IIS-A6' and destination is not US
When System looks up destination station number in CM table
Then If CM table lookup is successful, retrieve port manifest upon information for further MC table lookup
R-GCCCCADD-cbl-01067 Apply Sub-location Requirement Rules
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Apply Sub-location Requirement Rules', assuming that sub-location code processing is complete, when system evaluates if sub-location code is present or csa indicator is on or manifest from equals manifest to (and not iis-a6) or destination is us or arrival indicator is y, the desired outcome is that if any condition is true, sub-location code is valid and processing continues, otherwise set sub-location error flag.
💻 Technical Criteria
EXCLUDING Sub-location code processing is complete
When System evaluates if sub-location code is present OR CSA indicator is on OR manifest from equals manifest to (and not IIS-A6) OR destination is US OR arrival indicator is Y
Then If any condition is true, sub-location code is valid and processing continues, otherwise set sub-location error flag
R-GCCCCADD-cbl-01069 Generate Sub-location Error Message
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Sub-location Error Message', assuming that sub-location error flag is set and shipment is not in-transit or return status, when system validates sub-location requirements, the desired outcome is that generate error message for invalid destination station sub-location code.
💻 Technical Criteria
EXCLUDING Sub-location error flag is set and shipment is not in-transit or return status
When System validates sub-location requirements
Then Generate error message for invalid destination station sub-location code
R-GCCCCADD-cbl-02208 Is Destination NOT US?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Destination NOT US?' is invoked, and assuming that a manifest-to station is 'iis-a6' and destination state code is available, when the system searches the state-country table for the destination state code, the desired outcome is that if the destination country is not 'us', proceed with cm table lookup, otherwise proceed with rf table lookup.
💻 Technical Criteria
Given A manifest-to station is 'IIS-A6' and destination state code is available
When The system searches the state-country table for the destination state code
Then If the destination country is not 'US', proceed with CM table lookup, otherwise proceed with RF table lookup
R-GCCCCADD-cbl-02209 Lookup CM Table with Destination Station
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Lookup CM Table with Destination Station', assuming that manifest-to station is 'iis-a6' and destination is not us, when the system calls table lookup with table id 'cm' and destination station number as key, the desired outcome is that the system attempts to retrieve cm table data for the destination station.
💻 Technical Criteria
EXCLUDING Manifest-to station is 'IIS-A6' and destination is not US
When The system calls table lookup with table ID 'CM' and destination station number as key
Then The system attempts to retrieve CM table data for the destination station
R-GCCCCADD-cbl-02210 CM Table Lookup Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'CM Table Lookup Successful?' is invoked, and assuming that a cm table lookup has been performed with destination station number, when the system evaluates the table lookup return flag, the desired outcome is that if return flag equals 'successful', proceed with mc table lookup using cm port data, otherwise clear sub-location code.
💻 Technical Criteria
Given A CM table lookup has been performed with destination station number
When The system evaluates the table lookup return flag
Then If return flag equals 'SUCCESSFUL', proceed with MC table lookup using CM port data, otherwise clear sub-location code
R-GCCCCADD-cbl-02211 Lookup MC Table with CM Port
Action Rules
📊 Business Logic Narrative
When the process 'Lookup MC Table with CM Port' is invoked, and assuming that cm table lookup was successful and returned port manifest information, when the system calls table lookup with table id 'mc' and cm port manifest data as key, the desired outcome is that the system attempts to retrieve mc table data for the port.
💻 Technical Criteria
Given CM table lookup was successful and returned port manifest information
When The system calls table lookup with table ID 'MC' and CM port manifest data as key
Then The system attempts to retrieve MC table data for the port
R-GCCCCADD-cbl-02212 MC Table Lookup Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'MC Table Lookup Successful?' is invoked, and assuming that an mc table lookup has been performed with cm port information, when the system evaluates the table lookup return flag, the desired outcome is that if return flag equals 'successful', set sub-location code from mc table data, otherwise clear sub-location code.
💻 Technical Criteria
Given An MC table lookup has been performed with CM port information
When The system evaluates the table lookup return flag
Then If return flag equals 'SUCCESSFUL', set sub-location code from MC table data, otherwise clear sub-location code
R-GCCCCADD-cbl-02214 Clear Sub-location Code
Action Rules
📊 Business Logic Narrative
When the process 'Clear Sub-location Code' is invoked, and assuming that either cm table lookup or mc table lookup has failed, when the system processes the failed lookup result, the desired outcome is that the sub-location code is cleared to spaces.
💻 Technical Criteria
Given Either CM table lookup or MC table lookup has failed
When The system processes the failed lookup result
Then The sub-location code is cleared to spaces
R-GCCCCADD-cbl-02221 CSA Indicator ON?
Decision Rules
📊 Business Logic Narrative
When the process 'CSA Indicator ON?' is invoked, and assuming that sub-location code is spaces and additional exemption checks are needed, when the system evaluates the csa indicator status, the desired outcome is that if csa indicator is on, sub-location requirements are met, otherwise check manifest station equality.
💻 Technical Criteria
Given Sub-location code is spaces and additional exemption checks are needed
When The system evaluates the CSA indicator status
Then If CSA indicator is ON, sub-location requirements are met, otherwise check manifest station equality
R-GCCCCADD-cbl-02222 Manifest From equals Manifest To AND NOT IIS-A6?
Decision Rules
📊 Business Logic Narrative
When the process 'Manifest From equals Manifest To AND NOT IIS-A6?' is invoked, and assuming that sub-location code is spaces and csa indicator is off, when the system compares manifest from station name with manifest to station name, the desired outcome is that if both stations are equal and manifest to station is not 'iis-a6', sub-location requirements are met, otherwise check destination country.
💻 Technical Criteria
Given Sub-location code is spaces and CSA indicator is OFF
When The system compares manifest from station name with manifest to station name
Then If both stations are equal and manifest to station is not 'IIS-A6', sub-location requirements are met, otherwise check destination country
R-GCCCCADD-cbl-02223 Destination is US?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Destination is US?', assuming that sub-location code is spaces, csa indicator is off, and manifest stations are not equal or are iis-a6, when the system evaluates the destination country from state-country table lookup, the desired outcome is that if destination country is 'us', sub-location requirements are met, otherwise check arrival indicator.
💻 Technical Criteria
EXCLUDING Sub-location code is spaces, CSA indicator is OFF, and manifest stations are not equal or are IIS-A6
When The system evaluates the destination country from state-country table lookup
Then If destination country is 'US', sub-location requirements are met, otherwise check arrival indicator
R-GCCCCADD-cbl-02225 Sub-location Code Requirements Met
Validation Rules
📊 Business Logic Narrative
When the process 'Sub-location Code Requirements Met' is invoked, and assuming that either sub-location code is present or valid exemption conditions are met, when the system completes sub-location validation processing, the desired outcome is that sub-location code requirements are considered satisfied and processing continues normally.
💻 Technical Criteria
Given Either sub-location code is present or valid exemption conditions are met
When The system completes sub-location validation processing
Then Sub-location code requirements are considered satisfied and processing continues normally
R-GCCCCADD-cbl-02226 Set Sub-location Error Flag
Validation Rules
📊 Business Logic Narrative
When the process 'Set Sub-location Error Flag' is invoked, and assuming that sub-location code is spaces and no exemption conditions are met, when the system completes all sub-location validation checks, the desired outcome is that the sub-location error flag is set to indicate requirement violation.
💻 Technical Criteria
Given Sub-location code is spaces and no exemption conditions are met
When The system completes all sub-location validation checks
Then The sub-location error flag is set to indicate requirement violation
R-GCCCCADD-cbl-02227 Generate Sub-location Error Message
Action Rules
📊 Business Logic Narrative
When the process 'Generate Sub-location Error Message' is invoked, and assuming that sub-location error flag has been set due to requirement violation, when the system processes the error condition, the desired outcome is that an error message for invalid destination station sub-location code is retrieved and added to the message list.
💻 Technical Criteria
Given Sub-location error flag has been set due to requirement violation
When The system processes the error condition
Then An error message for invalid destination station sub-location code is retrieved and added to the message list
R-GCCCCADD-cbl-02570 Is Destination US?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Destination US?' is invoked, and assuming that a manifest-to station is 'iis-a6' and destination state/province code is available, when the system searches the state-country lookup table for the destination state code, the desired outcome is that if the destination country is 'us', skip destination station lookup and proceed to consignee facility lookup; otherwise perform destination station lookup.
💻 Technical Criteria
Given A manifest-to station is 'IIS-A6' and destination state/province code is available
When The system searches the state-country lookup table for the destination state code
Then If the destination country is 'US', skip destination station lookup and proceed to consignee facility lookup; otherwise perform destination station lookup
R-GCCCCADD-cbl-02571 Lookup CM Table with Destination Station
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Lookup CM Table with Destination Station', assuming that manifest-to station is 'iis-a6' and destination is not us, when the system performs a lookup in cm table using destination station number, the desired outcome is that retrieve the corresponding city municipality record for port manifest processing.
💻 Technical Criteria
EXCLUDING Manifest-to station is 'IIS-A6' and destination is not US
When The system performs a lookup in CM table using destination station number
Then Retrieve the corresponding city municipality record for port manifest processing
R-GCCCCADD-cbl-02572 CM Table Lookup Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'CM Table Lookup Successful?' is invoked, and assuming that a cm table lookup has been performed using destination station number, when the system evaluates the lookup return status, the desired outcome is that if lookup is successful, extract port manifest upon data; otherwise set sub-location code to spaces.
💻 Technical Criteria
Given A CM table lookup has been performed using destination station number
When The system evaluates the lookup return status
Then If lookup is successful, extract port manifest upon data; otherwise set sub-location code to spaces
R-GCCCCADD-cbl-02573 Get Port Manifest Upon from CM Table
Process Rules
📊 Business Logic Narrative
When the process 'Get Port Manifest Upon from CM Table' is invoked, and assuming that cm table lookup was successful and returned a valid record, when the system processes the cm table record, the desired outcome is that extract the port manifest upon field for subsequent manifest code table lookup.
💻 Technical Criteria
Given CM table lookup was successful and returned a valid record
When The system processes the CM table record
Then Extract the port manifest upon field for subsequent manifest code table lookup
R-GCCCCADD-cbl-02577 Set Sub-location Code to Spaces
Process Rules
📊 Business Logic Narrative
When the process 'Set Sub-location Code to Spaces' is invoked, and assuming that either cm table lookup or mc table lookup has failed, when the system processes the failed lookup result, the desired outcome is that set the sub-location code to spaces to indicate no valid sub-location found.
💻 Technical Criteria
Given Either CM table lookup or MC table lookup has failed
When The system processes the failed lookup result
Then Set the sub-location code to spaces to indicate no valid sub-location found
R-GCCCCADD-cbl-02584 CSA Indicator On?
Policy Rules
📊 Business Logic Narrative
When the process 'CSA Indicator On?' is invoked, and assuming that sub-location code is spaces and csa indicator status is available, when the system evaluates the csa indicator, the desired outcome is that if csa indicator is on, continue processing without error; otherwise check manifest station equality.
💻 Technical Criteria
Given Sub-location code is spaces and CSA indicator status is available
When The system evaluates the CSA indicator
Then If CSA indicator is on, continue processing without error; otherwise check manifest station equality
R-GCCCCADD-cbl-02585 Manifest From equals Manifest To and Not IIS-A6?
Policy Rules
📊 Business Logic Narrative
When the process 'Manifest From equals Manifest To and Not IIS-A6?' is invoked, and assuming that sub-location code is spaces, csa indicator is off, and manifest station names are available, when the system compares manifest from station name with manifest to station name, the desired outcome is that if manifest from equals manifest to and manifest to is not 'iis-a6', continue processing without error; otherwise check destination country.
💻 Technical Criteria
Given Sub-location code is spaces, CSA indicator is off, and manifest station names are available
When The system compares manifest from station name with manifest to station name
Then If manifest from equals manifest to and manifest to is not 'IIS-A6', continue processing without error; otherwise check destination country
R-GCCCCADD-cbl-02586 Destination is US?
Policy Rules
📊 Business Logic Narrative
When the process 'Destination is US?' is invoked, and assuming that sub-location code is spaces, previous exemptions don't apply, and destination country information is available, when the system evaluates the destination country, the desired outcome is that if destination is us, continue processing without error; otherwise check arrival indicator.
💻 Technical Criteria
Given Sub-location code is spaces, previous exemptions don't apply, and destination country information is available
When The system evaluates the destination country
Then If destination is US, continue processing without error; otherwise check arrival indicator
R-GCCCCADD-cbl-02587 Arrival Indicator is Y?
Policy Rules
📊 Business Logic Narrative
When the process 'Arrival Indicator is Y?' is invoked, and assuming that sub-location code is spaces, all previous exemptions don't apply, and arrival indicator is available, when the system evaluates the arrival indicator, the desired outcome is that if arrival indicator is 'y', continue processing without error; otherwise set sub-location error flag.
💻 Technical Criteria
Given Sub-location code is spaces, all previous exemptions don't apply, and arrival indicator is available
When The system evaluates the arrival indicator
Then If arrival indicator is 'Y', continue processing without error; otherwise set sub-location error flag
R-GCCCCADD-cbl-02589 Set Sub-location Error Flag
Validation Rules
📊 Business Logic Narrative
When the process 'Set Sub-location Error Flag' is invoked, and assuming that sub-location code is spaces and none of the exemption conditions are met, when the system completes all sub-location validation checks, the desired outcome is that set the sub-location error flag to indicate validation failure.
💻 Technical Criteria
Given Sub-location code is spaces and none of the exemption conditions are met
When The system completes all sub-location validation checks
Then Set the sub-location error flag to indicate validation failure
R-GCCCCADD-cbl-02590 Generate Sub-location Error Message
Process Rules
📊 Business Logic Narrative
When the process 'Generate Sub-location Error Message' is invoked, and assuming that sub-location error flag has been set due to validation failure, when the system processes the error condition, the desired outcome is that generate and add error message for invalid destination station sub-location code to the message collection.
💻 Technical Criteria
Given Sub-location error flag has been set due to validation failure
When The system processes the error condition
Then Generate and add error message for invalid destination station sub-location code to the message collection
R-GCCCCADD-cbl-02806 Is Destination Not US?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is Destination Not US?', assuming that the manifest-to station is 'iis-a6' and destination state code is available, when the destination state code does not correspond to a us state, the desired outcome is that the system proceeds to lookup cm table for port manifest information.
💻 Technical Criteria
EXCLUDING The manifest-to station is 'IIS-A6' and destination state code is available
When The destination state code does not correspond to a US state
Then The system proceeds to lookup CM table for port manifest information
R-GCCCCADD-cbl-02807 Lookup CM Table with Destination Station Number
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Lookup CM Table with Destination Station Number', assuming that the destination is not us and manifest-to station is 'iis-a6', when the system performs cm table lookup using destination station number, the desired outcome is that the system attempts to retrieve port manifest upon information from cm table.
💻 Technical Criteria
EXCLUDING The destination is not US and manifest-to station is 'IIS-A6'
When The system performs CM table lookup using destination station number
Then The system attempts to retrieve port manifest upon information from CM table
R-GCCCCADD-cbl-02813 Set Sub-location Code to Spaces
Process Rules
📊 Business Logic Narrative
When the process 'Set Sub-location Code to Spaces' is invoked, and assuming that either cm table lookup failed or mc table lookup failed, when the system cannot retrieve valid sub-location information, the desired outcome is that the sub-location code is set to spaces (blank).
💻 Technical Criteria
Given Either CM table lookup failed or MC table lookup failed
When The system cannot retrieve valid sub-location information
Then The sub-location code is set to spaces (blank)
R-GCCCCADD-cbl-02819 Sub-location Code Requirements Met?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Sub-location Code Requirements Met?', assuming that sub-location code processing has been completed and various indicators are set, when sub-location code is not blank or (sub-location code is blank and (csa indicator is on or manifest stations are same and not iis-a6 or destination is us or arrival indicator is y)), the desired outcome is that sub-location code requirements are considered met and processing continues.
💻 Technical Criteria
EXCLUDING Sub-location code processing has been completed and various indicators are set
When Sub-location code is not blank OR (sub-location code is blank AND (CSA indicator is on OR manifest stations are same and not IIS-A6 OR destination is US OR arrival indicator is Y))
Then Sub-location code requirements are considered met and processing continues
R-GCCCCADD-cbl-02820 Set Sub-location Error Flag
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Sub-location Error Flag', assuming that sub-location code requirements validation has been performed, when sub-location code requirements are not met, the desired outcome is that sub-location error flag is set to indicate validation failure.
💻 Technical Criteria
EXCLUDING Sub-location code requirements validation has been performed
When Sub-location code requirements are not met
Then Sub-location error flag is set to indicate validation failure
R-GCCCCADD-cbl-03002 Convert Destination Station Number to Numeric
Computation Rules
📊 Business Logic Narrative
When the process 'Convert Destination Station Number to Numeric' is invoked, and assuming that destination station number exists in shipment root data, when the system prepares the search key for cm table lookup, the desired outcome is that the destination station number is converted to numeric format and stored in working storage.
💻 Technical Criteria
Given Destination station number exists in shipment root data
When The system prepares the search key for CM table lookup
Then The destination station number is converted to numeric format and stored in working storage
R-GCCCCADD-cbl-03003 Set Station Number as Search Key
Process Rules
📊 Business Logic Narrative
When the process 'Set Station Number as Search Key' is invoked, and assuming that destination station number is converted to numeric format, when the system sets up the search criteria for cm table, the desired outcome is that the numeric station number is assigned as the sequence id search key.
💻 Technical Criteria
Given Destination station number is converted to numeric format
When The system sets up the search criteria for CM table
Then The numeric station number is assigned as the sequence ID search key
R-GCCCCADD-cbl-03007 Extract Port Manifest Information
Process Rules
📊 Business Logic Narrative
When the process 'Extract Port Manifest Information' is invoked, and assuming that cm table data is successfully loaded into gcstbrtcm, when the system processes the cm table information, the desired outcome is that port manifest upon data is extracted from the cm table record.
💻 Technical Criteria
Given CM table data is successfully loaded into GCSTBRTCM
When The system processes the CM table information
Then Port manifest upon data is extracted from the CM table record
R-GCCCCADD-cbl-03008 Set Sub-location Code from CM Data
Process Rules
📊 Business Logic Narrative
When the process 'Set Sub-location Code from CM Data' is invoked, and assuming that port manifest information is extracted from cm table data, when the system processes the manifest information, the desired outcome is that sub-location code is set from the cm table sub-location code field.
💻 Technical Criteria
Given Port manifest information is extracted from CM table data
When The system processes the manifest information
Then Sub-location code is set from the CM table sub-location code field
R-GCCCCADD-cbl-03009 Clear Sub-location Code
Process Rules
📊 Business Logic Narrative
When the process 'Clear Sub-location Code' is invoked, and assuming that cm table lookup was unsuccessful, when the system handles the lookup failure, the desired outcome is that sub-location code is cleared to spaces.
💻 Technical Criteria
Given CM table lookup was unsuccessful
When The system handles the lookup failure
Then Sub-location code is cleared to spaces
R-GCCCCADD-cbl-03012 Set Table ID to MC
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Table ID to MC' is invoked, and assuming that a table lookup operation is being configured, when the system needs to specify which table to search, the desired outcome is that the system sets the table id to mc to target the manifest customs table.
💻 Technical Criteria
Given A table lookup operation is being configured
When The system needs to specify which table to search
Then The system sets the table ID to MC to target the manifest customs table
R-GCCCCADD-cbl-03017 Extract Sub-Location Code from MC Record
Process Rules
📊 Business Logic Narrative
When the process 'Extract Sub-Location Code from MC Record' is invoked, and assuming that an mc table record has been successfully retrieved and moved to the mc structure, when the system processes the mc record data, the desired outcome is that the system extracts the sub-location code from the mc record.
💻 Technical Criteria
Given An MC table record has been successfully retrieved and moved to the MC structure
When The system processes the MC record data
Then The system extracts the sub-location code from the MC record
R-GCCCCADD-cbl-03022 Set Station Number from Destination
Process Rules
📊 Business Logic Narrative
When the process 'Set Station Number from Destination' is invoked, and assuming that destination station number is available from customs manifest data, when the system prepares rf table lookup parameters, the desired outcome is that the destination station number is assigned to the rf table station search field.
💻 Technical Criteria
Given Destination station number is available from customs manifest data
When The system prepares RF table lookup parameters
Then The destination station number is assigned to the RF table station search field
R-GCCCCADD-cbl-03026 Retrieve Sub-location Code from RF Record
Process Rules
📊 Business Logic Narrative
When the process 'Retrieve Sub-location Code from RF Record' is invoked, and assuming that an rf table record has been successfully found and retrieved, when the system processes the rf record data, the desired outcome is that the sub-location code is extracted from the rf record and assigned to the customs manifest sub-location code field.
💻 Technical Criteria
Given An RF table record has been successfully found and retrieved
When The system processes the RF record data
Then The sub-location code is extracted from the RF record and assigned to the customs manifest sub-location code field
R-GCCCCADD-cbl-01117 Collect SHIPCOMM Commodity Descriptions
Process Rules
📊 Business Logic Narrative
When the process 'Collect SHIPCOMM Commodity Descriptions' is invoked, and assuming that a shipment with commodity data exists in shipcomm, when the system processes description data for customs manifest, the desired outcome is that all 10 commodity description lines from shipcomm are collected and stored in description work area.
💻 Technical Criteria
Given A shipment with commodity data exists in SHIPCOMM
When The system processes description data for customs manifest
Then All 10 commodity description lines from SHIPCOMM are collected and stored in description work area
R-GCCCCADD-cbl-01118 Collect SHIPROOT Free Form Descriptions
Process Rules
📊 Business Logic Narrative
When the process 'Collect SHIPROOT Free Form Descriptions' is invoked, and assuming that a shipment with free form description data exists in shiproot, when the system processes description data for customs manifest, the desired outcome is that both free form description lines from shiproot are collected and stored in description work area.
💻 Technical Criteria
Given A shipment with free form description data exists in SHIPROOT
When The system processes description data for customs manifest
Then Both free form description lines from SHIPROOT are collected and stored in description work area
R-GCCCCADD-cbl-01122 Store Compressed Description in GCSCCRT
Process Rules
📊 Business Logic Narrative
When the process 'Store Compressed Description in GCSCCRT' is invoked, and assuming that description data has been successfully compressed, when the system stores the compressed description, the desired outcome is that the compressed description is moved to gccc-lading-description field in the customs record.
💻 Technical Criteria
Given Description data has been successfully compressed
When The system stores the compressed description
Then The compressed description is moved to GCCC-LADING-DESCRIPTION field in the customs record
R-GCCCCADD-cbl-01139 CSA Indicator Already On?
Decision Rules
📊 Business Logic Narrative
When the process 'CSA Indicator Already On?' is invoked, and assuming that a shipment is being processed for customs manifest creation, when the csa indicator is already set to on, the desired outcome is that skip all csa indicator management processing and continue with normal manifest creation.
💻 Technical Criteria
Given A shipment is being processed for customs manifest creation
When The CSA indicator is already set to ON
Then Skip all CSA indicator management processing and continue with normal manifest creation
R-GCCCCADD-cbl-01141 Importer Data Present?
Decision Rules
📊 Business Logic Narrative
When the process 'Importer Data Present?' is invoked, and assuming that a shipment is being processed with csa indicator off and au table data available, when importer data is already present in the manifest, the desired outcome is that skip au table importer data retrieval and continue with normal processing.
💻 Technical Criteria
Given A shipment is being processed with CSA indicator off and AU table data available
When Importer data is already present in the manifest
Then Skip AU table importer data retrieval and continue with normal processing
R-GCCCCADD-cbl-01142 Retrieve AU Table Importer Data
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve AU Table Importer Data' is invoked, and assuming that a shipment is being processed with no existing importer data and au table data is available, when the system needs to populate importer information, the desired outcome is that retrieve importer name and business number from the au table using consignee chop and commodity code as lookup keys.
💻 Technical Criteria
Given A shipment is being processed with no existing importer data and AU table data is available
When The system needs to populate importer information
Then Retrieve importer name and business number from the AU table using consignee chop and commodity code as lookup keys
R-GCCCCADD-cbl-01143 Set Importer Information from AU Table
Process Rules
📊 Business Logic Narrative
When the process 'Set Importer Information from AU Table' is invoked, and assuming that importer data has been successfully retrieved from au table, when the system needs to populate importer information in the manifest, the desired outcome is that set importer name from au table importer field and business number from au table business number field.
💻 Technical Criteria
Given Importer data has been successfully retrieved from AU table
When The system needs to populate importer information in the manifest
Then Set importer name from AU table importer field and business number from AU table business number field
R-GCCCCADD-cbl-01144 Set Business Number Qualifier to M5
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Business Number Qualifier to M5' is invoked, and assuming that importer information is being set from au table data, when the business number qualifier needs to be assigned, the desired outcome is that set the business number qualifier to 'm5' to indicate the source is from authorized user table.
💻 Technical Criteria
Given Importer information is being set from AU table data
When The business number qualifier needs to be assigned
Then Set the business number qualifier to 'M5' to indicate the source is from authorized user table
R-GCCCCADD-cbl-01145 Turn CSA Indicator ON
Process Rules
📊 Business Logic Narrative
When the process 'Turn CSA Indicator ON' is invoked, and assuming that importer information has been successfully set from au table data, when the csa indicator status needs to be updated, the desired outcome is that set the csa indicator to on to indicate canada-us agreement processing is active.
💻 Technical Criteria
Given Importer information has been successfully set from AU table data
When The CSA indicator status needs to be updated
Then Set the CSA indicator to ON to indicate Canada-US Agreement processing is active
R-GCCCCADD-cbl-01146 Turn CSA Indicator OFF
Decision Rules
📊 Business Logic Narrative
When the process 'Turn CSA Indicator OFF' is invoked, and assuming that both au table importer data and edi bol importer data are found, when the business number qualifier is 'bn' or blank, the desired outcome is that turn the csa indicator off to deactivate canada-us agreement processing.
💻 Technical Criteria
Given Both AU table importer data and EDI BOL importer data are found
When The business number qualifier is 'BN' or blank
Then Turn the CSA indicator OFF to deactivate Canada-US Agreement processing
R-GCCCCADD-cbl-01148 Get Destination Country Code from State Lookup
Definitional Rules
📊 Business Logic Narrative
When the process 'Get Destination Country Code from State Lookup' is invoked, and assuming that a destination station state code exists in the shipment data, when the system performs a lookup in the state-country table using the destination station state code, the desired outcome is that the corresponding country code is retrieved and assigned as the destination country, or spaces if no match is found.
💻 Technical Criteria
Given A destination station state code exists in the shipment data
When The system performs a lookup in the state-country table using the destination station state code
Then The corresponding country code is retrieved and assigned as the destination country, or spaces if no match is found
R-GCCCCADD-cbl-01149 Search Application Type Table with Country Combinations
Decision Rules
📊 Business Logic Narrative
When the process 'Search Application Type Table with Country Combinations' is invoked, and assuming that origin and destination country codes have been determined, when the system searches the application type table using the country code combination, the desired outcome is that if a matching combination is found, the corresponding application type and in-transit status are assigned; otherwise, both fields are set to spaces.
💻 Technical Criteria
Given Origin and destination country codes have been determined
When The system searches the application type table using the country code combination
Then If a matching combination is found, the corresponding application type and in-transit status are assigned; otherwise, both fields are set to spaces
R-GCCCCADD-cbl-01152 Set In-Transit Status to Return
Process Rules
📊 Business Logic Narrative
When the process 'Set In-Transit Status to Return' is invoked, and assuming that a shipment with action code rt, when the return transit processing is initiated, the desired outcome is that the in-transit status should be set to return and application type should be set to 33.
💻 Technical Criteria
Given A shipment with action code RT
When The return transit processing is initiated
Then The in-transit status should be set to RETURN and application type should be set to 33
R-GCCCCADD-cbl-01153 Clear Destination Station Numbers
Process Rules
📊 Business Logic Narrative
When the process 'Clear Destination Station Numbers' is invoked, and assuming that a return transit shipment with action code rt, when the return transit status is being configured, the desired outcome is that the destination station number index and error/release status index should be cleared to spaces.
💻 Technical Criteria
Given A return transit shipment with action code RT
When The return transit status is being configured
Then The destination station number index and error/release status index should be cleared to spaces
R-GCCCCADD-cbl-01154 Search Port City State Table
Action Rules
📊 Business Logic Narrative
When the process 'Search Port City State Table' is invoked, and assuming that a return transit shipment with a manifest from station name, when the system searches the gcsports port city state table, the desired outcome is that the system should look for a port entry that matches the manifest from station name.
💻 Technical Criteria
Given A return transit shipment with a manifest from station name
When The system searches the GCSPORTS port city state table
Then The system should look for a port entry that matches the manifest from station name
R-GCCCCADD-cbl-01155 Override Origin Station Name with Port City
Process Rules
📊 Business Logic Narrative
When the process 'Override Origin Station Name with Port City' is invoked, and assuming that a return transit shipment where the manifest from station name matches a port in the gcsports table, when the port lookup is successful, the desired outcome is that the origin station name should be overridden with the port city and the origin station state code should be overridden with the port state from the table.
💻 Technical Criteria
Given A return transit shipment where the manifest from station name matches a port in the GCSPORTS table
When The port lookup is successful
Then The origin station name should be overridden with the port city and the origin station state code should be overridden with the port state from the table
R-GCCCCADD-cbl-01156 Check Shipment Status
Policy Rules
📊 Business Logic Narrative
When the process 'Check Shipment Status' is invoked, and assuming that a shipment is being processed for customs manifest creation, when the shipment has in-transit status of either transit or return and the csa indicator is currently on, the desired outcome is that the system should reset the csa indicator to off, clear the importer name, clear the business number qualifier, clear the business number, and set the au importer flag to not found.
💻 Technical Criteria
Given A shipment is being processed for customs manifest creation
When The shipment has in-transit status of either TRANSIT or RETURN and the CSA indicator is currently ON
Then The system should reset the CSA indicator to OFF, clear the importer name, clear the business number qualifier, clear the business number, and set the AU importer flag to not found
R-GCCCCADD-cbl-01157 Clear Importer Name
Process Rules
📊 Business Logic Narrative
When the process 'Clear Importer Name' is invoked, and assuming that a shipment has in-transit status of transit or return and csa indicator is on, when the system processes the importer data clearing logic, the desired outcome is that the importer name field should be set to spaces, the business number qualifier should be set to spaces, and the business number should be set to spaces.
💻 Technical Criteria
Given A shipment has in-transit status of TRANSIT or RETURN and CSA indicator is ON
When The system processes the importer data clearing logic
Then The importer name field should be set to spaces, the business number qualifier should be set to spaces, and the business number should be set to spaces
R-GCCCCADD-cbl-01158 Set AU Importer Flag to Not Found
Validation Rules
📊 Business Logic Narrative
When the process 'Set AU Importer Flag to Not Found' is invoked, and assuming that a transit or return shipment with csa indicator on is being processed, when the importer data clearing process is executed, the desired outcome is that the au importer found flag should be set to not found status.
💻 Technical Criteria
Given A transit or return shipment with CSA indicator ON is being processed
When The importer data clearing process is executed
Then The AU importer found flag should be set to NOT FOUND status
R-GCCCCADD-cbl-01160 Reset Sub-location Code to Spaces
Decision Rules
📊 Business Logic Narrative
When the process 'Reset Sub-location Code to Spaces' is invoked, and assuming that a shipment has been processed and classified with an in-transit status, when the shipment status is either in-transit or return movement, the desired outcome is that the sub-location code should be reset to spaces (cleared).
💻 Technical Criteria
Given A shipment has been processed and classified with an in-transit status
When The shipment status is either in-transit or return movement
Then The sub-location code should be reset to spaces (cleared)
R-GCCCCADD-cbl-01161 Keep Current Settings
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Keep Current Settings', assuming that a shipment is not classified as in-transit or return movement, when the sub-location error flag is set indicating an invalid sub-location code, the desired outcome is that an error message for invalid destination station sub-location code should be added to the message list.
💻 Technical Criteria
EXCLUDING A shipment is not classified as in-transit or return movement
When The sub-location error flag is set indicating an invalid sub-location code
Then An error message for invalid destination station sub-location code should be added to the message list
R-GCCCCADD-cbl-01170 Add Error to Message Array
Process Rules
📊 Business Logic Narrative
When the process 'Add Error to Message Array' is invoked, and assuming that a sub-location validation error message has been generated, when the error message needs to be communicated to the user, the desired outcome is that the error message is added to the message array and the return status is set to error.
💻 Technical Criteria
Given A sub-location validation error message has been generated
When The error message needs to be communicated to the user
Then The error message is added to the message array and the return status is set to ERROR
R-GCCCCADD-cbl-01193 Search 1: Use Shipper CHOP, Consignee CHOP, Origin Station, Destination Road, Commodity Code
Action Rules
📊 Business Logic Narrative
When the process 'Search 1: Use Shipper CHOP, Consignee CHOP, Origin Station, Destination Road, Commodity Code' is invoked, and assuming that a shipment with shipper chop, consignee chop, origin station number, destination road number, and commodity code, when the system performs the primary broker search in the crossing table, the desired outcome is that the system uses all five criteria (shipper chop, consignee chop, origin station, destination road with 'road' prefix, commodity code) to find matching broker data.
💻 Technical Criteria
Given A shipment with shipper CHOP, consignee CHOP, origin station number, destination road number, and commodity code
When The system performs the primary broker search in the crossing table
Then The system uses all five criteria (shipper CHOP, consignee CHOP, origin station, destination road with 'ROAD' prefix, commodity code) to find matching broker data
R-GCCCCADD-cbl-01201 Validate Canadian Customs Code
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Canadian Customs Code' is invoked, and assuming that a manifest-to station has been specified by broker data, when the system looks up the station in the mc table and retrieves the canadian customs code, the desired outcome is that the system validates that the canadian customs code is not '00000' (invalid default).
💻 Technical Criteria
Given A manifest-to station has been specified by broker data
When The system looks up the station in the MC table and retrieves the Canadian customs code
Then The system validates that the Canadian customs code is not '00000' (invalid default)
R-GCCCCADD-cbl-01202 Set Manifest-To Station Information
Action Rules
📊 Business Logic Narrative
When the process 'Set Manifest-To Station Information' is invoked, and assuming that the canadian customs code for broker manifest station is valid (not '00000'), when the system processes the manifest station update, the desired outcome is that the system updates manifest-to station code, destination station number, and batch print call letters.
💻 Technical Criteria
Given The Canadian customs code for broker manifest station is valid (not '00000')
When The system processes the manifest station update
Then The system updates manifest-to station code, destination station number, and batch print call letters
R-GCCCCADD-cbl-01203 Generate Error for Invalid Customs Code
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Error for Invalid Customs Code' is invoked, and assuming that the canadian customs code for broker manifest station equals '00000', when the system validates the customs code, the desired outcome is that the system generates an error message indicating invalid manifest port canadian customs code.
💻 Technical Criteria
Given The Canadian customs code for broker manifest station equals '00000'
When The system validates the customs code
Then The system generates an error message indicating invalid manifest port Canadian customs code
R-GCCCCADD-cbl-01204 Move Broker Name from Crossing Table
Action Rules
📊 Business Logic Narrative
When the process 'Move Broker Name from Crossing Table' is invoked, and assuming that broker data has been successfully retrieved from the crossing table, when the system processes the broker information, the desired outcome is that the broker name from the crossing table is assigned to the customs manifest broker name field.
💻 Technical Criteria
Given Broker data has been successfully retrieved from the crossing table
When The system processes the broker information
Then The broker name from the crossing table is assigned to the customs manifest broker name field
R-GCCCCADD-cbl-01209 MC Table Lookup Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'MC Table Lookup Successful?' is invoked, and assuming that a manifest-to station lookup has been attempted in the mc table, when the mc table lookup is unsuccessful, the desired outcome is that clear the mc table segment data and set error flag 3 to on with the station name saved for error reporting.
💻 Technical Criteria
Given A manifest-to station lookup has been attempted in the MC table
When The MC table lookup is unsuccessful
Then Clear the MC table segment data and set error flag 3 to ON with the station name saved for error reporting
R-GCCCCADD-cbl-01210 Validate Canadian Customs Code
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Canadian Customs Code' is invoked, and assuming that station information has been successfully retrieved from the mc table, when the system validates the canadian customs code, the desired outcome is that if the canadian customs code equals '00000', clear the mc table segment data and set error flag 2 to on with the station name saved for error reporting.
💻 Technical Criteria
Given Station information has been successfully retrieved from the MC table
When The system validates the Canadian customs code
Then If the Canadian customs code equals '00000', clear the MC table segment data and set error flag 2 to ON with the station name saved for error reporting
R-GCCCCADD-cbl-01211 Set Station Information
Action Rules
📊 Business Logic Narrative
When the process 'Set Station Information' is invoked, and assuming that valid station information exists in the mc table with a valid canadian customs code, when the system processes the station information, the desired outcome is that the canadian customs code is assigned to the manifest-to station code, the station number is assigned to the destination station number fields, and the call letters are assigned to the batch print call letters.
💻 Technical Criteria
Given Valid station information exists in the MC table with a valid Canadian customs code
When The system processes the station information
Then The Canadian customs code is assigned to the manifest-to station code, the station number is assigned to the destination station number fields, and the call letters are assigned to the batch print call letters
R-GCCCCADD-cbl-01212 Check and Report Manifest-To Errors
Validation Rules
📊 Business Logic Narrative
When the process 'Check and Report Manifest-To Errors' is invoked, and assuming that manifest-to station processing has been completed, when the system checks for any manifest-to related errors, the desired outcome is that if error flag 1 is on, generate invalid manifest upon error message; if error flag 2 is on, generate invalid canadian customs code error message with station name; if error flag 3 is on, generate invalid manifest port mc error message with station name.
💻 Technical Criteria
Given Manifest-to station processing has been completed
When The system checks for any manifest-to related errors
Then If error flag 1 is ON, generate invalid manifest upon error message; if error flag 2 is ON, generate invalid Canadian customs code error message with station name; if error flag 3 is ON, generate invalid manifest port MC error message with station name
R-GCCCCADD-cbl-01215 Set In-Transit Status to Return
Decision Rules
📊 Business Logic Narrative
When the process 'Set In-Transit Status to Return' is invoked, and assuming that a shipment has action code 'rt' (return), when the in-transit status is being determined, the desired outcome is that the in-transit status should be set to return.
💻 Technical Criteria
Given A shipment has action code 'RT' (Return)
When The in-transit status is being determined
Then The in-transit status should be set to RETURN
R-GCCCCADD-cbl-01216 Set Application Type to '33'
Policy Rules
📊 Business Logic Narrative
When the process 'Set Application Type to '33'' is invoked, and assuming that a shipment has action code 'rt' (return), when the customs application type is being assigned, the desired outcome is that the application type should be set to '33'.
💻 Technical Criteria
Given A shipment has action code 'RT' (Return)
When The customs application type is being assigned
Then The application type should be set to '33'
R-GCCCCADD-cbl-01217 Clear Destination Station Numbers
Process Rules
📊 Business Logic Narrative
When the process 'Clear Destination Station Numbers' is invoked, and assuming that a shipment has action code 'rt' (return), when the destination information is being processed, the desired outcome is that the destination station number for index and destination station number index should be cleared.
💻 Technical Criteria
Given A shipment has action code 'RT' (Return)
When The destination information is being processed
Then The destination station number for index and destination station number index should be cleared
R-GCCCCADD-cbl-01219 Update Origin Station Name from Port
Action Rules
📊 Business Logic Narrative
When the process 'Update Origin Station Name from Port' is invoked, and assuming that a shipment has action code 'rt' (return) and manifest from station name exists in the port city state table, when the origin station information is being updated, the desired outcome is that the origin station name should be set to the corresponding port city from the lookup table.
💻 Technical Criteria
Given A shipment has action code 'RT' (Return) and manifest from station name exists in the port city state table
When The origin station information is being updated
Then The origin station name should be set to the corresponding port city from the lookup table
R-GCCCCADD-cbl-01220 Update Origin Station State from Port
Action Rules
📊 Business Logic Narrative
When the process 'Update Origin Station State from Port' is invoked, and assuming that a shipment has action code 'rt' (return) and manifest from station name exists in the port city state table, when the origin station state information is being updated, the desired outcome is that the origin station state code should be set to the corresponding port state from the lookup table.
💻 Technical Criteria
Given A shipment has action code 'RT' (Return) and manifest from station name exists in the port city state table
When The origin station state information is being updated
Then The origin station state code should be set to the corresponding port state from the lookup table
R-GCCCCADD-cbl-01221 Set In-Transit Status to Transit
Decision Rules
📊 Business Logic Narrative
When the process 'Set In-Transit Status to Transit' is invoked, and assuming that a shipment has action code 'us' (transit), when the in-transit status is being determined, the desired outcome is that the in-transit status should be set to transit.
💻 Technical Criteria
Given A shipment has action code 'US' (Transit)
When The in-transit status is being determined
Then The in-transit status should be set to TRANSIT
R-GCCCCADD-cbl-01222 Set Application Type to '33'
Policy Rules
📊 Business Logic Narrative
When the process 'Set Application Type to '33'' is invoked, and assuming that a shipment has action code 'us' (transit), when the customs application type is being assigned, the desired outcome is that the application type should be set to '33'.
💻 Technical Criteria
Given A shipment has action code 'US' (Transit)
When The customs application type is being assigned
Then The application type should be set to '33'
R-GCCCCADD-cbl-01223 Turn Off CSA Indicator
Policy Rules
📊 Business Logic Narrative
When the process 'Turn Off CSA Indicator' is invoked, and assuming that a shipment has in-transit status of transit or return and csa indicator is currently on, when the csa indicator is being processed, the desired outcome is that the csa indicator should be turned off.
💻 Technical Criteria
Given A shipment has in-transit status of TRANSIT or RETURN and CSA indicator is currently on
When The CSA indicator is being processed
Then The CSA indicator should be turned off
R-GCCCCADD-cbl-01224 Clear Importer Data
Process Rules
📊 Business Logic Narrative
When the process 'Clear Importer Data' is invoked, and assuming that a shipment has in-transit status of transit or return and csa indicator was on, when the importer information is being processed, the desired outcome is that the importer name, business number qualifier, and business number should be cleared.
💻 Technical Criteria
Given A shipment has in-transit status of TRANSIT or RETURN and CSA indicator was on
When The importer information is being processed
Then The importer name, business number qualifier, and business number should be cleared
R-GCCCCADD-cbl-01226 Clear Sub-location Code
Process Rules
📊 Business Logic Narrative
When the process 'Clear Sub-location Code' is invoked, and assuming that a shipment has in-transit status of transit or return, when the sub-location code is being processed, the desired outcome is that the sub-location code should be cleared.
💻 Technical Criteria
Given A shipment has in-transit status of TRANSIT or RETURN
When The sub-location code is being processed
Then The sub-location code should be cleared
R-GCCCCADD-cbl-01232 Search State-Country Table
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Search State-Country Table', assuming that the origin country is not mexico and state-country validation is needed, when the state-country table is searched using the origin station state code, the desired outcome is that if a matching state code is found in the table, the corresponding country code should be assigned to the origin country field, otherwise the origin country should remain spaces.
💻 Technical Criteria
EXCLUDING The origin country is not Mexico and state-country validation is needed
When The state-country table is searched using the origin station state code
Then If a matching state code is found in the table, the corresponding country code should be assigned to the origin country field, otherwise the origin country should remain spaces
R-GCCCCADD-cbl-01241 Set Quantity Qualifier from Lading Data
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Quantity Qualifier from Lading Data' is invoked, and assuming that a commodity segment is being processed from edi data, when the system extracts quantity information, the desired outcome is that the system assigns the lading quantity qualifier from the commodity segment to the customs quantity qualifier.
💻 Technical Criteria
Given A commodity segment is being processed from EDI data
When The system extracts quantity information
Then The system assigns the lading quantity qualifier from the commodity segment to the customs quantity qualifier
R-GCCCCADD-cbl-01258 Set Quantity Qualifier from Segment
Process Rules
📊 Business Logic Narrative
When the process 'Set Quantity Qualifier from Segment' is invoked, and assuming that the first commodity segment is being processed, when the system extracts quantity information, the desired outcome is that the system should assign the lading quantity qualifier from l0-lading-qty-qual field to the customs record.
💻 Technical Criteria
Given The first commodity segment is being processed
When The system extracts quantity information
Then The system should assign the lading quantity qualifier from L0-LADING-QTY-QUAL field to the customs record
R-GCCCCADD-cbl-01278 Check EDI BOL HN Segment Available?
Decision Rules
📊 Business Logic Narrative
When the process 'Check EDI BOL HN Segment Available?' is invoked, and assuming that a shipper record is being built for customs manifest, when the system checks for edi bol hn segment availability, the desired outcome is that if edi bol hn segment is found, use edi data; otherwise use fastway data as fallback.
💻 Technical Criteria
Given A shipper record is being built for customs manifest
When The system checks for EDI BOL HN segment availability
Then If EDI BOL HN segment is found, use EDI data; otherwise use Fastway data as fallback
R-GCCCCADD-cbl-01293 Validate Shipper Record Data
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Shipper Record Data' is invoked, and assuming that shipper record data has been extracted from either edi or fastway sources, when the system validates shipper record completeness, the desired outcome is that all required fields are checked for presence and validity according to customs manifest requirements.
💻 Technical Criteria
Given Shipper record data has been extracted from either EDI or Fastway sources
When The system validates shipper record completeness
Then All required fields are checked for presence and validity according to customs manifest requirements
R-GCCCCADD-cbl-01294 Store Shipper Record in Array Position 1
Process Rules
📊 Business Logic Narrative
When the process 'Store Shipper Record in Array Position 1' is invoked, and assuming that shipper record has been built and validated successfully, when the system stores the shipper record, the desired outcome is that the complete shipper record is stored in array position 1 of the customs manifest record collection.
💻 Technical Criteria
Given Shipper record has been built and validated successfully
When The system stores the shipper record
Then The complete shipper record is stored in array position 1 of the customs manifest record collection
R-GCCCCADD-cbl-01308 Validate Consignee Record Data
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Consignee Record Data' is invoked, and assuming that consignee record data has been populated, when the system validates the consignee record, the desired outcome is that the system validates entity id, name, address, city/state/postal, and contact information according to customs requirements.
💻 Technical Criteria
Given Consignee record data has been populated
When The system validates the consignee record
Then The system validates entity ID, name, address, city/state/postal, and contact information according to customs requirements
R-GCCCCADD-cbl-01309 Store Consignee Record in Array Position 2
Process Rules
📊 Business Logic Narrative
When the process 'Store Consignee Record in Array Position 2' is invoked, and assuming that consignee record has been validated and completed, when the system stores the consignee record, the desired outcome is that the system places the consignee record in array position 2 of the customs record structure.
💻 Technical Criteria
Given Consignee record has been validated and completed
When The system stores the consignee record
Then The system places the consignee record in array position 2 of the customs record structure
R-GCCCCADD-cbl-01313 Build C1 Carrier Entity Segment
Decision Rules
📊 Business Logic Narrative
When the process 'Build C1 Carrier Entity Segment' is invoked, and assuming that edi bol data is available for processing and organization id is set to 'c1', when c1 entity data is found in edi bol transportation segments or consignee data code in fastway equals 'c', the desired outcome is that extract c1 entity information from edi tn/t2/ta/t3 segments or from fastway consignee data to create c1 segment with entity id 'c1', including name, address, city, state, postal code, country and contact information.
💻 Technical Criteria
Given EDI BOL data is available for processing and organization ID is set to 'C1'
When C1 entity data is found in EDI BOL transportation segments OR consignee data code in Fastway equals 'C'
Then Extract C1 entity information from EDI TN/T2/TA/T3 segments OR from Fastway consignee data to create C1 segment with entity ID 'C1', including name, address, city, state, postal code, country and contact information
R-GCCCCADD-cbl-01314 Build N1 Notify Party Segment
Process Rules
📊 Business Logic Narrative
When the process 'Build N1 Notify Party Segment' is invoked, and assuming that edi bol data is available for processing and organization id is set to 'n1', when n1 entity data is found in edi bol transportation segments, the desired outcome is that extract n1 entity information from edi tn/t2/ta/t3 segments to create n1 segment with entity id 'n1', including name, address, city, state, postal code, country and contact information.
💻 Technical Criteria
Given EDI BOL data is available for processing and organization ID is set to 'N1'
When N1 entity data is found in EDI BOL transportation segments
Then Extract N1 entity information from EDI TN/T2/TA/T3 segments to create N1 segment with entity ID 'N1', including name, address, city, state, postal code, country and contact information
R-GCCCCADD-cbl-01316 Build Additional Entity Segments
Process Rules
📊 Business Logic Narrative
When the process 'Build Additional Entity Segments' is invoked, and assuming that edi bol transportation segments are available for processing, when transportation segment is found with organization id matching '11', 'mc', 'oo', or 'fw', the desired outcome is that extract entity information from tn/t2/ta/t3 segments to create corresponding entity segment with matching organization id, including name, address, city, state, postal code, country and contact information.
💻 Technical Criteria
Given EDI BOL transportation segments are available for processing
When Transportation segment is found with organization ID matching '11', 'MC', 'OO', or 'FW'
Then Extract entity information from TN/T2/TA/T3 segments to create corresponding entity segment with matching organization ID, including name, address, city, state, postal code, country and contact information
R-GCCCCADD-cbl-01323 Validate All N1 Segments
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Validate All N1 Segments', assuming that entity segment contains country code for canada, usa, or mexico, when state/province code is missing or state/province code is invalid for the specified country, the desired outcome is that generate error message for missing or invalid state/province code, or auto-assign country code when state/province is provided but country is missing.
💻 Technical Criteria
EXCLUDING Entity segment contains country code for Canada, USA, or Mexico
When State/province code is missing OR state/province code is invalid for the specified country
Then Generate error message for missing or invalid state/province code, OR auto-assign country code when state/province is provided but country is missing
R-GCCCCADD-cbl-01335 Store Contact Information in Record
Action Rules
📊 Business Logic Narrative
When the process 'Store Contact Information in Record' is invoked, and assuming that contact information has been validated successfully, when the system processes the contact data, the desired outcome is that the contact function code, person name, communication qualifier, and communication number are stored in the customs record.
💻 Technical Criteria
Given Contact information has been validated successfully
When The system processes the contact data
Then The contact function code, person name, communication qualifier, and communication number are stored in the customs record
R-GCCCCADD-cbl-01347 Retrieve City/State/Postal EBSNRSA-PC
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve City/State/Postal EBSNRSA-PC' is invoked, and assuming that stuffer entity processing is in progress and edi bol key exists, when the system searches for stuffer location data with type 'pc' for the stuffer entity, the desired outcome is that the system retrieves city, state, postal, and country information if available.
💻 Technical Criteria
Given Stuffer entity processing is in progress and EDI BOL key exists
When The system searches for stuffer location data with type 'PC' for the stuffer entity
Then The system retrieves city, state, postal, and country information if available
R-GCCCCADD-cbl-01348 Extract City, State, Postal, Country from U4 fields
Process Rules
📊 Business Logic Narrative
When the process 'Extract City, State, Postal, Country from U4 fields' is invoked, and assuming that stuffer city/state data has been successfully retrieved from edi bol, when the system processes the location information, the desired outcome is that city name, state/province code, postal code, and country code are extracted from u4 fields.
💻 Technical Criteria
Given Stuffer city/state data has been successfully retrieved from EDI BOL
When The system processes the location information
Then City name, state/province code, postal code, and country code are extracted from U4 fields
R-GCCCCADD-cbl-01368 Set Organization ID to 'BN'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Organization ID to 'BN'' is invoked, and assuming that a beneficial owner segment is being processed, when setting up the organization identifier for transportation segment search, the desired outcome is that the organization id is set to 'bn' (beneficial owner).
💻 Technical Criteria
Given A beneficial owner segment is being processed
When Setting up the organization identifier for transportation segment search
Then The organization ID is set to 'BN' (Beneficial Owner)
R-GCCCCADD-cbl-01369 Search for Transportation Segment with BN ID
Action Rules
📊 Business Logic Narrative
When the process 'Search for Transportation Segment with BN ID' is invoked, and assuming that the organization id is set to 'bn', when searching for transportation segment data, the desired outcome is that the system retrieves transportation segment information for beneficial owner entity.
💻 Technical Criteria
Given The organization ID is set to 'BN'
When Searching for transportation segment data
Then The system retrieves transportation segment information for beneficial owner entity
R-GCCCCADD-cbl-01370 Transportation Segment Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Transportation Segment Found?' is invoked, and assuming that a search for beneficial owner transportation segment has been performed, when checking if transportation segment data exists, the desired outcome is that if transportation segment is found, proceed to search for bn entity; otherwise, end beneficial owner processing.
💻 Technical Criteria
Given A search for beneficial owner transportation segment has been performed
When Checking if transportation segment data exists
Then If transportation segment is found, proceed to search for BN entity; otherwise, end beneficial owner processing
R-GCCCCADD-cbl-01371 Search for BN Entity in EDI BOL
Action Rules
📊 Business Logic Narrative
When the process 'Search for BN Entity in EDI BOL' is invoked, and assuming that a transportation segment exists for beneficial owner, when searching for beneficial owner entity in edi bol data, the desired outcome is that the system retrieves beneficial owner entity information from edi bol.
💻 Technical Criteria
Given A transportation segment exists for beneficial owner
When Searching for beneficial owner entity in EDI BOL data
Then The system retrieves beneficial owner entity information from EDI BOL
R-GCCCCADD-cbl-01381 BN City/State Found?
Decision Rules
📊 Business Logic Narrative
When the process 'BN City/State Found?' is invoked, and assuming that a search for beneficial owner city/state has been performed, when checking if city/state data exists for beneficial owner, the desired outcome is that if city/state is found, extract location details; otherwise, clear city/state information.
💻 Technical Criteria
Given A search for beneficial owner city/state has been performed
When Checking if city/state data exists for beneficial owner
Then If city/state is found, extract location details; otherwise, clear city/state information
R-GCCCCADD-cbl-01382 Extract City, State, Postal Code, Country
Process Rules
📊 Business Logic Narrative
When the process 'Extract City, State, Postal Code, Country' is invoked, and assuming that beneficial owner city/state segment exists, when processing beneficial owner location information, the desired outcome is that city, state, postal code, and country are extracted and stored in the beneficial owner segment.
💻 Technical Criteria
Given Beneficial owner city/state segment exists
When Processing beneficial owner location information
Then City, state, postal code, and country are extracted and stored in the beneficial owner segment
R-GCCCCADD-cbl-01383 Clear City/State Information
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Clear City/State Information', assuming that beneficial owner city/state segment does not exist, when processing beneficial owner location information, the desired outcome is that all city, state, postal code, and country fields are cleared (set to spaces).
💻 Technical Criteria
EXCLUDING Beneficial owner city/state segment does not exist
When Processing beneficial owner location information
Then All city, state, postal code, and country fields are cleared (set to spaces)
R-GCCCCADD-cbl-01384 Clear Contact Information
Process Rules
📊 Business Logic Narrative
When the process 'Clear Contact Information' is invoked, and assuming that beneficial owner location processing is complete, when finalizing beneficial owner segment data, the desired outcome is that all contact function code, name, communication qualifier, and communication number fields are cleared.
💻 Technical Criteria
Given Beneficial owner location processing is complete
When Finalizing beneficial owner segment data
Then All contact function code, name, communication qualifier, and communication number fields are cleared
R-GCCCCADD-cbl-01389 Search EDI BOL Transportation Segments
Action Rules
📊 Business Logic Narrative
When the process 'Search EDI BOL Transportation Segments' is invoked, and assuming that edi bol data is available for processing, when the system searches for c1 carrier transportation segments, the desired outcome is that transportation segments with organization id 'c1' are retrieved from edi bol data.
💻 Technical Criteria
Given EDI BOL data is available for processing
When The system searches for C1 carrier transportation segments
Then Transportation segments with organization ID 'C1' are retrieved from EDI BOL data
R-GCCCCADD-cbl-01390 Extract Carrier Information from EDI BOL
Process Rules
📊 Business Logic Narrative
When the process 'Extract Carrier Information from EDI BOL' is invoked, and assuming that c1 carrier transportation segment is found in edi bol data, when carrier information needs to be extracted, the desired outcome is that carrier organization id, name, id code qualifier, and id code are extracted from the transportation segment.
💻 Technical Criteria
Given C1 carrier transportation segment is found in EDI BOL data
When Carrier information needs to be extracted
Then Carrier organization ID, name, ID code qualifier, and ID code are extracted from the transportation segment
R-GCCCCADD-cbl-01391 Get Transportation Address Data
Action Rules
📊 Business Logic Narrative
When the process 'Get Transportation Address Data' is invoked, and assuming that c1 carrier is found in edi bol transportation segments, when address information is needed for the carrier, the desired outcome is that address line 1 and address line 2 are retrieved from t2 transportation address segments.
💻 Technical Criteria
Given C1 carrier is found in EDI BOL transportation segments
When Address information is needed for the carrier
Then Address line 1 and address line 2 are retrieved from T2 transportation address segments
R-GCCCCADD-cbl-01392 Get Transportation City/State Data
Action Rules
📊 Business Logic Narrative
When the process 'Get Transportation City/State Data' is invoked, and assuming that c1 carrier is found in edi bol transportation segments, when city and state information is needed for the carrier, the desired outcome is that city name, state/province code, postal code, and country code are retrieved from ta transportation segments.
💻 Technical Criteria
Given C1 carrier is found in EDI BOL transportation segments
When City and state information is needed for the carrier
Then City name, state/province code, postal code, and country code are retrieved from TA transportation segments
R-GCCCCADD-cbl-01393 Get Transportation Contact Data
Action Rules
📊 Business Logic Narrative
When the process 'Get Transportation Contact Data' is invoked, and assuming that c1 carrier is found in edi bol transportation segments, when contact information is needed for the carrier, the desired outcome is that contact function code, contact name, communication number qualifier, and communication number are retrieved from t3 transportation segments.
💻 Technical Criteria
Given C1 carrier is found in EDI BOL transportation segments
When Contact information is needed for the carrier
Then Contact function code, contact name, communication number qualifier, and communication number are retrieved from T3 transportation segments
R-GCCCCADD-cbl-01395 Check Fastway Consignee Data
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check Fastway Consignee Data', assuming that c1 carrier is not found in edi bol transportation segments, when the system checks fastway consignee data for carrier information, the desired outcome is that the consignee data code is evaluated to determine if it equals 'c' indicating carrier type.
💻 Technical Criteria
EXCLUDING C1 carrier is not found in EDI BOL transportation segments
When The system checks Fastway consignee data for carrier information
Then The consignee data code is evaluated to determine if it equals 'C' indicating carrier type
R-GCCCCADD-cbl-01404 Search EDI BOL Transportation Segments
Process Rules
📊 Business Logic Narrative
When the process 'Search EDI BOL Transportation Segments' is invoked, and assuming that edi bol transportation segments exist in the system, when searching for notify party information, the desired outcome is that the system iterates through transportation segments looking for organization id 'n1'.
💻 Technical Criteria
Given EDI BOL transportation segments exist in the system
When Searching for notify party information
Then The system iterates through transportation segments looking for organization ID 'N1'
R-GCCCCADD-cbl-01405 Transportation Segment Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Transportation Segment Found?' is invoked, and assuming that a search for transportation segments has been performed, when checking if transportation segment data is available, the desired outcome is that processing continues if segment found, otherwise notify party processing ends.
💻 Technical Criteria
Given A search for transportation segments has been performed
When Checking if transportation segment data is available
Then Processing continues if segment found, otherwise notify party processing ends
R-GCCCCADD-cbl-01406 Extract Organization ID
Process Rules
📊 Business Logic Narrative
When the process 'Extract Organization ID' is invoked, and assuming that a transportation segment has been found, when processing the segment data, the desired outcome is that the organization id is extracted from the segment for entity type validation.
💻 Technical Criteria
Given A transportation segment has been found
When Processing the segment data
Then The organization ID is extracted from the segment for entity type validation
R-GCCCCADD-cbl-01407 Organization ID = 'N1'?
Decision Rules
📊 Business Logic Narrative
When the process 'Organization ID = 'N1'?' is invoked, and assuming that an organization id has been extracted from transportation segment, when validating the entity type, the desired outcome is that processing continues if organization id equals 'n1', otherwise the segment is skipped.
💻 Technical Criteria
Given An organization ID has been extracted from transportation segment
When Validating the entity type
Then Processing continues if organization ID equals 'N1', otherwise the segment is skipped
R-GCCCCADD-cbl-01408 Extract Entity Name
Process Rules
📊 Business Logic Narrative
When the process 'Extract Entity Name' is invoked, and assuming that a transportation segment with organization id 'n1' has been found, when processing the n1 entity data, the desired outcome is that the entity name is extracted and stored in the n1 segment record.
💻 Technical Criteria
Given A transportation segment with organization ID 'N1' has been found
When Processing the N1 entity data
Then The entity name is extracted and stored in the N1 segment record
R-GCCCCADD-cbl-01410 Get Transportation Address Segment T2
Action Rules
📊 Business Logic Narrative
When the process 'Get Transportation Address Segment T2' is invoked, and assuming that an n1 transportation entity has been processed, when retrieving address information for the entity, the desired outcome is that the system attempts to get the corresponding t2 address segment.
💻 Technical Criteria
Given An N1 transportation entity has been processed
When Retrieving address information for the entity
Then The system attempts to get the corresponding T2 address segment
R-GCCCCADD-cbl-01414 Get Transportation City/State Segment TA
Action Rules
📊 Business Logic Narrative
When the process 'Get Transportation City/State Segment TA' is invoked, and assuming that address processing has been completed or skipped, when retrieving city and state information for the entity, the desired outcome is that the system attempts to get the corresponding ta city/state segment.
💻 Technical Criteria
Given Address processing has been completed or skipped
When Retrieving city and state information for the entity
Then The system attempts to get the corresponding TA city/state segment
R-GCCCCADD-cbl-01420 Get Transportation Contact Segment T3
Action Rules
📊 Business Logic Narrative
When the process 'Get Transportation Contact Segment T3' is invoked, and assuming that city/state processing has been completed or skipped, when retrieving contact information for the entity, the desired outcome is that the system attempts to get the corresponding t3 contact segment.
💻 Technical Criteria
Given City/state processing has been completed or skipped
When Retrieving contact information for the entity
Then The system attempts to get the corresponding T3 contact segment
R-GCCCCADD-cbl-01428 Insert N1 Record into Customs Database
Action Rules
📊 Business Logic Narrative
When the process 'Insert N1 Record into Customs Database' is invoked, and assuming that a validated n1 segment record exists, when inserting the record into the customs database, the desired outcome is that the n1 record is successfully stored in the gcsccs55 customs database table.
💻 Technical Criteria
Given A validated N1 segment record exists
When Inserting the record into the customs database
Then The N1 record is successfully stored in the GCSCCS55 customs database table
R-GCCCCADD-cbl-01429 Skip - Not N1 Entity
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Skip - Not N1 Entity', assuming that a transportation segment has been found with an organization id, when the organization id is not equal to 'n1', the desired outcome is that the segment is skipped and processing continues with the next segment.
💻 Technical Criteria
EXCLUDING A transportation segment has been found with an organization ID
When The organization ID is not equal to 'N1'
Then The segment is skipped and processing continues with the next segment
R-GCCCCADD-cbl-01449 Build 11 Entity Segment
Process Rules
📊 Business Logic Narrative
When the process 'Build 11 Entity Segment' is invoked, and assuming that a customs manifest is being processed and entity type 11 data may exist in edi bol transportation segments, when the system searches for edi bol tn segments with entity type 11 and finds matching data, the desired outcome is that the system creates a customs database record with entity type 11 information including name, address, city/state, and contact details.
💻 Technical Criteria
Given A customs manifest is being processed and entity type 11 data may exist in EDI BOL transportation segments
When The system searches for EDI BOL TN segments with entity type 11 and finds matching data
Then The system creates a customs database record with entity type 11 information including name, address, city/state, and contact details
R-GCCCCADD-cbl-01451 Process NN Entity Data
Process Rules
📊 Business Logic Narrative
When the process 'Process NN Entity Data' is invoked, and assuming that valid nn entity segments exist in edi bol data with corresponding address and contact segments, when the system processes nn entity data and retrieves associated gc and ga address segments, the desired outcome is that the system creates a complete entity record with name from nn segment, address from gc segment, city/state/postal/country from ga segment, and inserts it into customs database.
💻 Technical Criteria
Given Valid NN entity segments exist in EDI BOL data with corresponding address and contact segments
When The system processes NN entity data and retrieves associated GC and GA address segments
Then The system creates a complete entity record with name from NN segment, address from GC segment, city/state/postal/country from GA segment, and inserts it into customs database
R-GCCCCADD-cbl-01452 Build MC Entity Segment
Process Rules
📊 Business Logic Narrative
When the process 'Build MC Entity Segment' is invoked, and assuming that a customs manifest requires motor carrier information and mc entity data may exist in edi bol, when the system searches for edi bol tn segments with entity type mc and finds matching data, the desired outcome is that the system processes the mc entity data and creates a customs database record with motor carrier information.
💻 Technical Criteria
Given A customs manifest requires Motor Carrier information and MC entity data may exist in EDI BOL
When The system searches for EDI BOL TN segments with entity type MC and finds matching data
Then The system processes the MC entity data and creates a customs database record with Motor Carrier information
R-GCCCCADD-cbl-01453 Build OO Entity Segment
Process Rules
📊 Business Logic Narrative
When the process 'Build OO Entity Segment' is invoked, and assuming that a customs manifest may contain other organization information and oo entity data exists in edi bol, when the system searches for edi bol tn segments with entity type oo and finds matching data, the desired outcome is that the system processes the oo entity data and creates a customs database record with other organization information.
💻 Technical Criteria
Given A customs manifest may contain Other Organization information and OO entity data exists in EDI BOL
When The system searches for EDI BOL TN segments with entity type OO and finds matching data
Then The system processes the OO entity data and creates a customs database record with Other Organization information
R-GCCCCADD-cbl-01454 Build FW Entity Segment
Process Rules
📊 Business Logic Narrative
When the process 'Build FW Entity Segment' is invoked, and assuming that a customs manifest may contain freight forwarder information and fw entity data exists in edi bol, when the system searches for edi bol tn segments with entity type fw and finds matching data, the desired outcome is that the system processes the fw entity data and creates a customs database record with freight forwarder information.
💻 Technical Criteria
Given A customs manifest may contain Freight Forwarder information and FW entity data exists in EDI BOL
When The system searches for EDI BOL TN segments with entity type FW and finds matching data
Then The system processes the FW entity data and creates a customs database record with Freight Forwarder information
R-GCCCCADD-cbl-01456 Process NN Entity Data
Decision Rules
📊 Business Logic Narrative
When the process 'Process NN Entity Data' is invoked, and assuming that importer data was previously found and stored during earlier processing and nn entity processing is occurring, when the system encounters nn entity data and importer information already exists from previous processing, the desired outcome is that the system retains the existing importer data, sets importer found flag, and does not clear the importer information.
💻 Technical Criteria
Given Importer data was previously found and stored during earlier processing and NN entity processing is occurring
When The system encounters NN entity data and importer information already exists from previous processing
Then The system retains the existing importer data, sets importer found flag, and does not clear the importer information
R-GCCCCADD-cbl-01457 Check if Corrector EDI has Importer Data
Decision Rules
📊 Business Logic Narrative
When the process 'Check if Corrector EDI has Importer Data' is invoked, and assuming that a corrector edi transaction is being processed, when the system checks for importer data presence in the transaction, the desired outcome is that if importer name exists in temporary storage, proceed to read existing importer data, otherwise skip backup process.
💻 Technical Criteria
Given A corrector EDI transaction is being processed
When The system checks for importer data presence in the transaction
Then If importer name exists in temporary storage, proceed to read existing importer data, otherwise skip backup process
R-GCCCCADD-cbl-01458 Read Existing Importer from Record 55
Action Rules
📊 Business Logic Narrative
When the process 'Read Existing Importer from Record 55' is invoked, and assuming that corrector edi contains importer data and backup process is initiated, when the system searches for existing importer records in sequence 3-24 of record type 55, the desired outcome is that read importer records until found or maximum sequence reached.
💻 Technical Criteria
Given Corrector EDI contains importer data and backup process is initiated
When The system searches for existing importer records in sequence 3-24 of record type 55
Then Read importer records until found or maximum sequence reached
R-GCCCCADD-cbl-01459 Existing Importer Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Existing Importer Found?' is invoked, and assuming that the system has searched for existing importer records in record type 55, when an importer record with entity id 'im' is found during the search, the desired outcome is that proceed with backup process, otherwise skip backup and continue processing.
💻 Technical Criteria
Given The system has searched for existing importer records in record type 55
When An importer record with entity ID 'IM' is found during the search
Then Proceed with backup process, otherwise skip backup and continue processing
R-GCCCCADD-cbl-01460 Backup Original Importer Data to Working Storage
Process Rules
📊 Business Logic Narrative
When the process 'Backup Original Importer Data to Working Storage' is invoked, and assuming that an existing importer record is found in the customs database, when the backup process is initiated, the desired outcome is that copy all importer data fields to working storage variables for later restoration.
💻 Technical Criteria
Given An existing importer record is found in the customs database
When The backup process is initiated
Then Copy all importer data fields to working storage variables for later restoration
R-GCCCCADD-cbl-01461 Store Importer Name
Process Rules
📊 Business Logic Narrative
When the process 'Store Importer Name' is invoked, and assuming that importer backup process is active and existing importer data is available, when the system backs up importer information, the desired outcome is that store the importer name from the customs record to temporary working storage.
💻 Technical Criteria
Given Importer backup process is active and existing importer data is available
When The system backs up importer information
Then Store the importer name from the customs record to temporary working storage
R-GCCCCADD-cbl-01462 Store Business Number
Process Rules
📊 Business Logic Narrative
When the process 'Store Business Number' is invoked, and assuming that importer backup process is active and existing importer data is available, when the system backs up importer business identification, the desired outcome is that store both the business number and business number qualifier from the customs record to temporary working storage.
💻 Technical Criteria
Given Importer backup process is active and existing importer data is available
When The system backs up importer business identification
Then Store both the business number and business number qualifier from the customs record to temporary working storage
R-GCCCCADD-cbl-01464 Store Address Information
Process Rules
📊 Business Logic Narrative
When the process 'Store Address Information' is invoked, and assuming that importer backup process is active and existing importer data is available, when the system backs up importer address details, the desired outcome is that store both address line 1 and address line 2 from the customs record to temporary working storage.
💻 Technical Criteria
Given Importer backup process is active and existing importer data is available
When The system backs up importer address details
Then Store both address line 1 and address line 2 from the customs record to temporary working storage
R-GCCCCADD-cbl-01465 Store City/State/Postal
Process Rules
📊 Business Logic Narrative
When the process 'Store City/State/Postal' is invoked, and assuming that importer backup process is active and existing importer data is available, when the system backs up importer location information, the desired outcome is that store city name, state/province code, postal code, and country code from the customs record to temporary working storage.
💻 Technical Criteria
Given Importer backup process is active and existing importer data is available
When The system backs up importer location information
Then Store city name, state/province code, postal code, and country code from the customs record to temporary working storage
R-GCCCCADD-cbl-01466 Store Contact Information
Process Rules
📊 Business Logic Narrative
When the process 'Store Contact Information' is invoked, and assuming that importer backup process is active and existing importer data is available, when the system backs up importer contact details, the desired outcome is that store contact function code, person name, communication number qualifier, and communication number from the customs record to temporary working storage.
💻 Technical Criteria
Given Importer backup process is active and existing importer data is available
When The system backs up importer contact details
Then Store contact function code, person name, communication number qualifier, and communication number from the customs record to temporary working storage
R-GCCCCADD-cbl-01467 Clear Current Importer Fields
Process Rules
📊 Business Logic Narrative
When the process 'Clear Current Importer Fields' is invoked, and assuming that original importer data has been successfully backed up to working storage, when the backup process completes, the desired outcome is that clear the importer, business number, and business number qualifier fields from the current processing area.
💻 Technical Criteria
Given Original importer data has been successfully backed up to working storage
When The backup process completes
Then Clear the importer, business number, and business number qualifier fields from the current processing area
R-GCCCCADD-cbl-01468 Set Backup Complete Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Backup Complete Flag' is invoked, and assuming that all original importer data has been backed up and current fields cleared, when the backup process finishes, the desired outcome is that set the importer found flag to indicate successful backup completion.
💻 Technical Criteria
Given All original importer data has been backed up and current fields cleared
When The backup process finishes
Then Set the importer found flag to indicate successful backup completion
R-GCCCCADD-cbl-01469 No Backup Required
Decision Rules
📊 Business Logic Narrative
When the process 'No Backup Required' is invoked, and assuming that either no corrector edi importer data exists or no existing importer record is found, when the system evaluates backup requirements, the desired outcome is that skip the backup process and continue with normal processing.
💻 Technical Criteria
Given Either no corrector EDI importer data exists or no existing importer record is found
When The system evaluates backup requirements
Then Skip the backup process and continue with normal processing
R-GCCCCADD-cbl-01501 State/Province Code Present?
Validation Rules
📊 Business Logic Narrative
When the process 'State/Province Code Present?' is invoked, and assuming that an address for canada, usa, or mexico is being validated, when the system checks the state/province code field, the desired outcome is that if state/province code is missing or spaces, generate required state/province error; otherwise proceed with validation.
💻 Technical Criteria
Given An address for Canada, USA, or Mexico is being validated
When The system checks the state/province code field
Then If state/province code is missing or spaces, generate required state/province error; otherwise proceed with validation
R-GCCCCADD-cbl-01506 Generate Required State/Province Error
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Required State/Province Error' is invoked, and assuming that an address for canada, usa, or mexico is missing state/province code, when the validation process checks for required state/province code, the desired outcome is that generate error message indicating state/province code is required.
💻 Technical Criteria
Given An address for Canada, USA, or Mexico is missing state/province code
When The validation process checks for required state/province code
Then Generate error message indicating state/province code is required
R-GCCCCADD-cbl-01513 Build BN Beneficial Owner Segments
Process Rules
📊 Business Logic Narrative
When the process 'Build BN Beneficial Owner Segments' is invoked, and assuming that an edi bol contains bn beneficial owner entity data and tn transportation data exists, when processing bn entity segments from ebsnrsc and ebsnrtd data sources, the desired outcome is that extract entity name from bn type, address information from bt type, city/state/postal/country from by type, set consignee chop code, and create bn entity record with default 'na' address if address is blank.
💻 Technical Criteria
Given An EDI BOL contains BN beneficial owner entity data and TN transportation data exists
When Processing BN entity segments from EBSNRSC and EBSNRTD data sources
Then Extract entity name from BN type, address information from BT type, city/state/postal/country from BY type, set consignee chop code, and create BN entity record with default 'NA' address if address is blank
R-GCCCCADD-cbl-01514 Build C1 Carrier Entity Segments
Decision Rules
📊 Business Logic Narrative
When the process 'Build C1 Carrier Entity Segments' is invoked, and assuming that transportation data exists in ebsnrtd with c1 organization id or fastway consignee data code equals 'c', when processing c1 entity segments from ebsnrtd or shiproot data sources, the desired outcome is that if ebsnrtd data found, extract entity name from tn type, address from t2 type, city/state/postal/country from ta type, and contact from t3 type; otherwise use fastway consignee data with parsed address information and create c1 entity record.
💻 Technical Criteria
Given Transportation data exists in EBSNRTD with C1 organization ID or Fastway consignee data code equals 'C'
When Processing C1 entity segments from EBSNRTD or SHIPROOT data sources
Then If EBSNRTD data found, extract entity name from TN type, address from T2 type, city/state/postal/country from TA type, and contact from T3 type; otherwise use Fastway consignee data with parsed address information and create C1 entity record
R-GCCCCADD-cbl-01515 Build N1 Notify Party Segments
Process Rules
📊 Business Logic Narrative
When the process 'Build N1 Notify Party Segments' is invoked, and assuming that transportation data exists in ebsnrtd with n1 organization id, when processing n1 entity segments from ebsnrtd data source, the desired outcome is that extract entity name from tn type, address information from t2 type, city/state/postal/country from ta type, and contact information from t3 type, then create n1 entity record with default 'na' address if address is blank.
💻 Technical Criteria
Given Transportation data exists in EBSNRTD with N1 organization ID
When Processing N1 entity segments from EBSNRTD data source
Then Extract entity name from TN type, address information from T2 type, city/state/postal/country from TA type, and contact information from T3 type, then create N1 entity record with default 'NA' address if address is blank
R-GCCCCADD-cbl-01517 Build 11 Entity Segments
Process Rules
📊 Business Logic Narrative
When the process 'Build 11 Entity Segments' is invoked, and assuming that transportation data exists in ebsnrtd with 11 organization id, when processing 11 entity segments from ebsnrtd data source, the desired outcome is that extract entity name from tn type, address information from t2 type, city/state/postal/country from ta type, and contact information from t3 type, then create 11 entity record with default 'na' address if address is blank.
💻 Technical Criteria
Given Transportation data exists in EBSNRTD with 11 organization ID
When Processing 11 entity segments from EBSNRTD data source
Then Extract entity name from TN type, address information from T2 type, city/state/postal/country from TA type, and contact information from T3 type, then create 11 entity record with default 'NA' address if address is blank
R-GCCCCADD-cbl-01519 Build MC Entity Segments
Process Rules
📊 Business Logic Narrative
When the process 'Build MC Entity Segments' is invoked, and assuming that transportation data exists in ebsnrtd with mc organization id, when processing mc entity segments from ebsnrtd data source, the desired outcome is that extract entity name from tn type, address information from t2 type, city/state/postal/country from ta type, and contact information from t3 type, then create mc entity record with default 'na' address if address is blank.
💻 Technical Criteria
Given Transportation data exists in EBSNRTD with MC organization ID
When Processing MC entity segments from EBSNRTD data source
Then Extract entity name from TN type, address information from T2 type, city/state/postal/country from TA type, and contact information from T3 type, then create MC entity record with default 'NA' address if address is blank
R-GCCCCADD-cbl-01520 Build OO Entity Segments
Process Rules
📊 Business Logic Narrative
When the process 'Build OO Entity Segments' is invoked, and assuming that transportation data exists in ebsnrtd with oo organization id, when processing oo entity segments from ebsnrtd data source, the desired outcome is that extract entity name from tn type, address information from t2 type, city/state/postal/country from ta type, and contact information from t3 type, then create oo entity record with default 'na' address if address is blank.
💻 Technical Criteria
Given Transportation data exists in EBSNRTD with OO organization ID
When Processing OO entity segments from EBSNRTD data source
Then Extract entity name from TN type, address information from T2 type, city/state/postal/country from TA type, and contact information from T3 type, then create OO entity record with default 'NA' address if address is blank
R-GCCCCADD-cbl-01521 Build FW Entity Segments
Process Rules
📊 Business Logic Narrative
When the process 'Build FW Entity Segments' is invoked, and assuming that transportation data exists in ebsnrtd with fw organization id, when processing fw entity segments from ebsnrtd data source, the desired outcome is that extract entity name from tn type, address information from t2 type, city/state/postal/country from ta type, and contact information from t3 type, then create fw entity record with default 'na' address if address is blank.
💻 Technical Criteria
Given Transportation data exists in EBSNRTD with FW organization ID
When Processing FW entity segments from EBSNRTD data source
Then Extract entity name from TN type, address information from T2 type, city/state/postal/country from TA type, and contact information from T3 type, then create FW entity record with default 'NA' address if address is blank
R-GCCCCADD-cbl-01522 Build IM Importer Segments
Decision Rules
📊 Business Logic Narrative
When the process 'Build IM Importer Segments' is invoked, and assuming that edi bol contains im importer entity data or au table contains importer information and no existing importer record found in sequence 55, when processing im entity segments from ebsnrsc or au table data sources, the desired outcome is that if edi data exists, extract importer name, business number qualifier, business number, address, and contact information; if only au table data exists, create importer record from au table with business number qualifier 'm5' and set csa indicator on; if both au and sequence 55 importer found with business number qualifier 'bn' or blank, turn csa indicator off.
💻 Technical Criteria
Given EDI BOL contains IM importer entity data or AU table contains importer information and no existing importer record found in sequence 55
When Processing IM entity segments from EBSNRSC or AU table data sources
Then If EDI data exists, extract importer name, business number qualifier, business number, address, and contact information; if only AU table data exists, create importer record from AU table with business number qualifier 'M5' and set CSA indicator on; if both AU and sequence 55 importer found with business number qualifier 'BN' or blank, turn CSA indicator off
R-GCCCCADD-cbl-01549 Entity has State/Province Code?
Validation Rules
📊 Business Logic Narrative
When the process 'Entity has State/Province Code?' is invoked, and assuming that an entity has a state or province code that needs country code assignment, when the system processes the entity's location information, the desired outcome is that the system should check if the entity has a valid state or province code before proceeding with country lookup.
💻 Technical Criteria
Given An entity has a state or province code that needs country code assignment
When The system processes the entity's location information
Then The system should check if the entity has a valid state or province code before proceeding with country lookup
R-GCCCCADD-cbl-01577 Entity ID is Shipper/Consignee/Broker?
Policy Rules
📊 Business Logic Narrative
When the process 'Entity ID is Shipper/Consignee/Broker?' is invoked, and assuming that an extended record (sequence > 2) contains an entity identification code, when the entity type is shipper (sh), consignee (cn), or customs broker (cb), the desired outcome is that generate an invalid entity type error message as these types are reserved for specific record positions.
💻 Technical Criteria
Given An extended record (sequence > 2) contains an entity identification code
When The entity type is shipper (SH), consignee (CN), or customs broker (CB)
Then Generate an invalid entity type error message as these types are reserved for specific record positions
R-GCCCCADD-cbl-01635 Build SS Table Key with Port Code
Computation Rules
📊 Business Logic Narrative
When the process 'Build SS Table Key with Port Code' is invoked, and assuming that canadian customs code from manifest station processing, when the system builds ss table lookup key, the desired outcome is that construct port code with 'c' prefix plus last 3 digits of canadian customs code, and combine with appropriate scac code.
💻 Technical Criteria
Given Canadian customs code from manifest station processing
When The system builds SS table lookup key
Then Construct port code with 'C' prefix plus last 3 digits of Canadian customs code, and combine with appropriate SCAC code
R-GCCCCADD-cbl-01637 Lookup SS Table Entry
Action Rules
📊 Business Logic Narrative
When the process 'Lookup SS Table Entry' is invoked, and assuming that a constructed ss table key with port code and scac code, when the system performs ss table lookup, the desired outcome is that retrieve the ss table entry containing haulage agreement and billing information.
💻 Technical Criteria
Given A constructed SS table key with port code and SCAC code
When The system performs SS table lookup
Then Retrieve the SS table entry containing haulage agreement and billing information
R-GCCCCADD-cbl-02236 Build SS Table Key with Port Code
Computation Rules
📊 Business Logic Narrative
When the process 'Build SS Table Key with Port Code' is invoked, and assuming that a shipment requiring ss table lookup, when ss table key is constructed, the desired outcome is that build key with 'c' prefix plus 3-digit canadian customs code from manifest station, and determine scac code for lookup.
💻 Technical Criteria
Given A shipment requiring SS table lookup
When SS table key is constructed
Then Build key with 'C' prefix plus 3-digit Canadian customs code from manifest station, and determine SCAC code for lookup
R-GCCCCADD-cbl-02598 Build SS Table Lookup Key: - Port Code from Customs Code - SCAC Code
Computation Rules
📊 Business Logic Narrative
When the process 'Build SS Table Lookup Key: - Port Code from Customs Code - SCAC Code' is invoked, and assuming that a haulage movement with carrier information and manifest customs code, when the system prepares to lookup haulage agreement information, the desired outcome is that build ss table key using 'c' prefix plus last 3 digits of canadian customs code for port, and either haulage rights scac or default '6105' for carrier.
💻 Technical Criteria
Given A haulage movement with carrier information and manifest customs code
When The system prepares to lookup haulage agreement information
Then Build SS table key using 'C' prefix plus last 3 digits of Canadian customs code for port, and either haulage rights SCAC or default '6105' for carrier
R-GCCCCADD-cbl-02599 Lookup Haulage Agreement in SS Table
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Haulage Agreement in SS Table' is invoked, and assuming that a constructed ss table lookup key with port code and scac information, when the system queries the ss (haulage agreement) table, the desired outcome is that retrieve haulage agreement record if found, otherwise prepare for default processing.
💻 Technical Criteria
Given A constructed SS table lookup key with port code and SCAC information
When The system queries the SS (Haulage Agreement) table
Then Retrieve haulage agreement record if found, otherwise prepare for default processing
R-GCCCCADD-cbl-02821 Extract Port Code from Customs Code
Computation Rules
📊 Business Logic Narrative
When the process 'Extract Port Code from Customs Code' is invoked, and assuming that a canadian customs code is available from the manifest customs station lookup, when the system needs to construct the ss table port code, the desired outcome is that the port code should be set to 'c' prefix followed by the last 3 digits of the canadian customs code.
💻 Technical Criteria
Given A Canadian customs code is available from the manifest customs station lookup
When The system needs to construct the SS table port code
Then The port code should be set to 'C' prefix followed by the last 3 digits of the Canadian customs code
R-GCCCCADD-cbl-02824 Construct Complete SS Table Key
Computation Rules
📊 Business Logic Narrative
When the process 'Construct Complete SS Table Key' is invoked, and assuming that the port code and scac code have been determined, when the system constructs the complete ss table key, the desired outcome is that the ss table key should combine the port code and scac code into the final lookup key format.
💻 Technical Criteria
Given The port code and SCAC code have been determined
When The system constructs the complete SS table key
Then The SS table key should combine the port code and SCAC code into the final lookup key format
R-GCCCCADD-cbl-02253 Build SS Table Key with Port Code
Computation Rules
📊 Business Logic Narrative
When the process 'Build SS Table Key with Port Code' is invoked, and assuming that canadian customs code from manifest station lookup, when the system builds ss table key, the desired outcome is that construct key with 'c' prefix and last 3 digits of canadian customs code.
💻 Technical Criteria
Given Canadian customs code from manifest station lookup
When The system builds SS table key
Then Construct key with 'C' prefix and last 3 digits of Canadian customs code
R-GCCCCADD-cbl-02255 Lookup SS Table Entry
Action Rules
📊 Business Logic Narrative
When the process 'Lookup SS Table Entry' is invoked, and assuming that a constructed ss table key with port code and scac, when the system performs ss table lookup, the desired outcome is that retrieve station/scac data for haulage processing.
💻 Technical Criteria
Given A constructed SS table key with port code and SCAC
When The system performs SS table lookup
Then Retrieve station/SCAC data for haulage processing
R-GCCCCADD-cbl-01647 Build SS Table Key with Port Code and SCAC
Computation Rules
📊 Business Logic Narrative
When the process 'Build SS Table Key with Port Code and SCAC' is invoked, and assuming that a validated haulage rights scac and canadian customs port code, when the system needs to lookup haulage agreement details, the desired outcome is that the system should build the ss table key using 'c' prefix, 3-digit port code, and either the haulage scac or default '6105' if scac is spaces.
💻 Technical Criteria
Given A validated haulage rights SCAC and Canadian customs port code
When The system needs to lookup haulage agreement details
Then The system should build the SS table key using 'C' prefix, 3-digit port code, and either the haulage SCAC or default '6105' if SCAC is spaces
R-GCCCCADD-cbl-01648 Lookup Haulage Agreement in SS Table
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Haulage Agreement in SS Table' is invoked, and assuming that a constructed ss table key with port code and carrier scac, when the system looks up the haulage agreement in the ss table, the desired outcome is that the system should retrieve agreement details if found, or proceed with default handling if not found.
💻 Technical Criteria
Given A constructed SS table key with port code and carrier SCAC
When The system looks up the haulage agreement in the SS table
Then The system should retrieve agreement details if found, or proceed with default handling if not found
R-GCCCCADD-cbl-01662 Build SS Table Key with Port Code and SCAC
Computation Rules
📊 Business Logic Narrative
When the process 'Build SS Table Key with Port Code and SCAC' is invoked, and assuming that a canadian customs port code and scac code, when the system builds ss table lookup key, the desired outcome is that construct key with 'c' prefix plus last 3 digits of port code and either haulage rights scac or default '6105' if scac is spaces.
💻 Technical Criteria
Given A Canadian customs port code and SCAC code
When The system builds SS table lookup key
Then Construct key with 'C' prefix plus last 3 digits of port code and either haulage rights SCAC or default '6105' if SCAC is spaces
R-GCCCCADD-cbl-01674 Check SS Table for Haulage Agreement
Action Rules
📊 Business Logic Narrative
When the process 'Check SS Table for Haulage Agreement' is invoked, and assuming that a canadian customs port code and either haulage rights scac or default '6105' carrier code, when the system performs a lookup in the ss table using the constructed key, the desired outcome is that the system retrieves haulage agreement details including automated carrier flag and haulage agreement status.
💻 Technical Criteria
Given A Canadian customs port code and either haulage rights SCAC or default '6105' carrier code
When The system performs a lookup in the SS table using the constructed key
Then The system retrieves haulage agreement details including automated carrier flag and haulage agreement status
R-GCCCCADD-cbl-01703 Get Importer N1 Segment from EDI BOL
Action Rules
📊 Business Logic Narrative
When the process 'Get Importer N1 Segment from EDI BOL' is invoked, and assuming that an edi bol key exists for the shipment, when the system searches for importer n1 segment with entity type 'im', the desired outcome is that the system retrieves importer name and identification details if found.
💻 Technical Criteria
Given An EDI BOL key exists for the shipment
When The system searches for importer N1 segment with entity type 'IM'
Then The system retrieves importer name and identification details if found
R-GCCCCADD-cbl-01704 Check Entity ID is 'IM'
Validation Rules
📊 Business Logic Narrative
When the process 'Check Entity ID is 'IM'' is invoked, and assuming that an n1 segment has been retrieved from edi bol, when the system checks the entity id code, the desired outcome is that processing continues only if entity id equals 'im' for importer.
💻 Technical Criteria
Given An N1 segment has been retrieved from EDI BOL
When The system checks the entity ID code
Then Processing continues only if entity ID equals 'IM' for importer
R-GCCCCADD-cbl-01705 Is Corrector EDI with Backup Data?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Corrector EDI with Backup Data?' is invoked, and assuming that importer data exists in temporary backup storage and edi bol contains importer information, when the system processes a corrector edi transaction, the desired outcome is that the system uses the backup importer data instead of processing new edi data.
💻 Technical Criteria
Given Importer data exists in temporary backup storage and EDI BOL contains importer information
When The system processes a corrector EDI transaction
Then The system uses the backup importer data instead of processing new EDI data
R-GCCCCADD-cbl-01706 Restore Backup Importer Data
Process Rules
📊 Business Logic Narrative
When the process 'Restore Backup Importer Data' is invoked, and assuming that backup importer data exists in temporary storage, when a corrector edi requires restoration of previous importer information, the desired outcome is that the system restores importer name, business number, qualifier, address, and contact information from backup.
💻 Technical Criteria
Given Backup importer data exists in temporary storage
When A corrector EDI requires restoration of previous importer information
Then The system restores importer name, business number, qualifier, address, and contact information from backup
R-GCCCCADD-cbl-01707 Extract Importer Information
Process Rules
📊 Business Logic Narrative
When the process 'Extract Importer Information' is invoked, and assuming that a valid importer n1 segment exists in edi bol, when the system processes new importer information, the desired outcome is that the system extracts importer name, business number qualifier, and business number for customs processing.
💻 Technical Criteria
Given A valid importer N1 segment exists in EDI BOL
When The system processes new importer information
Then The system extracts importer name, business number qualifier, and business number for customs processing
R-GCCCCADD-cbl-01708 Get Importer N3 Address Segment
Action Rules
📊 Business Logic Narrative
When the process 'Get Importer N3 Address Segment' is invoked, and assuming that an importer n1 segment has been processed, when the system searches for corresponding n3 address segment, the desired outcome is that the system retrieves address line information for the importer.
💻 Technical Criteria
Given An importer N1 segment has been processed
When The system searches for corresponding N3 address segment
Then The system retrieves address line information for the importer
R-GCCCCADD-cbl-01710 Get Importer N4 City/State Segment
Action Rules
📊 Business Logic Narrative
When the process 'Get Importer N4 City/State Segment' is invoked, and assuming that an importer address has been processed, when the system searches for corresponding n4 city/state segment, the desired outcome is that the system retrieves city, state, postal code, and country information for the importer.
💻 Technical Criteria
Given An importer address has been processed
When The system searches for corresponding N4 city/state segment
Then The system retrieves city, state, postal code, and country information for the importer
R-GCCCCADD-cbl-01711 Process City/State/Postal Information
Process Rules
📊 Business Logic Narrative
When the process 'Process City/State/Postal Information' is invoked, and assuming that importer n4 city/state segment data is available, when the system processes location information, the desired outcome is that the system sets city name, state/province code, postal code, and country code for the importer.
💻 Technical Criteria
Given Importer N4 city/state segment data is available
When The system processes location information
Then The system sets city name, state/province code, postal code, and country code for the importer
R-GCCCCADD-cbl-01712 Clear Contact Information
Process Rules
📊 Business Logic Narrative
When the process 'Clear Contact Information' is invoked, and assuming that importer location information has been processed, when the system finalizes importer segment data, the desired outcome is that the system clears all contact information fields for the importer record.
💻 Technical Criteria
Given Importer location information has been processed
When The system finalizes importer segment data
Then The system clears all contact information fields for the importer record
R-GCCCCADD-cbl-01713 Validate N1 Segment Data
Validation Rules
📊 Business Logic Narrative
When the process 'Validate N1 Segment Data' is invoked, and assuming that importer segment data has been assembled, when the system validates the n1 segment information, the desired outcome is that the system ensures required fields are present and data meets customs requirements.
💻 Technical Criteria
Given Importer segment data has been assembled
When The system validates the N1 segment information
Then The system ensures required fields are present and data meets customs requirements
R-GCCCCADD-cbl-01715 Handle Importer Data Deletion
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Handle Importer Data Deletion', assuming that a corrector edi transaction does not contain importer information, when previous importer data existed for the shipment, the desired outcome is that the system processes importer data deletion while preserving backup data if available.
💻 Technical Criteria
EXCLUDING A corrector EDI transaction does not contain importer information
When Previous importer data existed for the shipment
Then The system processes importer data deletion while preserving backup data if available
R-GCCCCADD-cbl-01716 Retain Backup Data if Available
Process Rules
📊 Business Logic Narrative
When the process 'Retain Backup Data if Available' is invoked, and assuming that corrector edi removes importer data and backup importer data exists, when the system processes importer data deletion, the desired outcome is that the system retains and uses backup importer data instead of clearing all importer information.
💻 Technical Criteria
Given Corrector EDI removes importer data and backup importer data exists
When The system processes importer data deletion
Then The system retains and uses backup importer data instead of clearing all importer information
R-GCCCCADD-cbl-01717 Clear Importer Fields
Process Rules
📊 Business Logic Narrative
When the process 'Clear Importer Fields' is invoked, and assuming that corrector edi removes importer data and no backup data exists, when the system processes importer data deletion, the desired outcome is that the system clears importer name and related fields from the customs record.
💻 Technical Criteria
Given Corrector EDI removes importer data and no backup data exists
When The system processes importer data deletion
Then The system clears importer name and related fields from the customs record
R-GCCCCADD-cbl-01718 Reset CSA Indicator
Policy Rules
📊 Business Logic Narrative
When the process 'Reset CSA Indicator' is invoked, and assuming that au table contains importer data and edi bol contains importer data with business number qualifier 'bn' or spaces, when the system processes importer information from both sources, the desired outcome is that the system turns off the csa indicator to prevent duplicate processing.
💻 Technical Criteria
Given AU table contains importer data and EDI BOL contains importer data with business number qualifier 'BN' or spaces
When The system processes importer information from both sources
Then The system turns off the CSA indicator to prevent duplicate processing
R-GCCCCADD-cbl-02266 Initialize Importer Segment
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Importer Segment' is invoked, and assuming that the system is ready to process importer information, when importer processing begins, the desired outcome is that the importer segment workspace is cleared and initialized to spaces.
💻 Technical Criteria
Given The system is ready to process importer information
When Importer processing begins
Then The importer segment workspace is cleared and initialized to spaces
R-GCCCCADD-cbl-02267 Get EDI BOL N1 Segment for Importer
Action Rules
📊 Business Logic Narrative
When the process 'Get EDI BOL N1 Segment for Importer' is invoked, and assuming that an edi bol key exists and importer entity type is defined, when the system searches for importer n1 segment in edi bol data, the desired outcome is that the system retrieves the importer entity segment if it exists or sets not found status.
💻 Technical Criteria
Given An EDI BOL key exists and importer entity type is defined
When The system searches for importer N1 segment in EDI BOL data
Then The system retrieves the importer entity segment if it exists or sets not found status
R-GCCCCADD-cbl-02268 Check if Corrector EDI Has Backup Data
Decision Rules
📊 Business Logic Narrative
When the process 'Check if Corrector EDI Has Backup Data' is invoked, and assuming that importer n1 segment is found in edi bol, when the system checks for existing backup importer data, the desired outcome is that the system identifies whether backup importer name data is available.
💻 Technical Criteria
Given Importer N1 segment is found in EDI BOL
When The system checks for existing backup importer data
Then The system identifies whether backup importer name data is available
R-GCCCCADD-cbl-02269 Restore Original Importer Data
Process Rules
📊 Business Logic Narrative
When the process 'Restore Original Importer Data' is invoked, and assuming that backup importer data exists from previous processing, when the system needs to preserve original importer information, the desired outcome is that the system restores all original importer details including name, business number, qualifier, csa indicator, address, city, province, postal code, country, and contact information.
💻 Technical Criteria
Given Backup importer data exists from previous processing
When The system needs to preserve original importer information
Then The system restores all original importer details including name, business number, qualifier, CSA indicator, address, city, province, postal code, country, and contact information
R-GCCCCADD-cbl-02270 Extract Importer Entity Information
Process Rules
📊 Business Logic Narrative
When the process 'Extract Importer Entity Information' is invoked, and assuming that importer n1 segment is found and no backup data exists, when the system processes the importer entity information, the desired outcome is that the system extracts importer name, business number qualifier, business number, and sets the importer found flag.
💻 Technical Criteria
Given Importer N1 segment is found and no backup data exists
When The system processes the importer entity information
Then The system extracts importer name, business number qualifier, business number, and sets the importer found flag
R-GCCCCADD-cbl-02271 Set Entity ID to 'IM'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Entity ID to 'IM'' is invoked, and assuming that importer information is being processed from edi bol, when the system sets up the importer entity record, the desired outcome is that the entity id is set to 'im' to identify this as an importer record.
💻 Technical Criteria
Given Importer information is being processed from EDI BOL
When The system sets up the importer entity record
Then The entity ID is set to 'IM' to identify this as an importer record
R-GCCCCADD-cbl-02272 Extract Importer Name
Process Rules
📊 Business Logic Narrative
When the process 'Extract Importer Name' is invoked, and assuming that importer n1 segment contains business name information, when the system processes importer entity details, the desired outcome is that the importer business name is extracted and stored in both customs record and segment fields.
💻 Technical Criteria
Given Importer N1 segment contains business name information
When The system processes importer entity details
Then The importer business name is extracted and stored in both customs record and segment fields
R-GCCCCADD-cbl-02273 Extract Business Number Qualifier
Process Rules
📊 Business Logic Narrative
When the process 'Extract Business Number Qualifier' is invoked, and assuming that importer n1 segment contains business number qualifier, when the system processes importer identification details, the desired outcome is that the business number qualifier is extracted and stored in both customs record and segment fields.
💻 Technical Criteria
Given Importer N1 segment contains business number qualifier
When The system processes importer identification details
Then The business number qualifier is extracted and stored in both customs record and segment fields
R-GCCCCADD-cbl-02274 Extract Business Number
Process Rules
📊 Business Logic Narrative
When the process 'Extract Business Number' is invoked, and assuming that importer n1 segment contains business number information, when the system processes importer identification details, the desired outcome is that the business number is extracted and stored in both customs record and segment fields.
💻 Technical Criteria
Given Importer N1 segment contains business number information
When The system processes importer identification details
Then The business number is extracted and stored in both customs record and segment fields
R-GCCCCADD-cbl-02275 Set CSA Indicator
Process Rules
📊 Business Logic Narrative
When the process 'Set CSA Indicator' is invoked, and assuming that importer entity information has been successfully extracted from edi bol, when the system completes importer entity processing, the desired outcome is that the importer found flag is set to indicate successful processing.
💻 Technical Criteria
Given Importer entity information has been successfully extracted from EDI BOL
When The system completes importer entity processing
Then The importer found flag is set to indicate successful processing
R-GCCCCADD-cbl-02276 Get EDI BOL N3 Address Segment
Action Rules
📊 Business Logic Narrative
When the process 'Get EDI BOL N3 Address Segment' is invoked, and assuming that importer entity has been processed and edi bol key exists, when the system searches for importer address information, the desired outcome is that the system retrieves the n3 address segment if it exists or sets not found status.
💻 Technical Criteria
Given Importer entity has been processed and EDI BOL key exists
When The system searches for importer address information
Then The system retrieves the N3 address segment if it exists or sets not found status
R-GCCCCADD-cbl-02278 Set Default Address to 'NA'
Validation Rules
📊 Business Logic Narrative
When the process 'Set Default Address to 'NA'' is invoked, and assuming that no importer n3 address segment is found in edi bol, when the system needs to populate address information, the desired outcome is that address line 1 is set to 'na' and all other address fields are cleared.
💻 Technical Criteria
Given No importer N3 address segment is found in EDI BOL
When The system needs to populate address information
Then Address line 1 is set to 'NA' and all other address fields are cleared
R-GCCCCADD-cbl-02279 Get EDI BOL N4 City/State Segment
Action Rules
📊 Business Logic Narrative
When the process 'Get EDI BOL N4 City/State Segment' is invoked, and assuming that importer address processing is in progress and edi bol key exists, when the system searches for importer city and state information, the desired outcome is that the system retrieves the n4 city/state segment if it exists or sets not found status.
💻 Technical Criteria
Given Importer address processing is in progress and EDI BOL key exists
When The system searches for importer city and state information
Then The system retrieves the N4 city/state segment if it exists or sets not found status
R-GCCCCADD-cbl-02280 Extract City Name, Extract State/Province Code, Extract Postal Code, Extract Country Code
Process Rules
📊 Business Logic Narrative
When the process 'Extract City Name, Extract State/Province Code, Extract Postal Code, Extract Country Code' is invoked, and assuming that importer n4 city/state segment is found in edi bol, when the system processes importer geographic information, the desired outcome is that city name, state/province code, postal code, and country code are extracted from the segment.
💻 Technical Criteria
Given Importer N4 city/state segment is found in EDI BOL
When The system processes importer geographic information
Then City name, state/province code, postal code, and country code are extracted from the segment
R-GCCCCADD-cbl-02281 Clear City/State Data
Process Rules
📊 Business Logic Narrative
When the process 'Clear City/State Data' is invoked, and assuming that no importer n4 city/state segment is found in edi bol, when the system needs to handle missing geographic information, the desired outcome is that all city, state, postal code, and country fields are cleared.
💻 Technical Criteria
Given No importer N4 city/state segment is found in EDI BOL
When The system needs to handle missing geographic information
Then All city, state, postal code, and country fields are cleared
R-GCCCCADD-cbl-02282 Clear Contact Information
Process Rules
📊 Business Logic Narrative
When the process 'Clear Contact Information' is invoked, and assuming that importer geographic information processing is complete, when the system finalizes importer segment data, the desired outcome is that all contact information fields including contact function code, name, communication qualifier, and communication number are cleared.
💻 Technical Criteria
Given Importer geographic information processing is complete
When The system finalizes importer segment data
Then All contact information fields including contact function code, name, communication qualifier, and communication number are cleared
R-GCCCCADD-cbl-02283 Validate Importer Segment Data
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Importer Segment Data' is invoked, and assuming that all importer segment data has been populated, when the system validates the importer record, the desired outcome is that the system performs validation checks on entity id, name, address, geographic, and contact information fields.
💻 Technical Criteria
Given All importer segment data has been populated
When The system validates the importer record
Then The system performs validation checks on entity ID, name, address, geographic, and contact information fields
R-GCCCCADD-cbl-02284 Store Importer in Customs Record
Action Rules
📊 Business Logic Narrative
When the process 'Store Importer in Customs Record' is invoked, and assuming that importer segment data has been validated successfully, when the system stores the importer information, the desired outcome is that the importer segment is added to the customs record array for database storage.
💻 Technical Criteria
Given Importer segment data has been validated successfully
When The system stores the importer information
Then The importer segment is added to the customs record array for database storage
R-GCCCCADD-cbl-02285 Clear Importer Data but Keep Backup
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Clear Importer Data but Keep Backup', assuming that no importer n1 segment is found in edi bol and backup importer data exists and importer has not been found in segment 55, when the system processes a corrector edi that removes importer information, the desired outcome is that the system restores backup importer data and sets appropriate processing flags, but if no backup exists and no segment 55 importer found, then importer fields are cleared.
💻 Technical Criteria
EXCLUDING No importer N1 segment is found in EDI BOL and backup importer data exists and importer has not been found in segment 55
When The system processes a corrector EDI that removes importer information
Then The system restores backup importer data and sets appropriate processing flags, but if no backup exists and no segment 55 importer found, then importer fields are cleared
R-GCCCCADD-cbl-02286 Set CSA Indicator
Policy Rules
📊 Business Logic Narrative
When the process 'Set CSA Indicator' is invoked, and assuming that au table importer is found and segment 55 importer is found and business number qualifier is 'bn' or spaces, when the system processes multiple importer data sources, the desired outcome is that the csa indicator is turned off to prevent conflicts between importer sources.
💻 Technical Criteria
Given AU table importer is found and segment 55 importer is found and business number qualifier is 'BN' or spaces
When The system processes multiple importer data sources
Then The CSA indicator is turned off to prevent conflicts between importer sources
R-GCCCCADD-cbl-02617 Start Importer Segment Building
Process Rules
📊 Business Logic Narrative
When the process 'Start Importer Segment Building' is invoked, and assuming that the system needs to process importer information from edi bol, when importer segment building is initiated, the desired outcome is that the importer segment data structure is cleared and ready for processing.
💻 Technical Criteria
Given The system needs to process importer information from EDI BOL
When Importer segment building is initiated
Then The importer segment data structure is cleared and ready for processing
R-GCCCCADD-cbl-02618 Initialize Importer Segment
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Importer Segment' is invoked, and assuming that importer segment processing is starting, when the importer segment needs to be initialized, the desired outcome is that all importer segment fields are cleared to spaces.
💻 Technical Criteria
Given Importer segment processing is starting
When The importer segment needs to be initialized
Then All importer segment fields are cleared to spaces
R-GCCCCADD-cbl-02619 Get Importer N1 Segment from EDI BOL
Action Rules
📊 Business Logic Narrative
When the process 'Get Importer N1 Segment from EDI BOL' is invoked, and assuming that an edi bol key exists for the shipment, when the system needs importer information, the desired outcome is that the system retrieves the n1 segment with entity type 'im' from the edi bol.
💻 Technical Criteria
Given An EDI BOL key exists for the shipment
When The system needs importer information
Then The system retrieves the N1 segment with entity type 'IM' from the EDI BOL
R-GCCCCADD-cbl-02620 EDI BOL Importer Data Found?
Validation Rules
📊 Business Logic Narrative
When the process 'EDI BOL Importer Data Found?' is invoked, and assuming that a request has been made to retrieve importer data from edi bol, when the system checks the retrieval status, the desired outcome is that the system determines if importer data is available or if corrector edi deleted the importer.
💻 Technical Criteria
Given A request has been made to retrieve importer data from EDI BOL
When The system checks the retrieval status
Then The system determines if importer data is available or if corrector EDI deleted the importer
R-GCCCCADD-cbl-02621 Extract Entity ID Code
Process Rules
📊 Business Logic Narrative
When the process 'Extract Entity ID Code' is invoked, and assuming that importer data has been retrieved from edi bol, when the system processes the n1 segment, the desired outcome is that the entity identification code is extracted and made available for validation.
💻 Technical Criteria
Given Importer data has been retrieved from EDI BOL
When The system processes the N1 segment
Then The entity identification code is extracted and made available for validation
R-GCCCCADD-cbl-02622 Entity ID = 'IM' Importer?
Validation Rules
📊 Business Logic Narrative
When the process 'Entity ID = 'IM' Importer?' is invoked, and assuming that an entity identification code has been extracted from the n1 segment, when the system validates the entity type, the desired outcome is that the system confirms if the entity id equals 'im' indicating an importer.
💻 Technical Criteria
Given An entity identification code has been extracted from the N1 segment
When The system validates the entity type
Then The system confirms if the entity ID equals 'IM' indicating an importer
R-GCCCCADD-cbl-02623 Backup Importer Data Exists?
Decision Rules
📊 Business Logic Narrative
When the process 'Backup Importer Data Exists?' is invoked, and assuming that a valid importer entity has been found in edi bol, when the system checks for existing backup data, the desired outcome is that the system determines if backup importer name data is available from earlier processing.
💻 Technical Criteria
Given A valid importer entity has been found in EDI BOL
When The system checks for existing backup data
Then The system determines if backup importer name data is available from earlier processing
R-GCCCCADD-cbl-02624 Restore Backup Importer Data
Process Rules
📊 Business Logic Narrative
When the process 'Restore Backup Importer Data' is invoked, and assuming that backup importer data exists from previous processing, when the system needs to populate importer information, the desired outcome is that all backup importer details including name, business number, address, and contact information are restored to the current segment.
💻 Technical Criteria
Given Backup importer data exists from previous processing
When The system needs to populate importer information
Then All backup importer details including name, business number, address, and contact information are restored to the current segment
R-GCCCCADD-cbl-02625 Process New Importer N1 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Process New Importer N1 Segment' is invoked, and assuming that valid importer data exists in edi bol and no backup data is available, when the system processes the importer information, the desired outcome is that the system creates new importer customs data and processes associated address and contact segments.
💻 Technical Criteria
Given Valid importer data exists in EDI BOL and no backup data is available
When The system processes the importer information
Then The system creates new importer customs data and processes associated address and contact segments
R-GCCCCADD-cbl-02626 Create Importer N1 for Customs
Process Rules
📊 Business Logic Narrative
When the process 'Create Importer N1 for Customs' is invoked, and assuming that new importer data is being processed from edi bol, when the system creates customs importer information, the desired outcome is that the importer entity id code is set and importer found flag is marked.
💻 Technical Criteria
Given New importer data is being processed from EDI BOL
When The system creates customs importer information
Then The importer entity ID code is set and importer found flag is marked
R-GCCCCADD-cbl-02627 Set Importer Name and Business Number
Process Rules
📊 Business Logic Narrative
When the process 'Set Importer Name and Business Number' is invoked, and assuming that importer n1 segment data is available from edi bol, when the system populates importer identification, the desired outcome is that the importer name is set from n1 name field and business number is set from n1 id code field.
💻 Technical Criteria
Given Importer N1 segment data is available from EDI BOL
When The system populates importer identification
Then The importer name is set from N1 name field and business number is set from N1 ID code field
R-GCCCCADD-cbl-02628 Set Business Number Qualifier
Process Rules
📊 Business Logic Narrative
When the process 'Set Business Number Qualifier' is invoked, and assuming that importer business number has been set, when the system processes business number qualification, the desired outcome is that the business number qualifier is set from n1 id code qualifier field for both customs and segment data.
💻 Technical Criteria
Given Importer business number has been set
When The system processes business number qualification
Then The business number qualifier is set from N1 ID code qualifier field for both customs and segment data
R-GCCCCADD-cbl-02629 Mark Importer Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Mark Importer Found Flag' is invoked, and assuming that importer identification information has been processed, when the system updates processing status, the desired outcome is that the importer found flag is set to indicate successful processing.
💻 Technical Criteria
Given Importer identification information has been processed
When The system updates processing status
Then The importer found flag is set to indicate successful processing
R-GCCCCADD-cbl-02630 Check CSA Indicator Logic
Decision Rules
📊 Business Logic Narrative
When the process 'Check CSA Indicator Logic' is invoked, and assuming that importer information has been processed, when the system evaluates csa indicator requirements, the desired outcome is that the system checks if au importer data exists, s55 importer data exists, and business number qualifier is valid.
💻 Technical Criteria
Given Importer information has been processed
When The system evaluates CSA indicator requirements
Then The system checks if AU importer data exists, S55 importer data exists, and business number qualifier is valid
R-GCCCCADD-cbl-02631 AU Importer Found AND S55 Importer Found AND Business Number Qualifier Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'AU Importer Found AND S55 Importer Found AND Business Number Qualifier Valid?' is invoked, and assuming that importer data has been processed from multiple sources, when the system evaluates csa indicator status, the desired outcome is that the system verifies if au importer is found and s55 importer is found and business number qualifier is 'bn' or spaces.
💻 Technical Criteria
Given Importer data has been processed from multiple sources
When The system evaluates CSA indicator status
Then The system verifies if AU importer is found AND S55 importer is found AND business number qualifier is 'BN' or spaces
R-GCCCCADD-cbl-02632 Turn Off CSA Indicator
Policy Rules
📊 Business Logic Narrative
When the process 'Turn Off CSA Indicator' is invoked, and assuming that au importer data exists and s55 importer data exists and business number qualifier is 'bn' or spaces, when the system processes csa indicator logic, the desired outcome is that the csa indicator is turned off.
💻 Technical Criteria
Given AU importer data exists and S55 importer data exists and business number qualifier is 'BN' or spaces
When The system processes CSA indicator logic
Then The CSA indicator is turned off
R-GCCCCADD-cbl-02633 Get and Process N3 Address Segment
Action Rules
📊 Business Logic Narrative
When the process 'Get and Process N3 Address Segment' is invoked, and assuming that importer n1 segment has been processed, when the system needs importer address information, the desired outcome is that the system retrieves the n3 address segment for the importer from edi bol.
💻 Technical Criteria
Given Importer N1 segment has been processed
When The system needs importer address information
Then The system retrieves the N3 address segment for the importer from EDI BOL
R-GCCCCADD-cbl-02634 N3 Address Data Found?
Validation Rules
📊 Business Logic Narrative
When the process 'N3 Address Data Found?' is invoked, and assuming that a request has been made to retrieve importer address data, when the system checks the retrieval status, the desired outcome is that the system determines if n3 address segment data is available.
💻 Technical Criteria
Given A request has been made to retrieve importer address data
When The system checks the retrieval status
Then The system determines if N3 address segment data is available
R-GCCCCADD-cbl-02637 Get and Process N4 City/State Segment
Action Rules
📊 Business Logic Narrative
When the process 'Get and Process N4 City/State Segment' is invoked, and assuming that importer address information has been processed, when the system needs importer geographic information, the desired outcome is that the system retrieves the n4 city/state segment for the importer from edi bol.
💻 Technical Criteria
Given Importer address information has been processed
When The system needs importer geographic information
Then The system retrieves the N4 city/state segment for the importer from EDI BOL
R-GCCCCADD-cbl-02638 N4 City/State Data Found?
Validation Rules
📊 Business Logic Narrative
When the process 'N4 City/State Data Found?' is invoked, and assuming that a request has been made to retrieve importer city/state data, when the system checks the retrieval status, the desired outcome is that the system determines if n4 city/state segment data is available.
💻 Technical Criteria
Given A request has been made to retrieve importer city/state data
When The system checks the retrieval status
Then The system determines if N4 city/state segment data is available
R-GCCCCADD-cbl-02641 Clear Contact Information
Process Rules
📊 Business Logic Narrative
When the process 'Clear Contact Information' is invoked, and assuming that importer geographic information has been processed, when the system processes contact information, the desired outcome is that all contact data fields are cleared to spaces.
💻 Technical Criteria
Given Importer geographic information has been processed
When The system processes contact information
Then All contact data fields are cleared to spaces
R-GCCCCADD-cbl-02642 Validate N1 Segment Data
Validation Rules
📊 Business Logic Narrative
When the process 'Validate N1 Segment Data' is invoked, and assuming that importer segment data has been populated, when the system validates the segment, the desired outcome is that all required fields are validated according to customs requirements and business rules.
💻 Technical Criteria
Given Importer segment data has been populated
When The system validates the segment
Then All required fields are validated according to customs requirements and business rules
R-GCCCCADD-cbl-02644 Corrector EDI Deleted Importer?
Decision Rules
📊 Business Logic Narrative
When the process 'Corrector EDI Deleted Importer?' is invoked, and assuming that no importer data was found in the current edi bol, when the system checks for data deletion, the desired outcome is that the system determines if the importer was deleted by a corrector edi transaction.
💻 Technical Criteria
Given No importer data was found in the current EDI BOL
When The system checks for data deletion
Then The system determines if the importer was deleted by a corrector EDI transaction
R-GCCCCADD-cbl-02645 Backup Data Available?
Decision Rules
📊 Business Logic Narrative
When the process 'Backup Data Available?' is invoked, and assuming that corrector edi has deleted importer data, when the system checks for recovery options, the desired outcome is that the system determines if backup importer name data is available for restoration.
💻 Technical Criteria
Given Corrector EDI has deleted importer data
When The system checks for recovery options
Then The system determines if backup importer name data is available for restoration
R-GCCCCADD-cbl-02646 Restore Backup Importer Data
Process Rules
📊 Business Logic Narrative
When the process 'Restore Backup Importer Data' is invoked, and assuming that corrector edi deleted importer data and backup data is available, when the system restores importer information, the desired outcome is that all backup importer details are restored and csa indicator logic is applied.
💻 Technical Criteria
Given Corrector EDI deleted importer data and backup data is available
When The system restores importer information
Then All backup importer details are restored and CSA indicator logic is applied
R-GCCCCADD-cbl-02647 Clear Importer Fields
Process Rules
📊 Business Logic Narrative
When the process 'Clear Importer Fields' is invoked, and assuming that no importer data is available and no backup data exists, when the system processes importer information, the desired outcome is that importer name is cleared if no s55 importer data exists, and entity id code is cleared.
💻 Technical Criteria
Given No importer data is available and no backup data exists
When The system processes importer information
Then Importer name is cleared if no S55 importer data exists, and entity ID code is cleared
R-GCCCCADD-cbl-02825 Extract Business Number Qualifier from N1 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Business Number Qualifier from N1 Segment' is invoked, and assuming that importer data exists in edi bol n1 segment, when processing importer information from edi bol, the desired outcome is that extract business number qualifier from n1 segment and store in gccc-business-nbr-qual and gccs-n103-id-cde-qual.
💻 Technical Criteria
Given Importer data exists in EDI BOL N1 segment
When Processing importer information from EDI BOL
Then Extract business number qualifier from N1 segment and store in GCCC-BUSINESS-NBR-QUAL and GCCS-N103-ID-CDE-QUAL
R-GCCCCADD-cbl-02826 Extract Business Number from N1 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Business Number from N1 Segment' is invoked, and assuming that importer data exists in edi bol n1 segment, when processing importer information from edi bol, the desired outcome is that extract business number from n1 segment and store in gccc-business-nbr and gccs-n104-id-cde.
💻 Technical Criteria
Given Importer data exists in EDI BOL N1 segment
When Processing importer information from EDI BOL
Then Extract business number from N1 segment and store in GCCC-BUSINESS-NBR and GCCS-N104-ID-CDE
R-GCCCCADD-cbl-02827 Set CSA Indicator OFF
Decision Rules
📊 Business Logic Narrative
When the process 'Set CSA Indicator OFF' is invoked, and assuming that business number qualifier is 'bn' or spaces and importer data found in au table and importer data found in edi s55 segment, when processing importer business number qualifier validation, the desired outcome is that set csa indicator to off to disable csa processing.
💻 Technical Criteria
Given Business number qualifier is 'BN' or spaces AND importer data found in AU table AND importer data found in EDI S55 segment
When Processing importer business number qualifier validation
Then Set CSA indicator to OFF to disable CSA processing
R-GCCCCADD-cbl-02828 Set CSA Indicator ON
Decision Rules
📊 Business Logic Narrative
When the process 'Set CSA Indicator ON' is invoked, and assuming that business number qualifier is 'm5', when processing importer business number qualifier validation, the desired outcome is that set csa indicator to on to enable csa processing.
💻 Technical Criteria
Given Business number qualifier is 'M5'
When Processing importer business number qualifier validation
Then Set CSA indicator to ON to enable CSA processing
R-GCCCCADD-cbl-02829 Store Qualifier in GCCC-BUSINESS-NBR-QUAL
Process Rules
📊 Business Logic Narrative
When the process 'Store Qualifier in GCCC-BUSINESS-NBR-QUAL' is invoked, and assuming that importer data exists in edi bol n1 segment, when processing importer information from edi bol, the desired outcome is that store importer name from n1 segment in gccc-importer and gccs-n102-name.
💻 Technical Criteria
Given Importer data exists in EDI BOL N1 segment
When Processing importer information from EDI BOL
Then Store importer name from N1 segment in GCCC-IMPORTER and GCCS-N102-NAME
R-GCCCCADD-cbl-02287 Check if Corrector EDI with Existing Importer Data
Process Rules
📊 Business Logic Narrative
When the process 'Check if Corrector EDI with Existing Importer Data' is invoked, and assuming that corrector edi processing is initiated and existing importer data is present in temporary storage (ws-temp-im-name > spaces), when the system checks for existing importer data backup requirement, the desired outcome is that the system should backup all original importer data including chop code, name, qualifiers, business number, csa indicator, address information, city/state/postal data, and contact details to temporary storage variables.
💻 Technical Criteria
Given Corrector EDI processing is initiated and existing importer data is present in temporary storage (WS-TEMP-IM-NAME > SPACES)
When The system checks for existing importer data backup requirement
Then The system should backup all original importer data including CHOP code, name, qualifiers, business number, CSA indicator, address information, city/state/postal data, and contact details to temporary storage variables
R-GCCCCADD-cbl-02288 Store Importer CHOP Code
Process Rules
📊 Business Logic Narrative
When the process 'Store Importer CHOP Code' is invoked, and assuming that importer data backup process is active and temporary importer chop code exists, when the system processes the chop code backup step, the desired outcome is that the system should move the temporary importer chop code (ws-temp-im-chop) to the customs record chop code field (gccs-sc301-chop-cde).
💻 Technical Criteria
Given Importer data backup process is active and temporary importer CHOP code exists
When The system processes the CHOP code backup step
Then The system should move the temporary importer CHOP code (WS-TEMP-IM-CHOP) to the customs record CHOP code field (GCCS-SC301-CHOP-CDE)
R-GCCCCADD-cbl-02289 Store Importer Name
Process Rules
📊 Business Logic Narrative
When the process 'Store Importer Name' is invoked, and assuming that importer data restoration is in progress and temporary importer name exists, when the system processes the importer name backup step, the desired outcome is that the system should set entity id to 'im', move temporary importer name to both customs importer field and n102 name field, and set the entity id validation field.
💻 Technical Criteria
Given Importer data restoration is in progress and temporary importer name exists
When The system processes the importer name backup step
Then The system should set entity ID to 'IM', move temporary importer name to both customs importer field and N102 name field, and set the entity ID validation field
R-GCCCCADD-cbl-02290 Store Business Number Qualifier
Process Rules
📊 Business Logic Narrative
When the process 'Store Business Number Qualifier' is invoked, and assuming that business qualifier backup is required and temporary qualifier data exists, when the system processes business qualifier restoration, the desired outcome is that the system should move temporary business number qualifier (ws-temp-im-qual) to both customs business number qualifier field (gccc-business-nbr-qual) and n1 segment qualifier field (gccs-n103-id-cde-qual).
💻 Technical Criteria
Given Business qualifier backup is required and temporary qualifier data exists
When The system processes business qualifier restoration
Then The system should move temporary business number qualifier (WS-TEMP-IM-QUAL) to both customs business number qualifier field (GCCC-BUSINESS-NBR-QUAL) and N1 segment qualifier field (GCCS-N103-ID-CDE-QUAL)
R-GCCCCADD-cbl-02291 Store Business Number
Process Rules
📊 Business Logic Narrative
When the process 'Store Business Number' is invoked, and assuming that business number backup is required and temporary business number exists, when the system processes business number restoration, the desired outcome is that the system should move temporary business number (ws-temp-im-cde) to both customs business number field (gccc-business-nbr) and n1 segment id code field (gccs-n104-id-cde).
💻 Technical Criteria
Given Business number backup is required and temporary business number exists
When The system processes business number restoration
Then The system should move temporary business number (WS-TEMP-IM-CDE) to both customs business number field (GCCC-BUSINESS-NBR) and N1 segment ID code field (GCCS-N104-ID-CDE)
R-GCCCCADD-cbl-02292 Store CSA Indicator
Process Rules
📊 Business Logic Narrative
When the process 'Store CSA Indicator' is invoked, and assuming that csa indicator backup is required and temporary csa indicator exists, when the system processes csa indicator restoration, the desired outcome is that the system should move temporary csa indicator (ws-temp-csa-ind) to the customs csa indicator field (gccc-csa-ind).
💻 Technical Criteria
Given CSA indicator backup is required and temporary CSA indicator exists
When The system processes CSA indicator restoration
Then The system should move temporary CSA indicator (WS-TEMP-CSA-IND) to the customs CSA indicator field (GCCC-CSA-IND)
R-GCCCCADD-cbl-02294 Store City/State/Postal Data
Process Rules
📊 Business Logic Narrative
When the process 'Store City/State/Postal Data' is invoked, and assuming that geographic data backup is required and temporary location data exists, when the system processes city/state/postal restoration, the desired outcome is that the system should move temporary city (ws-temp-im-city) to n401 city field, temporary province (ws-temp-im-prov) to n402 state field, temporary postal code (ws-temp-im-postal) to n403 postal field, and temporary country (ws-temp-im-ctry) to n404 country field.
💻 Technical Criteria
Given Geographic data backup is required and temporary location data exists
When The system processes city/state/postal restoration
Then The system should move temporary city (WS-TEMP-IM-CITY) to N401 city field, temporary province (WS-TEMP-IM-PROV) to N402 state field, temporary postal code (WS-TEMP-IM-POSTAL) to N403 postal field, and temporary country (WS-TEMP-IM-CTRY) to N404 country field
R-GCCCCADD-cbl-02296 Set Importer Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Importer Found Flag' is invoked, and assuming that importer data has been successfully restored from backup storage, when the backup restoration process completes, the desired outcome is that the system should set the importer found flag (ws-s55-imp-found) to true to indicate successful importer data processing.
💻 Technical Criteria
Given Importer data has been successfully restored from backup storage
When The backup restoration process completes
Then The system should set the importer found flag (WS-S55-IMP-FOUND) to TRUE to indicate successful importer data processing
R-GCCCCADD-cbl-02297 Process New EDI Importer Data
Process Rules
📊 Business Logic Narrative
When the process 'Process New EDI Importer Data' is invoked, and assuming that edi importer processing is required and no existing importer data backup is needed, when the system determines no backup restoration is required, the desired outcome is that the system should process the new edi importer data directly and continue with normal processing flow.
💻 Technical Criteria
Given EDI importer processing is required and no existing importer data backup is needed
When The system determines no backup restoration is required
Then The system should process the new EDI importer data directly and continue with normal processing flow
R-GCCCCADD-cbl-02298 Continue Processing
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Continue Processing', assuming that edi importer processing has failed or resulted in deletion and no backup data is available for restoration and importer not found flag is set, when the system processes the failure condition, the desired outcome is that the system should clear the customs importer field (gccc-importer) and entity id code field (gccs-n101-entity-id-cde) to spaces.
💻 Technical Criteria
EXCLUDING EDI importer processing has failed or resulted in deletion and no backup data is available for restoration and importer not found flag is set
When The system processes the failure condition
Then The system should clear the customs importer field (GCCC-IMPORTER) and entity ID code field (GCCS-N101-ENTITY-ID-CDE) to spaces
R-GCCCCADD-cbl-01719 Corrector EDI with Importer Data?
Decision Rules
📊 Business Logic Narrative
When the process 'Corrector EDI with Importer Data?' is invoked, and assuming that a corrector edi transaction is being processed, when the system evaluates if importer data, business number, and business number qualifier are all present, the desired outcome is that the system determines whether to proceed with importer data backup or skip the backup process.
💻 Technical Criteria
Given A corrector EDI transaction is being processed
When The system evaluates if importer data, business number, and business number qualifier are all present
Then The system determines whether to proceed with importer data backup or skip the backup process
R-GCCCCADD-cbl-01721 Importer Record Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Importer Record Found?' is invoked, and assuming that a customs record type 55 has been retrieved during the search process, when the system checks if the entity id code equals 'im' (importer), the desired outcome is that the system determines if this is a valid importer record requiring backup processing.
💻 Technical Criteria
Given A customs record type 55 has been retrieved during the search process
When The system checks if the entity ID code equals 'IM' (Importer)
Then The system determines if this is a valid importer record requiring backup processing
R-GCCCCADD-cbl-01722 Extract Current Importer Information
Process Rules
📊 Business Logic Narrative
When the process 'Extract Current Importer Information' is invoked, and assuming that a valid importer record has been found in the customs database, when the system processes the importer record to extract all relevant data fields, the desired outcome is that the system prepares to backup importer name, business identifiers, address, and contact information.
💻 Technical Criteria
Given A valid importer record has been found in the customs database
When The system processes the importer record to extract all relevant data fields
Then The system prepares to backup importer name, business identifiers, address, and contact information
R-GCCCCADD-cbl-01723 Backup Importer Name
Process Rules
📊 Business Logic Narrative
When the process 'Backup Importer Name' is invoked, and assuming that current importer record contains name information, when the system backs up importer data before applying corrector edi changes, the desired outcome is that the importer name is stored in temporary backup field ws-temp-im-name.
💻 Technical Criteria
Given Current importer record contains name information
When The system backs up importer data before applying corrector EDI changes
Then The importer name is stored in temporary backup field WS-TEMP-IM-NAME
R-GCCCCADD-cbl-01724 Backup Business Number & Qualifier
Process Rules
📊 Business Logic Narrative
When the process 'Backup Business Number & Qualifier' is invoked, and assuming that current importer record contains business number and qualifier information, when the system backs up business identification data before applying corrector edi changes, the desired outcome is that the business number qualifier is stored in ws-temp-im-qual and business number is stored in ws-temp-im-cde.
💻 Technical Criteria
Given Current importer record contains business number and qualifier information
When The system backs up business identification data before applying corrector EDI changes
Then The business number qualifier is stored in WS-TEMP-IM-QUAL and business number is stored in WS-TEMP-IM-CDE
R-GCCCCADD-cbl-01726 Backup Address Information
Process Rules
📊 Business Logic Narrative
When the process 'Backup Address Information' is invoked, and assuming that current importer record contains address information, when the system backs up address data before applying corrector edi changes, the desired outcome is that address line 1 is stored in ws-temp-im-adr1 and address line 2 is stored in ws-temp-im-adr2.
💻 Technical Criteria
Given Current importer record contains address information
When The system backs up address data before applying corrector EDI changes
Then Address line 1 is stored in WS-TEMP-IM-ADR1 and address line 2 is stored in WS-TEMP-IM-ADR2
R-GCCCCADD-cbl-01727 Backup City/State/Postal Data
Process Rules
📊 Business Logic Narrative
When the process 'Backup City/State/Postal Data' is invoked, and assuming that current importer record contains geographic location information, when the system backs up location data before applying corrector edi changes, the desired outcome is that city name is stored in ws-temp-im-city, state/province code in ws-temp-im-prov, and postal code in ws-temp-im-postal.
💻 Technical Criteria
Given Current importer record contains geographic location information
When The system backs up location data before applying corrector EDI changes
Then City name is stored in WS-TEMP-IM-CITY, state/province code in WS-TEMP-IM-PROV, and postal code in WS-TEMP-IM-POSTAL
R-GCCCCADD-cbl-01728 Backup Country Code
Process Rules
📊 Business Logic Narrative
When the process 'Backup Country Code' is invoked, and assuming that current importer record contains country code information, when the system backs up country data before applying corrector edi changes, the desired outcome is that the country code is stored in temporary backup field ws-temp-im-ctry.
💻 Technical Criteria
Given Current importer record contains country code information
When The system backs up country data before applying corrector EDI changes
Then The country code is stored in temporary backup field WS-TEMP-IM-CTRY
R-GCCCCADD-cbl-01729 Backup Contact Information
Process Rules
📊 Business Logic Narrative
When the process 'Backup Contact Information' is invoked, and assuming that current importer record contains contact information, when the system backs up contact data before applying corrector edi changes, the desired outcome is that contact function code is stored in ws-temp-im-cont-cde, person name in ws-temp-im-per-name, communication qualifier in ws-temp-im-com-qual, and communication number in ws-temp-im-com-num.
💻 Technical Criteria
Given Current importer record contains contact information
When The system backs up contact data before applying corrector EDI changes
Then Contact function code is stored in WS-TEMP-IM-CONT-CDE, person name in WS-TEMP-IM-PER-NAME, communication qualifier in WS-TEMP-IM-COM-QUAL, and communication number in WS-TEMP-IM-COM-NUM
R-GCCCCADD-cbl-01730 Set Backup Complete Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Backup Complete Flag' is invoked, and assuming that all importer data fields have been successfully backed up to temporary storage, when the backup process completes without errors, the desired outcome is that the system sets ws-temp-imp-found flag to indicate successful backup completion.
💻 Technical Criteria
Given All importer data fields have been successfully backed up to temporary storage
When The backup process completes without errors
Then The system sets WS-TEMP-IMP-FOUND flag to indicate successful backup completion
R-GCCCCADD-cbl-01731 Clear Current Importer Fields
Process Rules
📊 Business Logic Narrative
When the process 'Clear Current Importer Fields' is invoked, and assuming that importer data has been successfully backed up and backup complete flag is set, when the system prepares to process corrector edi changes, the desired outcome is that the original importer, business number, and business number qualifier fields are cleared to spaces.
💻 Technical Criteria
Given Importer data has been successfully backed up and backup complete flag is set
When The system prepares to process corrector EDI changes
Then The original importer, business number, and business number qualifier fields are cleared to spaces
R-GCCCCADD-cbl-01732 CSA Indicator Already On?
Decision Rules
📊 Business Logic Narrative
When the process 'CSA Indicator Already On?' is invoked, and assuming that a shipment is being processed for customs manifest creation, when the system checks the current csa indicator status, the desired outcome is that if csa indicator is already on, maintain the current status, otherwise proceed to check data sources.
💻 Technical Criteria
Given A shipment is being processed for customs manifest creation
When The system checks the current CSA indicator status
Then If CSA indicator is already on, maintain the current status, otherwise proceed to check data sources
R-GCCCCADD-cbl-01733 AU Table Has Importer Data?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'AU Table Has Importer Data?', assuming that csa indicator is not currently active and au table lookup is required, when the system searches au table using consignee chop code and commodity code, the desired outcome is that if au table contains matching importer data, proceed to retrieve it, otherwise check edi data sources.
💻 Technical Criteria
EXCLUDING CSA indicator is not currently active and AU table lookup is required
When The system searches AU table using consignee CHOP code and commodity code
Then If AU table contains matching importer data, proceed to retrieve it, otherwise check EDI data sources
R-GCCCCADD-cbl-01734 EDI Has Importer Data?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'EDI Has Importer Data?', assuming that csa indicator is not active and au table has no importer data, when the system checks edi bol for importer n1 segments, the desired outcome is that if edi contains importer data, proceed to validate business number qualifier, otherwise maintain current csa status.
💻 Technical Criteria
EXCLUDING CSA indicator is not active and AU table has no importer data
When The system checks EDI BOL for importer N1 segments
Then If EDI contains importer data, proceed to validate business number qualifier, otherwise maintain current CSA status
R-GCCCCADD-cbl-01735 Get AU Importer Data
Action Rules
📊 Business Logic Narrative
When the process 'Get AU Importer Data' is invoked, and assuming that au table contains importer data for the consignee and commodity, when the system retrieves au importer information, the desired outcome is that set importer name and business number from au table data, set business number qualifier to 'm5', and activate csa indicator.
💻 Technical Criteria
Given AU table contains importer data for the consignee and commodity
When The system retrieves AU importer information
Then Set importer name and business number from AU table data, set business number qualifier to 'M5', and activate CSA indicator
R-GCCCCADD-cbl-01736 Business Number Qualifier BN or Blank?
Validation Rules
📊 Business Logic Narrative
When the process 'Business Number Qualifier BN or Blank?' is invoked, and assuming that edi contains importer data with business number qualifier, when the system checks if business number qualifier is 'bn' or blank, the desired outcome is that if qualifier is 'bn' or blank, turn off csa indicator, otherwise maintain current status.
💻 Technical Criteria
Given EDI contains importer data with business number qualifier
When The system checks if business number qualifier is 'BN' or blank
Then If qualifier is 'BN' or blank, turn off CSA indicator, otherwise maintain current status
R-GCCCCADD-cbl-01737 Transit or Return Shipment?
Policy Rules
📊 Business Logic Narrative
When the process 'Transit or Return Shipment?' is invoked, and assuming that a shipment has been processed for csa indicator management, when the shipment is identified as transit (in-transit status) or return movement, the desired outcome is that turn off csa indicator and clear all importer data fields.
💻 Technical Criteria
Given A shipment has been processed for CSA indicator management
When The shipment is identified as transit (in-transit status) or return movement
Then Turn off CSA indicator and clear all importer data fields
R-GCCCCADD-cbl-01738 Set CSA Indicator On
Action Rules
📊 Business Logic Narrative
When the process 'Set CSA Indicator On' is invoked, and assuming that au table contains valid importer data for the shipment, when importer information is successfully retrieved from au table, the desired outcome is that set csa indicator to active status and populate importer fields with au data.
💻 Technical Criteria
Given AU table contains valid importer data for the shipment
When Importer information is successfully retrieved from AU table
Then Set CSA indicator to active status and populate importer fields with AU data
R-GCCCCADD-cbl-01739 Turn CSA Indicator Off
Action Rules
📊 Business Logic Narrative
When the process 'Turn CSA Indicator Off' is invoked, and assuming that edi contains importer data with business number qualifier, when business number qualifier is 'bn' or blank spaces, the desired outcome is that turn off csa indicator to prevent automatic csa processing.
💻 Technical Criteria
Given EDI contains importer data with business number qualifier
When Business number qualifier is 'BN' or blank spaces
Then Turn off CSA indicator to prevent automatic CSA processing
R-GCCCCADD-cbl-01740 Clear Importer Data
Action Rules
📊 Business Logic Narrative
When the process 'Clear Importer Data' is invoked, and assuming that a shipment is identified as transit or return movement, when csa indicator override is applied, the desired outcome is that clear importer name, business number, and business number qualifier fields.
💻 Technical Criteria
Given A shipment is identified as transit or return movement
When CSA indicator override is applied
Then Clear importer name, business number, and business number qualifier fields
R-GCCCCADD-cbl-01742 N1 Importer Segment Found?
Decision Rules
📊 Business Logic Narrative
When the process 'N1 Importer Segment Found?' is invoked, and assuming that the system has attempted to retrieve the n1 importer segment, when the retrieval operation completes, the desired outcome is that if the segment is found, proceed with business number extraction, otherwise skip business number processing.
💻 Technical Criteria
Given The system has attempted to retrieve the N1 importer segment
When The retrieval operation completes
Then If the segment is found, proceed with business number extraction, otherwise skip business number processing
R-GCCCCADD-cbl-01743 Extract Business Number Qualifier from N1-ID-CODE-QUAL
Process Rules
📊 Business Logic Narrative
When the process 'Extract Business Number Qualifier from N1-ID-CODE-QUAL' is invoked, and assuming that a valid n1 importer segment exists in the edi data, when the system processes the importer identification information, the desired outcome is that the business number qualifier is extracted from the n1-id-code-qual field.
💻 Technical Criteria
Given A valid N1 importer segment exists in the EDI data
When The system processes the importer identification information
Then The business number qualifier is extracted from the N1-ID-CODE-QUAL field
R-GCCCCADD-cbl-01744 Extract Business Number from N1-ID-CODE
Process Rules
📊 Business Logic Narrative
When the process 'Extract Business Number from N1-ID-CODE' is invoked, and assuming that a valid n1 importer segment exists with business number qualifier, when the system processes the importer identification information, the desired outcome is that the business number is extracted from the n1-id-code field.
💻 Technical Criteria
Given A valid N1 importer segment exists with business number qualifier
When The system processes the importer identification information
Then The business number is extracted from the N1-ID-CODE field
R-GCCCCADD-cbl-01745 Store Business Number Qualifier in GCCC-BUSINESS-NBR-QUAL
Process Rules
📊 Business Logic Narrative
When the process 'Store Business Number Qualifier in GCCC-BUSINESS-NBR-QUAL' is invoked, and assuming that a business number qualifier has been extracted from the edi n1 segment, when the system updates the customs record, the desired outcome is that the qualifier is stored in the gccc-business-nbr-qual field.
💻 Technical Criteria
Given A business number qualifier has been extracted from the EDI N1 segment
When The system updates the customs record
Then The qualifier is stored in the GCCC-BUSINESS-NBR-QUAL field
R-GCCCCADD-cbl-01746 Store Business Number in GCCC-BUSINESS-NBR
Process Rules
📊 Business Logic Narrative
When the process 'Store Business Number in GCCC-BUSINESS-NBR' is invoked, and assuming that a business number has been extracted from the edi n1 segment, when the system updates the customs record, the desired outcome is that the business number is stored in the gccc-business-nbr field.
💻 Technical Criteria
Given A business number has been extracted from the EDI N1 segment
When The system updates the customs record
Then The business number is stored in the GCCC-BUSINESS-NBR field
R-GCCCCADD-cbl-01747 Update Customs Record with Business Number Data
Process Rules
📊 Business Logic Narrative
When the process 'Update Customs Record with Business Number Data' is invoked, and assuming that business number and qualifier have been extracted from the edi n1 segment, when the system processes the importer information, the desired outcome is that the customs record is updated with both the business number and qualifier in the appropriate fields.
💻 Technical Criteria
Given Business number and qualifier have been extracted from the EDI N1 segment
When The system processes the importer information
Then The customs record is updated with both the business number and qualifier in the appropriate fields
R-GCCCCADD-cbl-01748 Set Importer Name from N1-NAME
Process Rules
📊 Business Logic Narrative
When the process 'Set Importer Name from N1-NAME' is invoked, and assuming that a valid n1 importer segment exists in the edi data, when the system processes importer identification information, the desired outcome is that the importer name is extracted from n1-name and stored in the customs record.
💻 Technical Criteria
Given A valid N1 importer segment exists in the EDI data
When The system processes importer identification information
Then The importer name is extracted from N1-NAME and stored in the customs record
R-GCCCCADD-cbl-01749 Mark Importer Data as Found
Process Rules
📊 Business Logic Narrative
When the process 'Mark Importer Data as Found' is invoked, and assuming that importer business number information has been successfully extracted and stored, when the processing of the n1 importer segment completes, the desired outcome is that the system sets the importer found flag to indicate successful processing.
💻 Technical Criteria
Given Importer business number information has been successfully extracted and stored
When The processing of the N1 importer segment completes
Then The system sets the importer found flag to indicate successful processing
R-GCCCCADD-cbl-01752 Extract Address Line 1 from N3
Process Rules
📊 Business Logic Narrative
When the process 'Extract Address Line 1 from N3' is invoked, and assuming that an n3 segment exists in the edi bol for the importer, when the system processes the n3 segment, the desired outcome is that the system extracts the first address line from field d2-addl-name-addr-1.
💻 Technical Criteria
Given An N3 segment exists in the EDI BOL for the importer
When The system processes the N3 segment
Then The system extracts the first address line from field D2-ADDL-NAME-ADDR-1
R-GCCCCADD-cbl-01756 Set Default Address Line 1 to 'NA'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Default Address Line 1 to 'NA'' is invoked, and assuming that no n3 segment is found in the edi bol, when the system processes importer address information, the desired outcome is that the system sets address line 1 to 'na' and clears address line 2.
💻 Technical Criteria
Given No N3 segment is found in the EDI BOL
When The system processes importer address information
Then The system sets Address Line 1 to 'NA' and clears Address Line 2
R-GCCCCADD-cbl-01759 N4 Segment Found?
Decision Rules
📊 Business Logic Narrative
When the process 'N4 Segment Found?' is invoked, and assuming that the system is processing importer geographic information, when the n4 segment retrieval is attempted from edi bol, the desired outcome is that if n4 segment is found, extract geographic details; if not found, clear all geographic fields.
💻 Technical Criteria
Given The system is processing importer geographic information
When The N4 segment retrieval is attempted from EDI BOL
Then If N4 segment is found, extract geographic details; if not found, clear all geographic fields
R-GCCCCADD-cbl-01760 Extract City Name from N4
Process Rules
📊 Business Logic Narrative
When the process 'Extract City Name from N4' is invoked, and assuming that an n4 segment exists in the edi bol for the importer, when the system processes the n4 segment, the desired outcome is that the system extracts the city name from field d4-city-name.
💻 Technical Criteria
Given An N4 segment exists in the EDI BOL for the importer
When The system processes the N4 segment
Then The system extracts the city name from field D4-CITY-NAME
R-GCCCCADD-cbl-01764 Clear All N4 Address Fields
Process Rules
📊 Business Logic Narrative
When the process 'Clear All N4 Address Fields' is invoked, and assuming that no n4 segment is found in the edi bol, when the system processes importer geographic information, the desired outcome is that the system clears all n4 address fields including city, state, postal code, and country.
💻 Technical Criteria
Given No N4 segment is found in the EDI BOL
When The system processes importer geographic information
Then The system clears all N4 address fields including city, state, postal code, and country
R-GCCCCADD-cbl-01765 Initialize Contact Information Fields
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Contact Information Fields' is invoked, and assuming that importer contact information processing is starting, when contact information fields need to be initialized, the desired outcome is that all contact function code, person name, communication qualifier, and communication number fields are cleared to spaces.
💻 Technical Criteria
Given Importer contact information processing is starting
When Contact information fields need to be initialized
Then All contact function code, person name, communication qualifier, and communication number fields are cleared to spaces
R-GCCCCADD-cbl-01766 Check if EDI BOL Data Available
Decision Rules
📊 Business Logic Narrative
When the process 'Check if EDI BOL Data Available' is invoked, and assuming that importer contact information processing is required, when system checks for edi bol data availability using the edi bol key, the desired outcome is that system determines if valid edi bol data exists for contact information extraction.
💻 Technical Criteria
Given Importer contact information processing is required
When System checks for EDI BOL data availability using the EDI BOL key
Then System determines if valid EDI BOL data exists for contact information extraction
R-GCCCCADD-cbl-01767 Retrieve Importer PER Segment from EDI
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Importer PER Segment from EDI' is invoked, and assuming that edi bol data is available for the shipment, when system retrieves importer per segment using entity type 'im' and sequence '01' and segment type 'gp', the desired outcome is that importer contact person segment is retrieved from edi bol data or marked as not found.
💻 Technical Criteria
Given EDI BOL data is available for the shipment
When System retrieves importer PER segment using entity type 'IM' and sequence '01' and segment type 'GP'
Then Importer contact person segment is retrieved from EDI BOL data or marked as not found
R-GCCCCADD-cbl-01768 Extract Contact Function Code
Process Rules
📊 Business Logic Narrative
When the process 'Extract Contact Function Code' is invoked, and assuming that importer per segment is successfully retrieved from edi bol, when system processes the per segment contact function code field, the desired outcome is that contact function code is extracted and stored in the customs record contact function code field.
💻 Technical Criteria
Given Importer PER segment is successfully retrieved from EDI BOL
When System processes the PER segment contact function code field
Then Contact function code is extracted and stored in the customs record contact function code field
R-GCCCCADD-cbl-01769 Extract Contact Person Name
Process Rules
📊 Business Logic Narrative
When the process 'Extract Contact Person Name' is invoked, and assuming that importer per segment is successfully retrieved from edi bol, when system processes the per segment contact name field, the desired outcome is that contact person name is extracted and stored in the customs record contact name field.
💻 Technical Criteria
Given Importer PER segment is successfully retrieved from EDI BOL
When System processes the PER segment contact name field
Then Contact person name is extracted and stored in the customs record contact name field
R-GCCCCADD-cbl-01770 Extract Communication Number Qualifier
Process Rules
📊 Business Logic Narrative
When the process 'Extract Communication Number Qualifier' is invoked, and assuming that importer per segment is successfully retrieved from edi bol, when system processes the per segment communication number qualifier field, the desired outcome is that communication number qualifier is extracted and stored in the customs record communication qualifier field.
💻 Technical Criteria
Given Importer PER segment is successfully retrieved from EDI BOL
When System processes the PER segment communication number qualifier field
Then Communication number qualifier is extracted and stored in the customs record communication qualifier field
R-GCCCCADD-cbl-01771 Extract Communication Number
Process Rules
📊 Business Logic Narrative
When the process 'Extract Communication Number' is invoked, and assuming that importer per segment is successfully retrieved from edi bol, when system processes the per segment communication number field, the desired outcome is that communication number is extracted and stored in the customs record communication number field.
💻 Technical Criteria
Given Importer PER segment is successfully retrieved from EDI BOL
When System processes the PER segment communication number field
Then Communication number is extracted and stored in the customs record communication number field
R-GCCCCADD-cbl-01772 Store Contact Information in Customs Record
Process Rules
📊 Business Logic Narrative
When the process 'Store Contact Information in Customs Record' is invoked, and assuming that contact information has been extracted from edi per segment, when all contact fields (function code, person name, communication qualifier, communication number) are populated, the desired outcome is that contact information is stored in the customs record type 55 per segment fields.
💻 Technical Criteria
Given Contact information has been extracted from EDI PER segment
When All contact fields (function code, person name, communication qualifier, communication number) are populated
Then Contact information is stored in the customs record type 55 PER segment fields
R-GCCCCADD-cbl-01773 Clear Contact Information Fields
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Clear Contact Information Fields', assuming that edi bol data is not available or importer per segment is not found, when contact information cannot be extracted from edi sources, the desired outcome is that all contact information fields are cleared to spaces in the customs record.
💻 Technical Criteria
EXCLUDING EDI BOL data is not available or importer PER segment is not found
When Contact information cannot be extracted from EDI sources
Then All contact information fields are cleared to spaces in the customs record
R-GCCCCADD-cbl-01774 Validate Contact Information Requirements
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Contact Information Requirements' is invoked, and assuming that contact information has been processed from available sources, when system validates contact data completeness and format requirements, the desired outcome is that contact information is validated for required fields and proper format according to customs requirements.
💻 Technical Criteria
Given Contact information has been processed from available sources
When System validates contact data completeness and format requirements
Then Contact information is validated for required fields and proper format according to customs requirements
R-GCCCCADD-cbl-01776 Backup Original Importer Data
Process Rules
📊 Business Logic Narrative
When the process 'Backup Original Importer Data' is invoked, and assuming that importer data exists from previous record 55 processing with entity id 'im' and importer name is present, when the system processes corrector edi that may modify or delete importer information, the desired outcome is that all original importer data is backed up including chop code, name, business number qualifier, business number, csa indicator, address information, city/state/postal data, and contact information, and backup found flag is set to true.
💻 Technical Criteria
Given Importer data exists from previous record 55 processing with entity ID 'IM' and importer name is present
When The system processes corrector EDI that may modify or delete importer information
Then All original importer data is backed up including CHOP code, name, business number qualifier, business number, CSA indicator, address information, city/state/postal data, and contact information, and backup found flag is set to true
R-GCCCCADD-cbl-01777 Corrector EDI Deletes Importer?
Decision Rules
📊 Business Logic Narrative
When the process 'Corrector EDI Deletes Importer?' is invoked, and assuming that corrector edi processing is active and importer entity data is being evaluated, when the corrector edi deletes importer information from the current transaction, the desired outcome is that if backup importer data is available, restore from backup data; otherwise clear importer entity id and set importer not found status.
💻 Technical Criteria
Given Corrector EDI processing is active and importer entity data is being evaluated
When The corrector EDI deletes importer information from the current transaction
Then If backup importer data is available, restore from backup data; otherwise clear importer entity ID and set importer not found status
R-GCCCCADD-cbl-01778 Restore from Backup Data
Process Rules
📊 Business Logic Narrative
When the process 'Restore from Backup Data' is invoked, and assuming that corrector edi has deleted current importer data and backup importer data is available from previous processing, when the system needs to restore importer information, the desired outcome is that all backed up importer data is restored including chop code as sc301, entity id as 'im', name as n102, business number qualifier as n103, business number as n104, csa indicator, address information as n301/n302, city/state/postal as n401/n402/n403/n404, and contact information as per01/per02/per03/per04, and importer found flag is set.
💻 Technical Criteria
Given Corrector EDI has deleted current importer data and backup importer data is available from previous processing
When The system needs to restore importer information
Then All backed up importer data is restored including CHOP code as SC301, entity ID as 'IM', name as N102, business number qualifier as N103, business number as N104, CSA indicator, address information as N301/N302, city/state/postal as N401/N402/N403/N404, and contact information as PER01/PER02/PER03/PER04, and importer found flag is set
R-GCCCCADD-cbl-01779 Clear Importer Entity ID
Process Rules
📊 Business Logic Narrative
When the process 'Clear Importer Entity ID' is invoked, and assuming that corrector edi has deleted current importer data and no backup importer data is available, when the system processes the importer data deletion, the desired outcome is that importer entity id is cleared to spaces and if record 55 importer not found flag is set, clear the importer name field.
💻 Technical Criteria
Given Corrector EDI has deleted current importer data and no backup importer data is available
When The system processes the importer data deletion
Then Importer entity ID is cleared to spaces and if record 55 importer not found flag is set, clear the importer name field
R-GCCCCADD-cbl-01780 Set Backup Found Flag
Validation Rules
📊 Business Logic Narrative
When the process 'Set Backup Found Flag' is invoked, and assuming that au table importer data is found and record 55 importer data is found and business number qualifier is 'bn' or spaces, when the system processes importer data from multiple sources, the desired outcome is that csa indicator is set to off to prevent conflicting importer data processing.
💻 Technical Criteria
Given AU table importer data is found and record 55 importer data is found and business number qualifier is 'BN' or spaces
When The system processes importer data from multiple sources
Then CSA indicator is set to off to prevent conflicting importer data processing
R-GCCCCADD-cbl-01804 Initialize Record 55 Index to 3
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Record 55 Index to 3' is invoked, and assuming that customs record 55 processing is starting, when the system initializes the record processing sequence, the desired outcome is that the record index is set to 3 to allow for shipper (position 1) and consignee (position 2) records.
💻 Technical Criteria
Given Customs record 55 processing is starting
When The system initializes the record processing sequence
Then The record index is set to 3 to allow for shipper (position 1) and consignee (position 2) records
R-GCCCCADD-cbl-01805 Clear Record 55 Array
Process Rules
📊 Business Logic Narrative
When the process 'Clear Record 55 Array' is invoked, and assuming that record 55 processing is being initialized, when the system prepares to store new customs records, the desired outcome is that the record 55 array is cleared of any previous data.
💻 Technical Criteria
Given Record 55 processing is being initialized
When The system prepares to store new customs records
Then The record 55 array is cleared of any previous data
R-GCCCCADD-cbl-01806 Build Shipper Record - Sequence 0001
Process Rules
📊 Business Logic Narrative
When the process 'Build Shipper Record - Sequence 0001' is invoked, and assuming that shipper information is available from shipment data, when the system builds the shipper record for customs, the desired outcome is that a record 55 with entity id 'sh' and sequence '0001' is created with shipper details and stored in array position 1.
💻 Technical Criteria
Given Shipper information is available from shipment data
When The system builds the shipper record for customs
Then A record 55 with entity ID 'SH' and sequence '0001' is created with shipper details and stored in array position 1
R-GCCCCADD-cbl-01807 Build Consignee Record - Sequence 0002
Process Rules
📊 Business Logic Narrative
When the process 'Build Consignee Record - Sequence 0002' is invoked, and assuming that consignee information is available from shipment data, when the system builds the consignee record for customs, the desired outcome is that a record 55 with entity id 'cn' and sequence '0002' is created with consignee details and stored in array position 2.
💻 Technical Criteria
Given Consignee information is available from shipment data
When The system builds the consignee record for customs
Then A record 55 with entity ID 'CN' and sequence '0002' is created with consignee details and stored in array position 2
R-GCCCCADD-cbl-01808 Check Available Index Slots
Validation Rules
📊 Business Logic Narrative
When the process 'Check Available Index Slots' is invoked, and assuming that a new customs record needs to be added to the array, when the system checks the current index position against maximum capacity, the desired outcome is that the system determines if there is available space in the record array.
💻 Technical Criteria
Given A new customs record needs to be added to the array
When The system checks the current index position against maximum capacity
Then The system determines if there is available space in the record array
R-GCCCCADD-cbl-01812 Move Record to Array Position
Process Rules
📊 Business Logic Narrative
When the process 'Move Record to Array Position' is invoked, and assuming that a customs record has been built and validated, when the system stores the record in the array, the desired outcome is that the record is moved to the array position corresponding to the current index.
💻 Technical Criteria
Given A customs record has been built and validated
When The system stores the record in the array
Then The record is moved to the array position corresponding to the current index
R-GCCCCADD-cbl-01813 Increment Index Counter
Process Rules
📊 Business Logic Narrative
When the process 'Increment Index Counter' is invoked, and assuming that a customs record has been successfully stored in the array, when the system prepares for the next record, the desired outcome is that the index counter is incremented by 1.
💻 Technical Criteria
Given A customs record has been successfully stored in the array
When The system prepares for the next record
Then The index counter is incremented by 1
R-GCCCCADD-cbl-01816 Finalize Importer Record Processing
Process Rules
📊 Business Logic Narrative
When the process 'Finalize Importer Record Processing' is invoked, and assuming that all other entity records have been processed, when the system finalizes importer record handling, the desired outcome is that importer data from au table is processed if importer was found in au table but not in record 55 data.
💻 Technical Criteria
Given All other entity records have been processed
When The system finalizes importer record handling
Then Importer data from AU table is processed if importer was found in AU table but not in record 55 data
R-GCCCCADD-cbl-01817 24 N1 Records Found?
Decision Rules
📊 Business Logic Narrative
When the process '24 N1 Records Found?' is invoked, and assuming that importer record needs to be added and au importer data was found, when the system checks if 24 n1 data records were found, the desired outcome is that the 24th record is replaced if found, otherwise a new importer record is inserted.
💻 Technical Criteria
Given Importer record needs to be added and AU importer data was found
When The system checks if 24 N1 data records were found
Then The 24th record is replaced if found, otherwise a new importer record is inserted
R-GCCCCADD-cbl-01818 Replace 24th Record with Importer
Process Rules
📊 Business Logic Narrative
When the process 'Replace 24th Record with Importer' is invoked, and assuming that 24 n1 data records were found and importer data exists in au table, when the system needs to add importer record, the desired outcome is that the existing 24th record is replaced with importer data using repl function.
💻 Technical Criteria
Given 24 N1 data records were found and importer data exists in AU table
When The system needs to add importer record
Then The existing 24th record is replaced with importer data using REPL function
R-GCCCCADD-cbl-01819 Insert New Importer Record
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Insert New Importer Record', assuming that au importer data exists and 24 n1 records were not found, when the system adds the importer record, the desired outcome is that a new importer record is inserted with entity id 'im' and au table data.
💻 Technical Criteria
EXCLUDING AU importer data exists and 24 N1 records were not found
When The system adds the importer record
Then A new importer record is inserted with entity ID 'IM' and AU table data
R-GCCCCADD-cbl-01820 Initialize Importer Segment
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Importer Segment' is invoked, and assuming that the system needs to process importer information, when starting importer data processing, the desired outcome is that the customs record segment gcsccs55 should be cleared to spaces.
💻 Technical Criteria
Given The system needs to process importer information
When Starting importer data processing
Then The customs record segment GCSCCS55 should be cleared to spaces
R-GCCCCADD-cbl-01821 Get EDI BOL Importer N1 Segment
Action Rules
📊 Business Logic Narrative
When the process 'Get EDI BOL Importer N1 Segment' is invoked, and assuming that an edi bol key exists for the shipment, when retrieving importer n1 segment with entity type 'im' and sequence '01', the desired outcome is that the system should call edi bol interface to get importer entity data.
💻 Technical Criteria
Given An EDI BOL key exists for the shipment
When Retrieving importer N1 segment with entity type 'IM' and sequence '01'
Then The system should call EDI BOL interface to get importer entity data
R-GCCCCADD-cbl-01822 N1 Segment Found?
Validation Rules
📊 Business Logic Narrative
When the process 'N1 Segment Found?' is invoked, and assuming that a request has been made to retrieve importer n1 segment, when the edi bol interface returns a status code, the desired outcome is that if status code is spaces then n1 segment is found, otherwise n1 segment is not found.
💻 Technical Criteria
Given A request has been made to retrieve importer N1 segment
When The EDI BOL interface returns a status code
Then If status code is spaces then N1 segment is found, otherwise N1 segment is not found
R-GCCCCADD-cbl-01824 Entity ID = 'IM'?
Validation Rules
📊 Business Logic Narrative
When the process 'Entity ID = 'IM'?' is invoked, and assuming that an entity id code has been extracted from n1 segment, when the entity id code is compared against importer designation, the desired outcome is that if entity id equals 'im' then it is a valid importer entity, otherwise it is not an importer.
💻 Technical Criteria
Given An entity ID code has been extracted from N1 segment
When The entity ID code is compared against importer designation
Then If entity ID equals 'IM' then it is a valid importer entity, otherwise it is not an importer
R-GCCCCADD-cbl-01825 Extract Importer Name
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract Importer Name' is invoked, and assuming that a valid importer n1 segment with entity id 'im', when processing the importer entity data, the desired outcome is that the importer name should be extracted from n1-name field and stored in both customs record and importer field.
💻 Technical Criteria
Given A valid importer N1 segment with entity ID 'IM'
When Processing the importer entity data
Then The importer name should be extracted from N1-NAME field and stored in both customs record and importer field
R-GCCCCADD-cbl-01826 Extract Business Number Qualifier
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract Business Number Qualifier' is invoked, and assuming that a valid importer n1 segment, when processing importer identification data, the desired outcome is that the business number qualifier should be extracted from n1-id-code-qualifier and stored in both customs record and business number qualifier field.
💻 Technical Criteria
Given A valid importer N1 segment
When Processing importer identification data
Then The business number qualifier should be extracted from N1-ID-CODE-QUALIFIER and stored in both customs record and business number qualifier field
R-GCCCCADD-cbl-01827 Extract Business Number
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract Business Number' is invoked, and assuming that a valid importer n1 segment, when processing importer identification data, the desired outcome is that the business number should be extracted from n1-id-code and stored in both customs record and business number field.
💻 Technical Criteria
Given A valid importer N1 segment
When Processing importer identification data
Then The business number should be extracted from N1-ID-CODE and stored in both customs record and business number field
R-GCCCCADD-cbl-01828 Extract Business Number
Process Rules
📊 Business Logic Narrative
When the process 'Extract Business Number' is invoked, and assuming that importer business number has been extracted, when completing importer identification processing, the desired outcome is that the system should set the importer found flag to true.
💻 Technical Criteria
Given Importer business number has been extracted
When Completing importer identification processing
Then The system should set the importer found flag to true
R-GCCCCADD-cbl-01829 Set Consignee CHOP Code
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Consignee CHOP Code' is invoked, and assuming that importer entity data is being processed, when setting up importer record relationships, the desired outcome is that the consignee chop code should be assigned to the importer customs record.
💻 Technical Criteria
Given Importer entity data is being processed
When Setting up importer record relationships
Then The consignee CHOP code should be assigned to the importer customs record
R-GCCCCADD-cbl-01830 Get Importer N3 Address Segment
Action Rules
📊 Business Logic Narrative
When the process 'Get Importer N3 Address Segment' is invoked, and assuming that importer n1 segment has been processed, when retrieving importer address data with entity type 'im', sequence '01', and address type 'ic', the desired outcome is that the system should call edi bol interface to get importer address segment.
💻 Technical Criteria
Given Importer N1 segment has been processed
When Retrieving importer address data with entity type 'IM', sequence '01', and address type 'IC'
Then The system should call EDI BOL interface to get importer address segment
R-GCCCCADD-cbl-01831 N3 Address Found?
Validation Rules
📊 Business Logic Narrative
When the process 'N3 Address Found?' is invoked, and assuming that a request has been made to retrieve importer n3 address segment, when the edi bol interface returns a status code, the desired outcome is that if status code is spaces then address segment is found, otherwise address segment is not found.
💻 Technical Criteria
Given A request has been made to retrieve importer N3 address segment
When The EDI BOL interface returns a status code
Then If status code is spaces then address segment is found, otherwise address segment is not found
R-GCCCCADD-cbl-01833 Extract Address Line 2
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract Address Line 2' is invoked, and assuming that importer n3 address segment is available and address line 1 has been processed, when processing additional address information, the desired outcome is that address line 2 should be extracted from d2-addl-name-addr-2 field and stored in customs record.
💻 Technical Criteria
Given Importer N3 address segment is available and address line 1 has been processed
When Processing additional address information
Then Address line 2 should be extracted from D2-ADDL-NAME-ADDR-2 field and stored in customs record
R-GCCCCADD-cbl-01834 Set Default 'NA' Address
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Default 'NA' Address', assuming that importer n3 address segment is not found, when address information is required for customs record, the desired outcome is that address line 1 should be set to 'na' and n3 data section should be cleared.
💻 Technical Criteria
EXCLUDING Importer N3 address segment is not found
When Address information is required for customs record
Then Address line 1 should be set to 'NA' and N3 data section should be cleared
R-GCCCCADD-cbl-01835 Get Importer N4 City/State Segment
Action Rules
📊 Business Logic Narrative
When the process 'Get Importer N4 City/State Segment' is invoked, and assuming that importer address processing is in progress, when retrieving importer city/state data with entity type 'im', sequence '01', and city type 'ia', the desired outcome is that the system should call edi bol interface to get importer city/state segment.
💻 Technical Criteria
Given Importer address processing is in progress
When Retrieving importer city/state data with entity type 'IM', sequence '01', and city type 'IA'
Then The system should call EDI BOL interface to get importer city/state segment
R-GCCCCADD-cbl-01836 N4 Segment Found?
Validation Rules
📊 Business Logic Narrative
When the process 'N4 Segment Found?' is invoked, and assuming that a request has been made to retrieve importer n4 city/state segment, when the edi bol interface returns a status code, the desired outcome is that if status code is spaces then city/state segment is found, otherwise city/state segment is not found.
💻 Technical Criteria
Given A request has been made to retrieve importer N4 city/state segment
When The EDI BOL interface returns a status code
Then If status code is spaces then city/state segment is found, otherwise city/state segment is not found
R-GCCCCADD-cbl-01837 Extract City Name
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract City Name' is invoked, and assuming that importer n4 city/state segment is available, when processing city information, the desired outcome is that city name should be extracted from d4-city-name field and stored in customs record.
💻 Technical Criteria
Given Importer N4 city/state segment is available
When Processing city information
Then City name should be extracted from D4-CITY-NAME field and stored in customs record
R-GCCCCADD-cbl-01838 Extract State/Province Code
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract State/Province Code' is invoked, and assuming that importer n4 city/state segment is available, when processing state/province information, the desired outcome is that state/province code should be extracted from d4-state-prov-code field and stored in customs record.
💻 Technical Criteria
Given Importer N4 city/state segment is available
When Processing state/province information
Then State/province code should be extracted from D4-STATE-PROV-CODE field and stored in customs record
R-GCCCCADD-cbl-01839 Extract Postal Code
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract Postal Code' is invoked, and assuming that importer n4 city/state segment is available, when processing postal information, the desired outcome is that postal code should be extracted from d4-postal-code field and stored in customs record.
💻 Technical Criteria
Given Importer N4 city/state segment is available
When Processing postal information
Then Postal code should be extracted from D4-POSTAL-CODE field and stored in customs record
R-GCCCCADD-cbl-01840 Extract Country Code
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract Country Code' is invoked, and assuming that importer n4 city/state segment is available, when processing country information, the desired outcome is that country code should be extracted from d4-country-code field and stored in customs record.
💻 Technical Criteria
Given Importer N4 city/state segment is available
When Processing country information
Then Country code should be extracted from D4-COUNTRY-CODE field and stored in customs record
R-GCCCCADD-cbl-01841 Clear N4 Data
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Clear N4 Data', assuming that importer n4 city/state segment is not found, when city/state information processing is required, the desired outcome is that the n4 data section in customs record should be cleared to spaces.
💻 Technical Criteria
EXCLUDING Importer N4 city/state segment is not found
When City/state information processing is required
Then The N4 data section in customs record should be cleared to spaces
R-GCCCCADD-cbl-01842 Clear Contact Information
Process Rules
📊 Business Logic Narrative
When the process 'Clear Contact Information' is invoked, and assuming that importer address processing is complete, when finalizing importer record setup, the desired outcome is that all contact information fields in customs record should be cleared to spaces.
💻 Technical Criteria
Given Importer address processing is complete
When Finalizing importer record setup
Then All contact information fields in customs record should be cleared to spaces
R-GCCCCADD-cbl-01843 Validate N1 Segment Data
Validation Rules
📊 Business Logic Narrative
When the process 'Validate N1 Segment Data' is invoked, and assuming that importer record has been populated with available data, when validating the importer record for customs compliance, the desired outcome is that the system should perform n1 segment validation to ensure data integrity.
💻 Technical Criteria
Given Importer record has been populated with available data
When Validating the importer record for customs compliance
Then The system should perform N1 segment validation to ensure data integrity
R-GCCCCADD-cbl-01844 Insert Customs Record 55
Action Rules
📊 Business Logic Narrative
When the process 'Insert Customs Record 55' is invoked, and assuming that importer record has been validated successfully, when storing importer information for customs processing, the desired outcome is that the system should insert the customs record type 55 for the importer.
💻 Technical Criteria
Given Importer record has been validated successfully
When Storing importer information for customs processing
Then The system should insert the customs record type 55 for the importer
R-GCCCCADD-cbl-01845 Update CSA Indicator Logic
Decision Rules
📊 Business Logic Narrative
When the process 'Update CSA Indicator Logic' is invoked, and assuming that importer record has been processed, when evaluating csa indicator requirements, the desired outcome is that the system should check if both au table data and edi data are found for csa determination.
💻 Technical Criteria
Given Importer record has been processed
When Evaluating CSA indicator requirements
Then The system should check if both AU table data and EDI data are found for CSA determination
R-GCCCCADD-cbl-01846 Reset CSA Indicator
Policy Rules
📊 Business Logic Narrative
When the process 'Reset CSA Indicator' is invoked, and assuming that au table importer data is found and edi importer data is found and business number qualifier is 'bn' or spaces, when processing csa indicator logic, the desired outcome is that the csa indicator should be set to off.
💻 Technical Criteria
Given AU table importer data is found AND EDI importer data is found AND business number qualifier is 'BN' or spaces
When Processing CSA indicator logic
Then The CSA indicator should be set to off
R-GCCCCADD-cbl-01847 Importer Data Present?
Validation Rules
📊 Business Logic Narrative
When the process 'Importer Data Present?' is invoked, and assuming that a corrector edi transaction is being processed, when the system checks for importer data in the input, the desired outcome is that processing continues only if importer data is present, otherwise the backup process is skipped.
💻 Technical Criteria
Given A corrector EDI transaction is being processed
When The system checks for importer data in the input
Then Processing continues only if importer data is present, otherwise the backup process is skipped
R-GCCCCADD-cbl-01848 Business Number Present?
Validation Rules
📊 Business Logic Narrative
When the process 'Business Number Present?' is invoked, and assuming that importer data is present in the corrector edi, when the system validates the business number field, the desired outcome is that processing continues only if business number is not spaces, otherwise backup process is terminated.
💻 Technical Criteria
Given Importer data is present in the corrector EDI
When The system validates the business number field
Then Processing continues only if business number is not spaces, otherwise backup process is terminated
R-GCCCCADD-cbl-01849 Business Number Qualifier Present?
Validation Rules
📊 Business Logic Narrative
When the process 'Business Number Qualifier Present?' is invoked, and assuming that importer data and business number are present, when the system checks the business number qualifier field, the desired outcome is that processing continues only if business number qualifier is not spaces, otherwise backup process ends.
💻 Technical Criteria
Given Importer data and business number are present
When The system checks the business number qualifier field
Then Processing continues only if business number qualifier is not spaces, otherwise backup process ends
R-GCCCCADD-cbl-01850 Initialize Counter to 3
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Counter to 3' is invoked, and assuming that all importer validation checks have passed, when the system begins searching for existing importer records, the desired outcome is that the search counter is set to 3 and the importer found flag is set to false.
💻 Technical Criteria
Given All importer validation checks have passed
When The system begins searching for existing importer records
Then The search counter is set to 3 and the importer found flag is set to false
R-GCCCCADD-cbl-01852 Record Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Record Found?' is invoked, and assuming that a search for customs records has been executed, when the system checks the database call status, the desired outcome is that if status is spaces the record is found, otherwise increment counter and continue searching.
💻 Technical Criteria
Given A search for customs records has been executed
When The system checks the database call status
Then If status is spaces the record is found, otherwise increment counter and continue searching
R-GCCCCADD-cbl-01853 Is Importer Record?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Importer Record?' is invoked, and assuming that a customs record has been successfully retrieved, when the system checks the entity id code in the record, the desired outcome is that if entity id code equals 'im' then it is an importer record, otherwise increment counter and continue searching.
💻 Technical Criteria
Given A customs record has been successfully retrieved
When The system checks the entity ID code in the record
Then If entity ID code equals 'IM' then it is an importer record, otherwise increment counter and continue searching
R-GCCCCADD-cbl-01854 Store CHOP Code
Process Rules
📊 Business Logic Narrative
When the process 'Store CHOP Code' is invoked, and assuming that an importer record has been found in the customs database, when the system begins backing up importer data, the desired outcome is that the chop code from the customs record is stored in temporary importer chop field.
💻 Technical Criteria
Given An importer record has been found in the customs database
When The system begins backing up importer data
Then The CHOP code from the customs record is stored in temporary importer CHOP field
R-GCCCCADD-cbl-01855 Store Importer Name
Process Rules
📊 Business Logic Narrative
When the process 'Store Importer Name' is invoked, and assuming that importer chop code has been backed up, when the system continues the backup process, the desired outcome is that the importer name from the customs record is stored in temporary importer name field.
💻 Technical Criteria
Given Importer CHOP code has been backed up
When The system continues the backup process
Then The importer name from the customs record is stored in temporary importer name field
R-GCCCCADD-cbl-01856 Store Business Number Qualifier
Process Rules
📊 Business Logic Narrative
When the process 'Store Business Number Qualifier' is invoked, and assuming that importer name has been backed up, when the system continues preserving importer data, the desired outcome is that the business number qualifier from the customs record is stored in temporary qualifier field.
💻 Technical Criteria
Given Importer name has been backed up
When The system continues preserving importer data
Then The business number qualifier from the customs record is stored in temporary qualifier field
R-GCCCCADD-cbl-01857 Store Business Number
Process Rules
📊 Business Logic Narrative
When the process 'Store Business Number' is invoked, and assuming that business number qualifier has been backed up, when the system continues the backup process, the desired outcome is that the business number from the customs record is stored in temporary business number field.
💻 Technical Criteria
Given Business number qualifier has been backed up
When The system continues the backup process
Then The business number from the customs record is stored in temporary business number field
R-GCCCCADD-cbl-01858 Store CSA Indicator
Process Rules
📊 Business Logic Narrative
When the process 'Store CSA Indicator' is invoked, and assuming that business number has been backed up, when the system continues preserving importer data, the desired outcome is that the csa indicator from the input data is stored in temporary csa indicator field.
💻 Technical Criteria
Given Business number has been backed up
When The system continues preserving importer data
Then The CSA indicator from the input data is stored in temporary CSA indicator field
R-GCCCCADD-cbl-01859 Store Address Line 1
Process Rules
📊 Business Logic Narrative
When the process 'Store Address Line 1' is invoked, and assuming that csa indicator has been backed up, when the system continues backing up address information, the desired outcome is that the first address line from the customs record is stored in temporary address field 1.
💻 Technical Criteria
Given CSA indicator has been backed up
When The system continues backing up address information
Then The first address line from the customs record is stored in temporary address field 1
R-GCCCCADD-cbl-01860 Store Address Line 2
Process Rules
📊 Business Logic Narrative
When the process 'Store Address Line 2' is invoked, and assuming that primary address line has been backed up, when the system continues preserving address data, the desired outcome is that the second address line from the customs record is stored in temporary address field 2.
💻 Technical Criteria
Given Primary address line has been backed up
When The system continues preserving address data
Then The second address line from the customs record is stored in temporary address field 2
R-GCCCCADD-cbl-01861 Store City Name
Process Rules
📊 Business Logic Narrative
When the process 'Store City Name' is invoked, and assuming that secondary address line has been backed up, when the system continues backing up location data, the desired outcome is that the city name from the customs record is stored in temporary city field.
💻 Technical Criteria
Given Secondary address line has been backed up
When The system continues backing up location data
Then The city name from the customs record is stored in temporary city field
R-GCCCCADD-cbl-01862 Store Province/State Code
Process Rules
📊 Business Logic Narrative
When the process 'Store Province/State Code' is invoked, and assuming that city name has been backed up, when the system continues preserving location information, the desired outcome is that the province/state code from the customs record is stored in temporary province field.
💻 Technical Criteria
Given City name has been backed up
When The system continues preserving location information
Then The province/state code from the customs record is stored in temporary province field
R-GCCCCADD-cbl-01863 Store Postal Code
Process Rules
📊 Business Logic Narrative
When the process 'Store Postal Code' is invoked, and assuming that province/state code has been backed up, when the system continues backing up address details, the desired outcome is that the postal code from the customs record is stored in temporary postal code field.
💻 Technical Criteria
Given Province/state code has been backed up
When The system continues backing up address details
Then The postal code from the customs record is stored in temporary postal code field
R-GCCCCADD-cbl-01864 Store Country Code
Process Rules
📊 Business Logic Narrative
When the process 'Store Country Code' is invoked, and assuming that postal code has been backed up, when the system continues preserving location data, the desired outcome is that the country code from the customs record is stored in temporary country field.
💻 Technical Criteria
Given Postal code has been backed up
When The system continues preserving location data
Then The country code from the customs record is stored in temporary country field
R-GCCCCADD-cbl-01865 Store Contact Function Code
Process Rules
📊 Business Logic Narrative
When the process 'Store Contact Function Code' is invoked, and assuming that country code has been backed up, when the system continues backing up contact information, the desired outcome is that the contact function code from the customs record is stored in temporary contact function field.
💻 Technical Criteria
Given Country code has been backed up
When The system continues backing up contact information
Then The contact function code from the customs record is stored in temporary contact function field
R-GCCCCADD-cbl-01866 Store Contact Person Name
Process Rules
📊 Business Logic Narrative
When the process 'Store Contact Person Name' is invoked, and assuming that contact function code has been backed up, when the system continues preserving contact details, the desired outcome is that the contact person name from the customs record is stored in temporary contact name field.
💻 Technical Criteria
Given Contact function code has been backed up
When The system continues preserving contact details
Then The contact person name from the customs record is stored in temporary contact name field
R-GCCCCADD-cbl-01867 Store Communication Qualifier
Process Rules
📊 Business Logic Narrative
When the process 'Store Communication Qualifier' is invoked, and assuming that contact person name has been backed up, when the system continues backing up communication data, the desired outcome is that the communication number qualifier from the customs record is stored in temporary communication qualifier field.
💻 Technical Criteria
Given Contact person name has been backed up
When The system continues backing up communication data
Then The communication number qualifier from the customs record is stored in temporary communication qualifier field
R-GCCCCADD-cbl-01868 Store Communication Number
Process Rules
📊 Business Logic Narrative
When the process 'Store Communication Number' is invoked, and assuming that communication qualifier has been backed up, when the system completes backing up contact information, the desired outcome is that the communication number from the customs record is stored in temporary communication number field.
💻 Technical Criteria
Given Communication qualifier has been backed up
When The system completes backing up contact information
Then The communication number from the customs record is stored in temporary communication number field
R-GCCCCADD-cbl-01869 Set Backup Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Backup Found Flag' is invoked, and assuming that all importer data fields have been backed up, when the system completes the backup process, the desired outcome is that the importer found flag is set to true indicating successful backup completion.
💻 Technical Criteria
Given All importer data fields have been backed up
When The system completes the backup process
Then The importer found flag is set to true indicating successful backup completion
R-GCCCCADD-cbl-01870 Clear Current Importer Data
Process Rules
📊 Business Logic Narrative
When the process 'Clear Current Importer Data' is invoked, and assuming that importer backup completion flag has been set, when the system finalizes the backup process, the desired outcome is that the current importer, business number, and business number qualifier fields are cleared to spaces.
💻 Technical Criteria
Given Importer backup completion flag has been set
When The system finalizes the backup process
Then The current importer, business number, and business number qualifier fields are cleared to spaces
R-GCCCCADD-cbl-01872 Counter > 24?
Decision Rules
📊 Business Logic Narrative
When the process 'Counter > 24?' is invoked, and assuming that search counter has been incremented, when the system checks if more searching is allowed, the desired outcome is that if counter is greater than 24 then end the search process, otherwise continue searching for importer records.
💻 Technical Criteria
Given Search counter has been incremented
When The system checks if more searching is allowed
Then If counter is greater than 24 then end the search process, otherwise continue searching for importer records
R-GCCCCADD-cbl-01873 End Backup Process
Process Rules
📊 Business Logic Narrative
When the process 'End Backup Process' is invoked, and assuming that either importer data has been successfully backed up or search limit has been reached or validation failed, when the backup process reaches completion, the desired outcome is that control returns to the calling process with appropriate flags set indicating backup status.
💻 Technical Criteria
Given Either importer data has been successfully backed up or search limit has been reached or validation failed
When The backup process reaches completion
Then Control returns to the calling process with appropriate flags set indicating backup status
R-GCCCCADD-cbl-01874 Reset CSA Indicator to OFF
Decision Rules
📊 Business Logic Narrative
When the process 'Reset CSA Indicator to OFF' is invoked, and assuming that au table importer data has been found and edi bol importer data has been found, when the business number qualifier is 'bn' or the business number qualifier is blank/spaces, the desired outcome is that the csa indicator is set to off.
💻 Technical Criteria
Given AU table importer data has been found AND EDI BOL importer data has been found
When The business number qualifier is 'BN' OR the business number qualifier is blank/spaces
Then The CSA indicator is set to OFF
R-GCCCCADD-cbl-01875 Keep CSA Indicator Current State
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Keep CSA Indicator Current State', assuming that processing csa indicator logic for importer data, when au table importer data is not found or edi bol importer data is not found or business number qualifier is neither 'bn' nor blank, the desired outcome is that the csa indicator maintains its current state without modification.
💻 Technical Criteria
EXCLUDING Processing CSA indicator logic for importer data
When AU table importer data is not found OR EDI BOL importer data is not found OR business number qualifier is neither 'BN' nor blank
Then The CSA indicator maintains its current state without modification
R-GCCCCADD-cbl-01876 EDI BOL N3 Segment Found?
Decision Rules
📊 Business Logic Narrative
When the process 'EDI BOL N3 Segment Found?' is invoked, and assuming that an importer record is being processed for address information, when the system checks for edi bol n3 segment availability, the desired outcome is that the system should identify whether address data is available from edi source or requires fallback processing.
💻 Technical Criteria
Given An importer record is being processed for address information
When The system checks for EDI BOL N3 segment availability
Then The system should identify whether address data is available from EDI source or requires fallback processing
R-GCCCCADD-cbl-01880 Set Address Line 2 from EDI
Process Rules
📊 Business Logic Narrative
When the process 'Set Address Line 2 from EDI' is invoked, and assuming that edi bol n3 segment is available and address line 1 has been processed, when the system processes address line 2 information, the desired outcome is that the system should assign address line 2 from the edi data to the importer record.
💻 Technical Criteria
Given EDI BOL N3 segment is available and address line 1 has been processed
When The system processes address line 2 information
Then The system should assign address line 2 from the EDI data to the importer record
R-GCCCCADD-cbl-01881 No EDI N3 Segment Available?
Decision Rules
📊 Business Logic Narrative
When the process 'No EDI N3 Segment Available?' is invoked, and assuming that an importer record requires address information, when no edi bol n3 segment is available, the desired outcome is that the system should initiate fallback address processing procedures.
💻 Technical Criteria
Given An importer record requires address information
When No EDI BOL N3 segment is available
Then The system should initiate fallback address processing procedures
R-GCCCCADD-cbl-01882 Clear All N3 Address Data
Process Rules
📊 Business Logic Narrative
When the process 'Clear All N3 Address Data' is invoked, and assuming that no edi bol n3 segment is available for address information, when the system processes importer address data, the desired outcome is that the system should clear all n3 address data fields to ensure clean initialization.
💻 Technical Criteria
Given No EDI BOL N3 segment is available for address information
When The system processes importer address data
Then The system should clear all N3 address data fields to ensure clean initialization
R-GCCCCADD-cbl-01884 Clear All PER Segment Data
Process Rules
📊 Business Logic Narrative
When the process 'Clear All PER Segment Data' is invoked, and assuming that an importer record is being processed and contact information needs to be cleared, when the system processes the importer contact clearing operation, the desired outcome is that all per segment contact fields are set to spaces including contact function code, contact name, communication number qualifier, and communication number.
💻 Technical Criteria
Given An importer record is being processed and contact information needs to be cleared
When The system processes the importer contact clearing operation
Then All PER segment contact fields are set to spaces including contact function code, contact name, communication number qualifier, and communication number
R-GCCCCADD-cbl-01885 Set Contact Function Code to Spaces
Action Rules
📊 Business Logic Narrative
When the process 'Set Contact Function Code to Spaces' is invoked, and assuming that importer contact information is being cleared, when the contact function code field is processed, the desired outcome is that the contact function code is set to spaces.
💻 Technical Criteria
Given Importer contact information is being cleared
When The contact function code field is processed
Then The contact function code is set to spaces
R-GCCCCADD-cbl-01886 Set Contact Name to Spaces
Action Rules
📊 Business Logic Narrative
When the process 'Set Contact Name to Spaces' is invoked, and assuming that importer contact information is being cleared, when the contact name field is processed, the desired outcome is that the contact name is set to spaces.
💻 Technical Criteria
Given Importer contact information is being cleared
When The contact name field is processed
Then The contact name is set to spaces
R-GCCCCADD-cbl-01887 Set Communication Number Qualifier to Spaces
Action Rules
📊 Business Logic Narrative
When the process 'Set Communication Number Qualifier to Spaces' is invoked, and assuming that importer contact information is being cleared, when the communication number qualifier field is processed, the desired outcome is that the communication number qualifier is set to spaces.
💻 Technical Criteria
Given Importer contact information is being cleared
When The communication number qualifier field is processed
Then The communication number qualifier is set to spaces
R-GCCCCADD-cbl-01888 Set Communication Number to Spaces
Action Rules
📊 Business Logic Narrative
When the process 'Set Communication Number to Spaces' is invoked, and assuming that importer contact information is being cleared, when the communication number field is processed, the desired outcome is that the communication number is set to spaces.
💻 Technical Criteria
Given Importer contact information is being cleared
When The communication number field is processed
Then The communication number is set to spaces
R-GCCCCADD-cbl-01889 Backup Original Importer Data
Process Rules
📊 Business Logic Narrative
When the process 'Backup Original Importer Data' is invoked, and assuming that an importer record exists in the system with complete business information including name, business number, qualifier, csa indicator, address details, and contact information, when the system processes an importer data correction request, the desired outcome is that the system creates a backup of all original importer data including chop code, name, business number qualifier, business number, csa indicator, address lines, city, province, postal code, country, contact function code, person name, communication qualifier, and communication number.
💻 Technical Criteria
Given An importer record exists in the system with complete business information including name, business number, qualifier, CSA indicator, address details, and contact information
When The system processes an importer data correction request
Then The system creates a backup of all original importer data including chop code, name, business number qualifier, business number, CSA indicator, address lines, city, province, postal code, country, contact function code, person name, communication qualifier, and communication number
R-GCCCCADD-cbl-01890 EDI BOL Importer Segment Found?
Decision Rules
📊 Business Logic Narrative
When the process 'EDI BOL Importer Segment Found?' is invoked, and assuming that the system is processing importer data corrections, when the system checks for the presence of an importer segment in the edi bol data, the desired outcome is that if the importer segment is found, continue with normal processing, otherwise proceed with deletion handling logic.
💻 Technical Criteria
Given The system is processing importer data corrections
When The system checks for the presence of an importer segment in the EDI BOL data
Then If the importer segment is found, continue with normal processing, otherwise proceed with deletion handling logic
R-GCCCCADD-cbl-01891 Restore from Backup Data
Process Rules
📊 Business Logic Narrative
When the process 'Restore from Backup Data' is invoked, and assuming that an edi deletion request is processed and backup importer data is available in temporary storage, when the system needs to handle the deletion while preserving original data, the desired outcome is that the system restores all importer information from backup including chop code, entity id, name, business number qualifier, business number, csa indicator, address information, city, province, postal code, country, and contact details, and sets the importer found flag to true.
💻 Technical Criteria
Given An EDI deletion request is processed and backup importer data is available in temporary storage
When The system needs to handle the deletion while preserving original data
Then The system restores all importer information from backup including chop code, entity ID, name, business number qualifier, business number, CSA indicator, address information, city, province, postal code, country, and contact details, and sets the importer found flag to true
R-GCCCCADD-cbl-01892 Clear Current Importer Data
Process Rules
📊 Business Logic Narrative
When the process 'Clear Current Importer Data' is invoked, and assuming that an edi deletion request is processed and no backup importer data is available, when the system processes the deletion request, the desired outcome is that if the importer was not found in record 55, the system clears the importer name field and sets the entity id code to spaces.
💻 Technical Criteria
Given An EDI deletion request is processed and no backup importer data is available
When The system processes the deletion request
Then If the importer was not found in record 55, the system clears the importer name field and sets the entity ID code to spaces
R-GCCCCADD-cbl-01893 Check for Existing Importer Data
Decision Rules
📊 Business Logic Narrative
When the process 'Check for Existing Importer Data' is invoked, and assuming that importer data exists in record 55 and backup importer data is available from previous processing, when the system processes importer information, the desired outcome is that the system uses the backup importer data and sets the csa indicator to off if both au importer and record 55 importer are found and the business number qualifier is 'bn' or spaces.
💻 Technical Criteria
Given Importer data exists in record 55 and backup importer data is available from previous processing
When The system processes importer information
Then The system uses the backup importer data and sets the CSA indicator to off if both AU importer and record 55 importer are found and the business number qualifier is 'BN' or spaces

🔁 EDI, Status & Database 854 logic blocks
R-GCCCCADD-cbl-00016 Consolidated Load Indicator Retrieval
Decision Rules
📊 Business Logic Narrative
When the process 'Consolidated Load Indicator Retrieval' is invoked, and assuming that edi bol special handling data, when the system checks for consolidated load indicators, the desired outcome is that for each special handling sequence 1-98, retrieve edi special handling data. if special handling code equals 'cns', set consolidated indicator to 'y'. if no cns code found, set consolidated indicator to blank.
💻 Technical Criteria
Given EDI BOL special handling data
When The system checks for consolidated load indicators
Then For each special handling sequence 1-98, retrieve EDI special handling data. If special handling code equals 'CNS', set consolidated indicator to 'Y'. If no CNS code found, set consolidated indicator to blank
R-GCCCCADD-cbl-00017 Shipper Data Extraction
Validation Rules
📊 Business Logic Narrative
When the process 'Shipper Data Extraction' is invoked, and assuming that shipper information from shipment root data, when the system extracts and validates shipper data, the desired outcome is that extract shipper chop, name, and address from shipment data. if shipper name is blank, add error message for invalid shipper name. if shipper address line 1 is blank, set to 'na'. process address line 2 with special formatting rules and set default country to 'us' if address is incomplete.
💻 Technical Criteria
Given Shipper information from shipment root data
When The system extracts and validates shipper data
Then Extract shipper chop, name, and address from shipment data. If shipper name is blank, add error message for invalid shipper name. If shipper address line 1 is blank, set to 'NA'. Process address line 2 with special formatting rules and set default country to 'US' if address is incomplete
R-GCCCCADD-cbl-00018 Consignee Data Extraction
Validation Rules
📊 Business Logic Narrative
When the process 'Consignee Data Extraction' is invoked, and assuming that consignee information from shipment root data, when the system extracts and validates consignee data, the desired outcome is that extract consignee name, chop, and address from shipment data. if consignee name is blank, add error message for invalid consignee name. if consignee address line 1 is blank, set to 'na'. process address line 2 with special formatting rules and set default country to 'ca' if address is incomplete.
💻 Technical Criteria
Given Consignee information from shipment root data
When The system extracts and validates consignee data
Then Extract consignee name, chop, and address from shipment data. If consignee name is blank, add error message for invalid consignee name. If consignee address line 1 is blank, set to 'NA'. Process address line 2 with special formatting rules and set default country to 'CA' if address is incomplete
R-GCCCCADD-cbl-00019 Address Validation
Validation Rules
📊 Business Logic Narrative
When the process 'Address Validation' is invoked, and assuming that state/province codes for shipper and consignee addresses, when the system validates address information, the desired outcome is that for each address with state/province code, search state-country table to find matching entry and set corresponding country code. if state/province code is not found in table, add error message for invalid state/province code and leave country code blank.
💻 Technical Criteria
Given State/province codes for shipper and consignee addresses
When The system validates address information
Then For each address with state/province code, search state-country table to find matching entry and set corresponding country code. If state/province code is not found in table, add error message for invalid state/province code and leave country code blank
R-GCCCCADD-cbl-00020 Default Address Setting
Process Rules
📊 Business Logic Narrative
When the process 'Default Address Setting' is invoked, and assuming that address fields that may be blank or incomplete, when the system processes address information, the desired outcome is that if address line 1 is blank, set to 'na'. if address line 2 is blank or has only first character with remaining 18 characters blank, set first 18 characters to 'na' and set appropriate default country code.
💻 Technical Criteria
Given Address fields that may be blank or incomplete
When The system processes address information
Then If address line 1 is blank, set to 'NA'. If address line 2 is blank or has only first character with remaining 18 characters blank, set first 18 characters to 'NA' and set appropriate default country code
R-GCCCCADD-cbl-00021 Commodity Description Building
Process Rules
📊 Business Logic Narrative
When the process 'Commodity Description Building' is invoked, and assuming that commodity descriptions from shipment commodity data, shipment root free-form descriptions, and special handling instructions, when the system builds the complete commodity description, the desired outcome is that extract descriptions from 10 commodity description fields and 2 free-form description fields. for special handling codes 'va', 'ev', or 'vs', combine handling code with handling instruction and add to description in available special handling description slots (up to 3 slots).
💻 Technical Criteria
Given Commodity descriptions from shipment commodity data, shipment root free-form descriptions, and special handling instructions
When The system builds the complete commodity description
Then Extract descriptions from 10 commodity description fields and 2 free-form description fields. For special handling codes 'VA', 'EV', or 'VS', combine handling code with handling instruction and add to description in available special handling description slots (up to 3 slots)
R-GCCCCADD-cbl-00023 Hazardous Material Processing
Process Rules
📊 Business Logic Narrative
When the process 'Hazardous Material Processing' is invoked, and assuming that potential hazardous material data from edi bol, fastway shipment, or commodity master, when the system processes hazardous material information, the desired outcome is that first check edi hazmat data for un numbers and proper shipping names. if not found in edi, check fastway emergency response data for un codes. if still not found, lookup commodity master for hazmat classification and un numbers. extract un number and commodity description for dangerous goods.
💻 Technical Criteria
Given Potential hazardous material data from EDI BOL, FastWay shipment, or commodity master
When The system processes hazardous material information
Then First check EDI hazmat data for UN numbers and proper shipping names. If not found in EDI, check FastWay emergency response data for UN codes. If still not found, lookup commodity master for hazmat classification and UN numbers. Extract UN number and commodity description for dangerous goods
R-GCCCCADD-cbl-00029 Notify Party Country Setting
Process Rules
📊 Business Logic Narrative
When the process 'Notify Party Country Setting' is invoked, and assuming that notify party name and consignee country code, when the system processes notify party information, the desired outcome is that if notify party name is not blank, copy consignee country code to notify party country code field.
💻 Technical Criteria
Given Notify party name and consignee country code
When The system processes notify party information
Then If notify party name is not blank, copy consignee country code to notify party country code field
R-GCCCCADD-cbl-00038 Contact Information Processing
Validation Rules
📊 Business Logic Narrative
When the process 'Contact Information Processing' is invoked, and assuming that contact information from edi or fastway data sources, when the system processes contact information for entity records, the desired outcome is that extract contact function code, contact name, communication number qualifier, and communication number. validate communication qualifier is blank, 'fx', or 'te'. if contact information is incomplete, generate appropriate error messages for missing required fields.
💻 Technical Criteria
Given Contact information from EDI or FastWay data sources
When The system processes contact information for entity records
Then Extract contact function code, contact name, communication number qualifier, and communication number. Validate communication qualifier is blank, 'FX', or 'TE'. If contact information is incomplete, generate appropriate error messages for missing required fields
R-GCCCCADD-cbl-00045 Initialize Working Variables
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Working Variables' is invoked, and assuming that program initialization is in progress, when working variables need to be set to initial state, the desired outcome is that set message index to zero, initialize counters, clear message fields, and set error flags to off state.
💻 Technical Criteria
Given Program initialization is in progress
When Working variables need to be set to initial state
Then Set message index to zero, initialize counters, clear message fields, and set error flags to off state
R-GCCCCADD-cbl-00056 Backup Address Information
Process Rules
📊 Business Logic Narrative
When the process 'Backup Address Information' is invoked, and assuming that business registration data has been backed up, when the system processes address information, the desired outcome is that the system should store address line 1 and address line 2 in temporary backup variables.
💻 Technical Criteria
Given Business registration data has been backed up
When The system processes address information
Then The system should store address line 1 and address line 2 in temporary backup variables
R-GCCCCADD-cbl-00059 Backup Contact Information
Process Rules
📊 Business Logic Narrative
When the process 'Backup Contact Information' is invoked, and assuming that country information has been backed up, when the system processes contact details, the desired outcome is that the system should store contact function code, person name, communication number qualifier, and communication number in temporary backup variables.
💻 Technical Criteria
Given Country information has been backed up
When The system processes contact details
Then The system should store contact function code, person name, communication number qualifier, and communication number in temporary backup variables
R-GCCCCADD-cbl-02832 Call GCCTBIO to Access MS Table
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCTBIO to Access MS Table' is invoked, and assuming that the error message number is set and table lookup parameters are initialized, when the system calls gcctbio with function code 'gu' and table id 'ms', the desired outcome is that the system attempts to retrieve the message text from the ms table using the error message number as the key.
💻 Technical Criteria
Given The error message number is set and table lookup parameters are initialized
When The system calls GCCTBIO with function code 'GU' and table ID 'MS'
Then The system attempts to retrieve the message text from the MS table using the error message number as the key
R-GCCCCADD-cbl-02833 Message Found in MS Table?
Validation Rules
📊 Business Logic Narrative
When the process 'Message Found in MS Table?' is invoked, and assuming that the system has attempted to retrieve a message from the ms table, when the table lookup function returns a status, the desired outcome is that the system checks if the return flag equals successful to determine if the message was found.
💻 Technical Criteria
Given The system has attempted to retrieve a message from the MS table
When The table lookup function returns a status
Then The system checks if the return flag equals SUCCESSFUL to determine if the message was found
R-GCCCCADD-cbl-02834 Retrieve English Error Message Text
Process Rules
📊 Business Logic Narrative
When the process 'Retrieve English Error Message Text' is invoked, and assuming that a message record has been successfully retrieved from the ms table, when the system processes the retrieved message data, the desired outcome is that the system moves the english text field from the message table segment to the working message label.
💻 Technical Criteria
Given A message record has been successfully retrieved from the MS table
When The system processes the retrieved message data
Then The system moves the English text field from the message table segment to the working message label
R-GCCCCADD-cbl-02836 Error Message Retrieval Request
Action Rules
📊 Business Logic Narrative
When the process 'Error Message Retrieval Request' is invoked, and assuming that an error condition has occurred requiring message retrieval and a message error number is available, when the system needs to retrieve error message text from the message table, the desired outcome is that the system should initialize table lookup parameters, set function code to 'gu', set table id to 'ms', use the message error number as the key, and call the table access routine.
💻 Technical Criteria
Given An error condition has occurred requiring message retrieval and a message error number is available
When The system needs to retrieve error message text from the message table
Then The system should initialize table lookup parameters, set function code to 'GU', set table ID to 'MS', use the message error number as the key, and call the table access routine
R-GCCCCADD-cbl-02837 Table Lookup Successful?
Process Rules
📊 Business Logic Narrative
When the process 'Table Lookup Successful?' is invoked, and assuming that a table lookup operation has been performed on the message table, when the table lookup returns successfully, the desired outcome is that the system should move the table segment to the message structure, extract the english text from the ms table, and move the text to the message label for display.
💻 Technical Criteria
Given A table lookup operation has been performed on the message table
When The table lookup returns successfully
Then The system should move the table segment to the message structure, extract the English text from the MS table, and move the text to the message label for display
R-GCCCCADD-cbl-02838 Table Lookup Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Table Lookup Successful?' is invoked, and assuming that a table lookup operation has been performed on the message table, when the table lookup fails or returns an error, the desired outcome is that the system should set the ms table segment to spaces to clear any invalid data.
💻 Technical Criteria
Given A table lookup operation has been performed on the message table
When The table lookup fails or returns an error
Then The system should set the MS table segment to spaces to clear any invalid data
R-GCCCCADD-cbl-02322 Call GCCTBIO for Table Lookup
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCTBIO for Table Lookup' is invoked, and assuming that table lookup parameters are properly initialized, when the system executes the table lookup, the desired outcome is that the gcctbio service is called with the prepared parameters.
💻 Technical Criteria
Given Table lookup parameters are properly initialized
When The system executes the table lookup
Then The GCCTBIO service is called with the prepared parameters
R-GCCCCADD-cbl-02657 Set Function Code to GU
Process Rules
📊 Business Logic Narrative
When the process 'Set Function Code to GU' is invoked, and assuming that a table lookup operation is being configured, when the function code needs to be set, the desired outcome is that the function code is set to 'gu' for get unique operation.
💻 Technical Criteria
Given A table lookup operation is being configured
When The function code needs to be set
Then The function code is set to 'GU' for Get Unique operation
R-GCCCCADD-cbl-02659 Call GCCTBIO Program
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCTBIO Program' is invoked, and assuming that all lookup parameters are properly configured, when the table lookup needs to be executed, the desired outcome is that the gcctbio program is called with the configured parameters.
💻 Technical Criteria
Given All lookup parameters are properly configured
When The table lookup needs to be executed
Then The GCCTBIO program is called with the configured parameters
R-GCCCCADD-cbl-02660 Move Table Data to Working Storage
Decision Rules
📊 Business Logic Narrative
When the process 'Move Table Data to Working Storage' is invoked, and assuming that a table lookup operation has been executed, when the lookup returns successful status, the desired outcome is that the retrieved table data is moved to the appropriate working storage segment and success flag is set.
💻 Technical Criteria
Given A table lookup operation has been executed
When The lookup returns successful status
Then The retrieved table data is moved to the appropriate working storage segment and success flag is set
R-GCCCCADD-cbl-02661 Set Failure Flag
Decision Rules
📊 Business Logic Narrative
When the process 'Set Failure Flag' is invoked, and assuming that a table lookup operation has been executed, when the lookup returns unsuccessful status, the desired outcome is that the table segment is cleared to spaces and failure flag is set.
💻 Technical Criteria
Given A table lookup operation has been executed
When The lookup returns unsuccessful status
Then The table segment is cleared to spaces and failure flag is set
R-GCCCCADD-cbl-00148 Previous Carrier Number is '0000' or Spaces?
Decision Rules
📊 Business Logic Narrative
When the process 'Previous Carrier Number is '0000' or Spaces?' is invoked, and assuming that a shipment record with previous carrier number field, when the previous carrier number is '0000' or contains only spaces, the desired outcome is that the system continues processing without setting any previous carrier control number data.
💻 Technical Criteria
Given A shipment record with previous carrier number field
When The previous carrier number is '0000' or contains only spaces
Then The system continues processing without setting any previous carrier control number data
R-GCCCCADD-cbl-01952 Get First SHIPCOMM Segment
Action Rules
📊 Business Logic Narrative
When the process 'Get First SHIPCOMM Segment' is invoked, and assuming that fallback to fastway data is required, when retrieving shipcomm segment with 'gu' function, the desired outcome is that call fwcwbio with shipment root key and shipcomm segment type, set found flag based on status.
💻 Technical Criteria
Given Fallback to Fastway data is required
When Retrieving SHIPCOMM segment with 'GU' function
Then Call FWCWBIO with shipment root key and SHIPCOMM segment type, set found flag based on status
R-GCCCCADD-cbl-01955 Get Next SHIPCOMM Segments
Process Rules
📊 Business Logic Narrative
When the process 'Get Next SHIPCOMM Segments' is invoked, and assuming that first shipcomm segment has been processed, when retrieving additional shipcomm segments, the desired outcome is that set get function to 'gn' and continue processing until no more segments are found.
💻 Technical Criteria
Given First SHIPCOMM segment has been processed
When Retrieving additional SHIPCOMM segments
Then Set get function to 'GN' and continue processing until no more segments are found
R-GCCCCADD-cbl-02684 EBSBCCM Segment Found?
Decision Rules
📊 Business Logic Narrative
When the process 'EBSBCCM Segment Found?' is invoked, and assuming that an attempt has been made to retrieve ebsbccm segment data, when the system checks the retrieval status, the desired outcome is that if the segment is found then continue processing else use fastway fallback data.
💻 Technical Criteria
Given An attempt has been made to retrieve EBSBCCM segment data
When The system checks the retrieval status
Then IF the segment is found THEN continue processing ELSE use FastWay fallback data
R-GCCCCADD-cbl-02685 Extract Lading Quantity from L0-LADING-QTY
Computation Rules
📊 Business Logic Narrative
When the process 'Extract Lading Quantity from L0-LADING-QTY' is invoked, and assuming that a valid ebsbccm segment has been retrieved, when the system processes the segment data, the desired outcome is that the lading quantity is extracted from l0-lading-qty field.
💻 Technical Criteria
Given A valid EBSBCCM segment has been retrieved
When The system processes the segment data
Then The lading quantity is extracted from L0-LADING-QTY field
R-GCCCCADD-cbl-02686 Add to Total Units Counter
Computation Rules
📊 Business Logic Narrative
When the process 'Add to Total Units Counter' is invoked, and assuming that lading quantity has been extracted from the current segment, when the system updates totals, the desired outcome is that the lading quantity is added to the total units counter (ws-num-units-9).
💻 Technical Criteria
Given Lading quantity has been extracted from the current segment
When The system updates totals
Then The lading quantity is added to the total units counter (WS-NUM-UNITS-9)
R-GCCCCADD-cbl-02693 Extract Quantity Qualifier from L0-LADING-QTY-QUAL
Computation Rules
📊 Business Logic Narrative
When the process 'Extract Quantity Qualifier from L0-LADING-QTY-QUAL' is invoked, and assuming that this is the first commodity segment being processed, when the system sets quantity qualifier information, the desired outcome is that the quantity qualifier is extracted from l0-lading-qty-qual and stored in gccc-lading-quantity-qualifier.
💻 Technical Criteria
Given This is the first commodity segment being processed
When The system sets quantity qualifier information
Then The quantity qualifier is extracted from L0-LADING-QTY-QUAL and stored in GCCC-LADING-QUANTITY-QUALIFIER
R-GCCCCADD-cbl-02695 More Segments Available?
Decision Rules
📊 Business Logic Narrative
When the process 'More Segments Available?' is invoked, and assuming that current commodity segment processing is complete, when the system checks for continuation, the desired outcome is that if ccm sequence is less than or equal to 98 and segments are still being found then continue processing else complete commodity processing.
💻 Technical Criteria
Given Current commodity segment processing is complete
When The system checks for continuation
Then IF CCM sequence is less than or equal to 98 AND segments are still being found THEN continue processing ELSE complete commodity processing
R-GCCCCADD-cbl-02696 No EDI Data - Use Fastway Fallback
Action Rules
📊 Business Logic Narrative
When the process 'No EDI Data - Use Fastway Fallback' is invoked, and assuming that no edi commodity segments are found or initial edi segment retrieval fails, when the system needs commodity data, the desired outcome is that the system retrieves commodity information from fastway shipcomm segments using gu and gn functions.
💻 Technical Criteria
Given No EDI commodity segments are found OR initial EDI segment retrieval fails
When The system needs commodity data
Then The system retrieves commodity information from FastWay SHIPCOMM segments using GU and GN functions
R-GCCCCADD-cbl-02839 Initialize EDI BOL I/O Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize EDI BOL I/O Parameters' is invoked, and assuming that a request to retrieve ebsbccm commodity segment data, when the system begins the edi bol segment retrieval process, the desired outcome is that the edi bol i/o parameters are cleared and initialized to spaces.
💻 Technical Criteria
Given A request to retrieve EBSBCCM commodity segment data
When The system begins the EDI BOL segment retrieval process
Then The EDI BOL I/O parameters are cleared and initialized to spaces
R-GCCCCADD-cbl-02840 Set Segment Type to EBSBCCM
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Segment Type to EBSBCCM' is invoked, and assuming that edi bol i/o parameters are initialized, when the system prepares to retrieve commodity segment data, the desired outcome is that the segment type is set to 'ebsbccm' to specify commodity segment retrieval.
💻 Technical Criteria
Given EDI BOL I/O parameters are initialized
When The system prepares to retrieve commodity segment data
Then The segment type is set to 'EBSBCCM' to specify commodity segment retrieval
R-GCCCCADD-cbl-02841 Set Function Code to GU
Action Rules
📊 Business Logic Narrative
When the process 'Set Function Code to GU' is invoked, and assuming that the segment type is configured for ebsbccm, when the system prepares the database retrieval operation, the desired outcome is that the function code is set to 'gu' to perform a get unique operation.
💻 Technical Criteria
Given The segment type is configured for EBSBCCM
When The system prepares the database retrieval operation
Then The function code is set to 'GU' to perform a get unique operation
R-GCCCCADD-cbl-02843 Set Type to CM - Commodity
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Type to CM - Commodity' is invoked, and assuming that the edi bol key is configured for segment identification, when the system needs to specify the commodity segment subtype, the desired outcome is that the type identifier is set to 'cm' to indicate commodity information.
💻 Technical Criteria
Given The EDI BOL key is configured for segment identification
When The system needs to specify the commodity segment subtype
Then The type identifier is set to 'CM' to indicate commodity information
R-GCCCCADD-cbl-02845 Valid EDI BOL?
Validation Rules
📊 Business Logic Narrative
When the process 'Valid EDI BOL?' is invoked, and assuming that all segment retrieval parameters are configured, when the system checks for edi bol validity, the desired outcome is that if the edi bol is invalid, the system sets the ebsbccm not found flag and skips segment retrieval.
💻 Technical Criteria
Given All segment retrieval parameters are configured
When The system checks for EDI BOL validity
Then If the EDI BOL is invalid, the system sets the EBSBCCM not found flag and skips segment retrieval
R-GCCCCADD-cbl-02846 Call EBCLGIO to Retrieve Segment
Action Rules
📊 Business Logic Narrative
When the process 'Call EBCLGIO to Retrieve Segment' is invoked, and assuming that the edi bol is valid and all parameters are set, when the system executes the segment retrieval operation, the desired outcome is that the ebclgio program is called with the configured parameters to retrieve the ebsbccm segment.
💻 Technical Criteria
Given The EDI BOL is valid and all parameters are set
When The system executes the segment retrieval operation
Then The EBCLGIO program is called with the configured parameters to retrieve the EBSBCCM segment
R-GCCCCADD-cbl-02847 Segment Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Segment Found?' is invoked, and assuming that the ebclgio segment retrieval operation has completed, when the system checks the retrieval status, the desired outcome is that if the status code is spaces, the segment was found successfully, otherwise the segment was not found.
💻 Technical Criteria
Given The EBCLGIO segment retrieval operation has completed
When The system checks the retrieval status
Then If the status code is spaces, the segment was found successfully, otherwise the segment was not found
R-GCCCCADD-cbl-02848 Set EBSBCCM Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set EBSBCCM Found Flag' is invoked, and assuming that the commodity segment retrieval was successful, when the system processes the successful retrieval result, the desired outcome is that the ebsbccm found flag is set to true to indicate successful segment retrieval.
💻 Technical Criteria
Given The commodity segment retrieval was successful
When The system processes the successful retrieval result
Then The EBSBCCM found flag is set to true to indicate successful segment retrieval
R-GCCCCADD-cbl-02849 Extract Lading Quantity
Process Rules
📊 Business Logic Narrative
When the process 'Extract Lading Quantity' is invoked, and assuming that the ebsbccm segment is found and the success flag is set, when the system processes the retrieved commodity data, the desired outcome is that the lading quantity (l0-lading-qty) is added to the running total of units.
💻 Technical Criteria
Given The EBSBCCM segment is found and the success flag is set
When The system processes the retrieved commodity data
Then The lading quantity (L0-LADING-QTY) is added to the running total of units
R-GCCCCADD-cbl-02850 Set EBSBCCM Not Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set EBSBCCM Not Found Flag' is invoked, and assuming that the commodity segment retrieval was unsuccessful or edi bol is invalid, when the system processes the failed retrieval result, the desired outcome is that the ebsbccm not found flag is set to true to indicate unsuccessful segment retrieval.
💻 Technical Criteria
Given The commodity segment retrieval was unsuccessful or EDI BOL is invalid
When The system processes the failed retrieval result
Then The EBSBCCM not found flag is set to true to indicate unsuccessful segment retrieval
R-GCCCCADD-cbl-02359 Get First SHIPCOMM Record
Action Rules
📊 Business Logic Narrative
When the process 'Get First SHIPCOMM Record' is invoked, and assuming that fastway shipcomm fallback processing is required, when the system needs to retrieve commodity data from fastway, the desired outcome is that execute gu function to get the first shipcomm record and set found status.
💻 Technical Criteria
Given Fastway SHIPCOMM fallback processing is required
When The system needs to retrieve commodity data from Fastway
Then Execute GU function to get the first SHIPCOMM record and set found status
R-GCCCCADD-cbl-02360 SHIPCOMM Record Found?
Validation Rules
📊 Business Logic Narrative
When the process 'SHIPCOMM Record Found?' is invoked, and assuming that a shipcomm record retrieval has been attempted, when the system checks if a valid shipcomm record was found, the desired outcome is that if shipcomm record is found, proceed with data extraction, otherwise end processing.
💻 Technical Criteria
Given A SHIPCOMM record retrieval has been attempted
When The system checks if a valid SHIPCOMM record was found
Then If SHIPCOMM record is found, proceed with data extraction, otherwise end processing
R-GCCCCADD-cbl-02362 Set Quantity Qualifier to 'PCS'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Quantity Qualifier to 'PCS'' is invoked, and assuming that shipcomm record data is being processed, when quantity units are extracted from shipcomm, the desired outcome is that set the quantity qualifier to 'pcs' (pieces) as the standard unit.
💻 Technical Criteria
Given SHIPCOMM record data is being processed
When Quantity units are extracted from SHIPCOMM
Then Set the quantity qualifier to 'PCS' (pieces) as the standard unit
R-GCCCCADD-cbl-02368 Get Next SHIPCOMM Record
Action Rules
📊 Business Logic Narrative
When the process 'Get Next SHIPCOMM Record' is invoked, and assuming that current shipcomm record has been processed, when the system needs to check for additional shipcomm records, the desired outcome is that execute gn function to get the next shipcomm record.
💻 Technical Criteria
Given Current SHIPCOMM record has been processed
When The system needs to check for additional SHIPCOMM records
Then Execute GN function to get the next SHIPCOMM record
R-GCCCCADD-cbl-02369 More SHIPCOMM Records?
Decision Rules
📊 Business Logic Narrative
When the process 'More SHIPCOMM Records?' is invoked, and assuming that a gn function has been executed for next shipcomm record, when the system checks if more shipcomm records are available, the desired outcome is that if additional records found, continue processing loop, otherwise proceed to validation.
💻 Technical Criteria
Given A GN function has been executed for next SHIPCOMM record
When The system checks if more SHIPCOMM records are available
Then If additional records found, continue processing loop, otherwise proceed to validation
R-GCCCCADD-cbl-01963 Process EBSBCCM Commodity Segments
Process Rules
📊 Business Logic Narrative
When the process 'Process EBSBCCM Commodity Segments' is invoked, and assuming that edi bol data is available and valid, when the system processes commodity segments from sequence 1 to 98 until no more segments found, the desired outcome is that the system accumulates lading quantity from each segment and captures quantity qualifier from first segment.
💻 Technical Criteria
Given EDI BOL data is available and valid
When The system processes commodity segments from sequence 1 to 98 until no more segments found
Then The system accumulates lading quantity from each segment and captures quantity qualifier from first segment
R-GCCCCADD-cbl-00168 Validate Qualifier Against MU Table
Action Rules
📊 Business Logic Narrative
When the process 'Validate Qualifier Against MU Table' is invoked, and assuming that quantity qualifier needs validation, when mu table lookup is invoked with qualifier code, the desired outcome is that external gcctbio service validates qualifier against mu table.
💻 Technical Criteria
Given Quantity qualifier needs validation
When MU table lookup is invoked with qualifier code
Then External GCCTBIO service validates qualifier against MU table
R-GCCCCADD-cbl-00170 Set Search Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Set Search Parameters' is invoked, and assuming that the consolidated load indicator search is initialized, when search parameters need to be configured for ebsbcks segment retrieval, the desired outcome is that the search sequence counter is set and cns indicator flag is set to not found.
💻 Technical Criteria
Given The consolidated load indicator search is initialized
When Search parameters need to be configured for EBSBCKS segment retrieval
Then The search sequence counter is set and CNS indicator flag is set to not found
R-GCCCCADD-cbl-00172 EBSBCKS Segment Found?
Validation Rules
📊 Business Logic Narrative
When the process 'EBSBCKS Segment Found?' is invoked, and assuming that an ebsbcks segment retrieval attempt has been made, when the system checks the retrieval status, the desired outcome is that if the segment is found, processing continues to check the special handling code, otherwise the search continues to the next sequence.
💻 Technical Criteria
Given An EBSBCKS segment retrieval attempt has been made
When The system checks the retrieval status
Then If the segment is found, processing continues to check the special handling code, otherwise the search continues to the next sequence
R-GCCCCADD-cbl-00176 Continue Search Next Sequence
Process Rules
📊 Business Logic Narrative
When the process 'Continue Search Next Sequence' is invoked, and assuming that the current ebsbcks segment either doesn't exist or doesn't contain cns special handling code, when the search needs to continue to the next sequence, the desired outcome is that the sequence counter is incremented by 1.
💻 Technical Criteria
Given The current EBSBCKS segment either doesn't exist or doesn't contain CNS special handling code
When The search needs to continue to the next sequence
Then The sequence counter is incremented by 1
R-GCCCCADD-cbl-00178 Set Consolidated Load = 'Y'
Process Rules
📊 Business Logic Narrative
When the process 'Set Consolidated Load = 'Y'' is invoked, and assuming that the cns indicator has been found in the ebsbcks segments, when the consolidated load indicator needs to be set, the desired outcome is that the consolidated load field is set to 'y'.
💻 Technical Criteria
Given The CNS indicator has been found in the EBSBCKS segments
When The consolidated load indicator needs to be set
Then The consolidated load field is set to 'Y'
R-GCCCCADD-cbl-00179 Set Consolidated Load = Space
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Consolidated Load = Space', assuming that the cns indicator has not been found after searching all available ebsbcks segments, when the consolidated load indicator needs to be set, the desired outcome is that the consolidated load field is set to space.
💻 Technical Criteria
EXCLUDING The CNS indicator has not been found after searching all available EBSBCKS segments
When The consolidated load indicator needs to be set
Then The consolidated load field is set to space
R-GCCCCADD-cbl-00180 Check EDI BOL for Shipper Data
Decision Rules
📊 Business Logic Narrative
When the process 'Check EDI BOL for Shipper Data' is invoked, and assuming that a shipment requires shipper data extraction, when the system checks for edi bol shipper segment availability, the desired outcome is that if edi bol hn segment is found, extract shipper from edi bol, otherwise use fastway shiproot data.
💻 Technical Criteria
Given A shipment requires shipper data extraction
When The system checks for EDI BOL shipper segment availability
Then If EDI BOL HN segment is found, extract shipper from EDI BOL, otherwise use Fastway SHIPROOT data
R-GCCCCADD-cbl-00181 Get Shipper Name from F1-CONSIGNOR-NAME
Process Rules
📊 Business Logic Narrative
When the process 'Get Shipper Name from F1-CONSIGNOR-NAME' is invoked, and assuming that edi bol hn segment is available for shipper, when extracting shipper identification information, the desired outcome is that set shipper entity id to 'sh', get shipper name from f1-consignor-name, and get shipper chop from f1-shpr-chop.
💻 Technical Criteria
Given EDI BOL HN segment is available for shipper
When Extracting shipper identification information
Then Set shipper entity ID to 'SH', get shipper name from F1-CONSIGNOR-NAME, and get shipper CHOP from F1-SHPR-CHOP
R-GCCCCADD-cbl-00186 Extract Contact from EDI GP Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Contact from EDI GP Segment' is invoked, and assuming that edi bol gp contact segment is available, when processing shipper contact information, the desired outcome is that extract contact function code from per-contact-func-code, contact name from per-name, communication number qualifier from per-commun-no-qual, and communication number from per-commun-number.
💻 Technical Criteria
Given EDI BOL GP contact segment is available
When Processing shipper contact information
Then Extract contact function code from PER-CONTACT-FUNC-CODE, contact name from PER-NAME, communication number qualifier from PER-COMMUN-NO-QUAL, and communication number from PER-COMMUN-NUMBER
R-GCCCCADD-cbl-00188 Extract Shipper from Fastway SHIPROOT
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Extract Shipper from Fastway SHIPROOT', assuming that edi bol hn segment is not available, when extracting shipper information, the desired outcome is that set entity id to 'sh', get shipper name from shpr-nm, get shipper chop from shpr-chop, and clear id code qualifier and id code fields.
💻 Technical Criteria
EXCLUDING EDI BOL HN segment is not available
When Extracting shipper information
Then Set entity ID to 'SH', get shipper name from SHPR-NM, get shipper CHOP from SHPR-CHOP, and clear ID code qualifier and ID code fields
R-GCCCCADD-cbl-00194 Check EDI BOL for Consignee Data
Action Rules
📊 Business Logic Narrative
When the process 'Check EDI BOL for Consignee Data' is invoked, and assuming that an edi bol key exists for the shipment, when the system checks for consignee data in the edi bol, the desired outcome is that the system retrieves the ebsnrsc segment with type 'cn' and sequence '01' and sets the found/not found status.
💻 Technical Criteria
Given An EDI BOL key exists for the shipment
When The system checks for consignee data in the EDI BOL
Then The system retrieves the EBSNRSC segment with type 'CN' and sequence '01' and sets the found/not found status
R-GCCCCADD-cbl-00195 Extract Consignee Name from EDI BOL
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract Consignee Name from EDI BOL' is invoked, and assuming that edi bol consignee data is found, when the system processes the consignee segment, the desired outcome is that the entity id code is set to 'cn', the consignee name is extracted from d1-shipper-name field, and the chop code is extracted from d1-cons-chop field.
💻 Technical Criteria
Given EDI BOL consignee data is found
When The system processes the consignee segment
Then The entity ID code is set to 'CN', the consignee name is extracted from D1-SHIPPER-NAME field, and the CHOP code is extracted from D1-CONS-CHOP field
R-GCCCCADD-cbl-00196 Check EDI BOL for Address Data
Action Rules
📊 Business Logic Narrative
When the process 'Check EDI BOL for Address Data' is invoked, and assuming that edi bol consignee data exists, when the system checks for address data in the edi bol, the desired outcome is that the system retrieves the ebsnrsa segment with type 'cn', sequence '01', address type 'ca', and address sequence '01'.
💻 Technical Criteria
Given EDI BOL consignee data exists
When The system checks for address data in the EDI BOL
Then The system retrieves the EBSNRSA segment with type 'CN', sequence '01', address type 'CA', and address sequence '01'
R-GCCCCADD-cbl-00199 Check EDI BOL for City/State Data
Action Rules
📊 Business Logic Narrative
When the process 'Check EDI BOL for City/State Data' is invoked, and assuming that edi bol consignee data exists, when the system checks for city/state data in the edi bol, the desired outcome is that the system retrieves the ebsnrsa segment with type 'cn', sequence '01', address type 'cc', and address sequence '01'.
💻 Technical Criteria
Given EDI BOL consignee data exists
When The system checks for city/state data in the EDI BOL
Then The system retrieves the EBSNRSA segment with type 'CN', sequence '01', address type 'CC', and address sequence '01'
R-GCCCCADD-cbl-00200 Extract City/State/Postal from EDI BOL
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract City/State/Postal from EDI BOL' is invoked, and assuming that edi bol city/state data is found for the consignee, when the system processes the city/state segment, the desired outcome is that city name is set from d4-city-name, state/province code is set from d4-state-prov-code, postal code is set from d4-postal-code, and country code is set from d4-country-code.
💻 Technical Criteria
Given EDI BOL city/state data is found for the consignee
When The system processes the city/state segment
Then City name is set from D4-CITY-NAME, state/province code is set from D4-STATE-PROV-CODE, postal code is set from D4-POSTAL-CODE, and country code is set from D4-COUNTRY-CODE
R-GCCCCADD-cbl-00201 Use Fastway City/State Data
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Fastway City/State Data', assuming that edi bol city/state data is not found for the consignee, when the system falls back to fastway data, the desired outcome is that cons-data(4) is parsed into city name, state/province code, and postal code components, and country code is determined from state/country lookup table.
💻 Technical Criteria
EXCLUDING EDI BOL city/state data is not found for the consignee
When The system falls back to Fastway data
Then CONS-DATA(4) is parsed into city name, state/province code, and postal code components, and country code is determined from state/country lookup table
R-GCCCCADD-cbl-00202 Check EDI BOL for Contact Info
Action Rules
📊 Business Logic Narrative
When the process 'Check EDI BOL for Contact Info' is invoked, and assuming that edi bol consignee data exists, when the system checks for contact data in the edi bol, the desired outcome is that the system retrieves the ebsnrsa segment with type 'cn', sequence '01', contact type 'gp', and contact sequence '01'.
💻 Technical Criteria
Given EDI BOL consignee data exists
When The system checks for contact data in the EDI BOL
Then The system retrieves the EBSNRSA segment with type 'CN', sequence '01', contact type 'GP', and contact sequence '01'
R-GCCCCADD-cbl-00203 Extract Contact Information
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract Contact Information' is invoked, and assuming that edi bol contact data is found for the consignee, when the system processes the contact segment, the desired outcome is that contact function code is set from per-contact-func-code, contact name is set from per-name, communication number qualifier is set from per-commun-no-qual, and communication number is set from per-commun-number.
💻 Technical Criteria
Given EDI BOL contact data is found for the consignee
When The system processes the contact segment
Then Contact function code is set from PER-CONTACT-FUNC-CODE, contact name is set from PER-NAME, communication number qualifier is set from PER-COMMUN-NO-QUAL, and communication number is set from PER-COMMUN-NUMBER
R-GCCCCADD-cbl-00204 Use Fastway Consignee Data
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Fastway Consignee Data', assuming that edi bol consignee data is not found, when the system falls back to fastway data, the desired outcome is that entity id is set to 'cn', consignee name is set from cons-data(1), chop code is set from cons-chop, and id code qualifier and id code are set to spaces.
💻 Technical Criteria
EXCLUDING EDI BOL consignee data is not found
When The system falls back to Fastway data
Then Entity ID is set to 'CN', consignee name is set from CONS-DATA(1), CHOP code is set from CONS-CHOP, and ID code qualifier and ID code are set to spaces
R-GCCCCADD-cbl-00206 Determine Country Code
Computation Rules
📊 Business Logic Narrative
When the process 'Determine Country Code' is invoked, and assuming that a state or province code exists for the consignee, when the system performs country code determination, the desired outcome is that the state-country lookup table is searched to find the matching country code for the given state/province code.
💻 Technical Criteria
Given A state or province code exists for the consignee
When The system performs country code determination
Then The state-country lookup table is searched to find the matching country code for the given state/province code
R-GCCCCADD-cbl-00207 Lookup State/Country Combination
Validation Rules
📊 Business Logic Narrative
When the process 'Lookup State/Country Combination' is invoked, and assuming that a state/province code exists for the consignee, when the state-country lookup is performed, the desired outcome is that if a valid country is found, the country code is set; if no valid country is found, an error message is generated for invalid consignee province/state code.
💻 Technical Criteria
Given A state/province code exists for the consignee
When The state-country lookup is performed
Then If a valid country is found, the country code is set; if no valid country is found, an error message is generated for invalid consignee province/state code
R-GCCCCADD-cbl-00209 Store Consignee Record
Process Rules
📊 Business Logic Narrative
When the process 'Store Consignee Record' is invoked, and assuming that consignee data has been validated and processed, when the consignee record is ready for storage, the desired outcome is that the complete consignee record is moved to position 2 in the ws-gcsccs55-data array.
💻 Technical Criteria
Given Consignee data has been validated and processed
When The consignee record is ready for storage
Then The complete consignee record is moved to position 2 in the WS-GCSCCS55-DATA array
R-GCCCCADD-cbl-00213 Generate Invalid State Error
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Invalid State Error', assuming that a shipper record with a state/province code that requires country determination, when the shipper state/province code is not found in the state-country lookup table, the desired outcome is that generate an invalid shipper province/state code error message and add it to the message collection.
💻 Technical Criteria
EXCLUDING A shipper record with a state/province code that requires country determination
When The shipper state/province code is not found in the state-country lookup table
Then Generate an invalid shipper province/state code error message and add it to the message collection
R-GCCCCADD-cbl-00217 Generate Invalid State Error
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Invalid State Error', assuming that a consignee record with a state/province code that requires country determination, when the consignee state/province code is not found in the state-country lookup table, the desired outcome is that generate an invalid consignee province/state code error message and add it to the message collection.
💻 Technical Criteria
EXCLUDING A consignee record with a state/province code that requires country determination
When The consignee state/province code is not found in the state-country lookup table
Then Generate an invalid consignee province/state code error message and add it to the message collection
R-GCCCCADD-cbl-00218 Copy Consignee Country Code to Notify Party
Action Rules
📊 Business Logic Narrative
When the process 'Copy Consignee Country Code to Notify Party' is invoked, and assuming that a notify party name exists in the shipment record, when processing notify party address information, the desired outcome is that copy consignee address line 1, address line 2, and country code to the corresponding notify party fields.
💻 Technical Criteria
Given A notify party name exists in the shipment record
When Processing notify party address information
Then Copy consignee address line 1, address line 2, and country code to the corresponding notify party fields
R-GCCCCADD-cbl-00220 Generate City Length Error
Validation Rules
📊 Business Logic Narrative
When the process 'Generate City Length Error' is invoked, and assuming that an address record with a city name, when the city name length is less than 2 characters, the desired outcome is that generate a minimum length requirement error message for city name.
💻 Technical Criteria
Given An address record with a city name
When The city name length is less than 2 characters
Then Generate a minimum length requirement error message for city name
R-GCCCCADD-cbl-00222 Generate Invalid State/Country Error
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Invalid State/Country Error', assuming that an address record with country code of ca, us, or mx and a state/province code, when the state/province code is not found in the lookup table for the specified country, the desired outcome is that generate an invalid state/province code error message.
💻 Technical Criteria
EXCLUDING An address record with country code of CA, US, or MX and a state/province code
When The state/province code is not found in the lookup table for the specified country
Then Generate an invalid state/province code error message
R-GCCCCADD-cbl-00232 Extract 10 Commodity Description Lines
Process Rules
📊 Business Logic Narrative
When the process 'Extract 10 Commodity Description Lines' is invoked, and assuming that shipcomm data is available with commodity description fields, when the system processes commodity description building, the desired outcome is that all 10 commodity description lines from shipcomm are extracted and stored in working storage description array.
💻 Technical Criteria
Given SHIPCOMM data is available with commodity description fields
When The system processes commodity description building
Then All 10 commodity description lines from SHIPCOMM are extracted and stored in working storage description array
R-GCCCCADD-cbl-00233 Extract 2 Free Form Description Lines from SHIPROOT
Process Rules
📊 Business Logic Narrative
When the process 'Extract 2 Free Form Description Lines from SHIPROOT' is invoked, and assuming that shiproot data is available with free form description fields, when the system processes commodity description building, the desired outcome is that both free form description lines from shiproot are extracted and stored in working storage description array.
💻 Technical Criteria
Given SHIPROOT data is available with free form description fields
When The system processes commodity description building
Then Both free form description lines from SHIPROOT are extracted and stored in working storage description array
R-GCCCCADD-cbl-00234 Check Special Handling Code
Decision Rules
📊 Business Logic Narrative
When the process 'Check Special Handling Code' is invoked, and assuming that special handling codes exist in the shipment data, when the system processes each special handling code entry up to 7 entries, the desired outcome is that each special handling code is evaluated for inclusion in commodity description.
💻 Technical Criteria
Given Special handling codes exist in the shipment data
When The system processes each special handling code entry up to 7 entries
Then Each special handling code is evaluated for inclusion in commodity description
R-GCCCCADD-cbl-00235 Code = VA, EV, or VS?
Decision Rules
📊 Business Logic Narrative
When the process 'Code = VA, EV, or VS?' is invoked, and assuming that a special handling code is being processed, when the special handling code is va (valuable), ev (extremely valuable), or vs (valuable shipment), the desired outcome is that the code and its instructions are included in the commodity description.
💻 Technical Criteria
Given A special handling code is being processed
When The special handling code is VA (Valuable), EV (Extremely Valuable), or VS (Valuable Shipment)
Then The code and its instructions are included in the commodity description
R-GCCCCADD-cbl-00236 Extract Special Handling Code and Instructions
Process Rules
📊 Business Logic Narrative
When the process 'Extract Special Handling Code and Instructions' is invoked, and assuming that a special handling code of type va, ev, or vs is identified, when the system processes the special handling entry, the desired outcome is that both the special handling code and its instructions are extracted and formatted for inclusion.
💻 Technical Criteria
Given A special handling code of type VA, EV, or VS is identified
When The system processes the special handling entry
Then Both the special handling code and its instructions are extracted and formatted for inclusion
R-GCCCCADD-cbl-00237 Add to Special Handling Description Array
Process Rules
📊 Business Logic Narrative
When the process 'Add to Special Handling Description Array' is invoked, and assuming that special handling code and instructions have been extracted, when the system adds the information to the description array, the desired outcome is that the special handling information is placed in the first available position in the special handling description array (positions 1, 2, or 3).
💻 Technical Criteria
Given Special handling code and instructions have been extracted
When The system adds the information to the description array
Then The special handling information is placed in the first available position in the special handling description array (positions 1, 2, or 3)
R-GCCCCADD-cbl-00238 More Special Handling Codes?
Decision Rules
📊 Business Logic Narrative
When the process 'More Special Handling Codes?' is invoked, and assuming that the system is processing special handling codes, when the current counter is less than 7 and more special handling codes exist, the desired outcome is that the system continues to the next special handling code for evaluation.
💻 Technical Criteria
Given The system is processing special handling codes
When The current counter is less than 7 and more special handling codes exist
Then The system continues to the next special handling code for evaluation
R-GCCCCADD-cbl-00239 Combine All Description Components
Process Rules
📊 Business Logic Narrative
When the process 'Combine All Description Components' is invoked, and assuming that all description components have been extracted (shipcomm descriptions, shiproot free form descriptions, and special handling descriptions), when the system combines all description components, the desired outcome is that all description elements are merged into a single comprehensive description structure.
💻 Technical Criteria
Given All description components have been extracted (SHIPCOMM descriptions, SHIPROOT free form descriptions, and special handling descriptions)
When The system combines all description components
Then All description elements are merged into a single comprehensive description structure
R-GCCCCADD-cbl-00240 Prepare Description for Compression
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Description for Compression' is invoked, and assuming that all description components have been combined, when the system prepares for compression, the desired outcome is that description data is formatted with proper length parameters (45000 for source, 22500 for target) for compression utility.
💻 Technical Criteria
Given All description components have been combined
When The system prepares for compression
Then Description data is formatted with proper length parameters (45000 for source, 22500 for target) for compression utility
R-GCCCCADD-cbl-00241 Call GCCCOMP Utility for Data Compression
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCCOMP Utility for Data Compression' is invoked, and assuming that description data is prepared for compression with proper length parameters, when the gcccomp utility is called with the description data, the desired outcome is that the description data is compressed according to the utility's compression algorithm.
💻 Technical Criteria
Given Description data is prepared for compression with proper length parameters
When The GCCCOMP utility is called with the description data
Then The description data is compressed according to the utility's compression algorithm
R-GCCCCADD-cbl-01979 Initialize Description Work Areas
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Description Work Areas' is invoked, and assuming that the system needs to build commodity descriptions, when description building process starts, the desired outcome is that all description work areas are cleared and initialized to spaces.
💻 Technical Criteria
Given The system needs to build commodity descriptions
When Description building process starts
Then All description work areas are cleared and initialized to spaces
R-GCCCCADD-cbl-01980 Extract Commodity Descriptions from SHIPCOMM
Process Rules
📊 Business Logic Narrative
When the process 'Extract Commodity Descriptions from SHIPCOMM' is invoked, and assuming that shipcomm contains commodity description data in fields 01-10, when building commodity descriptions, the desired outcome is that all 10 commodity description fields from shipcomm are copied to description work areas.
💻 Technical Criteria
Given SHIPCOMM contains commodity description data in fields 01-10
When Building commodity descriptions
Then All 10 commodity description fields from SHIPCOMM are copied to description work areas
R-GCCCCADD-cbl-01981 Extract Free Form Descriptions from SHIPROOT
Process Rules
📊 Business Logic Narrative
When the process 'Extract Free Form Descriptions from SHIPROOT' is invoked, and assuming that shiproot contains free form description data in fields 1-2, when building commodity descriptions, the desired outcome is that both free form description fields from shiproot are copied to description work areas.
💻 Technical Criteria
Given SHIPROOT contains free form description data in fields 1-2
When Building commodity descriptions
Then Both free form description fields from SHIPROOT are copied to description work areas
R-GCCCCADD-cbl-01982 Process Special Handling Codes
Process Rules
📊 Business Logic Narrative
When the process 'Process Special Handling Codes' is invoked, and assuming that special handling codes exist in the shipment data, when processing special handling codes from counter 1 to 7, the desired outcome is that each special handling code and instruction is evaluated for inclusion in descriptions.
💻 Technical Criteria
Given Special handling codes exist in the shipment data
When Processing special handling codes from counter 1 to 7
Then Each special handling code and instruction is evaluated for inclusion in descriptions
R-GCCCCADD-cbl-01983 Special Handling Code = VA, EV, or VS?
Decision Rules
📊 Business Logic Narrative
When the process 'Special Handling Code = VA, EV, or VS?' is invoked, and assuming that a special handling code is being processed, when the special handling code equals 'va' or 'ev' or 'vs', the desired outcome is that the code is identified as relevant for description enhancement.
💻 Technical Criteria
Given A special handling code is being processed
When The special handling code equals 'VA' or 'EV' or 'VS'
Then The code is identified as relevant for description enhancement
R-GCCCCADD-cbl-01984 Add Special Handling Description
Process Rules
📊 Business Logic Narrative
When the process 'Add Special Handling Description' is invoked, and assuming that a special handling code is identified as relevant (va, ev, or vs), when adding the special handling information to descriptions, the desired outcome is that the code and instruction are added to the first available special handling description slot (1, 2, or 3).
💻 Technical Criteria
Given A special handling code is identified as relevant (VA, EV, or VS)
When Adding the special handling information to descriptions
Then The code and instruction are added to the first available special handling description slot (1, 2, or 3)
R-GCCCCADD-cbl-01985 Combine All Description Sources
Process Rules
📊 Business Logic Narrative
When the process 'Combine All Description Sources' is invoked, and assuming that description data has been collected from shipcomm, shiproot, and special handling sources, when combining all description sources, the desired outcome is that all description components are merged into a single comprehensive description work area.
💻 Technical Criteria
Given Description data has been collected from SHIPCOMM, SHIPROOT, and special handling sources
When Combining all description sources
Then All description components are merged into a single comprehensive description work area
R-GCCCCADD-cbl-01986 Prepare Description for Compression
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Description for Compression' is invoked, and assuming that combined description data is ready for processing, when preparing for compression, the desired outcome is that description length is set to 45000 characters and secondary length to 22500 characters for compression processing.
💻 Technical Criteria
Given Combined description data is ready for processing
When Preparing for compression
Then Description length is set to 45000 characters and secondary length to 22500 characters for compression processing
R-GCCCCADD-cbl-01987 Call GCCCOMP Utility for Compression
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCCOMP Utility for Compression' is invoked, and assuming that description data is prepared with proper length parameters, when calling gcccomp utility, the desired outcome is that the utility compresses the description data using cccom, source description, target description, and length parameters.
💻 Technical Criteria
Given Description data is prepared with proper length parameters
When Calling GCCCOMP utility
Then The utility compresses the description data using CCCOM, source description, target description, and length parameters
R-GCCCCADD-cbl-01988 Store Compressed Description in GCCC-LADING-DESCRIPTION
Process Rules
📊 Business Logic Narrative
When the process 'Store Compressed Description in GCCC-LADING-DESCRIPTION' is invoked, and assuming that description data has been compressed by gcccomp utility, when storing the final description, the desired outcome is that the compressed description is moved to gccc-lading-description field.
💻 Technical Criteria
Given Description data has been compressed by GCCCOMP utility
When Storing the final description
Then The compressed description is moved to GCCC-LADING-DESCRIPTION field
R-GCCCCADD-cbl-02377 Initialize Description Work Areas
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Description Work Areas' is invoked, and assuming that the system needs to build commodity descriptions, when description building process starts, the desired outcome is that all description work areas are cleared and initialized to spaces.
💻 Technical Criteria
Given The system needs to build commodity descriptions
When Description building process starts
Then All description work areas are cleared and initialized to spaces
R-GCCCCADD-cbl-02378 Extract SHIPCOMM Commodity Descriptions
Process Rules
📊 Business Logic Narrative
When the process 'Extract SHIPCOMM Commodity Descriptions' is invoked, and assuming that shipcomm data is available with commodity descriptions, when building commodity descriptions from multiple sources, the desired outcome is that all 10 cmod-desc lines from shipcomm are extracted and stored in description work area.
💻 Technical Criteria
Given SHIPCOMM data is available with commodity descriptions
When Building commodity descriptions from multiple sources
Then All 10 CMOD-DESC lines from SHIPCOMM are extracted and stored in description work area
R-GCCCCADD-cbl-02379 Extract SHIPROOT Free Form Descriptions
Process Rules
📊 Business Logic Narrative
When the process 'Extract SHIPROOT Free Form Descriptions' is invoked, and assuming that shiproot data is available with free form descriptions, when building commodity descriptions from multiple sources, the desired outcome is that both free-form-desc lines from shiproot are extracted and stored in description work area.
💻 Technical Criteria
Given SHIPROOT data is available with free form descriptions
When Building commodity descriptions from multiple sources
Then Both FREE-FORM-DESC lines from SHIPROOT are extracted and stored in description work area
R-GCCCCADD-cbl-02380 Process Special Handling Codes
Process Rules
📊 Business Logic Narrative
When the process 'Process Special Handling Codes' is invoked, and assuming that special handling codes and instructions are available in shipment data, when processing commodity descriptions, the desired outcome is that special handling codes are evaluated for inclusion in description.
💻 Technical Criteria
Given Special handling codes and instructions are available in shipment data
When Processing commodity descriptions
Then Special handling codes are evaluated for inclusion in description
R-GCCCCADD-cbl-02381 Check Code Type VA/EV/VS
Validation Rules
📊 Business Logic Narrative
When the process 'Check Code Type VA/EV/VS' is invoked, and assuming that a special handling code is found in shipment data, when the special handling code is evaluated, the desired outcome is that only codes with type va, ev, or vs are processed for description inclusion.
💻 Technical Criteria
Given A special handling code is found in shipment data
When The special handling code is evaluated
Then Only codes with type VA, EV, or VS are processed for description inclusion
R-GCCCCADD-cbl-02382 Build Special Handling Description
Process Rules
📊 Business Logic Narrative
When the process 'Build Special Handling Description' is invoked, and assuming that a valid special handling code (va/ev/vs) and its instruction are available, when building the special handling description, the desired outcome is that the code and instruction are combined into a formatted description work entry.
💻 Technical Criteria
Given A valid special handling code (VA/EV/VS) and its instruction are available
When Building the special handling description
Then The code and instruction are combined into a formatted description work entry
R-GCCCCADD-cbl-02383 Add to Description Array
Process Rules
📊 Business Logic Narrative
When the process 'Add to Description Array' is invoked, and assuming that a formatted special handling description entry is ready, when adding to the description array, the desired outcome is that the entry is placed in the first available position in the special handling description array (positions 1-3).
💻 Technical Criteria
Given A formatted special handling description entry is ready
When Adding to the description array
Then The entry is placed in the first available position in the special handling description array (positions 1-3)
R-GCCCCADD-cbl-02384 Combine All Description Sources
Process Rules
📊 Business Logic Narrative
When the process 'Combine All Description Sources' is invoked, and assuming that descriptions have been extracted from shipcomm, shiproot, and special handling sources, when combining all description sources, the desired outcome is that all description components are merged into a single work area for processing.
💻 Technical Criteria
Given Descriptions have been extracted from SHIPCOMM, SHIPROOT, and special handling sources
When Combining all description sources
Then All description components are merged into a single work area for processing
R-GCCCCADD-cbl-02385 Prepare for Compression
Process Rules
📊 Business Logic Narrative
When the process 'Prepare for Compression' is invoked, and assuming that combined description data is ready for compression, when preparing for compression processing, the desired outcome is that description length parameters are set to 45000 and 22500 characters respectively for compression utility.
💻 Technical Criteria
Given Combined description data is ready for compression
When Preparing for compression processing
Then Description length parameters are set to 45000 and 22500 characters respectively for compression utility
R-GCCCCADD-cbl-02386 Call GCCCOMP Utility
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCCOMP Utility' is invoked, and assuming that description data is prepared with proper length parameters, when compression is required, the desired outcome is that gcccomp utility is called with cccom, source description, target description, and length parameters.
💻 Technical Criteria
Given Description data is prepared with proper length parameters
When Compression is required
Then GCCCOMP utility is called with CCCOM, source description, target description, and length parameters
R-GCCCCADD-cbl-02387 Store Compressed Description
Process Rules
📊 Business Logic Narrative
When the process 'Store Compressed Description' is invoked, and assuming that description has been successfully compressed by gcccomp utility, when storing the final description, the desired outcome is that the compressed description is moved to gccc-lading-description field.
💻 Technical Criteria
Given Description has been successfully compressed by GCCCOMP utility
When Storing the final description
Then The compressed description is moved to GCCC-LADING-DESCRIPTION field
R-GCCCCADD-cbl-02701 Start Special Handling Code Processing
Process Rules
📊 Business Logic Narrative
When the process 'Start Special Handling Code Processing' is invoked, and assuming that a shipment has special handling codes defined in positions 1 through 7, when the system processes special handling codes, the desired outcome is that the system should initialize processing counter to 1 and begin iterating through available special handling code positions.
💻 Technical Criteria
Given A shipment has special handling codes defined in positions 1 through 7
When The system processes special handling codes
Then The system should initialize processing counter to 1 and begin iterating through available special handling code positions
R-GCCCCADD-cbl-02703 Get Special Handling Code at Counter Position
Process Rules
📊 Business Logic Narrative
When the process 'Get Special Handling Code at Counter Position' is invoked, and assuming that the counter is pointing to a valid position within the special handling codes array, when the system needs to examine a special handling code, the desired outcome is that the system should extract the special handling code from the current counter position.
💻 Technical Criteria
Given The counter is pointing to a valid position within the special handling codes array
When The system needs to examine a special handling code
Then The system should extract the special handling code from the current counter position
R-GCCCCADD-cbl-02712 Increment Counter
Process Rules
📊 Business Logic Narrative
When the process 'Increment Counter' is invoked, and assuming that current special handling code position has been processed, when the system needs to continue processing remaining positions, the desired outcome is that the system should increment the counter by 1 to move to the next special handling code position.
💻 Technical Criteria
Given Current special handling code position has been processed
When The system needs to continue processing remaining positions
Then The system should increment the counter by 1 to move to the next special handling code position
R-GCCCCADD-cbl-02713 End Special Handling Processing
Process Rules
📊 Business Logic Narrative
When the process 'End Special Handling Processing' is invoked, and assuming that all special handling code positions have been examined or counter exceeds maximum limit, when the processing loop condition is no longer met, the desired outcome is that the system should exit the special handling code processing routine.
💻 Technical Criteria
Given All special handling code positions have been examined or counter exceeds maximum limit
When The processing loop condition is no longer met
Then The system should exit the special handling code processing routine
R-GCCCCADD-cbl-02863 Get Special Handling Code at Counter Position
Process Rules
📊 Business Logic Narrative
When the process 'Get Special Handling Code at Counter Position' is invoked, and assuming that a shipment has special handling codes in positions 1 through 7, when the system processes each special handling code position, the desired outcome is that the system retrieves the special handling code from the current counter position.
💻 Technical Criteria
Given A shipment has special handling codes in positions 1 through 7
When The system processes each special handling code position
Then The system retrieves the special handling code from the current counter position
R-GCCCCADD-cbl-02865 Extract Code and Instruction
Process Rules
📊 Business Logic Narrative
When the process 'Extract Code and Instruction' is invoked, and assuming that a valid special handling code has been identified, when the system processes the code, the desired outcome is that the system extracts both the special handling code and its corresponding instruction into work fields.
💻 Technical Criteria
Given A valid special handling code has been identified
When The system processes the code
Then The system extracts both the special handling code and its corresponding instruction into work fields
R-GCCCCADD-cbl-02868 Store in Third Slot
Process Rules
📊 Business Logic Narrative
When the process 'Store in Third Slot' is invoked, and assuming that valid special handling code and instruction have been extracted and both first and second slots are occupied, when the system needs to store the special handling information, the desired outcome is that the system stores the code and instruction in the third slot.
💻 Technical Criteria
Given Valid special handling code and instruction have been extracted AND both first and second slots are occupied
When The system needs to store the special handling information
Then The system stores the code and instruction in the third slot
R-GCCCCADD-cbl-02869 Increment Counter
Process Rules
📊 Business Logic Narrative
When the process 'Increment Counter' is invoked, and assuming that the current special handling code position has been processed, when the system completes processing of the current position, the desired outcome is that the system increments the counter to process the next position.
💻 Technical Criteria
Given The current special handling code position has been processed
When The system completes processing of the current position
Then The system increments the counter to process the next position
R-GCCCCADD-cbl-02870 Counter <= 7?
Process Rules
📊 Business Logic Narrative
When the process 'Counter <= 7?' is invoked, and assuming that the system is processing special handling codes, when the counter exceeds 7 positions, the desired outcome is that the system completes special handling code extraction processing.
💻 Technical Criteria
Given The system is processing special handling codes
When The counter exceeds 7 positions
Then The system completes special handling code extraction processing
R-GCCCCADD-cbl-02871 Initialize Counter to 1
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Counter to 1' is invoked, and assuming that special handling codes need to be processed, when starting the special handling extraction process, the desired outcome is that counter is set to 1 to begin processing from the first array position.
💻 Technical Criteria
Given Special handling codes need to be processed
When Starting the special handling extraction process
Then Counter is set to 1 to begin processing from the first array position
R-GCCCCADD-cbl-02872 Counter <= 7?
Validation Rules
📊 Business Logic Narrative
When the process 'Counter <= 7?' is invoked, and assuming that counter is at a specific position in the special handling codes array, when checking if more special handling codes need to be processed, the desired outcome is that continue processing if counter is 7 or less, otherwise stop processing.
💻 Technical Criteria
Given Counter is at a specific position in the special handling codes array
When Checking if more special handling codes need to be processed
Then Continue processing if counter is 7 or less, otherwise stop processing
R-GCCCCADD-cbl-02873 Get Special Handling Code at Counter Position
Process Rules
📊 Business Logic Narrative
When the process 'Get Special Handling Code at Counter Position' is invoked, and assuming that counter is pointing to a valid position in the special handling codes array, when processing special handling codes, the desired outcome is that extract the special handling code from spcl-hndlg-cde at the counter position.
💻 Technical Criteria
Given Counter is pointing to a valid position in the special handling codes array
When Processing special handling codes
Then Extract the special handling code from SPCL-HNDLG-CDE at the counter position
R-GCCCCADD-cbl-02874 Code = 'VA', 'EV', or 'VS'?
Decision Rules
📊 Business Logic Narrative
When the process 'Code = 'VA', 'EV', or 'VS'?' is invoked, and assuming that a special handling code has been extracted from the array, when validating the special handling code type, the desired outcome is that process the code only if it equals 'va', 'ev', or 'vs', otherwise skip to next position.
💻 Technical Criteria
Given A special handling code has been extracted from the array
When Validating the special handling code type
Then Process the code only if it equals 'VA', 'EV', or 'VS', otherwise skip to next position
R-GCCCCADD-cbl-02875 Extract Instruction Text from SPCL-HNDLG-INST Array
Process Rules
📊 Business Logic Narrative
When the process 'Extract Instruction Text from SPCL-HNDLG-INST Array' is invoked, and assuming that a valid special handling code ('va', 'ev', or 'vs') has been identified, when extracting the corresponding instruction details, the desired outcome is that retrieve the instruction text from spcl-hndlg-inst array at the same counter position.
💻 Technical Criteria
Given A valid special handling code ('VA', 'EV', or 'VS') has been identified
When Extracting the corresponding instruction details
Then Retrieve the instruction text from SPCL-HNDLG-INST array at the same counter position
R-GCCCCADD-cbl-02877 Move Instruction Text to Work Area
Process Rules
📊 Business Logic Narrative
When the process 'Move Instruction Text to Work Area' is invoked, and assuming that special handling instruction text has been extracted, when preparing the instruction for storage, the desired outcome is that move the instruction text to desc-work-desc work area.
💻 Technical Criteria
Given Special handling instruction text has been extracted
When Preparing the instruction for storage
Then Move the instruction text to DESC-WORK-DESC work area
R-GCCCCADD-cbl-02882 Store in Third Special Handling Slot
Process Rules
📊 Business Logic Narrative
When the process 'Store in Third Special Handling Slot' is invoked, and assuming that first and second special handling storage slots are occupied, when storing special handling information, the desired outcome is that move desc-work-info to ws-desc-fw-spcl-hndlg(3).
💻 Technical Criteria
Given First and second special handling storage slots are occupied
When Storing special handling information
Then Move DESC-WORK-INFO to WS-DESC-FW-SPCL-HNDLG(3)
R-GCCCCADD-cbl-02883 Increment Counter
Process Rules
📊 Business Logic Narrative
When the process 'Increment Counter' is invoked, and assuming that current special handling code has been processed (either stored or skipped), when moving to the next array position, the desired outcome is that add 1 to the counter to point to the next special handling code position.
💻 Technical Criteria
Given Current special handling code has been processed (either stored or skipped)
When Moving to the next array position
Then Add 1 to the counter to point to the next special handling code position
R-GCCCCADD-cbl-01990 Loop Through 7 Special Handling Code Positions
Process Rules
📊 Business Logic Narrative
When the process 'Loop Through 7 Special Handling Code Positions' is invoked, and assuming that a shipment has special handling codes and instructions in up to 7 positions, when the system processes special handling codes, the desired outcome is that the system should iterate through all 7 special handling code positions to identify valid codes.
💻 Technical Criteria
Given A shipment has special handling codes and instructions in up to 7 positions
When The system processes special handling codes
Then The system should iterate through all 7 special handling code positions to identify valid codes
R-GCCCCADD-cbl-01991 Special Handling Code = 'VA', 'EV', or 'VS'?
Decision Rules
📊 Business Logic Narrative
When the process 'Special Handling Code = 'VA', 'EV', or 'VS'?' is invoked, and assuming that a special handling code exists at a specific position, when the special handling code is 'va' or 'ev' or 'vs', the desired outcome is that the system should process this code and its associated instruction.
💻 Technical Criteria
Given A special handling code exists at a specific position
When The special handling code is 'VA' or 'EV' or 'VS'
Then The system should process this code and its associated instruction
R-GCCCCADD-cbl-01992 Extract Special Handling Code
Action Rules
📊 Business Logic Narrative
When the process 'Extract Special Handling Code' is invoked, and assuming that a valid special handling code ('va', 'ev', or 'vs') is found, when the system processes the special handling entry, the desired outcome is that the system should extract both the special handling code and its associated instruction into work fields.
💻 Technical Criteria
Given A valid special handling code ('VA', 'EV', or 'VS') is found
When The system processes the special handling entry
Then The system should extract both the special handling code and its associated instruction into work fields
R-GCCCCADD-cbl-01995 Store in Third Special Handling Description Slot
Action Rules
📊 Business Logic Narrative
When the process 'Store in Third Special Handling Description Slot' is invoked, and assuming that special handling description information needs to be stored and both first and second slots are occupied, when the system needs to store additional special handling information, the desired outcome is that the system should store the description information in the third slot.
💻 Technical Criteria
Given Special handling description information needs to be stored and both first and second slots are occupied
When The system needs to store additional special handling information
Then The system should store the description information in the third slot
R-GCCCCADD-cbl-00245 Combine SHIPCOMM Commodity Descriptions
Process Rules
📊 Business Logic Narrative
When the process 'Combine SHIPCOMM Commodity Descriptions' is invoked, and assuming that shipment commodity records contain description data in fields 1 through 10, when the system processes commodity descriptions, the desired outcome is that each commodity description line (cmod-desc 01 through 10) is moved to the corresponding workspace description field (ws-desc-fw-shipcomm 01 through 10).
💻 Technical Criteria
Given Shipment commodity records contain description data in fields 1 through 10
When The system processes commodity descriptions
Then Each commodity description line (CMOD-DESC 01 through 10) is moved to the corresponding workspace description field (WS-DESC-FW-SHIPCOMM 01 through 10)
R-GCCCCADD-cbl-00246 Add SHIPROOT Free Form Descriptions
Process Rules
📊 Business Logic Narrative
When the process 'Add SHIPROOT Free Form Descriptions' is invoked, and assuming that shipment root contains free-form description data in two fields, when the system processes free-form descriptions, the desired outcome is that free-form description line 1 is moved to ws-desc-fw-shiproot field 1 and free-form description line 2 is moved to ws-desc-fw-shiproot field 2.
💻 Technical Criteria
Given Shipment root contains free-form description data in two fields
When The system processes free-form descriptions
Then Free-form description line 1 is moved to WS-DESC-FW-SHIPROOT field 1 and free-form description line 2 is moved to WS-DESC-FW-SHIPROOT field 2
R-GCCCCADD-cbl-00247 Process Special Handling Codes
Decision Rules
📊 Business Logic Narrative
When the process 'Process Special Handling Codes' is invoked, and assuming that a shipment has special handling codes and instructions defined, when the system processes special handling codes from positions 1 through 7, the desired outcome is that each special handling code is evaluated to determine if it matches va, ev, or vs codes for inclusion in description.
💻 Technical Criteria
Given A shipment has special handling codes and instructions defined
When The system processes special handling codes from positions 1 through 7
Then Each special handling code is evaluated to determine if it matches VA, EV, or VS codes for inclusion in description
R-GCCCCADD-cbl-00248 Add Special Handling Instructions
Decision Rules
📊 Business Logic Narrative
When the process 'Add Special Handling Instructions' is invoked, and assuming that a special handling code is va, ev, or vs, when the system processes the special handling code and instruction, the desired outcome is that the handling code and instruction are combined and added to the first available special handling description field (ws-desc-fw-spcl-hndlg positions 1, 2, or 3).
💻 Technical Criteria
Given A special handling code is VA, EV, or VS
When The system processes the special handling code and instruction
Then The handling code and instruction are combined and added to the first available special handling description field (WS-DESC-FW-SPCL-HNDLG positions 1, 2, or 3)
R-GCCCCADD-cbl-00249 Prepare Description for Compression
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Description for Compression' is invoked, and assuming that all description components have been collected from various sources, when the system prepares for description compression, the desired outcome is that all description data is moved to ws-desc-2 workspace and compression length parameters are set to 45000 for input and 22500 for output.
💻 Technical Criteria
Given All description components have been collected from various sources
When The system prepares for description compression
Then All description data is moved to WS-DESC-2 workspace and compression length parameters are set to 45000 for input and 22500 for output
R-GCCCCADD-cbl-00250 Call GCCCOMP Utility
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCCOMP Utility' is invoked, and assuming that description data is prepared in ws-desc-2 with compression parameters set, when the system calls gcccomp utility with cccom, ws-desc-2, ws-desc, ws-desc-length, and ws-desc-length-2 parameters, the desired outcome is that the description data is compressed and returned in ws-desc workspace.
💻 Technical Criteria
Given Description data is prepared in WS-DESC-2 with compression parameters set
When The system calls GCCCOMP utility with CCCOM, WS-DESC-2, WS-DESC, WS-DESC-LENGTH, and WS-DESC-LENGTH-2 parameters
Then The description data is compressed and returned in WS-DESC workspace
R-GCCCCADD-cbl-00251 Store Compressed Description in GCCC-LADING-DESCRIPTION
Process Rules
📊 Business Logic Narrative
When the process 'Store Compressed Description in GCCC-LADING-DESCRIPTION' is invoked, and assuming that description data has been successfully compressed by gcccomp utility, when the system stores the compressed description, the desired outcome is that the compressed description from ws-desc-db-gcsccrt is moved to gccc-lading-description field.
💻 Technical Criteria
Given Description data has been successfully compressed by GCCCOMP utility
When The system stores the compressed description
Then The compressed description from WS-DESC-DB-GCSCCRT is moved to GCCC-LADING-DESCRIPTION field
R-GCCCCADD-cbl-00253 Initialize Hazmat Fields
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Hazmat Fields' is invoked, and assuming that hazardous material processing is starting, when the system begins hazmat information extraction, the desired outcome is that the commodity description danger field and un number field are cleared to spaces.
💻 Technical Criteria
Given Hazardous material processing is starting
When The system begins hazmat information extraction
Then The commodity description danger field and UN number field are cleared to spaces
R-GCCCCADD-cbl-00254 Check for EDI BOL Hazmat Data
Decision Rules
📊 Business Logic Narrative
When the process 'Check for EDI BOL Hazmat Data' is invoked, and assuming that a shipment requires hazmat processing, when the system checks for edi bol hazmat data in commodity segments with type 'ch', the desired outcome is that the system identifies if hazmat segments exist and sets the appropriate processing flag.
💻 Technical Criteria
Given A shipment requires hazmat processing
When The system checks for EDI BOL hazmat data in commodity segments with type 'CH'
Then The system identifies if hazmat segments exist and sets the appropriate processing flag
R-GCCCCADD-cbl-00255 Process EDI BOL Hazmat Data
Process Rules
📊 Business Logic Narrative
When the process 'Process EDI BOL Hazmat Data' is invoked, and assuming that edi bol hazmat data is found in commodity segments, when the system processes hazmat information from edi bol, the desired outcome is that the system extracts un numbers and proper shipping names from the edi bol hazmat segments.
💻 Technical Criteria
Given EDI BOL hazmat data is found in commodity segments
When The system processes hazmat information from EDI BOL
Then The system extracts UN numbers and proper shipping names from the EDI BOL hazmat segments
R-GCCCCADD-cbl-00256 UN Number Found in EDI?
Validation Rules
📊 Business Logic Narrative
When the process 'UN Number Found in EDI?' is invoked, and assuming that hazmat data exists in edi bol commodity segments, when the system examines the un/na identification code, the desired outcome is that if the first two characters equal 'un', the system accepts it as a valid un number, otherwise continues searching.
💻 Technical Criteria
Given Hazmat data exists in EDI BOL commodity segments
When The system examines the UN/NA identification code
Then If the first two characters equal 'UN', the system accepts it as a valid UN number, otherwise continues searching
R-GCCCCADD-cbl-00257 Extract UN Number from EDI
Action Rules
📊 Business Logic Narrative
When the process 'Extract UN Number from EDI' is invoked, and assuming that a valid un number is found in edi bol hazmat data, when the un/na identification code starts with 'un', the desired outcome is that the system moves the complete un/na identification code to the commodity un number field and sets hazmat found flag.
💻 Technical Criteria
Given A valid UN number is found in EDI BOL hazmat data
When The UN/NA identification code starts with 'UN'
Then The system moves the complete UN/NA identification code to the commodity UN number field and sets hazmat found flag
R-GCCCCADD-cbl-00258 Get Proper Shipping Name from EDI
Action Rules
📊 Business Logic Narrative
When the process 'Get Proper Shipping Name from EDI' is invoked, and assuming that a valid un number has been extracted from edi bol, when the system looks up the corresponding hazmat information segment, the desired outcome is that if the hazmat information segment is found, the proper shipping name is moved to the commodity description danger field.
💻 Technical Criteria
Given A valid UN number has been extracted from EDI BOL
When The system looks up the corresponding hazmat information segment
Then If the hazmat information segment is found, the proper shipping name is moved to the commodity description danger field
R-GCCCCADD-cbl-00260 Check Fastway Hazmat Data
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check Fastway Hazmat Data', assuming that no valid hazmat data found in edi bol or edi bol is not available, when the system checks fastway shipment commodity data, the desired outcome is that the system retrieves shipment commodity information and looks up emergency response data.
💻 Technical Criteria
EXCLUDING No valid hazmat data found in EDI BOL or EDI BOL is not available
When The system checks Fastway shipment commodity data
Then The system retrieves shipment commodity information and looks up emergency response data
R-GCCCCADD-cbl-00263 Get Hazmat Description from Fastway
Action Rules
📊 Business Logic Narrative
When the process 'Get Hazmat Description from Fastway' is invoked, and assuming that valid un number has been extracted from fastway data, when the system looks up emergency response description data, the desired outcome is that if description data is found, the first 15 characters of hazmat description are moved to commodity description danger field.
💻 Technical Criteria
Given Valid UN number has been extracted from Fastway data
When The system looks up emergency response description data
Then If description data is found, the first 15 characters of hazmat description are moved to commodity description danger field
R-GCCCCADD-cbl-00264 Use Commodity Table for Hazmat Info
Decision Rules
📊 Business Logic Narrative
When the process 'Use Commodity Table for Hazmat Info' is invoked, and assuming that no hazmat data found in edi bol or fastway sources, when the system accesses the commodity master table using the commodity code, the desired outcome is that the system retrieves commodity description and looks up associated hazmat codes.
💻 Technical Criteria
Given No hazmat data found in EDI BOL or Fastway sources
When The system accesses the commodity master table using the commodity code
Then The system retrieves commodity description and looks up associated hazmat codes
R-GCCCCADD-cbl-00265 Extract Description from Commodity
Action Rules
📊 Business Logic Narrative
When the process 'Extract Description from Commodity' is invoked, and assuming that commodity master record is successfully retrieved, when the commodity table contains hazmat information, the desired outcome is that the system moves the commodity description to the commodity description danger field.
💻 Technical Criteria
Given Commodity master record is successfully retrieved
When The commodity table contains hazmat information
Then The system moves the commodity description to the commodity description danger field
R-GCCCCADD-cbl-00266 Extract UN Number from Commodity
Action Rules
📊 Business Logic Narrative
When the process 'Extract UN Number from Commodity' is invoked, and assuming that commodity description has been extracted from master table, when the system looks up hazmat codes for the commodity, the desired outcome is that if hazmat codes are found, the dot id is moved to the un number field, otherwise both fields are cleared.
💻 Technical Criteria
Given Commodity description has been extracted from master table
When The system looks up hazmat codes for the commodity
Then If hazmat codes are found, the DOT ID is moved to the UN number field, otherwise both fields are cleared
R-GCCCCADD-cbl-00267 Set Hazmat Fields to Spaces
Process Rules
📊 Business Logic Narrative
When the process 'Set Hazmat Fields to Spaces' is invoked, and assuming that no hazmat information found in edi bol, fastway, or commodity table sources, when all hazmat data sources have been exhausted without finding valid information, the desired outcome is that the system clears both the un number field and commodity description danger field to spaces.
💻 Technical Criteria
Given No hazmat information found in EDI BOL, Fastway, or commodity table sources
When All hazmat data sources have been exhausted without finding valid information
Then The system clears both the UN number field and commodity description danger field to spaces
R-GCCCCADD-cbl-01999 Check UN Number Format
Validation Rules
📊 Business Logic Narrative
When the process 'Check UN Number Format' is invoked, and assuming that a hazmat segment has been retrieved from edi bol, when the system examines the un/na identification code, the desired outcome is that if the first two characters are 'un', the identifier is considered a valid un number format.
💻 Technical Criteria
Given A hazmat segment has been retrieved from EDI BOL
When The system examines the UN/NA identification code
Then If the first two characters are 'UN', the identifier is considered a valid UN number format
R-GCCCCADD-cbl-02000 Extract UN Number from LH1 Segment
Decision Rules
📊 Business Logic Narrative
When the process 'Extract UN Number from LH1 Segment' is invoked, and assuming that a hazmat segment contains a valid un number format, when the un/na identification code starts with 'un', the desired outcome is that the complete un/na identification code is extracted and stored as the commodity un number, and hazmat found flag is set to true.
💻 Technical Criteria
Given A hazmat segment contains a valid UN number format
When The UN/NA identification code starts with 'UN'
Then The complete UN/NA identification code is extracted and stored as the commodity UN number, and hazmat found flag is set to true
R-GCCCCADD-cbl-02003 Extract Proper Shipping Name
Decision Rules
📊 Business Logic Narrative
When the process 'Extract Proper Shipping Name' is invoked, and assuming that a hazmat detail segment has been successfully retrieved, when the ebsbchi hs segment contains proper shipping name data, the desired outcome is that the proper shipping name is extracted and stored as the commodity description danger field.
💻 Technical Criteria
Given A hazmat detail segment has been successfully retrieved
When The EBSBCHI HS segment contains proper shipping name data
Then The proper shipping name is extracted and stored as the commodity description danger field
R-GCCCCADD-cbl-02004 More Hazmat Segments?
Decision Rules
📊 Business Logic Narrative
When the process 'More Hazmat Segments?' is invoked, and assuming that a hazmat segment has been processed, when the system evaluates continuation criteria, the desired outcome is that if hazmat has not been found and sequence counter is 98 or less, increment the counter and continue processing, otherwise end the extraction.
💻 Technical Criteria
Given A hazmat segment has been processed
When The system evaluates continuation criteria
Then If hazmat has not been found and sequence counter is 98 or less, increment the counter and continue processing, otherwise end the extraction
R-GCCCCADD-cbl-02389 Initialize Hazmat Variables
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Hazmat Variables' is invoked, and assuming that the system is starting hazmat information processing, when hazmat processing begins, the desired outcome is that the commodity description danger field is cleared and the un number field is cleared and the hazmat not found flag is set.
💻 Technical Criteria
Given The system is starting hazmat information processing
When Hazmat processing begins
Then The commodity description danger field is cleared AND the UN number field is cleared AND the hazmat not found flag is set
R-GCCCCADD-cbl-02391 EDI BOL Valid?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'EDI BOL Valid?', assuming that the system needs to retrieve hazmat commodity segments, when the edi bol validation flag indicates invalid bol, the desired outcome is that the hazmat commodity segment not found flag is set and edi hazmat processing is skipped.
💻 Technical Criteria
EXCLUDING The system needs to retrieve hazmat commodity segments
When The EDI BOL validation flag indicates invalid BOL
Then The hazmat commodity segment not found flag is set AND EDI hazmat processing is skipped
R-GCCCCADD-cbl-02393 EBSBCCM-CH Found?
Validation Rules
📊 Business Logic Narrative
When the process 'EBSBCCM-CH Found?' is invoked, and assuming that an attempt was made to retrieve the ebsbccm-ch segment, when the database status code is spaces (successful), the desired outcome is that the hazmat commodity segment found flag is set.
💻 Technical Criteria
Given An attempt was made to retrieve the EBSBCCM-CH segment
When The database status code is spaces (successful)
Then The hazmat commodity segment found flag is set
R-GCCCCADD-cbl-02396 Set Hazmat Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Hazmat Found Flag' is invoked, and assuming that a valid un number has been extracted from the hazmat commodity segment, when hazmat identification processing is successful, the desired outcome is that the hazmat found flag is set to true.
💻 Technical Criteria
Given A valid UN number has been extracted from the hazmat commodity segment
When Hazmat identification processing is successful
Then The hazmat found flag is set to true
R-GCCCCADD-cbl-02397 Initialize HS Sequence to 1
Process Rules
📊 Business Logic Narrative
When the process 'Initialize HS Sequence to 1' is invoked, and assuming that a valid un number has been found in the hazmat commodity segment, when beginning to search for hazmat shipping information, the desired outcome is that the hazmat shipping info sequence counter is set to 1.
💻 Technical Criteria
Given A valid UN number has been found in the hazmat commodity segment
When Beginning to search for hazmat shipping information
Then The hazmat shipping info sequence counter is set to 1
R-GCCCCADD-cbl-02398 Get EBSBCHI Segment
Action Rules
📊 Business Logic Narrative
When the process 'Get EBSBCHI Segment' is invoked, and assuming that a valid un number exists and the shipping info sequence is initialized, when retrieving the ebsbchi hazmat shipping info segment with type 'hs', the desired outcome is that the system attempts to read the hazmat shipping information for the current commodity and sequence.
💻 Technical Criteria
Given A valid UN number exists AND the shipping info sequence is initialized
When Retrieving the EBSBCHI hazmat shipping info segment with type 'HS'
Then The system attempts to read the hazmat shipping information for the current commodity and sequence
R-GCCCCADD-cbl-02399 EBSBCHI-HS Found?
Validation Rules
📊 Business Logic Narrative
When the process 'EBSBCHI-HS Found?' is invoked, and assuming that an attempt was made to retrieve the ebsbchi-hs segment, when the database status code is spaces (successful), the desired outcome is that the hazmat shipping info found flag is set.
💻 Technical Criteria
Given An attempt was made to retrieve the EBSBCHI-HS segment
When The database status code is spaces (successful)
Then The hazmat shipping info found flag is set
R-GCCCCADD-cbl-02401 Increment CH Sequence Counter
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Increment CH Sequence Counter', assuming that the current hazmat commodity segment does not contain a valid un number or hazmat processing for current segment is complete, when continuing the search for valid hazmat information, the desired outcome is that the commodity hazmat sequence counter is incremented by 1.
💻 Technical Criteria
EXCLUDING The current hazmat commodity segment does not contain a valid UN number OR hazmat processing for current segment is complete
When Continuing the search for valid hazmat information
Then The commodity hazmat sequence counter is incremented by 1
R-GCCCCADD-cbl-02402 More CH Segments Available?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'More CH Segments Available?', assuming that the hazmat sequence counter has been incremented, when the sequence counter is less than or equal to 98 and hazmat information has not been found, the desired outcome is that continue processing additional hazmat commodity segments.
💻 Technical Criteria
EXCLUDING The hazmat sequence counter has been incremented
When The sequence counter is less than or equal to 98 AND hazmat information has not been found
Then Continue processing additional hazmat commodity segments
R-GCCCCADD-cbl-02714 Check UN Prefix Format
Validation Rules
📊 Business Logic Narrative
When the process 'Check UN Prefix Format' is invoked, and assuming that a hazardous material segment contains an identification code in lh1-un-na-id-cd field, when the system checks the first two characters of the identification code, the desired outcome is that the system should verify that the prefix equals 'un' to confirm valid un number format.
💻 Technical Criteria
Given A hazardous material segment contains an identification code in LH1-UN-NA-ID-CD field
When The system checks the first two characters of the identification code
Then The system should verify that the prefix equals 'UN' to confirm valid UN number format
R-GCCCCADD-cbl-02715 Extract UN Number
Action Rules
📊 Business Logic Narrative
When the process 'Extract UN Number' is invoked, and assuming that a hazardous material identification code has been validated with 'un' prefix, when the system processes the lh1-un-na-id-cd field, the desired outcome is that the system should extract the complete un number and store it in the commodity un number field.
💻 Technical Criteria
Given A hazardous material identification code has been validated with 'UN' prefix
When The system processes the LH1-UN-NA-ID-CD field
Then The system should extract the complete UN number and store it in the commodity UN number field
R-GCCCCADD-cbl-02716 Set Hazmat Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Hazmat Found Flag' is invoked, and assuming that a valid un number has been extracted from hazardous material data, when the system confirms the un number format and extraction, the desired outcome is that the system should set the hazmat found flag to true to indicate successful hazmat processing.
💻 Technical Criteria
Given A valid UN number has been extracted from hazardous material data
When The system confirms the UN number format and extraction
Then The system should set the hazmat found flag to true to indicate successful hazmat processing
R-GCCCCADD-cbl-02717 Get Proper Shipping Name
Action Rules
📊 Business Logic Narrative
When the process 'Get Proper Shipping Name' is invoked, and assuming that a valid un number has been identified and hazmat sequence is established, when the system accesses the lh3 hazmat information segment, the desired outcome is that the system should retrieve the proper shipping name from lh3-proper-ship-name field if available.
💻 Technical Criteria
Given A valid UN number has been identified and hazmat sequence is established
When The system accesses the LH3 hazmat information segment
Then The system should retrieve the proper shipping name from LH3-PROPER-SHIP-NAME field if available
R-GCCCCADD-cbl-02718 Store Proper Shipping Name
Action Rules
📊 Business Logic Narrative
When the process 'Store Proper Shipping Name' is invoked, and assuming that the proper shipping name has been successfully retrieved from lh3 segment, when the system processes the hazmat description data, the desired outcome is that the system should store the proper shipping name in the commodity description danger field.
💻 Technical Criteria
Given The proper shipping name has been successfully retrieved from LH3 segment
When The system processes the hazmat description data
Then The system should store the proper shipping name in the commodity description danger field
R-GCCCCADD-cbl-02884 Initialize CCM Sequence to 1
Process Rules
📊 Business Logic Narrative
When the process 'Initialize CCM Sequence to 1' is invoked, and assuming that hazmat processing is starting for an edi bol, when the system begins to read hazmat commodity segments, the desired outcome is that the ccm sequence counter is initialized to 1 to start reading from the first hazmat segment.
💻 Technical Criteria
Given Hazmat processing is starting for an EDI BOL
When The system begins to read hazmat commodity segments
Then The CCM sequence counter is initialized to 1 to start reading from the first hazmat segment
R-GCCCCADD-cbl-02885 Set EDI BOL Key Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Set EDI BOL Key Parameters' is invoked, and assuming that a valid edi bol key exists for the shipment, when the system prepares to read hazmat segments, the desired outcome is that the edi bol key is set as the root key parameter for segment retrieval.
💻 Technical Criteria
Given A valid EDI BOL key exists for the shipment
When The system prepares to read hazmat segments
Then The EDI BOL key is set as the root key parameter for segment retrieval
R-GCCCCADD-cbl-02886 Set Segment Type to EBSBCCM
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Segment Type to EBSBCCM' is invoked, and assuming that the system needs to read hazmat commodity data, when configuring the segment retrieval parameters, the desired outcome is that the segment type is set to 'ebsbccm' to target chemical hazmat segments.
💻 Technical Criteria
Given The system needs to read hazmat commodity data
When Configuring the segment retrieval parameters
Then The segment type is set to 'EBSBCCM' to target chemical hazmat segments
R-GCCCCADD-cbl-02887 Set Function Code to GU
Action Rules
📊 Business Logic Narrative
When the process 'Set Function Code to GU' is invoked, and assuming that the system needs to retrieve a specific hazmat segment, when setting up the database access parameters, the desired outcome is that the function code is set to 'gu' to perform a get unique operation.
💻 Technical Criteria
Given The system needs to retrieve a specific hazmat segment
When Setting up the database access parameters
Then The function code is set to 'GU' to perform a get unique operation
R-GCCCCADD-cbl-02890 Valid EDI BOL?
Validation Rules
📊 Business Logic Narrative
When the process 'Valid EDI BOL?' is invoked, and assuming that an edi bol key has been provided for hazmat processing, when the system attempts to access hazmat segments, the desired outcome is that if the edi bol is invalid, hazmat processing is marked as not found and terminated.
💻 Technical Criteria
Given An EDI BOL key has been provided for hazmat processing
When The system attempts to access hazmat segments
Then If the EDI BOL is invalid, hazmat processing is marked as not found and terminated
R-GCCCCADD-cbl-02891 Call EBCLGIO to Read Segment
Action Rules
📊 Business Logic Narrative
When the process 'Call EBCLGIO to Read Segment' is invoked, and assuming that all segment retrieval parameters are configured and edi bol is valid, when the system executes the database call, the desired outcome is that the ebclgio program is called to retrieve the ebsbccm hazmat segment.
💻 Technical Criteria
Given All segment retrieval parameters are configured and EDI BOL is valid
When The system executes the database call
Then The EBCLGIO program is called to retrieve the EBSBCCM hazmat segment
R-GCCCCADD-cbl-02892 Segment Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Segment Found?' is invoked, and assuming that a database call has been executed to retrieve a hazmat segment, when the system checks the result of the database call, the desired outcome is that if the segment is not found, hazmat processing is marked as not found, otherwise processing continues.
💻 Technical Criteria
Given A database call has been executed to retrieve a hazmat segment
When The system checks the result of the database call
Then If the segment is not found, hazmat processing is marked as not found, otherwise processing continues
R-GCCCCADD-cbl-02893 Set Hazmat Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Hazmat Found Flag' is invoked, and assuming that a hazmat segment has been successfully retrieved from the edi bol, when the system processes the found segment, the desired outcome is that the hazmat found flag is set to indicate successful segment retrieval.
💻 Technical Criteria
Given A hazmat segment has been successfully retrieved from the EDI BOL
When The system processes the found segment
Then The hazmat found flag is set to indicate successful segment retrieval
R-GCCCCADD-cbl-02894 Extract UN Number from LH1-UN-NA-ID-CD
Process Rules
📊 Business Logic Narrative
When the process 'Extract UN Number from LH1-UN-NA-ID-CD' is invoked, and assuming that a hazmat segment has been successfully retrieved, when the system processes the hazmat data, the desired outcome is that the un/na identification code is extracted from the lh1-un-na-id-cd field.
💻 Technical Criteria
Given A hazmat segment has been successfully retrieved
When The system processes the hazmat data
Then The UN/NA identification code is extracted from the LH1-UN-NA-ID-CD field
R-GCCCCADD-cbl-02895 UN Number Starts with 'UN'?
Validation Rules
📊 Business Logic Narrative
When the process 'UN Number Starts with 'UN'?' is invoked, and assuming that a un/na identification code has been extracted from hazmat data, when the system validates the identification code format, the desired outcome is that if the code starts with 'un', it is processed as a valid un number, otherwise the sequence is incremented to check the next segment.
💻 Technical Criteria
Given A UN/NA identification code has been extracted from hazmat data
When The system validates the identification code format
Then If the code starts with 'UN', it is processed as a valid UN number, otherwise the sequence is incremented to check the next segment
R-GCCCCADD-cbl-02896 Set Hazmat Found Status
Process Rules
📊 Business Logic Narrative
When the process 'Set Hazmat Found Status' is invoked, and assuming that an identification code starting with 'un' has been found in hazmat data, when the system confirms the un number validity, the desired outcome is that the hazmat found status is set to indicate successful un number identification.
💻 Technical Criteria
Given An identification code starting with 'UN' has been found in hazmat data
When The system confirms the UN number validity
Then The hazmat found status is set to indicate successful UN number identification
R-GCCCCADD-cbl-02899 More Segments to Process?
Decision Rules
📊 Business Logic Narrative
When the process 'More Segments to Process?' is invoked, and assuming that the ccm sequence has been incremented, when the system checks for continuation of hazmat processing, the desired outcome is that if the sequence is within limits and no valid un number has been found, processing continues with the next segment, otherwise processing ends.
💻 Technical Criteria
Given The CCM sequence has been incremented
When The system checks for continuation of hazmat processing
Then If the sequence is within limits and no valid UN number has been found, processing continues with the next segment, otherwise processing ends
R-GCCCCADD-cbl-02900 Set Hazmat Not Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Hazmat Not Found Flag' is invoked, and assuming that all hazmat segments have been processed or edi bol is invalid, when no valid un number has been identified, the desired outcome is that the hazmat not found flag is set to indicate unsuccessful hazmat processing.
💻 Technical Criteria
Given All hazmat segments have been processed or EDI BOL is invalid
When No valid UN number has been identified
Then The hazmat not found flag is set to indicate unsuccessful hazmat processing
R-GCCCCADD-cbl-02901 Read LH3 Segment for Description
Action Rules
📊 Business Logic Narrative
When the process 'Read LH3 Segment for Description' is invoked, and assuming that a hazmat information sequence counter is set and ebsbchi hazmat segment exists for the current edi bol, when the system attempts to retrieve the lh3 proper shipping name from the ebsbchi hazmat information segment, the desired outcome is that if the ebsbchi hazmat segment is found, extract the lh3 proper shipping name and store it in the commodity description danger field, otherwise no description is available.
💻 Technical Criteria
Given A hazmat information sequence counter is set and EBSBCHI hazmat segment exists for the current EDI BOL
When The system attempts to retrieve the LH3 proper shipping name from the EBSBCHI hazmat information segment
Then If the EBSBCHI hazmat segment is found, extract the LH3 proper shipping name and store it in the commodity description danger field, otherwise no description is available
R-GCCCCADD-cbl-02903 EBSBCHI Hazmat Segment Found?
Validation Rules
📊 Business Logic Narrative
When the process 'EBSBCHI Hazmat Segment Found?' is invoked, and assuming that a request to retrieve hazmat information from ebsbchi segment has been made, when the system checks for the existence of ebsbchi hazmat segment with lh3 data, the desired outcome is that if the segment is found and contains valid data, proceed to extract the proper shipping name, otherwise indicate no description is available.
💻 Technical Criteria
Given A request to retrieve hazmat information from EBSBCHI segment has been made
When The system checks for the existence of EBSBCHI hazmat segment with LH3 data
Then If the segment is found and contains valid data, proceed to extract the proper shipping name, otherwise indicate no description is available
R-GCCCCADD-cbl-02006 EDI Hazmat Data Found?
Decision Rules
📊 Business Logic Narrative
When the process 'EDI Hazmat Data Found?' is invoked, and assuming that hazmat processing is initiated for a shipment, when the system searches for hazmat data sources, the desired outcome is that edi hazmat data is checked first and used if available, otherwise system falls back to fastway data sources.
💻 Technical Criteria
Given Hazmat processing is initiated for a shipment
When The system searches for hazmat data sources
Then EDI hazmat data is checked first and used if available, otherwise system falls back to Fastway data sources
R-GCCCCADD-cbl-02007 SHIPCOMM Data Available?
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'SHIPCOMM Data Available?', assuming that edi hazmat data is not found for the shipment, when system attempts to access fastway shipcomm data, the desired outcome is that if shipcomm data is found, proceed to shiperp segment access, otherwise mark no fastway hazmat data available.
💻 Technical Criteria
EXCLUDING EDI hazmat data is not found for the shipment
When System attempts to access Fastway SHIPCOMM data
Then If SHIPCOMM data is found, proceed to SHIPERP segment access, otherwise mark no Fastway hazmat data available
R-GCCCCADD-cbl-02011 SHIPERPD Description Found?
Action Rules
📊 Business Logic Narrative
When the process 'SHIPERPD Description Found?' is invoked, and assuming that un number has been extracted from shiperp data, when system accesses shiperpd segment for hazmat description, the desired outcome is that if shiperpd data is found, use the hazmat description, otherwise proceed with hazmat found flag set.
💻 Technical Criteria
Given UN number has been extracted from SHIPERP data
When System accesses SHIPERPD segment for hazmat description
Then If SHIPERPD data is found, use the hazmat description, otherwise proceed with hazmat found flag set
R-GCCCCADD-cbl-02012 Use SHIPERPD Hazmat Description
Action Rules
📊 Business Logic Narrative
When the process 'Use SHIPERPD Hazmat Description' is invoked, and assuming that shiperpd description data is found, when system processes the hazmat description, the desired outcome is that the first 15 characters of erpd-haz-desc are moved to gccc-comodity-desc-danger field.
💻 Technical Criteria
Given SHIPERPD description data is found
When System processes the hazmat description
Then The first 15 characters of ERPD-HAZ-DESC are moved to GCCC-COMODITY-DESC-DANGER field
R-GCCCCADD-cbl-02013 Continue to Commodity Table Lookup
Process Rules
📊 Business Logic Narrative
When the process 'Continue to Commodity Table Lookup' is invoked, and assuming that hazmat processing from edi or fastway sources is completed, when system has processed all available hazmat data sources, the desired outcome is that system continues to commodity table lookup for additional hazmat information if needed.
💻 Technical Criteria
Given Hazmat processing from EDI or Fastway sources is completed
When System has processed all available hazmat data sources
Then System continues to commodity table lookup for additional hazmat information if needed
R-GCCCCADD-cbl-02403 Get SHIPCOMM Segment
Action Rules
📊 Business Logic Narrative
When the process 'Get SHIPCOMM Segment' is invoked, and assuming that a shipment root record exists with valid root key, when the system attempts to retrieve commodity data from fastway shipcomm segment, the desired outcome is that the shipcomm segment is retrieved and made available for hazmat processing.
💻 Technical Criteria
Given A shipment root record exists with valid root key
When The system attempts to retrieve commodity data from Fastway SHIPCOMM segment
Then The SHIPCOMM segment is retrieved and made available for hazmat processing
R-GCCCCADD-cbl-02404 SHIPCOMM Found?
Validation Rules
📊 Business Logic Narrative
When the process 'SHIPCOMM Found?' is invoked, and assuming that the system has attempted to retrieve shipcomm segment data, when the retrieval operation completes, the desired outcome is that if shipcomm data is found, continue with emergency response data retrieval, otherwise skip fastway hazmat processing.
💻 Technical Criteria
Given The system has attempted to retrieve SHIPCOMM segment data
When The retrieval operation completes
Then If SHIPCOMM data is found, continue with emergency response data retrieval, otherwise skip Fastway hazmat processing
R-GCCCCADD-cbl-02405 Get SHIPERP Segment
Action Rules
📊 Business Logic Narrative
When the process 'Get SHIPERP Segment' is invoked, and assuming that shipcomm segment data is available with valid commodity information, when the system retrieves emergency response data from shiperp segment, the desired outcome is that shiperp segment containing hazmat identification codes is made available for validation.
💻 Technical Criteria
Given SHIPCOMM segment data is available with valid commodity information
When The system retrieves emergency response data from SHIPERP segment
Then SHIPERP segment containing hazmat identification codes is made available for validation
R-GCCCCADD-cbl-02406 SHIPERP Found?
Validation Rules
📊 Business Logic Narrative
When the process 'SHIPERP Found?' is invoked, and assuming that the system has attempted to retrieve shiperp segment data, when the retrieval operation completes, the desired outcome is that if shiperp data is found, proceed with un code format validation, otherwise skip fastway hazmat processing.
💻 Technical Criteria
Given The system has attempted to retrieve SHIPERP segment data
When The retrieval operation completes
Then If SHIPERP data is found, proceed with UN code format validation, otherwise skip Fastway hazmat processing
R-GCCCCADD-cbl-02408 UN Code Starts with 'UN'?
Decision Rules
📊 Business Logic Narrative
When the process 'UN Code Starts with 'UN'?' is invoked, and assuming that a un/na code exists in the emergency response data, when the system checks if the code starts with 'un' in the first two positions, the desired outcome is that if the code starts with 'un', proceed with hazmat data extraction, otherwise skip fastway processing.
💻 Technical Criteria
Given A UN/NA code exists in the emergency response data
When The system checks if the code starts with 'UN' in the first two positions
Then If the code starts with 'UN', proceed with hazmat data extraction, otherwise skip Fastway processing
R-GCCCCADD-cbl-02410 Clear Hazmat Description
Process Rules
📊 Business Logic Narrative
When the process 'Clear Hazmat Description' is invoked, and assuming that a valid un number has been extracted from emergency response data, when the system prepares to retrieve detailed hazmat description, the desired outcome is that the hazmat description field is cleared to ensure clean data population.
💻 Technical Criteria
Given A valid UN number has been extracted from emergency response data
When The system prepares to retrieve detailed hazmat description
Then The hazmat description field is cleared to ensure clean data population
R-GCCCCADD-cbl-02411 Get SHIPERPD Segment
Action Rules
📊 Business Logic Narrative
When the process 'Get SHIPERPD Segment' is invoked, and assuming that valid un number exists and hazmat description field is initialized, when the system attempts to retrieve shiperpd segment data using emergency response stcc code, the desired outcome is that shiperpd segment containing detailed hazmat descriptions is made available for extraction.
💻 Technical Criteria
Given Valid UN number exists and hazmat description field is initialized
When The system attempts to retrieve SHIPERPD segment data using emergency response STCC code
Then SHIPERPD segment containing detailed hazmat descriptions is made available for extraction
R-GCCCCADD-cbl-02412 SHIPERPD Found?
Validation Rules
📊 Business Logic Narrative
When the process 'SHIPERPD Found?' is invoked, and assuming that the system has attempted to retrieve shiperpd segment data, when the retrieval operation completes, the desired outcome is that if shiperpd data is found, extract hazmat description, otherwise proceed with hazmat found flag setting.
💻 Technical Criteria
Given The system has attempted to retrieve SHIPERPD segment data
When The retrieval operation completes
Then If SHIPERPD data is found, extract hazmat description, otherwise proceed with hazmat found flag setting
R-GCCCCADD-cbl-02414 Set Hazmat Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Hazmat Found Flag' is invoked, and assuming that valid un number has been extracted and hazmat description processing is complete, when the fastway hazmat extraction process concludes, the desired outcome is that the hazmat found flag is set to indicate successful extraction from fastway sources.
💻 Technical Criteria
Given Valid UN number has been extracted and hazmat description processing is complete
When The Fastway hazmat extraction process concludes
Then The hazmat found flag is set to indicate successful extraction from Fastway sources
R-GCCCCADD-cbl-02014 Get Commodity Code from Shipment
Process Rules
📊 Business Logic Narrative
When the process 'Get Commodity Code from Shipment' is invoked, and assuming that a shipment record exists with commodity information, when the system needs to process hazmat information, the desired outcome is that the commodity code is extracted from the shipment commodity data.
💻 Technical Criteria
Given A shipment record exists with commodity information
When The system needs to process hazmat information
Then The commodity code is extracted from the shipment commodity data
R-GCCCCADD-cbl-02015 Access Commodity Table with STCC Code
Action Rules
📊 Business Logic Narrative
When the process 'Access Commodity Table with STCC Code' is invoked, and assuming that a valid commodity stcc code is available, when the system accesses the commodity table, the desired outcome is that the commodity record is retrieved using the stcc code as the lookup key.
💻 Technical Criteria
Given A valid commodity STCC code is available
When The system accesses the commodity table
Then The commodity record is retrieved using the STCC code as the lookup key
R-GCCCCADD-cbl-02016 Commodity Record Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Commodity Record Found?' is invoked, and assuming that a commodity table lookup has been performed, when the system checks the lookup result status, the desired outcome is that the system determines whether a valid commodity record was found or not.
💻 Technical Criteria
Given A commodity table lookup has been performed
When The system checks the lookup result status
Then The system determines whether a valid commodity record was found or not
R-GCCCCADD-cbl-02017 Extract Commodity Description
Process Rules
📊 Business Logic Narrative
When the process 'Extract Commodity Description' is invoked, and assuming that a valid commodity record has been found in the commodity table, when the system processes the commodity record, the desired outcome is that the commodity description is extracted and assigned to the hazmat commodity description field.
💻 Technical Criteria
Given A valid commodity record has been found in the commodity table
When The system processes the commodity record
Then The commodity description is extracted and assigned to the hazmat commodity description field
R-GCCCCADD-cbl-02018 Access ISSCD Table for UN Numbers
Action Rules
📊 Business Logic Narrative
When the process 'Access ISSCD Table for UN Numbers' is invoked, and assuming that a valid commodity record exists and commodity description has been extracted, when the system needs to find un number information, the desired outcome is that the isscd table is accessed to lookup un number data for the commodity.
💻 Technical Criteria
Given A valid commodity record exists and commodity description has been extracted
When The system needs to find UN number information
Then The ISSCD table is accessed to lookup UN number data for the commodity
R-GCCCCADD-cbl-02019 UN Number Found in ISSCD?
Validation Rules
📊 Business Logic Narrative
When the process 'UN Number Found in ISSCD?' is invoked, and assuming that an isscd table lookup has been performed for the commodity, when the system checks the isscd lookup result, the desired outcome is that the system determines whether a valid un number record was found in isscd.
💻 Technical Criteria
Given An ISSCD table lookup has been performed for the commodity
When The system checks the ISSCD lookup result
Then The system determines whether a valid UN number record was found in ISSCD
R-GCCCCADD-cbl-02021 Set Hazmat Description from Commodity
Process Rules
📊 Business Logic Narrative
When the process 'Set Hazmat Description from Commodity' is invoked, and assuming that a valid un number has been found and assigned from isscd table, when the system completes hazmat information processing, the desired outcome is that the commodity description is assigned to the hazmat commodity description field.
💻 Technical Criteria
Given A valid UN number has been found and assigned from ISSCD table
When The system completes hazmat information processing
Then The commodity description is assigned to the hazmat commodity description field
R-GCCCCADD-cbl-02022 Clear UN Number and Description
Process Rules
📊 Business Logic Narrative
When the process 'Clear UN Number and Description' is invoked, and assuming that no valid un number record was found in the isscd table, when the system processes the failed isscd lookup, the desired outcome is that both the un number field and hazmat commodity description field are cleared to spaces.
💻 Technical Criteria
Given No valid UN number record was found in the ISSCD table
When The system processes the failed ISSCD lookup
Then Both the UN number field and hazmat commodity description field are cleared to spaces
R-GCCCCADD-cbl-00275 Extract Shipper Information from EDI
Process Rules
📊 Business Logic Narrative
When the process 'Extract Shipper Information from EDI' is invoked, and assuming that edi bol data is available for processing, when the system extracts shipper information, the desired outcome is that the ebsnrsc segment with entity type 'hn' and sequence '01' is retrieved to get shipper name and identification.
💻 Technical Criteria
Given EDI BOL data is available for processing
When The system extracts shipper information
Then The EBSNRSC segment with entity type 'HN' and sequence '01' is retrieved to get shipper name and identification
R-GCCCCADD-cbl-00276 Extract Consignee Information from EDI
Process Rules
📊 Business Logic Narrative
When the process 'Extract Consignee Information from EDI' is invoked, and assuming that edi bol data is available for processing, when the system extracts consignee information, the desired outcome is that the ebsnrsc segment with entity type 'cn' and sequence '01' is retrieved to get consignee name and identification.
💻 Technical Criteria
Given EDI BOL data is available for processing
When The system extracts consignee information
Then The EBSNRSC segment with entity type 'CN' and sequence '01' is retrieved to get consignee name and identification
R-GCCCCADD-cbl-00277 Extract Entity Segments from EDI
Process Rules
📊 Business Logic Narrative
When the process 'Extract Entity Segments from EDI' is invoked, and assuming that edi bol data is available for processing, when the system extracts entity segments, the desired outcome is that various entity types (sf, uc, bn, c1, n1, pf, ss, 11, mc, oo, fw, nn) are retrieved from ebsnrsc segments based on their specific entity codes.
💻 Technical Criteria
Given EDI BOL data is available for processing
When The system extracts entity segments
Then Various entity types (SF, UC, BN, C1, N1, PF, SS, 11, MC, OO, FW, NN) are retrieved from EBSNRSC segments based on their specific entity codes
R-GCCCCADD-cbl-00278 Extract Address Information
Process Rules
📊 Business Logic Narrative
When the process 'Extract Address Information' is invoked, and assuming that entity information has been extracted from edi bol, when the system extracts address information, the desired outcome is that address segments (n3 and n4 types) are retrieved from ebsnrsa segments to get street addresses, city, state, postal code, and country information.
💻 Technical Criteria
Given Entity information has been extracted from EDI BOL
When The system extracts address information
Then Address segments (N3 and N4 types) are retrieved from EBSNRSA segments to get street addresses, city, state, postal code, and country information
R-GCCCCADD-cbl-00279 Process Contact Information
Process Rules
📊 Business Logic Narrative
When the process 'Process Contact Information' is invoked, and assuming that entity and address information has been extracted from edi bol, when the system processes contact information, the desired outcome is that contact segments (per type) are retrieved from ebsnrsa segments to get contact function code, name, communication number qualifier, and communication number.
💻 Technical Criteria
Given Entity and address information has been extracted from EDI BOL
When The system processes contact information
Then Contact segments (PER type) are retrieved from EBSNRSA segments to get contact function code, name, communication number qualifier, and communication number
R-GCCCCADD-cbl-00282 Extract MCOA Charge Information
Process Rules
📊 Business Logic Narrative
When the process 'Extract MCOA Charge Information' is invoked, and assuming that edi bol data is available for processing, when the system extracts mcoa charge information, the desired outcome is that mcoa segments (ot, on, oc types) are retrieved from ebsmcoa segments to get organization details, addresses, and charge information for entities like freight forwarders and bill recipients.
💻 Technical Criteria
Given EDI BOL data is available for processing
When The system extracts MCOA charge information
Then MCOA segments (OT, ON, OC types) are retrieved from EBSMCOA segments to get organization details, addresses, and charge information for entities like freight forwarders and bill recipients
R-GCCCCADD-cbl-00283 Validate EDI BOL Structure
Validation Rules
📊 Business Logic Narrative
When the process 'Validate EDI BOL Structure' is invoked, and assuming that all edi bol segments have been extracted and processed, when the system validates the edi bol structure, the desired outcome is that each n1 segment is validated for required fields (entity id, name), address information is validated for completeness, and contact information is validated for proper format.
💻 Technical Criteria
Given All EDI BOL segments have been extracted and processed
When The system validates the EDI BOL structure
Then Each N1 segment is validated for required fields (entity ID, name), address information is validated for completeness, and contact information is validated for proper format
R-GCCCCADD-cbl-02024 Extract Shipper Name and CHOP from HN Segment
Action Rules
📊 Business Logic Narrative
When the process 'Extract Shipper Name and CHOP from HN Segment' is invoked, and assuming that an edi bol exists with shipper data in hn segment, when the system processes shipper record building, the desired outcome is that the entity id is set to 'sh', shipper name is extracted from consignor name field, and chop code is extracted from shipper chop field.
💻 Technical Criteria
Given An EDI BOL exists with shipper data in HN segment
When The system processes shipper record building
Then The entity ID is set to 'SH', shipper name is extracted from consignor name field, and CHOP code is extracted from shipper CHOP field
R-GCCCCADD-cbl-02025 Get Shipper Address from HA Segment
Action Rules
📊 Business Logic Narrative
When the process 'Get Shipper Address from HA Segment' is invoked, and assuming that edi bol contains shipper address data in ha segment, when the system processes shipper address information, the desired outcome is that address line 1 and address line 2 are populated from additional name/address fields, with 'na' as default if address line 1 is blank.
💻 Technical Criteria
Given EDI BOL contains shipper address data in HA segment
When The system processes shipper address information
Then Address line 1 and address line 2 are populated from additional name/address fields, with 'NA' as default if address line 1 is blank
R-GCCCCADD-cbl-02027 Get Shipper Contact Info from GP Segment
Action Rules
📊 Business Logic Narrative
When the process 'Get Shipper Contact Info from GP Segment' is invoked, and assuming that edi bol contains shipper contact data in gp segment, when the system processes shipper contact information, the desired outcome is that contact function code, contact name, communication number qualifier, and communication number are extracted from the gp segment.
💻 Technical Criteria
Given EDI BOL contains shipper contact data in GP segment
When The system processes shipper contact information
Then Contact function code, contact name, communication number qualifier, and communication number are extracted from the GP segment
R-GCCCCADD-cbl-02028 Use Fastway Shipper Data as Fallback
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Fastway Shipper Data as Fallback', assuming that edi bol shipper data is not available, when the system builds shipper record, the desired outcome is that shipper chop, entity id 'sh', and shipper name are populated from fastway shipment root data, with address defaulting to 'na' if blank.
💻 Technical Criteria
EXCLUDING EDI BOL shipper data is not available
When The system builds shipper record
Then Shipper CHOP, entity ID 'SH', and shipper name are populated from Fastway shipment root data, with address defaulting to 'NA' if blank
R-GCCCCADD-cbl-02029 Extract Consignee Name and CHOP from CN Segment
Action Rules
📊 Business Logic Narrative
When the process 'Extract Consignee Name and CHOP from CN Segment' is invoked, and assuming that an edi bol exists with consignee data in cn segment, when the system processes consignee record building, the desired outcome is that the entity id is set to 'cn', consignee name is extracted from shipper name field, and chop code is extracted from consignee chop field.
💻 Technical Criteria
Given An EDI BOL exists with consignee data in CN segment
When The system processes consignee record building
Then The entity ID is set to 'CN', consignee name is extracted from shipper name field, and CHOP code is extracted from consignee CHOP field
R-GCCCCADD-cbl-02030 Get Consignee Address from CA Segment
Action Rules
📊 Business Logic Narrative
When the process 'Get Consignee Address from CA Segment' is invoked, and assuming that edi bol contains consignee address data in ca segment, when the system processes consignee address information, the desired outcome is that address line 1 and address line 2 are populated from additional name/address fields, with 'na' as default if address line 1 is blank.
💻 Technical Criteria
Given EDI BOL contains consignee address data in CA segment
When The system processes consignee address information
Then Address line 1 and address line 2 are populated from additional name/address fields, with 'NA' as default if address line 1 is blank
R-GCCCCADD-cbl-02032 Use Fastway Consignee Data as Fallback
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Fastway Consignee Data as Fallback', assuming that edi bol consignee data is not available, when the system builds consignee record, the desired outcome is that consignee chop, entity id 'cn', and consignee name are populated from fastway shipment root data, with address defaulting to 'na' if blank and country lookup from state/province table.
💻 Technical Criteria
EXCLUDING EDI BOL consignee data is not available
When The system builds consignee record
Then Consignee CHOP, entity ID 'CN', and consignee name are populated from Fastway shipment root data, with address defaulting to 'NA' if blank and country lookup from state/province table
R-GCCCCADD-cbl-02033 Build Stuffer Entity from PN Segment
Action Rules
📊 Business Logic Narrative
When the process 'Build Stuffer Entity from PN Segment' is invoked, and assuming that edi bol contains stuffer data in pn segment, when the system processes stuffer entity building, the desired outcome is that entity id is set to 'sf', name is extracted from pn segment, and associated address information is retrieved from pa and pc segments with 'na' default for missing address.
💻 Technical Criteria
Given EDI BOL contains stuffer data in PN segment
When The system processes stuffer entity building
Then Entity ID is set to 'SF', name is extracted from PN segment, and associated address information is retrieved from PA and PC segments with 'NA' default for missing address
R-GCCCCADD-cbl-02034 Build Ultimate Consignee from UN Segment
Action Rules
📊 Business Logic Narrative
When the process 'Build Ultimate Consignee from UN Segment' is invoked, and assuming that edi bol contains ultimate consignee data in un segment, when the system processes ultimate consignee entity building, the desired outcome is that entity id is set to 'uc', name is extracted from un segment, and associated address information is retrieved from ua and uc segments with 'na' default for missing address.
💻 Technical Criteria
Given EDI BOL contains ultimate consignee data in UN segment
When The system processes ultimate consignee entity building
Then Entity ID is set to 'UC', name is extracted from UN segment, and associated address information is retrieved from UA and UC segments with 'NA' default for missing address
R-GCCCCADD-cbl-02035 Build Beneficial Owner from BN Segment
Action Rules
📊 Business Logic Narrative
When the process 'Build Beneficial Owner from BN Segment' is invoked, and assuming that edi bol contains beneficial owner data in bn segment, when the system processes beneficial owner entity building, the desired outcome is that entity id is set to 'bn', name and chop are extracted from bn segment, and associated address information is retrieved from bt and by segments with 'na' default for missing address.
💻 Technical Criteria
Given EDI BOL contains beneficial owner data in BN segment
When The system processes beneficial owner entity building
Then Entity ID is set to 'BN', name and CHOP are extracted from BN segment, and associated address information is retrieved from BT and BY segments with 'NA' default for missing address
R-GCCCCADD-cbl-02037 Build MCOA Entities from OT Segments
Action Rules
📊 Business Logic Narrative
When the process 'Build MCOA Entities from OT Segments' is invoked, and assuming that edi bol contains mcoa data in ot segment with organization id 'pf' or 'ss', when the system processes mcoa entity building, the desired outcome is that entity record is created with pf or ss as entity type, name and id codes extracted from ot segment, and associated address information retrieved from on and oc segments with 'na' default for missing address.
💻 Technical Criteria
Given EDI BOL contains MCOA data in OT segment with organization ID 'PF' or 'SS'
When The system processes MCOA entity building
Then Entity record is created with PF or SS as entity type, name and ID codes extracted from OT segment, and associated address information retrieved from ON and OC segments with 'NA' default for missing address
R-GCCCCADD-cbl-02038 Process NN Segments for Various Entity Types
Process Rules
📊 Business Logic Narrative
When the process 'Process NN Segments for Various Entity Types' is invoked, and assuming that edi bol contains named entity data in nn segments, when the system processes nn segments sequentially, the desired outcome is that for each valid entity id found, entity name and chop are extracted, and associated address information is retrieved from gc and ga segments.
💻 Technical Criteria
Given EDI BOL contains named entity data in NN segments
When The system processes NN segments sequentially
Then For each valid entity ID found, entity name and CHOP are extracted, and associated address information is retrieved from GC and GA segments
R-GCCCCADD-cbl-02040 Get Entity Address from GC Segment
Action Rules
📊 Business Logic Narrative
When the process 'Get Entity Address from GC Segment' is invoked, and assuming that edi bol contains entity address data in gc segment for a named entity, when the system processes entity address information, the desired outcome is that address line 1 and address line 2 are populated from additional name/address fields, with 'na' as default if address line 1 is blank.
💻 Technical Criteria
Given EDI BOL contains entity address data in GC segment for a named entity
When The system processes entity address information
Then Address line 1 and address line 2 are populated from additional name/address fields, with 'NA' as default if address line 1 is blank
R-GCCCCADD-cbl-02042 Validate Entity Data Requirements
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Entity Data Requirements' is invoked, and assuming that an entity record has been populated with data from edi bol or fastway, when the system validates entity data requirements, the desired outcome is that required fields are checked including entity id, name, address line 1, city, state/province, postal code, and country code with appropriate error messages for missing data.
💻 Technical Criteria
Given An entity record has been populated with data from EDI BOL or Fastway
When The system validates entity data requirements
Then Required fields are checked including entity ID, name, address line 1, city, state/province, postal code, and country code with appropriate error messages for missing data
R-GCCCCADD-cbl-02415 EDI BOL Shipper Data Available?
Decision Rules
📊 Business Logic Narrative
When the process 'EDI BOL Shipper Data Available?' is invoked, and assuming that a shipment record is being processed for shipper information, when the system checks for edi bol shipper data availability by looking up ebsnrsc segment with type 'hn' and sequence '01', the desired outcome is that if edi bol shipper data is found, use edi data source; otherwise fallback to fastway shipment root data.
💻 Technical Criteria
Given A shipment record is being processed for shipper information
When The system checks for EDI BOL shipper data availability by looking up EBSNRSC segment with type 'HN' and sequence '01'
Then If EDI BOL shipper data is found, use EDI data source; otherwise fallback to Fastway shipment root data
R-GCCCCADD-cbl-02416 Extract Shipper Name and CHOP from EDI BOL
Process Rules
📊 Business Logic Narrative
When the process 'Extract Shipper Name and CHOP from EDI BOL' is invoked, and assuming that edi bol shipper data is available in ebsnrsc segment, when the system processes the shipper n1 segment data, the desired outcome is that set entity id to 'sh', extract shipper name from f1-consignor-name, extract chop code from f1-shpr-chop, and clear id code qualifier and id code fields.
💻 Technical Criteria
Given EDI BOL shipper data is available in EBSNRSC segment
When The system processes the shipper N1 segment data
Then Set entity ID to 'SH', extract shipper name from F1-CONSIGNOR-NAME, extract CHOP code from F1-SHPR-CHOP, and clear ID code qualifier and ID code fields
R-GCCCCADD-cbl-02417 Use Fastway Shipper Data
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Fastway Shipper Data', assuming that edi bol shipper data is not available, when the system needs shipper information for the manifest, the desired outcome is that set entity id to 'sh', extract shipper name from shpr-nm of shiproot, extract chop code from shpr-chop of shiproot, and clear id code qualifier and id code fields.
💻 Technical Criteria
EXCLUDING EDI BOL shipper data is not available
When The system needs shipper information for the manifest
Then Set entity ID to 'SH', extract shipper name from SHPR-NM of SHIPROOT, extract CHOP code from SHPR-CHOP of SHIPROOT, and clear ID code qualifier and ID code fields
R-GCCCCADD-cbl-02418 EDI BOL Shipper Address Available?
Decision Rules
📊 Business Logic Narrative
When the process 'EDI BOL Shipper Address Available?' is invoked, and assuming that shipper basic information has been processed, when the system checks for edi bol shipper address data by looking up ebsnrsa segment with types 'hn' and 'ha', the desired outcome is that if edi bol address data is found, use edi address source; otherwise use fastway address data.
💻 Technical Criteria
Given Shipper basic information has been processed
When The system checks for EDI BOL shipper address data by looking up EBSNRSA segment with types 'HN' and 'HA'
Then If EDI BOL address data is found, use EDI address source; otherwise use Fastway address data
R-GCCCCADD-cbl-02419 Extract Address from EDI BOL
Process Rules
📊 Business Logic Narrative
When the process 'Extract Address from EDI BOL' is invoked, and assuming that edi bol shipper address data is available in ebsnrsa segment, when the system processes the shipper address information, the desired outcome is that extract address line 1 from f2-addl-name-addr-1, extract address line 2 from f2-addl-name-addr-2, and if address line 1 is blank set it to 'na'.
💻 Technical Criteria
Given EDI BOL shipper address data is available in EBSNRSA segment
When The system processes the shipper address information
Then Extract address line 1 from F2-ADDL-NAME-ADDR-1, extract address line 2 from F2-ADDL-NAME-ADDR-2, and if address line 1 is blank set it to 'NA'
R-GCCCCADD-cbl-02420 Use Fastway Address Data
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Fastway Address Data', assuming that edi bol shipper address data is not available, when the system needs shipper address information, the desired outcome is that if shpr-addr(1) is blank set address line 1 to 'na', otherwise use shpr-addr(1) for address line 1, and set address line 2 to spaces.
💻 Technical Criteria
EXCLUDING EDI BOL shipper address data is not available
When The system needs shipper address information
Then If SHPR-ADDR(1) is blank set address line 1 to 'NA', otherwise use SHPR-ADDR(1) for address line 1, and set address line 2 to spaces
R-GCCCCADD-cbl-02421 EDI BOL Shipper City/State Available?
Decision Rules
📊 Business Logic Narrative
When the process 'EDI BOL Shipper City/State Available?' is invoked, and assuming that shipper address information has been processed, when the system checks for edi bol shipper city/state data by looking up ebsnrsa segment with types 'hn' and 'hc', the desired outcome is that if edi bol city/state data is found, use edi source; otherwise parse fastway address data.
💻 Technical Criteria
Given Shipper address information has been processed
When The system checks for EDI BOL shipper city/state data by looking up EBSNRSA segment with types 'HN' and 'HC'
Then If EDI BOL city/state data is found, use EDI source; otherwise parse Fastway address data
R-GCCCCADD-cbl-02425 Extract Contact Information from EDI BOL
Process Rules
📊 Business Logic Narrative
When the process 'Extract Contact Information from EDI BOL' is invoked, and assuming that edi bol shipper contact data is available in ebsnrsa segment, when the system processes the shipper contact information, the desired outcome is that extract contact function code from per-contact-func-code, extract contact name from per-name, extract communication number qualifier from per-commun-no-qual, and extract communication number from per-commun-number.
💻 Technical Criteria
Given EDI BOL shipper contact data is available in EBSNRSA segment
When The system processes the shipper contact information
Then Extract contact function code from PER-CONTACT-FUNC-CODE, extract contact name from PER-NAME, extract communication number qualifier from PER-COMMUN-NO-QUAL, and extract communication number from PER-COMMUN-NUMBER
R-GCCCCADD-cbl-02426 EDI BOL Consignee Data Available?
Decision Rules
📊 Business Logic Narrative
When the process 'EDI BOL Consignee Data Available?' is invoked, and assuming that a shipment record is being processed for consignee information, when the system checks for edi bol consignee data availability by looking up ebsnrsc segment with type 'cn' and sequence '01', the desired outcome is that if edi bol consignee data is found, use edi data source; otherwise fallback to fastway shipment root data.
💻 Technical Criteria
Given A shipment record is being processed for consignee information
When The system checks for EDI BOL consignee data availability by looking up EBSNRSC segment with type 'CN' and sequence '01'
Then If EDI BOL consignee data is found, use EDI data source; otherwise fallback to Fastway shipment root data
R-GCCCCADD-cbl-02427 Extract Consignee Name and CHOP from EDI BOL
Process Rules
📊 Business Logic Narrative
When the process 'Extract Consignee Name and CHOP from EDI BOL' is invoked, and assuming that edi bol consignee data is available in ebsnrsc segment, when the system processes the consignee n1 segment data, the desired outcome is that set entity id to 'cn', extract consignee name from d1-shipper-name, extract chop code from d1-cons-chop, and clear id code qualifier and id code fields.
💻 Technical Criteria
Given EDI BOL consignee data is available in EBSNRSC segment
When The system processes the consignee N1 segment data
Then Set entity ID to 'CN', extract consignee name from D1-SHIPPER-NAME, extract CHOP code from D1-CONS-CHOP, and clear ID code qualifier and ID code fields
R-GCCCCADD-cbl-02428 Use Fastway Consignee Data
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Fastway Consignee Data', assuming that edi bol consignee data is not available, when the system needs consignee information for the manifest, the desired outcome is that set entity id to 'cn', extract consignee name from cons-data(1) of shiproot, extract chop code from cons-chop of shiproot, and clear id code qualifier and id code fields.
💻 Technical Criteria
EXCLUDING EDI BOL consignee data is not available
When The system needs consignee information for the manifest
Then Set entity ID to 'CN', extract consignee name from CONS-DATA(1) of SHIPROOT, extract CHOP code from CONS-CHOP of SHIPROOT, and clear ID code qualifier and ID code fields
R-GCCCCADD-cbl-02429 EDI BOL Consignee Address Available?
Decision Rules
📊 Business Logic Narrative
When the process 'EDI BOL Consignee Address Available?' is invoked, and assuming that consignee basic information has been processed, when the system checks for edi bol consignee address data by looking up ebsnrsa segment with types 'cn' and 'ca', the desired outcome is that if edi bol address data is found, use edi address source; otherwise use fastway address data.
💻 Technical Criteria
Given Consignee basic information has been processed
When The system checks for EDI BOL consignee address data by looking up EBSNRSA segment with types 'CN' and 'CA'
Then If EDI BOL address data is found, use EDI address source; otherwise use Fastway address data
R-GCCCCADD-cbl-02430 Extract Address from EDI BOL
Process Rules
📊 Business Logic Narrative
When the process 'Extract Address from EDI BOL' is invoked, and assuming that edi bol consignee address data is available in ebsnrsa segment, when the system processes the consignee address information, the desired outcome is that extract address line 1 from d2-addl-name-addr-1, extract address line 2 from d2-addl-name-addr-2, and if address line 1 is blank set it to 'na'.
💻 Technical Criteria
Given EDI BOL consignee address data is available in EBSNRSA segment
When The system processes the consignee address information
Then Extract address line 1 from D2-ADDL-NAME-ADDR-1, extract address line 2 from D2-ADDL-NAME-ADDR-2, and if address line 1 is blank set it to 'NA'
R-GCCCCADD-cbl-02431 Use Fastway Address Data
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Fastway Address Data', assuming that edi bol consignee address data is not available, when the system needs consignee address information, the desired outcome is that if cons-data(3) is blank set address line 1 to 'na', otherwise use cons-data(3) for address line 1, and set address line 2 to spaces.
💻 Technical Criteria
EXCLUDING EDI BOL consignee address data is not available
When The system needs consignee address information
Then If CONS-DATA(3) is blank set address line 1 to 'NA', otherwise use CONS-DATA(3) for address line 1, and set address line 2 to spaces
R-GCCCCADD-cbl-02432 EDI BOL Consignee City/State Available?
Decision Rules
📊 Business Logic Narrative
When the process 'EDI BOL Consignee City/State Available?' is invoked, and assuming that consignee address information has been processed, when the system checks for edi bol consignee city/state data by looking up ebsnrsa segment with types 'cn' and 'cc', the desired outcome is that if edi bol city/state data is found, use edi source; otherwise parse fastway address data.
💻 Technical Criteria
Given Consignee address information has been processed
When The system checks for EDI BOL consignee city/state data by looking up EBSNRSA segment with types 'CN' and 'CC'
Then If EDI BOL city/state data is found, use EDI source; otherwise parse Fastway address data
R-GCCCCADD-cbl-02436 Extract Contact Information from EDI BOL
Process Rules
📊 Business Logic Narrative
When the process 'Extract Contact Information from EDI BOL' is invoked, and assuming that edi bol consignee contact data is available in ebsnrsa segment, when the system processes the consignee contact information, the desired outcome is that extract contact function code from per-contact-func-code, extract contact name from per-name, extract communication number qualifier from per-commun-no-qual, and extract communication number from per-commun-number.
💻 Technical Criteria
Given EDI BOL consignee contact data is available in EBSNRSA segment
When The system processes the consignee contact information
Then Extract contact function code from PER-CONTACT-FUNC-CODE, extract contact name from PER-NAME, extract communication number qualifier from PER-COMMUN-NO-QUAL, and extract communication number from PER-COMMUN-NUMBER
R-GCCCCADD-cbl-02437 Apply Address Defaults if Missing
Validation Rules
📊 Business Logic Narrative
When the process 'Apply Address Defaults if Missing' is invoked, and assuming that shipper and consignee records have been processed, when required address fields are missing or incomplete, the desired outcome is that set address line 1 to 'na' if blank, set address line 2 to 'na' if blank or contains only one character followed by spaces, and set default country codes ('us' for shipper, 'ca' for consignee) when address line 2 is defaulted.
💻 Technical Criteria
Given Shipper and consignee records have been processed
When Required address fields are missing or incomplete
Then Set address line 1 to 'NA' if blank, set address line 2 to 'NA' if blank or contains only one character followed by spaces, and set default country codes ('US' for shipper, 'CA' for consignee) when address line 2 is defaulted
R-GCCCCADD-cbl-02439 Process SF - Stuffer Entity
Process Rules
📊 Business Logic Narrative
When the process 'Process SF - Stuffer Entity' is invoked, and assuming that an edi bol record exists with sf entity type pn in sequence 01, when the system processes sf entity data, the desired outcome is that the system extracts sf name, address information, city/state/postal data, and contact information, validates the entity data, and creates a record with entity id 'sf'.
💻 Technical Criteria
Given An EDI BOL record exists with SF entity type PN in sequence 01
When The system processes SF entity data
Then The system extracts SF name, address information, city/state/postal data, and contact information, validates the entity data, and creates a record with entity ID 'SF'
R-GCCCCADD-cbl-02441 Process UC - Ultimate Consignee
Process Rules
📊 Business Logic Narrative
When the process 'Process UC - Ultimate Consignee' is invoked, and assuming that an edi bol record exists with uc entity type un in sequence 01, when the system processes uc entity data, the desired outcome is that the system extracts uc name, address information, city/state/postal data, and contact information, validates the entity data, and creates a record with entity id 'uc'.
💻 Technical Criteria
Given An EDI BOL record exists with UC entity type UN in sequence 01
When The system processes UC entity data
Then The system extracts UC name, address information, city/state/postal data, and contact information, validates the entity data, and creates a record with entity ID 'UC'
R-GCCCCADD-cbl-02443 Process BN - Beneficial Owner
Process Rules
📊 Business Logic Narrative
When the process 'Process BN - Beneficial Owner' is invoked, and assuming that an edi bol record exists with bn entity type in sequence 01 and organization id is 'bn', when the system processes bn entity data, the desired outcome is that the system extracts bn name, consignee chop code, address information, city/state/postal data, validates the entity data, and creates a record with entity id 'bn'.
💻 Technical Criteria
Given An EDI BOL record exists with BN entity type in sequence 01 and organization ID is 'BN'
When The system processes BN entity data
Then The system extracts BN name, consignee chop code, address information, city/state/postal data, validates the entity data, and creates a record with entity ID 'BN'
R-GCCCCADD-cbl-02448 Process PF/SS - MCOA Entities
Process Rules
📊 Business Logic Narrative
When the process 'Process PF/SS - MCOA Entities' is invoked, and assuming that edi mcoa data exists with organization id 'pf' or 'ss' and type 'ot', when the system processes pf/ss entity data, the desired outcome is that the system extracts entity name, id code qualifier, id code, address information from on segment, city/state/postal data from oc segment, validates the entity data, and creates a record with the respective entity id.
💻 Technical Criteria
Given EDI MCOA data exists with organization ID 'PF' or 'SS' and type 'OT'
When The system processes PF/SS entity data
Then The system extracts entity name, ID code qualifier, ID code, address information from ON segment, city/state/postal data from OC segment, validates the entity data, and creates a record with the respective entity ID
R-GCCCCADD-cbl-02454 Validate Required Fields
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Required Fields' is invoked, and assuming that entity data contains address, city/state, or contact information, when the entity id code or entity name is missing, the desired outcome is that the system generates required field error messages for missing entity id code and entity name.
💻 Technical Criteria
Given Entity data contains address, city/state, or contact information
When The entity ID code or entity name is missing
Then The system generates required field error messages for missing entity ID code and entity name
R-GCCCCADD-cbl-02456 Validate Address Information
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Address Information' is invoked, and assuming that entity has a valid entity id code, when the primary address information is missing or spaces, the desired outcome is that the system generates a required address information error message.
💻 Technical Criteria
Given Entity has a valid entity ID code
When The primary address information is missing or spaces
Then The system generates a required address information error message
R-GCCCCADD-cbl-02457 Validate Address Information
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Address Information' is invoked, and assuming that entity has address data present, when city name is missing or has less than 2 characters, the desired outcome is that the system generates required city name error message or minimum length error message.
💻 Technical Criteria
Given Entity has address data present
When City name is missing or has less than 2 characters
Then The system generates required city name error message or minimum length error message
R-GCCCCADD-cbl-02458 Validate Address Information
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Address Information' is invoked, and assuming that entity has postal code information, when postal code is present but has less than 3 characters, the desired outcome is that the system generates a minimum length error message for postal code.
💻 Technical Criteria
Given Entity has postal code information
When Postal code is present but has less than 3 characters
Then The system generates a minimum length error message for postal code
R-GCCCCADD-cbl-02460 Validate Address Information
Computation Rules
📊 Business Logic Narrative
When the process 'Validate Address Information' is invoked, and assuming that entity has state/province code but missing country code, when state/province code matches an entry in the state-country lookup table, the desired outcome is that the system sets the country code based on the lookup table match.
💻 Technical Criteria
Given Entity has state/province code but missing country code
When State/province code matches an entry in the state-country lookup table
Then The system sets the country code based on the lookup table match
R-GCCCCADD-cbl-02461 Validate Address Information
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Address Information' is invoked, and assuming that entity has address data present, when country code is missing or spaces, the desired outcome is that the system generates a required country code error message.
💻 Technical Criteria
Given Entity has address data present
When Country code is missing or spaces
Then The system generates a required country code error message
R-GCCCCADD-cbl-02462 Validate Contact Information
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Contact Information' is invoked, and assuming that entity has contact person name or communication number, when communication number qualifier is missing, the desired outcome is that the system generates a required communication qualifier error message.
💻 Technical Criteria
Given Entity has contact person name or communication number
When Communication number qualifier is missing
Then The system generates a required communication qualifier error message
R-GCCCCADD-cbl-02463 Validate Contact Information
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Validate Contact Information', assuming that entity has communication number qualifier, when communication qualifier is not spaces, 'fx' (fax), or 'te' (telephone), the desired outcome is that the system generates an invalid communication qualifier error message.
💻 Technical Criteria
EXCLUDING Entity has communication number qualifier
When Communication qualifier is not spaces, 'FX' (fax), or 'TE' (telephone)
Then The system generates an invalid communication qualifier error message
R-GCCCCADD-cbl-02464 Validate Contact Information
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Contact Information' is invoked, and assuming that entity has communication number qualifier or contact person name, when communication number is missing or spaces, the desired outcome is that the system generates a required communication number error message.
💻 Technical Criteria
Given Entity has communication number qualifier or contact person name
When Communication number is missing or spaces
Then The system generates a required communication number error message
R-GCCCCADD-cbl-02911 Mark Organization ID as Found
Process Rules
📊 Business Logic Narrative
When the process 'Mark Organization ID as Found' is invoked, and assuming that the retrieved organization id matches the target organization id, when the search status needs to be updated, the desired outcome is that the organization id found status is set to true.
💻 Technical Criteria
Given The retrieved organization ID matches the target organization ID
When The search status needs to be updated
Then The organization ID found status is set to true
R-GCCCCADD-cbl-02734 MCOA Segment Found?
Validation Rules
📊 Business Logic Narrative
When the process 'MCOA Segment Found?' is invoked, and assuming that an attempt to retrieve mcoa segment has been made, when the system checks the retrieval status, the desired outcome is that if no error status is returned and segment type is 'ot', the segment is considered found, otherwise processing stops.
💻 Technical Criteria
Given An attempt to retrieve MCOA segment has been made
When The system checks the retrieval status
Then If no error status is returned and segment type is 'OT', the segment is considered found, otherwise processing stops
R-GCCCCADD-cbl-02735 Entity Type is PF or SS?
Decision Rules
📊 Business Logic Narrative
When the process 'Entity Type is PF or SS?' is invoked, and assuming that a valid mcoa segment has been found, when the system checks the organization id in the segment, the desired outcome is that if the organization id is 'pf' or 'ss', the entity is processed, otherwise it is skipped.
💻 Technical Criteria
Given A valid MCOA segment has been found
When The system checks the organization ID in the segment
Then If the organization ID is 'PF' or 'SS', the entity is processed, otherwise it is skipped
R-GCCCCADD-cbl-02736 Extract Entity Information
Process Rules
📊 Business Logic Narrative
When the process 'Extract Entity Information' is invoked, and assuming that a mcoa segment with entity type pf or ss is found, when the system extracts entity information, the desired outcome is that the organization id is set as entity id code, organization name is set as entity name, id code qualifier and id code are extracted from the segment.
💻 Technical Criteria
Given A MCOA segment with entity type PF or SS is found
When The system extracts entity information
Then The organization ID is set as entity ID code, organization name is set as entity name, ID code qualifier and ID code are extracted from the segment
R-GCCCCADD-cbl-02740 City/State Segment Found?
Decision Rules
📊 Business Logic Narrative
When the process 'City/State Segment Found?' is invoked, and assuming that an attempt to retrieve mcoa city/state segment has been made, when the system checks if city/state data is available, the desired outcome is that if city/state segment is found, extract city name, state/province code, postal code and country code, otherwise clear all city/state information fields.
💻 Technical Criteria
Given An attempt to retrieve MCOA city/state segment has been made
When The system checks if city/state data is available
Then If city/state segment is found, extract city name, state/province code, postal code and country code, otherwise clear all city/state information fields
R-GCCCCADD-cbl-02741 Validate Entity Segment
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Entity Segment' is invoked, and assuming that all mcoa entity information has been extracted and processed, when the system validates the entity segment, the desired outcome is that standard entity validation rules are applied to ensure data integrity.
💻 Technical Criteria
Given All MCOA entity information has been extracted and processed
When The system validates the entity segment
Then Standard entity validation rules are applied to ensure data integrity
R-GCCCCADD-cbl-02917 Segment Type is OT?
Validation Rules
📊 Business Logic Narrative
When the process 'Segment Type is OT?' is invoked, and assuming that mcoa segment has been successfully retrieved from edi bol, when system validates the segment type, the desired outcome is that if segment type equals 'ot' then set mcoa found flag, otherwise set mcoa not found flag.
💻 Technical Criteria
Given MCOA segment has been successfully retrieved from EDI BOL
When System validates the segment type
Then If segment type equals 'OT' then set MCOA found flag, otherwise set MCOA not found flag
R-GCCCCADD-cbl-02920 Set Segment Type to EBSMCOA
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Segment Type to EBSMCOA' is invoked, and assuming that the system needs to retrieve mcoa address information, when setting up the data retrieval parameters, the desired outcome is that the segment type is set to 'ebsmcoa' to identify the correct data structure.
💻 Technical Criteria
Given The system needs to retrieve MCOA address information
When Setting up the data retrieval parameters
Then The segment type is set to 'EBSMCOA' to identify the correct data structure
R-GCCCCADD-cbl-02921 Set Type to ON for Address
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Type to ON for Address' is invoked, and assuming that the system is configured to retrieve mcoa segment data, when specifying the type of mcoa data to retrieve, the desired outcome is that the type is set to 'on' to indicate address information is required.
💻 Technical Criteria
Given The system is configured to retrieve MCOA segment data
When Specifying the type of MCOA data to retrieve
Then The type is set to 'ON' to indicate address information is required
R-GCCCCADD-cbl-02922 Call EBCLGIO to Retrieve ON Segment
Action Rules
📊 Business Logic Narrative
When the process 'Call EBCLGIO to Retrieve ON Segment' is invoked, and assuming that the retrieval parameters are configured for mcoa address data, when the system executes the data retrieval operation, the desired outcome is that ebclgio is called to retrieve the on segment from the mcoa data structure.
💻 Technical Criteria
Given The retrieval parameters are configured for MCOA address data
When The system executes the data retrieval operation
Then EBCLGIO is called to retrieve the ON segment from the MCOA data structure
R-GCCCCADD-cbl-02923 ON Segment Found?
Decision Rules
📊 Business Logic Narrative
When the process 'ON Segment Found?' is invoked, and assuming that a data retrieval operation for mcoa address segment has been executed, when the system checks the retrieval result, the desired outcome is that if the status code is spaces, the segment is considered found, otherwise it is not found.
💻 Technical Criteria
Given A data retrieval operation for MCOA address segment has been executed
When The system checks the retrieval result
Then If the status code is spaces, the segment is considered found, otherwise it is not found
R-GCCCCADD-cbl-02924 Extract Address Line 1 from F6-ADDL-NAME-ADDR-1
Process Rules
📊 Business Logic Narrative
When the process 'Extract Address Line 1 from F6-ADDL-NAME-ADDR-1' is invoked, and assuming that the mcoa address segment has been successfully retrieved, when the system processes the address information, the desired outcome is that the first address line is extracted from f6-addl-name-addr-1 field and stored in the address info field.
💻 Technical Criteria
Given The MCOA address segment has been successfully retrieved
When The system processes the address information
Then The first address line is extracted from F6-ADDL-NAME-ADDR-1 field and stored in the address info field
R-GCCCCADD-cbl-02925 Extract Address Line 2 from F6-ADDL-NAME-ADDR-2
Process Rules
📊 Business Logic Narrative
When the process 'Extract Address Line 2 from F6-ADDL-NAME-ADDR-2' is invoked, and assuming that the mcoa address segment has been successfully retrieved, when the system processes the address information, the desired outcome is that the second address line is extracted from f6-addl-name-addr-2 field and stored in the second address info field.
💻 Technical Criteria
Given The MCOA address segment has been successfully retrieved
When The system processes the address information
Then The second address line is extracted from F6-ADDL-NAME-ADDR-2 field and stored in the second address info field
R-GCCCCADD-cbl-02926 Set Address Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Address Found Flag' is invoked, and assuming that the mcoa address segment has been successfully retrieved and processed, when the system updates the processing status, the desired outcome is that the address found flag is set to indicate successful retrieval.
💻 Technical Criteria
Given The MCOA address segment has been successfully retrieved and processed
When The system updates the processing status
Then The address found flag is set to indicate successful retrieval
R-GCCCCADD-cbl-02928 Clear Address Line 2
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Clear Address Line 2', assuming that the mcoa address segment could not be retrieved, when the system handles the missing address information, the desired outcome is that the second address line is cleared to spaces.
💻 Technical Criteria
EXCLUDING The MCOA address segment could not be retrieved
When The system handles the missing address information
Then The second address line is cleared to spaces
R-GCCCCADD-cbl-02931 Call EBCLGIO to Retrieve Segment
Action Rules
📊 Business Logic Narrative
When the process 'Call EBCLGIO to Retrieve Segment' is invoked, and assuming that properly initialized ebwlgio parameters for mcoa oc segment retrieval, when the system calls ebclgio to retrieve the segment data, the desired outcome is that the system attempts to fetch the geographic segment data from the edi bol database.
💻 Technical Criteria
Given Properly initialized EBWLGIO parameters for MCOA OC segment retrieval
When The system calls EBCLGIO to retrieve the segment data
Then The system attempts to fetch the geographic segment data from the EDI BOL database
R-GCCCCADD-cbl-02932 Segment Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Segment Found?' is invoked, and assuming that an attempt to retrieve mcoa oc geographic segment data, when the system checks the status code from the retrieval operation, the desired outcome is that if status code equals spaces, the segment is found; otherwise, the segment is not found.
💻 Technical Criteria
Given An attempt to retrieve MCOA OC geographic segment data
When The system checks the status code from the retrieval operation
Then If status code equals spaces, the segment is found; otherwise, the segment is not found
R-GCCCCADD-cbl-02935 Set Geographic Data Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Geographic Data Found Flag' is invoked, and assuming that successfully retrieved and processed mcoa oc geographic segment data, when the system completes the data extraction and population, the desired outcome is that the geographic data found flag is set to indicate successful processing.
💻 Technical Criteria
Given Successfully retrieved and processed MCOA OC geographic segment data
When The system completes the data extraction and population
Then The geographic data found flag is set to indicate successful processing
R-GCCCCADD-cbl-02936 Clear All N4 Address Fields
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Clear All N4 Address Fields', assuming that mcoa oc geographic segment data is not available or retrieval failed, when the system handles the missing data condition, the desired outcome is that all n4 address fields (city name, state/province code, postal code, country code) are cleared to spaces.
💻 Technical Criteria
EXCLUDING MCOA OC geographic segment data is not available or retrieval failed
When The system handles the missing data condition
Then All N4 address fields (city name, state/province code, postal code, country code) are cleared to spaces
R-GCCCCADD-cbl-00296 Set Action Code to 'AM'
Process Rules
📊 Business Logic Narrative
When the process 'Set Action Code to 'AM'' is invoked, and assuming that spawn message is being prepared for related manifest creation, when the system sets the action code in the spawn message, the desired outcome is that the system assigns action code 'am' to spawn-action-code to indicate manifest creation action.
💻 Technical Criteria
Given Spawn message is being prepared for related manifest creation
When The system sets the action code in the spawn message
Then The system assigns action code 'AM' to SPAWN-ACTION-CODE to indicate manifest creation action
R-GCCCCADD-cbl-02059 Clear AU Table Data
Process Rules
📊 Business Logic Narrative
When the process 'Clear AU Table Data' is invoked, and assuming that an au table lookup has been performed, when no matching authorized user record is found in the au table, the desired outcome is that the system clears all au table data fields to spaces.
💻 Technical Criteria
Given An AU table lookup has been performed
When No matching authorized user record is found in the AU table
Then The system clears all AU table data fields to spaces
R-GCCCCADD-cbl-02467 Set Commodity Code as Key
Process Rules
📊 Business Logic Narrative
When the process 'Set Commodity Code as Key' is invoked, and assuming that au table lookup parameters have consignee chop set and commodity code exists in the manifest data, when the system completes the au table lookup key configuration, the desired outcome is that the system sets the commodity code from the manifest as the commodity key in the au table lookup parameters.
💻 Technical Criteria
Given AU table lookup parameters have consignee CHOP set and commodity code exists in the manifest data
When The system completes the AU table lookup key configuration
Then The system sets the commodity code from the manifest as the commodity key in the AU table lookup parameters
R-GCCCCADD-cbl-02468 Execute AU Table Lookup
Action Rules
📊 Business Logic Narrative
When the process 'Execute AU Table Lookup' is invoked, and assuming that au table lookup parameters are fully configured with consignee chop and commodity code, when the system executes the au table lookup, the desired outcome is that the system calls the table i/o routine to retrieve the au record and sets the return status based on whether a matching record is found.
💻 Technical Criteria
Given AU table lookup parameters are fully configured with consignee CHOP and commodity code
When The system executes the AU table lookup
Then The system calls the table I/O routine to retrieve the AU record and sets the return status based on whether a matching record is found
R-GCCCCADD-cbl-02469 AU Record Found?
Decision Rules
📊 Business Logic Narrative
When the process 'AU Record Found?' is invoked, and assuming that au table lookup has been executed with consignee chop and commodity code, when the system evaluates the lookup results, the desired outcome is that if the lookup return flag indicates success, the system proceeds to extract au data; otherwise, it skips au processing and continues with the next step.
💻 Technical Criteria
Given AU table lookup has been executed with consignee CHOP and commodity code
When The system evaluates the lookup results
Then If the lookup return flag indicates success, the system proceeds to extract AU data; otherwise, it skips AU processing and continues with the next step
R-GCCCCADD-cbl-02064 Check if CSA Indicator Already On?
Decision Rules
📊 Business Logic Narrative
When the process 'Check if CSA Indicator Already On?' is invoked, and assuming that a shipment record exists with csa indicator already set to on, when the system processes csa indicator management, the desired outcome is that the csa indicator should remain on and no further csa processing should occur.
💻 Technical Criteria
Given A shipment record exists with CSA indicator already set to ON
When The system processes CSA indicator management
Then The CSA indicator should remain ON and no further CSA processing should occur
R-GCCCCADD-cbl-00332 Use Original Description
Decision Rules
📊 Business Logic Narrative
When the process 'Use Original Description' is invoked, and assuming that the action code is neither 'us' nor 'rt' and description data has been extracted, when the system processes the description, the desired outcome is that the original retrieved description is used without any transit-specific formatting.
💻 Technical Criteria
Given The action code is neither 'US' nor 'RT' and description data has been extracted
When The system processes the description
Then The original retrieved description is used without any transit-specific formatting
R-GCCCCADD-cbl-00333 Compress Enhanced Description
Action Rules
📊 Business Logic Narrative
When the process 'Compress Enhanced Description' is invoked, and assuming that an enhanced description has been built (either transit-formatted or original), when the description compression process is executed, the desired outcome is that the gcccomp program is called with source description (45000 length) and target description (22500 length) to compress the content appropriately.
💻 Technical Criteria
Given An enhanced description has been built (either transit-formatted or original)
When The description compression process is executed
Then The GCCCOMP program is called with source description (45000 length) and target description (22500 length) to compress the content appropriately
R-GCCCCADD-cbl-00344 Use Original Description
Decision Rules
📊 Business Logic Narrative
When the process 'Use Original Description' is invoked, and assuming that the action code is neither 'us' nor 'rt', when the system processes the description, the desired outcome is that the original retrieved description is used without transit-specific enhancement.
💻 Technical Criteria
Given The action code is neither 'US' nor 'RT'
When The system processes the description
Then The original retrieved description is used without transit-specific enhancement
R-GCCCCADD-cbl-00345 Compress Enhanced Description
Action Rules
📊 Business Logic Narrative
When the process 'Compress Enhanced Description' is invoked, and assuming that an enhanced description has been built, when the system processes the description for storage, the desired outcome is that the description is compressed using the gcccomp utility to fit within the 45000/22500 character limits.
💻 Technical Criteria
Given An enhanced description has been built
When The system processes the description for storage
Then The description is compressed using the GCCCOMP utility to fit within the 45000/22500 character limits
R-GCCCCADD-cbl-00348 Search State-Country Table for Origin Station State Code
Decision Rules
📊 Business Logic Narrative
When the process 'Search State-Country Table for Origin Station State Code' is invoked, and assuming that an origin station state code exists, when the system searches the state-country lookup table for the origin station state code, the desired outcome is that if the state code is found in the table, set the origin country code to the corresponding country entry from the table, otherwise set the origin country code to spaces.
💻 Technical Criteria
Given An origin station state code exists
When The system searches the state-country lookup table for the origin station state code
Then If the state code is found in the table, set the origin country code to the corresponding country entry from the table, otherwise set the origin country code to spaces
R-GCCCCADD-cbl-00359 Check Override Flag
Decision Rules
📊 Business Logic Narrative
When the process 'Check Override Flag' is invoked, and assuming that broker data has been found in the crossing table, when the system evaluates the override flag in the broker data, the desired outcome is that if override flag equals 'y', the system will apply the broker information regardless of existing broker status.
💻 Technical Criteria
Given Broker data has been found in the crossing table
When The system evaluates the override flag in the broker data
Then If override flag equals 'Y', the system will apply the broker information regardless of existing broker status
R-GCCCCADD-cbl-00360 Check Current Broker Status
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check Current Broker Status', assuming that broker data has been found and override flag is not 'y', when the system evaluates the current broker name, the desired outcome is that if current broker name is spaces, 'unknown', or 'not-req', the system will apply the new broker information.
💻 Technical Criteria
EXCLUDING Broker data has been found and override flag is not 'Y'
When The system evaluates the current broker name
Then If current broker name is spaces, 'UNKNOWN', or 'NOT-REQ', the system will apply the new broker information
R-GCCCCADD-cbl-00363 Validate New Manifest-To Station
Validation Rules
📊 Business Logic Narrative
When the process 'Validate New Manifest-To Station' is invoked, and assuming that a new manifest-to station has been specified in the broker data, when the system validates the station in the mc table, the desired outcome is that the system performs a lookup using 'mc' table id and the specified station name as the sequence id.
💻 Technical Criteria
Given A new manifest-to station has been specified in the broker data
When The system validates the station in the MC table
Then The system performs a lookup using 'MC' table ID and the specified station name as the sequence ID
R-GCCCCADD-cbl-02072 Broker Data Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Broker Data Found?' is invoked, and assuming that the first broker search with full criteria has been executed, when the crossing table lookup returns a result status, the desired outcome is that if broker data is found, mark search as complete, otherwise proceed to second search attempt.
💻 Technical Criteria
Given The first broker search with full criteria has been executed
When The crossing table lookup returns a result status
Then If broker data is found, mark search as complete, otherwise proceed to second search attempt
R-GCCCCADD-cbl-02074 Broker Data Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Broker Data Found?' is invoked, and assuming that the second broker search with reduced criteria has been executed, when the crossing table lookup returns a result status, the desired outcome is that if broker data is found, mark search as complete, otherwise proceed to third search attempt.
💻 Technical Criteria
Given The second broker search with reduced criteria has been executed
When The crossing table lookup returns a result status
Then If broker data is found, mark search as complete, otherwise proceed to third search attempt
R-GCCCCADD-cbl-02076 Broker Data Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Broker Data Found?' is invoked, and assuming that the third broker search with minimal criteria has been executed, when the crossing table lookup returns a result status, the desired outcome is that if broker data is found, mark search as complete, otherwise mark search as unsuccessful with no broker found.
💻 Technical Criteria
Given The third broker search with minimal criteria has been executed
When The crossing table lookup returns a result status
Then If broker data is found, mark search as complete, otherwise mark search as unsuccessful with no broker found
R-GCCCCADD-cbl-02489 Override Flag = Y?
Decision Rules
📊 Business Logic Narrative
When the process 'Override Flag = Y?' is invoked, and assuming that broker data has been found in the crossing table lookup, when the override flag in the crossing table data equals 'y', the desired outcome is that the system unconditionally applies the broker name from the crossing table and updates the manifest-to station if specified in the crossing table data.
💻 Technical Criteria
Given Broker data has been found in the crossing table lookup
When The override flag in the crossing table data equals 'Y'
Then The system unconditionally applies the broker name from the crossing table and updates the manifest-to station if specified in the crossing table data
R-GCCCCADD-cbl-02746 Search 3: Wildcard Shipper CHOP + Wildcard Origin + Wildcard Commodity Code
Action Rules
📊 Business Logic Narrative
When the process 'Search 3: Wildcard Shipper CHOP + Wildcard Origin + Wildcard Commodity Code' is invoked, and assuming that both primary and secondary crossing table searches returned no results, when the system performs the third crossing table search with maximum wildcards, the desired outcome is that the system searches using wildcard for shipper chop, wildcard for origin station, and wildcard for commodity code.
💻 Technical Criteria
Given Both primary and secondary crossing table searches returned no results
When The system performs the third crossing table search with maximum wildcards
Then The system searches using wildcard for shipper CHOP, wildcard for origin station, and wildcard for commodity code
R-GCCCCADD-cbl-02747 Data Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Data Found?' is invoked, and assuming that a crossing table search has been executed with specific search criteria, when the system evaluates the search results, the desired outcome is that if broker data is found, the system proceeds to return results; if no data is found, the system proceeds to the next search iteration or concludes with no broker data.
💻 Technical Criteria
Given A crossing table search has been executed with specific search criteria
When The system evaluates the search results
Then If broker data is found, the system proceeds to return results; if no data is found, the system proceeds to the next search iteration or concludes with no broker data
R-GCCCCADD-cbl-02748 Return Search Results
Process Rules
📊 Business Logic Narrative
When the process 'Return Search Results' is invoked, and assuming that one of the crossing table searches has successfully found matching broker data, when the system processes the successful search results, the desired outcome is that the system returns the found broker information including broker name and any associated manifest routing details.
💻 Technical Criteria
Given One of the crossing table searches has successfully found matching broker data
When The system processes the successful search results
Then The system returns the found broker information including broker name and any associated manifest routing details
R-GCCCCADD-cbl-02938 Set Shipper CHOP from SHIPROOT
Action Rules
📊 Business Logic Narrative
When the process 'Set Shipper CHOP from SHIPROOT' is invoked, and assuming that a shipment root record exists with shipper chop information, when preparing crossing table lookup parameters for broker determination, the desired outcome is that the shipper chop code from shipment root is assigned to the crossing table search parameter.
💻 Technical Criteria
Given A shipment root record exists with shipper CHOP information
When Preparing crossing table lookup parameters for broker determination
Then The shipper CHOP code from shipment root is assigned to the crossing table search parameter
R-GCCCCADD-cbl-02939 Set Consignee CHOP from SHIPROOT
Action Rules
📊 Business Logic Narrative
When the process 'Set Consignee CHOP from SHIPROOT' is invoked, and assuming that a shipment root record exists with consignee chop information, when preparing crossing table lookup parameters for broker determination, the desired outcome is that the consignee chop code from shipment root is assigned to the crossing table search parameter.
💻 Technical Criteria
Given A shipment root record exists with consignee CHOP information
When Preparing crossing table lookup parameters for broker determination
Then The consignee CHOP code from shipment root is assigned to the crossing table search parameter
R-GCCCCADD-cbl-02940 Convert Origin Station Number to Numeric
Computation Rules
📊 Business Logic Narrative
When the process 'Convert Origin Station Number to Numeric' is invoked, and assuming that a shipment root record contains origin station number, when preparing crossing table lookup parameters for broker determination, the desired outcome is that the origin station number is converted to numeric format and assigned to the crossing table search parameter.
💻 Technical Criteria
Given A shipment root record contains origin station number
When Preparing crossing table lookup parameters for broker determination
Then The origin station number is converted to numeric format and assigned to the crossing table search parameter
R-GCCCCADD-cbl-02942 Set Commodity Code from SHIPCOMM
Action Rules
📊 Business Logic Narrative
When the process 'Set Commodity Code from SHIPCOMM' is invoked, and assuming that a shipment commodity record exists with stcc code information, when preparing crossing table lookup parameters for broker determination, the desired outcome is that the commodity stcc code from shipment commodity is assigned to the crossing table search parameter.
💻 Technical Criteria
Given A shipment commodity record exists with STCC code information
When Preparing crossing table lookup parameters for broker determination
Then The commodity STCC code from shipment commodity is assigned to the crossing table search parameter
R-GCCCCADD-cbl-02950 Broker Data Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Broker Data Found?' is invoked, and assuming that a crossing table lookup with wildcard shipper chop has been executed, when the system evaluates the lookup result status, the desired outcome is that if broker data is found then the system returns the broker information and if no broker data is found then the system proceeds to the next search pattern.
💻 Technical Criteria
Given A crossing table lookup with wildcard shipper CHOP has been executed
When The system evaluates the lookup result status
Then If broker data is found then the system returns the broker information AND if no broker data is found then the system proceeds to the next search pattern
R-GCCCCADD-cbl-02951 Return Broker Information
Process Rules
📊 Business Logic Narrative
When the process 'Return Broker Information' is invoked, and assuming that broker data has been found through wildcard crossing table lookup, when the system processes the successful lookup result, the desired outcome is that the broker information from the crossing table segment is made available for manifest processing.
💻 Technical Criteria
Given Broker data has been found through wildcard crossing table lookup
When The system processes the successful lookup result
Then The broker information from the crossing table segment is made available for manifest processing
R-GCCCCADD-cbl-02078 Crossing Table Data Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Crossing Table Data Found?' is invoked, and assuming that a crossing table lookup has been performed for broker information, when the system checks if crossing table data was found, the desired outcome is that if crossing table data is found, proceed with broker validation process, otherwise skip broker override processing.
💻 Technical Criteria
Given A crossing table lookup has been performed for broker information
When The system checks if crossing table data was found
Then If crossing table data is found, proceed with broker validation process, otherwise skip broker override processing
R-GCCCCADD-cbl-02079 Override Flag = 'Y'?
Policy Rules
📊 Business Logic Narrative
When the process 'Override Flag = 'Y'?' is invoked, and assuming that crossing table data is available with an override flag, when the override flag equals 'y', the desired outcome is that move broker name from crossing table regardless of current broker status.
💻 Technical Criteria
Given Crossing table data is available with an override flag
When The override flag equals 'Y'
Then Move broker name from crossing table regardless of current broker status
R-GCCCCADD-cbl-02082 Manifest-To Station Provided in Crossing Table?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Manifest-To Station Provided in Crossing Table?', assuming that broker data has been processed from crossing table, when crossing table contains manifest-to station information (cdn-manifest-to is not spaces), the desired outcome is that proceed with manifest-to station validation and update process.
💻 Technical Criteria
EXCLUDING Broker data has been processed from crossing table
When Crossing table contains manifest-to station information (CDN-MANIFEST-TO is not spaces)
Then Proceed with manifest-to station validation and update process
R-GCCCCADD-cbl-02083 Validate Manifest-To Station in MC Table
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Manifest-To Station in MC Table' is invoked, and assuming that crossing table provides manifest-to station information, when manifest-to station validation is required, the desired outcome is that perform gu function call to mc table using manifest-to station as key.
💻 Technical Criteria
Given Crossing table provides manifest-to station information
When Manifest-to station validation is required
Then Perform GU function call to MC table using manifest-to station as key
R-GCCCCADD-cbl-00368 Canadian Manifest-To Station Available?
Decision Rules
📊 Business Logic Narrative
When the process 'Canadian Manifest-To Station Available?' is invoked, and assuming that broker data has been retrieved from the crossing table, when the system checks if a canadian manifest-to station is specified in the crossing table data, the desired outcome is that if the canadian manifest-to station field is not spaces, proceed with manifest-to station processing, otherwise skip the processing.
💻 Technical Criteria
Given Broker data has been retrieved from the crossing table
When The system checks if a Canadian manifest-to station is specified in the crossing table data
Then If the Canadian manifest-to station field is not spaces, proceed with manifest-to station processing, otherwise skip the processing
R-GCCCCADD-cbl-00369 Reset Error Flags
Process Rules
📊 Business Logic Narrative
When the process 'Reset Error Flags' is invoked, and assuming that a canadian manifest-to station is specified in the crossing table, when the system begins processing the broker-specified manifest-to station, the desired outcome is that all three manifest-to station error flags (error-1, error-2, error-3) are reset to off status.
💻 Technical Criteria
Given A Canadian manifest-to station is specified in the crossing table
When The system begins processing the broker-specified manifest-to station
Then All three manifest-to station error flags (error-1, error-2, error-3) are reset to OFF status
R-GCCCCADD-cbl-00371 Lookup MC Table for Station Code
Validation Rules
📊 Business Logic Narrative
When the process 'Lookup MC Table for Station Code' is invoked, and assuming that a manifest-to station name has been set from broker data, when the system validates the manifest-to station, the desired outcome is that a lookup is performed in the mc table using the manifest-to station name as the search key.
💻 Technical Criteria
Given A manifest-to station name has been set from broker data
When The system validates the manifest-to station
Then A lookup is performed in the MC table using the manifest-to station name as the search key
R-GCCCCADD-cbl-00375 Set Broker Name to 'NOT-REQ'
Decision Rules
📊 Business Logic Narrative
When the process 'Set Broker Name to 'NOT-REQ'' is invoked, and assuming that a shipment is being processed with action code 'rt' (return) or 'us' (transit), when the system processes the broker requirements, the desired outcome is that the broker name should be set to 'not-req' and the secondary broker name should be cleared.
💻 Technical Criteria
Given A shipment is being processed with action code 'RT' (Return) or 'US' (Transit)
When The system processes the broker requirements
Then The broker name should be set to 'NOT-REQ' and the secondary broker name should be cleared
R-GCCCCADD-cbl-00376 Clear Broker Name 2
Process Rules
📊 Business Logic Narrative
When the process 'Clear Broker Name 2' is invoked, and assuming that a shipment is being processed with action code 'rt' or 'us', when the system processes broker information, the desired outcome is that the secondary broker name field should be set to spaces.
💻 Technical Criteria
Given A shipment is being processed with action code 'RT' or 'US'
When The system processes broker information
Then The secondary broker name field should be set to spaces
R-GCCCCADD-cbl-00385 Determine Origin Country Code
Definitional Rules
📊 Business Logic Narrative
When the process 'Determine Origin Country Code' is invoked, and assuming that an origin station state code exists, when the system searches the state-country lookup table for the origin station state code, the desired outcome is that the corresponding country code is assigned to the origin country field.
💻 Technical Criteria
Given An origin station state code exists
When The system searches the state-country lookup table for the origin station state code
Then The corresponding country code is assigned to the origin country field
R-GCCCCADD-cbl-00388 Set Broker Name to 'NOT-REQ'
Policy Rules
📊 Business Logic Narrative
When the process 'Set Broker Name to 'NOT-REQ'' is invoked, and assuming that a shipment action code is provided, when the action code equals 'rt' (return) or 'us' (transit), the desired outcome is that the broker name is set to 'not-req' and broker name2 is cleared.
💻 Technical Criteria
Given A shipment action code is provided
When The action code equals 'RT' (Return) or 'US' (Transit)
Then The broker name is set to 'NOT-REQ' and broker name2 is cleared
R-GCCCCADD-cbl-00393 Initialize Origin Country to Spaces
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Origin Country to Spaces' is invoked, and assuming that the origin country determination process is starting, when the system begins to determine the origin country, the desired outcome is that the origin country field should be initialized to spaces (blank).
💻 Technical Criteria
Given The origin country determination process is starting
When The system begins to determine the origin country
Then The origin country field should be initialized to spaces (blank)
R-GCCCCADD-cbl-00394 Setup AU Table Lookup Parameters
Action Rules
📊 Business Logic Narrative
When the process 'Setup AU Table Lookup Parameters' is invoked, and assuming that the system needs to lookup authorized user information for origin country determination, when setting up the au table lookup parameters, the desired outcome is that the lookup should be configured with 'au' as table id, consignee chop code as the key chop, and commodity code as the key commodity.
💻 Technical Criteria
Given The system needs to lookup authorized user information for origin country determination
When Setting up the AU table lookup parameters
Then The lookup should be configured with 'AU' as table ID, consignee CHOP code as the key CHOP, and commodity code as the key commodity
R-GCCCCADD-cbl-00395 Call AU Table Lookup
Action Rules
📊 Business Logic Narrative
When the process 'Call AU Table Lookup' is invoked, and assuming that the au table lookup parameters are configured with consignee chop and commodity code, when the system executes the au table lookup, the desired outcome is that the system should call the table lookup function to retrieve authorized user data.
💻 Technical Criteria
Given The AU table lookup parameters are configured with consignee CHOP and commodity code
When The system executes the AU table lookup
Then The system should call the table lookup function to retrieve authorized user data
R-GCCCCADD-cbl-00396 AU Table Record Found?
Decision Rules
📊 Business Logic Narrative
When the process 'AU Table Record Found?' is invoked, and assuming that the au table lookup has been executed, when the system checks the lookup results, the desired outcome is that if the lookup is successful, the au table data should be loaded; otherwise, the au table data should be cleared.
💻 Technical Criteria
Given The AU table lookup has been executed
When The system checks the lookup results
Then If the lookup is successful, the AU table data should be loaded; otherwise, the AU table data should be cleared
R-GCCCCADD-cbl-00402 Add Lading Quantity to Total
Computation Rules
📊 Business Logic Narrative
When the process 'Add Lading Quantity to Total' is invoked, and assuming that a commodity segment is successfully retrieved from edi bol, when the segment contains lading quantity data, the desired outcome is that the lading quantity is added to the total quantity counter.
💻 Technical Criteria
Given A commodity segment is successfully retrieved from EDI BOL
When The segment contains lading quantity data
Then The lading quantity is added to the total quantity counter
R-GCCCCADD-cbl-00407 Set Quantity Qualifier from Lading Data
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Quantity Qualifier from Lading Data' is invoked, and assuming that commodity segment contains lading quantity qualifier data, when the system processes the first commodity segment, the desired outcome is that the quantity qualifier is set to the lading quantity qualifier from the edi data.
💻 Technical Criteria
Given Commodity segment contains lading quantity qualifier data
When The system processes the first commodity segment
Then The quantity qualifier is set to the lading quantity qualifier from the EDI data
R-GCCCCADD-cbl-00409 Retrieve First SHIPCOMM Segment
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve First SHIPCOMM Segment' is invoked, and assuming that fastway data is being used as fallback for commodity information, when the system retrieves the first shipcomm segment using 'gu' function, the desired outcome is that the first commodity segment data is returned if available.
💻 Technical Criteria
Given Fastway data is being used as fallback for commodity information
When The system retrieves the first SHIPCOMM segment using 'GU' function
Then The first commodity segment data is returned if available
R-GCCCCADD-cbl-00411 Set Quantity Qualifier to PCS
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Quantity Qualifier to PCS' is invoked, and assuming that commodity data is being retrieved from fastway shipcomm, when quantity information is processed from fastway data, the desired outcome is that the quantity qualifier is set to 'pcs' (pieces).
💻 Technical Criteria
Given Commodity data is being retrieved from Fastway SHIPCOMM
When Quantity information is processed from Fastway data
Then The quantity qualifier is set to 'PCS' (pieces)
R-GCCCCADD-cbl-00413 Get Next SHIPCOMM Segment
Process Rules
📊 Business Logic Narrative
When the process 'Get Next SHIPCOMM Segment' is invoked, and assuming that first fastway shipcomm segment has been processed, when the system continues processing additional commodity segments using 'gn' function, the desired outcome is that additional commodity segments are retrieved and processed until no more segments are found.
💻 Technical Criteria
Given First Fastway SHIPCOMM segment has been processed
When The system continues processing additional commodity segments using 'GN' function
Then Additional commodity segments are retrieved and processed until no more segments are found
R-GCCCCADD-cbl-00446 Validation Successful
Validation Rules
📊 Business Logic Narrative
When the process 'Validation Successful' is invoked, and assuming that a quantity qualifier has been looked up in the mu table, when the quantity qualifier is found in the measurement units reference table, the desired outcome is that the system considers the quantity qualifier validation successful and continues processing.
💻 Technical Criteria
Given A quantity qualifier has been looked up in the MU table
When The quantity qualifier is found in the measurement units reference table
Then The system considers the quantity qualifier validation successful and continues processing
R-GCCCCADD-cbl-00449 Check EDI BOL HN Segment Available?
Decision Rules
📊 Business Logic Narrative
When the process 'Check EDI BOL HN Segment Available?' is invoked, and assuming that a shipper record needs to be populated with data, when the system checks for availability of edi bol hn segment data, the desired outcome is that if edi bol hn segment is found, use edi data source, otherwise use fastway shipper data.
💻 Technical Criteria
Given A shipper record needs to be populated with data
When The system checks for availability of EDI BOL HN segment data
Then If EDI BOL HN segment is found, use EDI data source, otherwise use Fastway shipper data
R-GCCCCADD-cbl-00450 Extract Shipper Name from EDI BOL
Action Rules
📊 Business Logic Narrative
When the process 'Extract Shipper Name from EDI BOL' is invoked, and assuming that edi bol hn segment data is available, when the system processes shipper name information, the desired outcome is that the shipper name is extracted from f1-consignor-name field in the edi bol data.
💻 Technical Criteria
Given EDI BOL HN segment data is available
When The system processes shipper name information
Then The shipper name is extracted from F1-CONSIGNOR-NAME field in the EDI BOL data
R-GCCCCADD-cbl-00451 Extract Shipper CHOP Code from EDI BOL
Action Rules
📊 Business Logic Narrative
When the process 'Extract Shipper CHOP Code from EDI BOL' is invoked, and assuming that edi bol hn segment data is available, when the system processes shipper identification codes, the desired outcome is that the shipper chop code is extracted from f1-shpr-chop field in the edi bol data.
💻 Technical Criteria
Given EDI BOL HN segment data is available
When The system processes shipper identification codes
Then The shipper CHOP code is extracted from F1-SHPR-CHOP field in the EDI BOL data
R-GCCCCADD-cbl-00452 Set Entity ID as 'SH' - Shipper
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Entity ID as 'SH' - Shipper' is invoked, and assuming that shipper information is being processed from any data source, when the system sets the entity type identifier, the desired outcome is that the entity id is set to 'sh' to identify this record as a shipper entity.
💻 Technical Criteria
Given Shipper information is being processed from any data source
When The system sets the entity type identifier
Then The entity ID is set to 'SH' to identify this record as a shipper entity
R-GCCCCADD-cbl-00453 Check EDI BOL HA Address Segment?
Decision Rules
📊 Business Logic Narrative
When the process 'Check EDI BOL HA Address Segment?' is invoked, and assuming that shipper record is being populated from edi bol data source, when the system needs to populate address information, the desired outcome is that if edi bol ha address segment is available, use edi address data, otherwise use fastway address data.
💻 Technical Criteria
Given Shipper record is being populated from EDI BOL data source
When The system needs to populate address information
Then If EDI BOL HA address segment is available, use EDI address data, otherwise use Fastway address data
R-GCCCCADD-cbl-00454 Extract Address from EDI BOL HA Segment
Action Rules
📊 Business Logic Narrative
When the process 'Extract Address from EDI BOL HA Segment' is invoked, and assuming that edi bol ha address segment is available, when the system processes shipper address information, the desired outcome is that address line 1 is extracted from f2-addl-name-addr-1 and address line 2 from f2-addl-name-addr-2.
💻 Technical Criteria
Given EDI BOL HA address segment is available
When The system processes shipper address information
Then Address line 1 is extracted from F2-ADDL-NAME-ADDR-1 and address line 2 from F2-ADDL-NAME-ADDR-2
R-GCCCCADD-cbl-00455 Use Fastway Shipper Address Data
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Fastway Shipper Address Data', assuming that edi bol ha address segment is not available, when the system needs shipper address information, the desired outcome is that address information is extracted from fastway shpr-addr fields.
💻 Technical Criteria
EXCLUDING EDI BOL HA address segment is not available
When The system needs shipper address information
Then Address information is extracted from Fastway SHPR-ADDR fields
R-GCCCCADD-cbl-00456 Check EDI BOL HC City/State Segment?
Decision Rules
📊 Business Logic Narrative
When the process 'Check EDI BOL HC City/State Segment?' is invoked, and assuming that shipper address information is being processed, when the system needs city, state, and postal code information, the desired outcome is that if edi bol hc city/state segment is available, use edi data, otherwise parse fastway address data.
💻 Technical Criteria
Given Shipper address information is being processed
When The system needs city, state, and postal code information
Then If EDI BOL HC city/state segment is available, use EDI data, otherwise parse Fastway address data
R-GCCCCADD-cbl-00460 Check EDI BOL GP Contact Segment?
Decision Rules
📊 Business Logic Narrative
When the process 'Check EDI BOL GP Contact Segment?' is invoked, and assuming that shipper record is being populated with contact information, when the system checks for available contact data sources, the desired outcome is that if edi bol gp contact segment is available, extract contact information, otherwise proceed without contact details.
💻 Technical Criteria
Given Shipper record is being populated with contact information
When The system checks for available contact data sources
Then If EDI BOL GP contact segment is available, extract contact information, otherwise proceed without contact details
R-GCCCCADD-cbl-00461 Extract Contact Information from EDI BOL
Action Rules
📊 Business Logic Narrative
When the process 'Extract Contact Information from EDI BOL' is invoked, and assuming that edi bol gp contact segment is available, when the system processes shipper contact information, the desired outcome is that contact function code is extracted from per-contact-func-code, contact name from per-name, communication number qualifier from per-commun-no-qual, and communication number from per-commun-number.
💻 Technical Criteria
Given EDI BOL GP contact segment is available
When The system processes shipper contact information
Then Contact function code is extracted from PER-CONTACT-FUNC-CODE, contact name from PER-NAME, communication number qualifier from PER-COMMUN-NO-QUAL, and communication number from PER-COMMUN-NUMBER
R-GCCCCADD-cbl-00462 Use Fastway Shipper Data
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Fastway Shipper Data', assuming that edi bol hn segment is not available, when the system needs to populate shipper information, the desired outcome is that the system uses fastway shiproot data as the primary source for shipper information.
💻 Technical Criteria
EXCLUDING EDI BOL HN segment is not available
When The system needs to populate shipper information
Then The system uses Fastway SHIPROOT data as the primary source for shipper information
R-GCCCCADD-cbl-00463 Extract Shipper Name from Fastway
Action Rules
📊 Business Logic Narrative
When the process 'Extract Shipper Name from Fastway' is invoked, and assuming that fastway data is being used as the shipper information source, when the system processes shipper name information, the desired outcome is that the shipper name is extracted from shpr-nm field in the shiproot data.
💻 Technical Criteria
Given Fastway data is being used as the shipper information source
When The system processes shipper name information
Then The shipper name is extracted from SHPR-NM field in the SHIPROOT data
R-GCCCCADD-cbl-00464 Extract Shipper CHOP from Fastway
Action Rules
📊 Business Logic Narrative
When the process 'Extract Shipper CHOP from Fastway' is invoked, and assuming that fastway data is being used as the shipper information source, when the system processes shipper identification codes, the desired outcome is that the shipper chop code is extracted from shpr-chop field in the shiproot data.
💻 Technical Criteria
Given Fastway data is being used as the shipper information source
When The system processes shipper identification codes
Then The shipper CHOP code is extracted from SHPR-CHOP field in the SHIPROOT data
R-GCCCCADD-cbl-00470 Search for EDI BOL Consignee Data CN Segment
Decision Rules
📊 Business Logic Narrative
When the process 'Search for EDI BOL Consignee Data CN Segment' is invoked, and assuming that an edi bol key exists for the shipment, when the system searches for consignee name data in edi bol cn segment type '01', the desired outcome is that the system sets the consignee data found flag based on whether the cn segment exists.
💻 Technical Criteria
Given An EDI BOL key exists for the shipment
When The system searches for consignee name data in EDI BOL CN segment type '01'
Then The system sets the consignee data found flag based on whether the CN segment exists
R-GCCCCADD-cbl-00471 Extract Consignee Name and CHOP from EDI
Action Rules
📊 Business Logic Narrative
When the process 'Extract Consignee Name and CHOP from EDI' is invoked, and assuming that edi bol cn segment data is found for the shipment, when the system processes the consignee name information, the desired outcome is that the system sets entity id to 'cn', extracts shipper name to consignee name field, and sets the consignee chop code.
💻 Technical Criteria
Given EDI BOL CN segment data is found for the shipment
When The system processes the consignee name information
Then The system sets entity ID to 'CN', extracts shipper name to consignee name field, and sets the consignee CHOP code
R-GCCCCADD-cbl-00472 Search for EDI Address Data CA Segment
Decision Rules
📊 Business Logic Narrative
When the process 'Search for EDI Address Data CA Segment' is invoked, and assuming that edi bol consignee name data has been found, when the system searches for address data in edi bol ca segment for consignee type, the desired outcome is that the system sets the address data found flag based on whether the ca segment exists.
💻 Technical Criteria
Given EDI BOL consignee name data has been found
When The system searches for address data in EDI BOL CA segment for consignee type
Then The system sets the address data found flag based on whether the CA segment exists
R-GCCCCADD-cbl-00473 Extract Address from EDI BOL
Validation Rules
📊 Business Logic Narrative
When the process 'Extract Address from EDI BOL' is invoked, and assuming that edi bol ca segment address data is found, when the system processes the address information, the desired outcome is that the system extracts address line 1 and 2, and if address line 1 is blank, sets it to 'na'.
💻 Technical Criteria
Given EDI BOL CA segment address data is found
When The system processes the address information
Then The system extracts address line 1 and 2, and if address line 1 is blank, sets it to 'NA'
R-GCCCCADD-cbl-00474 Use Fastway Address Data
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Fastway Address Data', assuming that edi bol ca segment address data is not found, when the system needs address information for the consignee, the desired outcome is that the system uses consignee address from fastway data and if blank, sets address line 1 to 'na' and clears address line 2.
💻 Technical Criteria
EXCLUDING EDI BOL CA segment address data is not found
When The system needs address information for the consignee
Then The system uses consignee address from Fastway data and if blank, sets address line 1 to 'NA' and clears address line 2
R-GCCCCADD-cbl-00475 Search for EDI City/State Data CC Segment
Decision Rules
📊 Business Logic Narrative
When the process 'Search for EDI City/State Data CC Segment' is invoked, and assuming that address information has been processed for the consignee, when the system searches for city/state data in edi bol cc segment for consignee type, the desired outcome is that the system sets the city/state data found flag based on whether the cc segment exists.
💻 Technical Criteria
Given Address information has been processed for the consignee
When The system searches for city/state data in EDI BOL CC segment for consignee type
Then The system sets the city/state data found flag based on whether the CC segment exists
R-GCCCCADD-cbl-00476 Extract City/State/Postal/Country from EDI
Action Rules
📊 Business Logic Narrative
When the process 'Extract City/State/Postal/Country from EDI' is invoked, and assuming that edi bol cc segment city/state data is found, when the system processes the geographic information, the desired outcome is that the system extracts city name, state/province code, postal code, and country code from the edi data.
💻 Technical Criteria
Given EDI BOL CC segment city/state data is found
When The system processes the geographic information
Then The system extracts city name, state/province code, postal code, and country code from the EDI data
R-GCCCCADD-cbl-00477 Use Fastway City/State Data
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Fastway City/State Data', assuming that edi bol cc segment city/state data is not found, when the system needs geographic information for the consignee, the desired outcome is that the system parses fastway consignee address data to extract city, state/province, postal code, and determines country from state lookup table.
💻 Technical Criteria
EXCLUDING EDI BOL CC segment city/state data is not found
When The system needs geographic information for the consignee
Then The system parses Fastway consignee address data to extract city, state/province, postal code, and determines country from state lookup table
R-GCCCCADD-cbl-00478 Search for EDI Contact Data GP Segment
Decision Rules
📊 Business Logic Narrative
When the process 'Search for EDI Contact Data GP Segment' is invoked, and assuming that geographic information has been processed for the consignee, when the system searches for contact data in edi bol gp segment for consignee type, the desired outcome is that the system sets the contact data found flag based on whether the gp segment exists.
💻 Technical Criteria
Given Geographic information has been processed for the consignee
When The system searches for contact data in EDI BOL GP segment for consignee type
Then The system sets the contact data found flag based on whether the GP segment exists
R-GCCCCADD-cbl-00479 Extract Contact Information from EDI
Action Rules
📊 Business Logic Narrative
When the process 'Extract Contact Information from EDI' is invoked, and assuming that edi bol gp segment contact data is found, when the system processes the contact information, the desired outcome is that the system extracts contact function code, contact name, communication number qualifier, and communication number from the edi data.
💻 Technical Criteria
Given EDI BOL GP segment contact data is found
When The system processes the contact information
Then The system extracts contact function code, contact name, communication number qualifier, and communication number from the EDI data
R-GCCCCADD-cbl-00480 Use Fastway Consignee Data
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Fastway Consignee Data', assuming that edi bol cn segment consignee data is not found, when the system needs consignee information, the desired outcome is that the system uses consignee chop code, sets entity id to 'cn', and extracts consignee name from fastway shipment data.
💻 Technical Criteria
EXCLUDING EDI BOL CN segment consignee data is not found
When The system needs consignee information
Then The system uses consignee CHOP code, sets entity ID to 'CN', and extracts consignee name from Fastway shipment data
R-GCCCCADD-cbl-00481 Validate Consignee Record Data
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Consignee Record Data' is invoked, and assuming that all consignee data has been extracted from available sources, when the system validates the consignee record, the desired outcome is that the system performs n1 segment validation including entity id, name, address, city/state/postal/country, and contact information validation.
💻 Technical Criteria
Given All consignee data has been extracted from available sources
When The system validates the consignee record
Then The system performs N1 segment validation including entity ID, name, address, city/state/postal/country, and contact information validation
R-GCCCCADD-cbl-00482 Store Consignee Record in Array Position 2
Process Rules
📊 Business Logic Narrative
When the process 'Store Consignee Record in Array Position 2' is invoked, and assuming that the consignee record has been validated successfully, when the system completes consignee record building, the desired outcome is that the system stores the consignee record in array position 2 of the record 55 data structure.
💻 Technical Criteria
Given The consignee record has been validated successfully
When The system completes consignee record building
Then The system stores the consignee record in array position 2 of the record 55 data structure
R-GCCCCADD-cbl-00483 Build SF Stuffer Entity Segment
Process Rules
📊 Business Logic Narrative
When the process 'Build SF Stuffer Entity Segment' is invoked, and assuming that an edi bol contains stuffer entity data with type pn, when the system processes the stuffer entity segment, the desired outcome is that the system creates an sf entity record with name, address, city, state, postal code, country, and contact information from the edi data.
💻 Technical Criteria
Given An EDI BOL contains stuffer entity data with type PN
When The system processes the stuffer entity segment
Then The system creates an SF entity record with name, address, city, state, postal code, country, and contact information from the EDI data
R-GCCCCADD-cbl-00484 Build UC Ultimate Consignee Segment
Process Rules
📊 Business Logic Narrative
When the process 'Build UC Ultimate Consignee Segment' is invoked, and assuming that an edi bol contains ultimate consignee entity data with type un, when the system processes the ultimate consignee entity segment, the desired outcome is that the system creates a uc entity record with name, address, city, state, postal code, country, and contact information from the edi data, defaulting address to 'na' if not provided.
💻 Technical Criteria
Given An EDI BOL contains ultimate consignee entity data with type UN
When The system processes the ultimate consignee entity segment
Then The system creates a UC entity record with name, address, city, state, postal code, country, and contact information from the EDI data, defaulting address to 'NA' if not provided
R-GCCCCADD-cbl-00485 Build BN Beneficial Owner Segment
Process Rules
📊 Business Logic Narrative
When the process 'Build BN Beneficial Owner Segment' is invoked, and assuming that an edi bol contains beneficial owner entity data with type bn and organization id bn, when the system processes the beneficial owner entity segment, the desired outcome is that the system creates a bn entity record with name, consignee chop code, address, city, state, postal code, and country information from the edi data.
💻 Technical Criteria
Given An EDI BOL contains beneficial owner entity data with type BN and organization ID BN
When The system processes the beneficial owner entity segment
Then The system creates a BN entity record with name, consignee chop code, address, city, state, postal code, and country information from the EDI data
R-GCCCCADD-cbl-00489 Build PF/SS Entity Segments from MCOA
Process Rules
📊 Business Logic Narrative
When the process 'Build PF/SS Entity Segments from MCOA' is invoked, and assuming that an edi bol contains mcoa segment data with organization id of pf or ss, when the system processes the mcoa entity segment, the desired outcome is that the system creates a pf or ss entity record with organization id, name, id code qualifier, id code, address, city, state, postal code, and country information from the mcoa data, defaulting address to 'na' if not provided.
💻 Technical Criteria
Given An EDI BOL contains MCOA segment data with organization ID of PF or SS
When The system processes the MCOA entity segment
Then The system creates a PF or SS entity record with organization ID, name, ID code qualifier, ID code, address, city, state, postal code, and country information from the MCOA data, defaulting address to 'NA' if not provided
R-GCCCCADD-cbl-02090 Build SF - Stuffer Entity
Process Rules
📊 Business Logic Narrative
When the process 'Build SF - Stuffer Entity' is invoked, and assuming that an edi bol with potential pn segment data for stuffer entity, when the system processes the pn segment for stuffer information, the desired outcome is that if pn segment is found, extract stuffer name and create sf entity record with address from pa and pc segments and contact from gp segment.
💻 Technical Criteria
Given An EDI BOL with potential PN segment data for stuffer entity
When The system processes the PN segment for stuffer information
Then If PN segment is found, extract stuffer name and create SF entity record with address from PA and PC segments and contact from GP segment
R-GCCCCADD-cbl-02091 Build UC - Ultimate Consignee
Process Rules
📊 Business Logic Narrative
When the process 'Build UC - Ultimate Consignee' is invoked, and assuming that an edi bol with potential un segment data for ultimate consignee entity, when the system processes the un segment for ultimate consignee information, the desired outcome is that if un segment is found, extract ultimate consignee name and create uc entity record with address from ua and uc segments and contact from gp segment.
💻 Technical Criteria
Given An EDI BOL with potential UN segment data for ultimate consignee entity
When The system processes the UN segment for ultimate consignee information
Then If UN segment is found, extract ultimate consignee name and create UC entity record with address from UA and UC segments and contact from GP segment
R-GCCCCADD-cbl-02092 Build BN - Beneficial Owner
Process Rules
📊 Business Logic Narrative
When the process 'Build BN - Beneficial Owner' is invoked, and assuming that an edi bol with potential bn segment data for beneficial owner entity, when the system processes the bn segment for beneficial owner information, the desired outcome is that if bn segment is found, extract beneficial owner name and create bn entity record with address from bt and by segments.
💻 Technical Criteria
Given An EDI BOL with potential BN segment data for beneficial owner entity
When The system processes the BN segment for beneficial owner information
Then If BN segment is found, extract beneficial owner name and create BN entity record with address from BT and BY segments
R-GCCCCADD-cbl-02093 Build C1 - Carrier Entity
Decision Rules
📊 Business Logic Narrative
When the process 'Build C1 - Carrier Entity' is invoked, and assuming that an edi bol with potential tn segment containing c1 organization id or fastway shipment data with consignee code c, when the system processes carrier entity information, the desired outcome is that if tn segment with c1 is found, extract carrier information with address from t2 and ta segments and contact from t3 segment, otherwise if consignee data code is c, use fastway consignee data.
💻 Technical Criteria
Given An EDI BOL with potential TN segment containing C1 organization ID or Fastway shipment data with consignee code C
When The system processes carrier entity information
Then If TN segment with C1 is found, extract carrier information with address from T2 and TA segments and contact from T3 segment, otherwise if consignee data code is C, use Fastway consignee data
R-GCCCCADD-cbl-02094 Build N1 - Notify Party
Process Rules
📊 Business Logic Narrative
When the process 'Build N1 - Notify Party' is invoked, and assuming that an edi bol with potential tn segment containing n1 organization id, when the system processes the tn segment for notify party information, the desired outcome is that if tn segment with n1 is found, extract notify party information and create n1 entity record.
💻 Technical Criteria
Given An EDI BOL with potential TN segment containing N1 organization ID
When The system processes the TN segment for notify party information
Then If TN segment with N1 is found, extract notify party information and create N1 entity record
R-GCCCCADD-cbl-02095 Build PF/SS - Payment/Service
Process Rules
📊 Business Logic Narrative
When the process 'Build PF/SS - Payment/Service' is invoked, and assuming that an edi bol with potential mcoa segment data for payment entities, when the system processes mcoa segment with organization id pf or ss, the desired outcome is that if mcoa segment is found with pf or ss organization id, extract entity information with address from on and oc segments.
💻 Technical Criteria
Given An EDI BOL with potential MCOA segment data for payment entities
When The system processes MCOA segment with organization ID PF or SS
Then If MCOA segment is found with PF or SS organization ID, extract entity information with address from ON and OC segments
R-GCCCCADD-cbl-02096 Build Additional Entities
Process Rules
📊 Business Logic Narrative
When the process 'Build Additional Entities' is invoked, and assuming that an edi bol with tn segments containing organization ids 11, mc, oo, or fw, when the system processes tn segments for these entity types, the desired outcome is that extract entity information and create corresponding entity records with address and contact details.
💻 Technical Criteria
Given An EDI BOL with TN segments containing organization IDs 11, MC, OO, or FW
When The system processes TN segments for these entity types
Then Extract entity information and create corresponding entity records with address and contact details
R-GCCCCADD-cbl-02097 Build NN Entity Segments
Validation Rules
📊 Business Logic Narrative
When the process 'Build NN Entity Segments' is invoked, and assuming that an edi bol with nn segments containing various entity ids, when the system processes nn segments for named entities, the desired outcome is that if nn segment is found with valid entity id, extract entity information with address from gc and ga segments, otherwise reset variables if not found.
💻 Technical Criteria
Given An EDI BOL with NN segments containing various entity IDs
When The system processes NN segments for named entities
Then If NN segment is found with valid entity ID, extract entity information with address from GC and GA segments, otherwise reset variables if not found
R-GCCCCADD-cbl-02492 Build SF - Stuffer Entity
Process Rules
📊 Business Logic Narrative
When the process 'Build SF - Stuffer Entity' is invoked, and assuming that edi bol contains stuffer entity data with entity id 'pn', when processing stuffer entity segment, the desired outcome is that create sf entity record with name, address, city/state/postal, and contact information from edi data.
💻 Technical Criteria
Given EDI BOL contains stuffer entity data with entity ID 'PN'
When Processing stuffer entity segment
Then Create SF entity record with name, address, city/state/postal, and contact information from EDI data
R-GCCCCADD-cbl-02493 Build UC - Ultimate Consignee Entity
Process Rules
📊 Business Logic Narrative
When the process 'Build UC - Ultimate Consignee Entity' is invoked, and assuming that edi bol contains ultimate consignee entity data with entity id 'un', when processing ultimate consignee entity segment, the desired outcome is that create uc entity record with name, address, city/state/postal, and contact information from edi data.
💻 Technical Criteria
Given EDI BOL contains ultimate consignee entity data with entity ID 'UN'
When Processing ultimate consignee entity segment
Then Create UC entity record with name, address, city/state/postal, and contact information from EDI data
R-GCCCCADD-cbl-02497 Build PF/SS - Payment/Service Entities
Process Rules
📊 Business Logic Narrative
When the process 'Build PF/SS - Payment/Service Entities' is invoked, and assuming that edi charges data contains organization id 'pf' or 'ss', when processing payment/service entity segments, the desired outcome is that create entity record with organization id, name, id code qualifier, id code, address, and city/state/postal information.
💻 Technical Criteria
Given EDI charges data contains organization ID 'PF' or 'SS'
When Processing payment/service entity segments
Then Create entity record with organization ID, name, ID code qualifier, ID code, address, and city/state/postal information
R-GCCCCADD-cbl-02502 Validate Address Line 1 Required
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Validate Address Line 1 Required', assuming that entity id and name are not blank, when address line 1 is blank, the desired outcome is that generate validation error for required address information.
💻 Technical Criteria
EXCLUDING Entity ID and name are not blank
When Address line 1 is blank
Then Generate validation error for required address information
R-GCCCCADD-cbl-02503 Set NA for Missing Address
Validation Rules
📊 Business Logic Narrative
When the process 'Set NA for Missing Address' is invoked, and assuming that entity record is being created, when address line 1 is blank, the desired outcome is that set address line 1 to 'na'.
💻 Technical Criteria
Given Entity record is being created
When Address line 1 is blank
Then Set address line 1 to 'NA'
R-GCCCCADD-cbl-02504 Check City Name Length ≥ 2
Validation Rules
📊 Business Logic Narrative
When the process 'Check City Name Length ≥ 2' is invoked, and assuming that city/state/postal information is provided, when city name is present and city name length is less than 2 characters, the desired outcome is that generate validation error for minimum length requirement.
💻 Technical Criteria
Given City/state/postal information is provided
When City name is present AND city name length is less than 2 characters
Then Generate validation error for minimum length requirement
R-GCCCCADD-cbl-02505 Check Postal Code Length ≥ 3
Validation Rules
📊 Business Logic Narrative
When the process 'Check Postal Code Length ≥ 3' is invoked, and assuming that city/state/postal information is provided, when postal code is present and postal code length is less than 3 characters, the desired outcome is that generate validation error for minimum length requirement.
💻 Technical Criteria
Given City/state/postal information is provided
When Postal code is present AND postal code length is less than 3 characters
Then Generate validation error for minimum length requirement
R-GCCCCADD-cbl-02507 Validate Province-Country Match
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Validate Province-Country Match', assuming that state/province code and country code are both provided, when state/province code does not match the country code in reference table, the desired outcome is that generate validation error for invalid state/province combination.
💻 Technical Criteria
EXCLUDING State/province code and country code are both provided
When State/province code does not match the country code in reference table
Then Generate validation error for invalid state/province combination
R-GCCCCADD-cbl-02508 Assign Country Codes
Computation Rules
📊 Business Logic Narrative
When the process 'Assign Country Codes' is invoked, and assuming that state/province code is provided and country code is blank, when processing address information, the desired outcome is that look up country code from state-country reference table and assign to country field.
💻 Technical Criteria
Given State/province code is provided AND country code is blank
When Processing address information
Then Look up country code from state-country reference table and assign to country field
R-GCCCCADD-cbl-02510 Check Communication Number Required
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check Communication Number Required', assuming that communication qualifier is not blank or contact name is not blank, when communication number is blank, the desired outcome is that generate validation error for required communication number.
💻 Technical Criteria
EXCLUDING Communication qualifier is not blank OR contact name is not blank
When Communication number is blank
Then Generate validation error for required communication number
R-GCCCCADD-cbl-02511 Validate Entity Data Complete
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Entity Data Complete' is invoked, and assuming that entity is shipper (sequence 1) or consignee (sequence 2), when entity name, address, city/state/postal, and contact information are all blank, the desired outcome is that generate validation errors for all required shipper or consignee fields.
💻 Technical Criteria
Given Entity is shipper (sequence 1) OR consignee (sequence 2)
When Entity name, address, city/state/postal, and contact information are all blank
Then Generate validation errors for all required shipper or consignee fields
R-GCCCCADD-cbl-02107 EDI BOL Address Data Available?
Decision Rules
📊 Business Logic Narrative
When the process 'EDI BOL Address Data Available?' is invoked, and assuming that a shipment requires address information for shipper or consignee, when the system checks for edi bol address data in ha/ca segments, the desired outcome is that if edi bol address data is found, extract address lines from ha/ca segments, otherwise extract address from fastway shiproot address fields and set default 'na' if address is blank.
💻 Technical Criteria
Given A shipment requires address information for shipper or consignee
When The system checks for EDI BOL address data in HA/CA segments
Then If EDI BOL address data is found, extract address lines from HA/CA segments, otherwise extract address from Fastway SHIPROOT address fields and set default 'NA' if address is blank
R-GCCCCADD-cbl-02108 EDI BOL City/State Data Available?
Decision Rules
📊 Business Logic Narrative
When the process 'EDI BOL City/State Data Available?' is invoked, and assuming that a shipment requires city and state information for address completion, when the system checks for edi bol city/state data in hc/cc segments, the desired outcome is that if edi bol city/state data is found, extract city, state, postal code and country from hc/cc segments, otherwise parse city, state and postal code from fastway address field and lookup country code from state-country table.
💻 Technical Criteria
Given A shipment requires city and state information for address completion
When The system checks for EDI BOL city/state data in HC/CC segments
Then If EDI BOL city/state data is found, extract city, state, postal code and country from HC/CC segments, otherwise parse city, state and postal code from Fastway address field and lookup country code from state-country table
R-GCCCCADD-cbl-02109 EDI BOL Contact Data Available?
Decision Rules
📊 Business Logic Narrative
When the process 'EDI BOL Contact Data Available?' is invoked, and assuming that a shipment may have contact information for shipper or consignee, when the system checks for edi bol contact data in gp segment, the desired outcome is that if edi bol contact data is found, extract contact function code, name, communication number qualifier and communication number from gp segment, otherwise set all contact fields to spaces.
💻 Technical Criteria
Given A shipment may have contact information for shipper or consignee
When The system checks for EDI BOL contact data in GP segment
Then If EDI BOL contact data is found, extract contact function code, name, communication number qualifier and communication number from GP segment, otherwise set all contact fields to spaces
R-GCCCCADD-cbl-02111 Extract Address from Fastway SHIPROOT
Validation Rules
📊 Business Logic Narrative
When the process 'Extract Address from Fastway SHIPROOT' is invoked, and assuming that address information is being extracted from fastway shiproot, when the address field is blank or spaces, the desired outcome is that set the address field to 'na' to ensure required address information is present.
💻 Technical Criteria
Given Address information is being extracted from Fastway SHIPROOT
When The address field is blank or spaces
Then Set the address field to 'NA' to ensure required address information is present
R-GCCCCADD-cbl-00494 Initialize Contact Fields
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Contact Fields' is invoked, and assuming that contact information processing is starting for an entity, when the system begins contact information processing, the desired outcome is that all contact function code, person name, communication qualifier, and communication number fields are cleared.
💻 Technical Criteria
Given Contact information processing is starting for an entity
When The system begins contact information processing
Then All contact function code, person name, communication qualifier, and communication number fields are cleared
R-GCCCCADD-cbl-00495 Retrieve PER Segment from EDI BOL
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve PER Segment from EDI BOL' is invoked, and assuming that an edi bol contains per segment data for an entity, when the system processes contact information for that entity, the desired outcome is that contact function code, person name, communication number qualifier, and communication number are extracted from the per segment.
💻 Technical Criteria
Given An EDI BOL contains PER segment data for an entity
When The system processes contact information for that entity
Then Contact function code, person name, communication number qualifier, and communication number are extracted from the PER segment
R-GCCCCADD-cbl-00496 Validate Communication Qualifier
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Communication Qualifier' is invoked, and assuming that contact information contains a communication number qualifier, when the system validates the communication qualifier, the desired outcome is that the qualifier must be spaces, 'fx' for fax, or 'te' for telephone, otherwise generate validation error.
💻 Technical Criteria
Given Contact information contains a communication number qualifier
When The system validates the communication qualifier
Then The qualifier must be spaces, 'FX' for fax, or 'TE' for telephone, otherwise generate validation error
R-GCCCCADD-cbl-00497 Validate Communication Number Required
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Communication Number Required' is invoked, and assuming that contact information contains a person name, when the system validates contact completeness, the desired outcome is that communication number qualifier must be present, otherwise generate required field error.
💻 Technical Criteria
Given Contact information contains a person name
When The system validates contact completeness
Then Communication number qualifier must be present, otherwise generate required field error
R-GCCCCADD-cbl-00498 Validate Communication Number Required
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Communication Number Required' is invoked, and assuming that contact information contains a communication number, when the system validates contact completeness, the desired outcome is that communication number qualifier must be present, otherwise generate required field error.
💻 Technical Criteria
Given Contact information contains a communication number
When The system validates contact completeness
Then Communication number qualifier must be present, otherwise generate required field error
R-GCCCCADD-cbl-00499 Validate Communication Number Required
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Communication Number Required' is invoked, and assuming that contact information contains communication number qualifier or person name, when the system validates contact completeness, the desired outcome is that communication number must be present, otherwise generate required field error.
💻 Technical Criteria
Given Contact information contains communication number qualifier or person name
When The system validates contact completeness
Then Communication number must be present, otherwise generate required field error
R-GCCCCADD-cbl-00500 Set Contact Information in Record
Process Rules
📊 Business Logic Narrative
When the process 'Set Contact Information in Record' is invoked, and assuming that contact information has been validated successfully, when the system processes the contact data, the desired outcome is that contact function code, person name, communication qualifier, and communication number are stored in the entity record.
💻 Technical Criteria
Given Contact information has been validated successfully
When The system processes the contact data
Then Contact function code, person name, communication qualifier, and communication number are stored in the entity record
R-GCCCCADD-cbl-00502 Stuffer Segment Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Stuffer Segment Found?' is invoked, and assuming that a search for stuffer segment 'pn' has been performed, when the system evaluates the search results, the desired outcome is that processing continues with stuffer data extraction if segment is found, otherwise stuffer processing is skipped.
💻 Technical Criteria
Given A search for stuffer segment 'PN' has been performed
When The system evaluates the search results
Then Processing continues with stuffer data extraction if segment is found, otherwise stuffer processing is skipped
R-GCCCCADD-cbl-00504 Set Entity ID as 'SF'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Entity ID as 'SF'' is invoked, and assuming that stuffer entity information is being processed, when the system creates the entity record, the desired outcome is that the entity id is set to 'sf' to identify this as a stuffer entity.
💻 Technical Criteria
Given Stuffer entity information is being processed
When The system creates the entity record
Then The entity ID is set to 'SF' to identify this as a stuffer entity
R-GCCCCADD-cbl-00505 Search for Stuffer Address Segment PA
Action Rules
📊 Business Logic Narrative
When the process 'Search for Stuffer Address Segment PA' is invoked, and assuming that stuffer entity 'pn' segment exists and entity id is set to 'sf', when the system searches for address segment type 'pa' with sequence '01', the desired outcome is that the system retrieves stuffer address information if the address segment exists.
💻 Technical Criteria
Given Stuffer entity 'PN' segment exists and entity ID is set to 'SF'
When The system searches for address segment type 'PA' with sequence '01'
Then The system retrieves stuffer address information if the address segment exists
R-GCCCCADD-cbl-00506 Address Segment Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Address Segment Found?' is invoked, and assuming that a search for stuffer address segment 'pa' has been performed, when the system evaluates the address search results, the desired outcome is that address extraction continues if segment is found, otherwise default address is applied.
💻 Technical Criteria
Given A search for stuffer address segment 'PA' has been performed
When The system evaluates the address search results
Then Address extraction continues if segment is found, otherwise default address is applied
R-GCCCCADD-cbl-00509 Search for Stuffer City/State Segment PC
Action Rules
📊 Business Logic Narrative
When the process 'Search for Stuffer City/State Segment PC' is invoked, and assuming that stuffer address processing is complete, when the system searches for city/state segment type 'pc' with sequence '01', the desired outcome is that the system retrieves stuffer geographic information if the segment exists.
💻 Technical Criteria
Given Stuffer address processing is complete
When The system searches for city/state segment type 'PC' with sequence '01'
Then The system retrieves stuffer geographic information if the segment exists
R-GCCCCADD-cbl-00510 City/State Segment Found?
Decision Rules
📊 Business Logic Narrative
When the process 'City/State Segment Found?' is invoked, and assuming that a search for stuffer city/state segment 'pc' has been performed, when the system evaluates the geographic search results, the desired outcome is that geographic data extraction continues if segment is found, otherwise contact processing begins.
💻 Technical Criteria
Given A search for stuffer city/state segment 'PC' has been performed
When The system evaluates the geographic search results
Then Geographic data extraction continues if segment is found, otherwise contact processing begins
R-GCCCCADD-cbl-00512 Search for Stuffer Contact Segment GP
Action Rules
📊 Business Logic Narrative
When the process 'Search for Stuffer Contact Segment GP' is invoked, and assuming that stuffer geographic information processing is complete, when the system searches for contact segment type 'gp' with sequence '01', the desired outcome is that the system retrieves stuffer contact information if the segment exists.
💻 Technical Criteria
Given Stuffer geographic information processing is complete
When The system searches for contact segment type 'GP' with sequence '01'
Then The system retrieves stuffer contact information if the segment exists
R-GCCCCADD-cbl-00513 Contact Segment Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Contact Segment Found?' is invoked, and assuming that a search for stuffer contact segment 'gp' has been performed, when the system evaluates the contact search results, the desired outcome is that contact data extraction continues if segment is found, otherwise validation processing begins.
💻 Technical Criteria
Given A search for stuffer contact segment 'GP' has been performed
When The system evaluates the contact search results
Then Contact data extraction continues if segment is found, otherwise validation processing begins
R-GCCCCADD-cbl-00515 Validate Stuffer Entity Data
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Stuffer Entity Data' is invoked, and assuming that all available stuffer information has been extracted from edi segments, when the system validates the stuffer entity data, the desired outcome is that required field validations are performed and missing address defaults to 'na' if not provided.
💻 Technical Criteria
Given All available stuffer information has been extracted from EDI segments
When The system validates the stuffer entity data
Then Required field validations are performed and missing address defaults to 'NA' if not provided
R-GCCCCADD-cbl-00519 Extract UC Entity Data from EDI
Decision Rules
📊 Business Logic Narrative
When the process 'Extract UC Entity Data from EDI' is invoked, and assuming that edi bol un segment is successfully retrieved, when the system processes the ultimate consignee data, the desired outcome is that entity id is set to 'uc', entity name is extracted from u1-name field, and id code qualifiers are cleared.
💻 Technical Criteria
Given EDI BOL UN segment is successfully retrieved
When The system processes the Ultimate Consignee data
Then Entity ID is set to 'UC', entity name is extracted from U1-NAME field, and ID code qualifiers are cleared
R-GCCCCADD-cbl-00521 Extract Address Lines from EDI
Decision Rules
📊 Business Logic Narrative
When the process 'Extract Address Lines from EDI' is invoked, and assuming that edi bol ua address segment is successfully retrieved, when the system processes the address information, the desired outcome is that address line 1 is set from u2-addl-name-addr-1 and address line 2 is set from u2-addl-name-addr-2.
💻 Technical Criteria
Given EDI BOL UA address segment is successfully retrieved
When The system processes the address information
Then Address line 1 is set from U2-ADDL-NAME-ADDR-1 and address line 2 is set from U2-ADDL-NAME-ADDR-2
R-GCCCCADD-cbl-00522 Set Default Address 'NA'
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Default Address 'NA'', assuming that edi bol ua address segment is not found, when the system processes ultimate consignee address requirements, the desired outcome is that address line 2 is cleared and address line 1 is set to 'na' as default.
💻 Technical Criteria
EXCLUDING EDI BOL UA address segment is not found
When The system processes Ultimate Consignee address requirements
Then Address line 2 is cleared and address line 1 is set to 'NA' as default
R-GCCCCADD-cbl-00527 Extract Contact Information
Decision Rules
📊 Business Logic Narrative
When the process 'Extract Contact Information' is invoked, and assuming that edi bol gp contact segment is successfully retrieved, when the system processes the contact information, the desired outcome is that contact function code is set from per-contact-func-code, contact name from per-name, communication number qualifier from per-commun-no-qual, and communication number from per-commun-number.
💻 Technical Criteria
Given EDI BOL GP contact segment is successfully retrieved
When The system processes the contact information
Then Contact function code is set from PER-CONTACT-FUNC-CODE, contact name from PER-NAME, communication number qualifier from PER-COMMUN-NO-QUAL, and communication number from PER-COMMUN-NUMBER
R-GCCCCADD-cbl-00536 BN Entity Found in EDI BOL?
Decision Rules
📊 Business Logic Narrative
When the process 'BN Entity Found in EDI BOL?' is invoked, and assuming that a search for beneficial owner entity in edi bol has been performed, when evaluating the edi bol search results, the desired outcome is that the system determines whether to proceed with beneficial owner processing or skip it based on entity existence.
💻 Technical Criteria
Given A search for beneficial owner entity in EDI BOL has been performed
When Evaluating the EDI BOL search results
Then The system determines whether to proceed with beneficial owner processing or skip it based on entity existence
R-GCCCCADD-cbl-00540 Search for BN Address Segment
Action Rules
📊 Business Logic Narrative
When the process 'Search for BN Address Segment' is invoked, and assuming that beneficial owner entity processing is in progress, when searching for beneficial owner address information, the desired outcome is that the system retrieves address segments matching the beneficial owner entity.
💻 Technical Criteria
Given Beneficial owner entity processing is in progress
When Searching for beneficial owner address information
Then The system retrieves address segments matching the beneficial owner entity
R-GCCCCADD-cbl-00544 Search for BN City/State Segment
Action Rules
📊 Business Logic Narrative
When the process 'Search for BN City/State Segment' is invoked, and assuming that beneficial owner address processing is in progress, when searching for city and state information, the desired outcome is that the system retrieves city/state segments matching the beneficial owner entity.
💻 Technical Criteria
Given Beneficial owner address processing is in progress
When Searching for city and state information
Then The system retrieves city/state segments matching the beneficial owner entity
R-GCCCCADD-cbl-00545 BN City/State Found?
Decision Rules
📊 Business Logic Narrative
When the process 'BN City/State Found?' is invoked, and assuming that a search for beneficial owner city/state has been performed, when evaluating city/state search results, the desired outcome is that the system determines whether to use found city/state data or clear the city/state information.
💻 Technical Criteria
Given A search for beneficial owner city/state has been performed
When Evaluating city/state search results
Then The system determines whether to use found city/state data or clear the city/state information
R-GCCCCADD-cbl-00548 Clear Contact Information
Process Rules
📊 Business Logic Narrative
When the process 'Clear Contact Information' is invoked, and assuming that beneficial owner segment processing is continuing, when setting up contact information, the desired outcome is that all contact function code, name, communication qualifier, and communication number fields are cleared.
💻 Technical Criteria
Given Beneficial owner segment processing is continuing
When Setting up contact information
Then All contact function code, name, communication qualifier, and communication number fields are cleared
R-GCCCCADD-cbl-00562 Extract Carrier from Fastway Consignee Data
Process Rules
📊 Business Logic Narrative
When the process 'Extract Carrier from Fastway Consignee Data' is invoked, and assuming that carrier information is available in fastway consignee data and consignee data code field 2 equals 'c', when processing carrier information from fastway source, the desired outcome is that the system extracts carrier data from consignee data fields in the shipment root.
💻 Technical Criteria
Given Carrier information is available in Fastway consignee data and consignee data code field 2 equals 'C'
When Processing carrier information from Fastway source
Then The system extracts carrier data from consignee data fields in the shipment root
R-GCCCCADD-cbl-00563 Get Carrier Name from Consignee Field 2
Process Rules
📊 Business Logic Narrative
When the process 'Get Carrier Name from Consignee Field 2' is invoked, and assuming that carrier information is being extracted from fastway consignee data, when processing carrier name from fastway source, the desired outcome is that the carrier name is assigned from consignee data field 2 to the entity name field.
💻 Technical Criteria
Given Carrier information is being extracted from Fastway consignee data
When Processing carrier name from Fastway source
Then The carrier name is assigned from consignee data field 2 to the entity name field
R-GCCCCADD-cbl-00568 Validate C1 Entity Segment
Validation Rules
📊 Business Logic Narrative
When the process 'Validate C1 Entity Segment' is invoked, and assuming that a c1 carrier entity segment has been populated with data, when validating the carrier entity information, the desired outcome is that the system validates required fields, data formats, and business rules for the c1 entity segment.
💻 Technical Criteria
Given A C1 carrier entity segment has been populated with data
When Validating the carrier entity information
Then The system validates required fields, data formats, and business rules for the C1 entity segment
R-GCCCCADD-cbl-00571 Set Entity ID to 'N1'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Entity ID to 'N1'' is invoked, and assuming that an initialized n1 segment record exists, when processing notify party entity information, the desired outcome is that the entity id code is set to 'n1' to identify this as a notify party record.
💻 Technical Criteria
Given An initialized N1 segment record exists
When Processing notify party entity information
Then The entity ID code is set to 'N1' to identify this as a notify party record
R-GCCCCADD-cbl-00579 Address Segment Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Address Segment Found?' is invoked, and assuming that a t2 address segment lookup is performed, when checking for address information availability, the desired outcome is that if t2 segment exists, extract address lines; otherwise proceed to city/state processing.
💻 Technical Criteria
Given A T2 address segment lookup is performed
When Checking for address information availability
Then If T2 segment exists, extract address lines; otherwise proceed to city/state processing
R-GCCCCADD-cbl-00580 Extract Address Line 1 and 2
Process Rules
📊 Business Logic Narrative
When the process 'Extract Address Line 1 and 2' is invoked, and assuming that a valid t2 address segment is found, when processing address information, the desired outcome is that address line 1 and address line 2 are extracted from d6-addl-name-addr-1 and d6-addl-name-addr-2 fields.
💻 Technical Criteria
Given A valid T2 address segment is found
When Processing address information
Then Address line 1 and address line 2 are extracted from D6-ADDL-NAME-ADDR-1 and D6-ADDL-NAME-ADDR-2 fields
R-GCCCCADD-cbl-00582 City/State Segment Found?
Validation Rules
📊 Business Logic Narrative
When the process 'City/State Segment Found?' is invoked, and assuming that a ta city/state segment lookup is performed, when checking for geographic information availability, the desired outcome is that if ta segment exists, extract geographic details; otherwise proceed to contact processing.
💻 Technical Criteria
Given A TA city/state segment lookup is performed
When Checking for geographic information availability
Then If TA segment exists, extract geographic details; otherwise proceed to contact processing
R-GCCCCADD-cbl-00583 Extract City, State, Postal Code, Country
Process Rules
📊 Business Logic Narrative
When the process 'Extract City, State, Postal Code, Country' is invoked, and assuming that a valid ta geographic segment is found, when processing geographic information, the desired outcome is that city, state, postal code, and country are extracted from d7 fields and stored in n4 segment data.
💻 Technical Criteria
Given A valid TA geographic segment is found
When Processing geographic information
Then City, state, postal code, and country are extracted from D7 fields and stored in N4 segment data
R-GCCCCADD-cbl-00585 Contact Segment Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Contact Segment Found?' is invoked, and assuming that a t3 contact segment lookup is performed, when checking for contact information availability, the desired outcome is that if t3 segment exists, extract contact details; otherwise proceed to address defaulting.
💻 Technical Criteria
Given A T3 contact segment lookup is performed
When Checking for contact information availability
Then If T3 segment exists, extract contact details; otherwise proceed to address defaulting
R-GCCCCADD-cbl-00586 Extract Contact Function, Name, Phone Qualifier, Phone Number
Process Rules
📊 Business Logic Narrative
When the process 'Extract Contact Function, Name, Phone Qualifier, Phone Number' is invoked, and assuming that a valid t3 contact segment is found, when processing contact information, the desired outcome is that contact function, name, phone qualifier, and phone number are extracted from per fields and stored in per segment data.
💻 Technical Criteria
Given A valid T3 contact segment is found
When Processing contact information
Then Contact function, name, phone qualifier, and phone number are extracted from PER fields and stored in PER segment data
R-GCCCCADD-cbl-00593 MCOA Segment Found?
Validation Rules
📊 Business Logic Narrative
When the process 'MCOA Segment Found?' is invoked, and assuming that an attempt to retrieve mcoa segment data, when the system checks the retrieval result, the desired outcome is that if status code is spaces and segment type equals 'ot', set mcoa found flag to true, otherwise set to false.
💻 Technical Criteria
Given an attempt to retrieve MCOA segment data
When the system checks the retrieval result
Then if status code is spaces and segment type equals 'OT', set MCOA found flag to true, otherwise set to false
R-GCCCCADD-cbl-00594 Entity Type is PF or SS?
Decision Rules
📊 Business Logic Narrative
When the process 'Entity Type is PF or SS?' is invoked, and assuming that a successfully retrieved mcoa segment, when the system checks the organization id in the segment, the desired outcome is that if f5-org-id equals 'pf' or 'ss', continue processing, otherwise skip to next sequence.
💻 Technical Criteria
Given a successfully retrieved MCOA segment
When the system checks the organization ID in the segment
Then if F5-ORG-ID equals 'PF' or 'SS', continue processing, otherwise skip to next sequence
R-GCCCCADD-cbl-00595 Extract Entity Information
Process Rules
📊 Business Logic Narrative
When the process 'Extract Entity Information' is invoked, and assuming that a valid mcoa segment with pf or ss entity type, when the system processes the entity information, the desired outcome is that extract organization id, name, id code qualifier, and id code from f5 fields.
💻 Technical Criteria
Given a valid MCOA segment with PF or SS entity type
When the system processes the entity information
Then extract organization ID, name, ID code qualifier, and ID code from F5 fields
R-GCCCCADD-cbl-00596 Set Entity ID Code
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Entity ID Code' is invoked, and assuming that extracted entity information from mcoa segment, when the system populates the n1 segment, the desired outcome is that move f5-org-id to gccs-n101-entity-id-cde.
💻 Technical Criteria
Given extracted entity information from MCOA segment
When the system populates the N1 segment
Then move F5-ORG-ID to GCCS-N101-ENTITY-ID-CDE
R-GCCCCADD-cbl-00597 Set Entity Name
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Entity Name' is invoked, and assuming that extracted entity information from mcoa segment, when the system populates the n1 segment, the desired outcome is that move f5-name to gccs-n102-name.
💻 Technical Criteria
Given extracted entity information from MCOA segment
When the system populates the N1 segment
Then move F5-NAME to GCCS-N102-NAME
R-GCCCCADD-cbl-00598 Set ID Code Qualifier
Definitional Rules
📊 Business Logic Narrative
When the process 'Set ID Code Qualifier' is invoked, and assuming that extracted entity information from mcoa segment, when the system populates the n1 segment, the desired outcome is that move f5-id-code-qual to gccs-n103-id-cde-qual.
💻 Technical Criteria
Given extracted entity information from MCOA segment
When the system populates the N1 segment
Then move F5-ID-CODE-QUAL to GCCS-N103-ID-CDE-QUAL
R-GCCCCADD-cbl-00599 Set ID Code
Definitional Rules
📊 Business Logic Narrative
When the process 'Set ID Code' is invoked, and assuming that extracted entity information from mcoa segment, when the system populates the n1 segment, the desired outcome is that move f5-id-code to gccs-n104-id-cde.
💻 Technical Criteria
Given extracted entity information from MCOA segment
When the system populates the N1 segment
Then move F5-ID-CODE to GCCS-N104-ID-CDE
R-GCCCCADD-cbl-00600 Extract Entity Information
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract Entity Information' is invoked, and assuming that processing pf or ss entity from mcoa segment, when the system sets up the n1 segment, the desired outcome is that move spaces to gccs-sc301-chop-cde.
💻 Technical Criteria
Given processing PF or SS entity from MCOA segment
When the system sets up the N1 segment
Then move spaces to GCCS-SC301-CHOP-CDE
R-GCCCCADD-cbl-00602 Address Segment Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Address Segment Found?' is invoked, and assuming that an attempt to retrieve address segment, when the system checks the retrieval result, the desired outcome is that if status code is spaces, set address found flag to true, otherwise set to false.
💻 Technical Criteria
Given an attempt to retrieve address segment
When the system checks the retrieval result
Then if status code is spaces, set address found flag to true, otherwise set to false
R-GCCCCADD-cbl-00603 Extract Address Line 1, Extract Address Line 2
Process Rules
📊 Business Logic Narrative
When the process 'Extract Address Line 1, Extract Address Line 2' is invoked, and assuming that a successfully retrieved address segment, when the system processes address information, the desired outcome is that move f6-addl-name-addr-1 to gccs-n301-address-info-1 and f6-addl-name-addr-2 to gccs-n302-address-info-2.
💻 Technical Criteria
Given a successfully retrieved address segment
When the system processes address information
Then move F6-ADDL-NAME-ADDR-1 to GCCS-N301-ADDRESS-INFO-1 and F6-ADDL-NAME-ADDR-2 to GCCS-N302-ADDRESS-INFO-2
R-GCCCCADD-cbl-00606 City/State Segment Found?
Validation Rules
📊 Business Logic Narrative
When the process 'City/State Segment Found?' is invoked, and assuming that an attempt to retrieve city/state segment, when the system checks the retrieval result, the desired outcome is that if status code is spaces, set city/state found flag to true, otherwise set to false.
💻 Technical Criteria
Given an attempt to retrieve city/state segment
When the system checks the retrieval result
Then if status code is spaces, set city/state found flag to true, otherwise set to false
R-GCCCCADD-cbl-00607 Extract City Name, Extract State/Province Code, Extract Postal Code, Extract Country Code
Process Rules
📊 Business Logic Narrative
When the process 'Extract City Name, Extract State/Province Code, Extract Postal Code, Extract Country Code' is invoked, and assuming that a successfully retrieved city/state segment, when the system processes geographic information, the desired outcome is that move f7-city-name to gccs-n401-city-name, f7-state-prov-code to gccs-n402-state-prov-cde, f7-postal-code to gccs-n403-postal-cde, and f7-country-code to gccs-n404-country-cde.
💻 Technical Criteria
Given a successfully retrieved city/state segment
When the system processes geographic information
Then move F7-CITY-NAME to GCCS-N401-CITY-NAME, F7-STATE-PROV-CODE to GCCS-N402-STATE-PROV-CDE, F7-POSTAL-CODE to GCCS-N403-POSTAL-CDE, and F7-COUNTRY-CODE to GCCS-N404-COUNTRY-CDE
R-GCCCCADD-cbl-00608 Clear City/State Information
Validation Rules
📊 Business Logic Narrative
When the process 'Clear City/State Information' is invoked, and assuming that city/state segment retrieval failed, when the system needs to populate geographic fields, the desired outcome is that move spaces to gccs-n401-city-name, gccs-n402-state-prov-cde, gccs-n403-postal-cde, and gccs-n404-country-cde.
💻 Technical Criteria
Given city/state segment retrieval failed
When the system needs to populate geographic fields
Then move spaces to GCCS-N401-CITY-NAME, GCCS-N402-STATE-PROV-CDE, GCCS-N403-POSTAL-CDE, and GCCS-N404-COUNTRY-CDE
R-GCCCCADD-cbl-00609 Validate N1 Segment Data
Validation Rules
📊 Business Logic Narrative
When the process 'Validate N1 Segment Data' is invoked, and assuming that a completed n1 segment with entity and address information, when the system validates the segment data, the desired outcome is that perform y100-edit-n1-segment to validate all required fields and data integrity.
💻 Technical Criteria
Given a completed N1 segment with entity and address information
When the system validates the segment data
Then perform Y100-EDIT-N1-SEGMENT to validate all required fields and data integrity
R-GCCCCADD-cbl-00611 Increment Sequence Counter
Process Rules
📊 Business Logic Narrative
When the process 'Increment Sequence Counter' is invoked, and assuming that completion of current mcoa segment processing, when the system continues the processing loop, the desired outcome is that increment ws-mcoa-seq-nbr and continue until sw-ebsmcoa-not-found is true.
💻 Technical Criteria
Given completion of current MCOA segment processing
When the system continues the processing loop
Then increment WS-MCOA-SEQ-NBR and continue until SW-EBSMCOA-NOT-FOUND is true
R-GCCCCADD-cbl-00617 Get NN City/State Information
Process Rules
📊 Business Logic Narrative
When the process 'Get NN City/State Information' is invoked, and assuming that an nn entity is being processed and geographic information is needed, when the system searches for corresponding geographic segments (ga type), the desired outcome is that if geographic segments are found, the system extracts city, state, postal code, and country; if not found, clears all geographic data fields.
💻 Technical Criteria
Given An NN entity is being processed and geographic information is needed
When The system searches for corresponding geographic segments (GA type)
Then If geographic segments are found, the system extracts city, state, postal code, and country; if not found, clears all geographic data fields
R-GCCCCADD-cbl-00654 Initialize Hazmat Variables
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Hazmat Variables' is invoked, and assuming that the system needs to process hazmat information for a shipment, when hazmat processing begins, the desired outcome is that commodity description danger field and un number field are cleared, hazmat not found flag is set, and search sequence is initialized to 1.
💻 Technical Criteria
Given The system needs to process hazmat information for a shipment
When Hazmat processing begins
Then Commodity description danger field and UN number field are cleared, hazmat not found flag is set, and search sequence is initialized to 1
R-GCCCCADD-cbl-00656 Get EDI BOL Hazmat Segment EBSBCCM-CH
Action Rules
📊 Business Logic Narrative
When the process 'Get EDI BOL Hazmat Segment EBSBCCM-CH' is invoked, and assuming that a valid edi bol key exists and hazmat search sequence is set, when system attempts to retrieve hazmat segment ebsbccm with type 'ch' for current sequence, the desired outcome is that edi bol hazmat segment is retrieved if it exists for the specified sequence.
💻 Technical Criteria
Given A valid EDI BOL key exists and hazmat search sequence is set
When System attempts to retrieve hazmat segment EBSBCCM with type 'CH' for current sequence
Then EDI BOL hazmat segment is retrieved if it exists for the specified sequence
R-GCCCCADD-cbl-00657 Hazmat Segment Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Hazmat Segment Found?' is invoked, and assuming that system has attempted to retrieve a hazmat segment, when checking the retrieval status, the desired outcome is that if segment exists, continue processing; if not found, end hazmat extraction with no un number found.
💻 Technical Criteria
Given System has attempted to retrieve a hazmat segment
When Checking the retrieval status
Then If segment exists, continue processing; if not found, end hazmat extraction with no UN number found
R-GCCCCADD-cbl-00658 Code Starts with 'UN'?
Validation Rules
📊 Business Logic Narrative
When the process 'Code Starts with 'UN'?' is invoked, and assuming that a hazmat segment has been found with un/na identification code, when checking if the identification code represents a valid un number, the desired outcome is that if code starts with 'un', extract the un number; otherwise increment sequence to check next segment.
💻 Technical Criteria
Given A hazmat segment has been found with UN/NA identification code
When Checking if the identification code represents a valid UN number
Then If code starts with 'UN', extract the UN number; otherwise increment sequence to check next segment
R-GCCCCADD-cbl-00659 Extract UN Number from LH1-UN-NA-ID-CD
Computation Rules
📊 Business Logic Narrative
When the process 'Extract UN Number from LH1-UN-NA-ID-CD' is invoked, and assuming that hazmat identification code starts with 'un', when extracting un number for commodity classification, the desired outcome is that un number is extracted from lh1-un-na-id-cd field and stored in commodity un number field.
💻 Technical Criteria
Given Hazmat identification code starts with 'UN'
When Extracting UN number for commodity classification
Then UN number is extracted from LH1-UN-NA-ID-CD field and stored in commodity UN number field
R-GCCCCADD-cbl-00660 Set Hazmat Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Hazmat Found Flag' is invoked, and assuming that a valid un number has been extracted from hazmat data, when confirming successful hazmat data extraction, the desired outcome is that hazmat found flag is set to indicate successful extraction.
💻 Technical Criteria
Given A valid UN number has been extracted from hazmat data
When Confirming successful hazmat data extraction
Then Hazmat found flag is set to indicate successful extraction
R-GCCCCADD-cbl-00661 Initialize Hazmat Info Sequence to 1
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Hazmat Info Sequence to 1' is invoked, and assuming that un number has been successfully extracted, when preparing to search for detailed hazmat information, the desired outcome is that hazmat info sequence counter is set to 1.
💻 Technical Criteria
Given UN number has been successfully extracted
When Preparing to search for detailed hazmat information
Then Hazmat info sequence counter is set to 1
R-GCCCCADD-cbl-00662 Get Hazmat Info Segment EBSBCHI
Action Rules
📊 Business Logic Narrative
When the process 'Get Hazmat Info Segment EBSBCHI' is invoked, and assuming that un number exists and hazmat info sequence is initialized, when system attempts to retrieve hazmat info segment ebsbchi with type 'hs', the desired outcome is that detailed hazmat information segment is retrieved if it exists.
💻 Technical Criteria
Given UN number exists and hazmat info sequence is initialized
When System attempts to retrieve hazmat info segment EBSBCHI with type 'HS'
Then Detailed hazmat information segment is retrieved if it exists
R-GCCCCADD-cbl-00663 Hazmat Info Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Hazmat Info Found?' is invoked, and assuming that system has attempted to retrieve hazmat information segment, when checking retrieval status for detailed hazmat data, the desired outcome is that if info segment exists, extract proper shipping name; otherwise complete extraction process.
💻 Technical Criteria
Given System has attempted to retrieve hazmat information segment
When Checking retrieval status for detailed hazmat data
Then If info segment exists, extract proper shipping name; otherwise complete extraction process
R-GCCCCADD-cbl-00664 Extract Proper Shipping Name from LH3-PROPER-SHIP-NAME
Computation Rules
📊 Business Logic Narrative
When the process 'Extract Proper Shipping Name from LH3-PROPER-SHIP-NAME' is invoked, and assuming that hazmat information segment is available, when extracting proper shipping name for commodity classification, the desired outcome is that proper shipping name is extracted from lh3-proper-ship-name field.
💻 Technical Criteria
Given Hazmat information segment is available
When Extracting proper shipping name for commodity classification
Then Proper shipping name is extracted from LH3-PROPER-SHIP-NAME field
R-GCCCCADD-cbl-00667 More Sequences to Check?
Decision Rules
📊 Business Logic Narrative
When the process 'More Sequences to Check?' is invoked, and assuming that hazmat search sequence has been incremented, when determining if additional hazmat segments should be searched, the desired outcome is that if sequence is 98 or less, continue searching; otherwise end with no un number found.
💻 Technical Criteria
Given Hazmat search sequence has been incremented
When Determining if additional hazmat segments should be searched
Then If sequence is 98 or less, continue searching; otherwise end with no UN number found
R-GCCCCADD-cbl-00668 Get SHIPCOMM Data
Action Rules
📊 Business Logic Narrative
When the process 'Get SHIPCOMM Data' is invoked, and assuming that a shipment exists in the system, when the system needs to process hazmat information from fastway data, the desired outcome is that the system retrieves shipcomm segment data using the shipment root key.
💻 Technical Criteria
Given A shipment exists in the system
When The system needs to process hazmat information from Fastway data
Then The system retrieves SHIPCOMM segment data using the shipment root key
R-GCCCCADD-cbl-00670 Get SHIPERP Data
Action Rules
📊 Business Logic Narrative
When the process 'Get SHIPERP Data' is invoked, and assuming that shipcomm data is available for the shipment, when the system processes hazmat information from fastway data, the desired outcome is that the system retrieves shiperp segment using shipment root key and commodity id.
💻 Technical Criteria
Given SHIPCOMM data is available for the shipment
When The system processes hazmat information from Fastway data
Then The system retrieves SHIPERP segment using shipment root key and commodity ID
R-GCCCCADD-cbl-00672 UN Code Starts with 'UN'?
Validation Rules
📊 Business Logic Narrative
When the process 'UN Code Starts with 'UN'?' is invoked, and assuming that emergency response data (shiperp) is available, when the system validates the hazmat identification code format, the desired outcome is that if the un/na code starts with 'un', proceed with hazmat data extraction, otherwise terminate hazmat processing.
💻 Technical Criteria
Given Emergency response data (SHIPERP) is available
When The system validates the hazmat identification code format
Then If the UN/NA code starts with 'UN', proceed with hazmat data extraction, otherwise terminate hazmat processing
R-GCCCCADD-cbl-00674 Clear Hazmat Description
Process Rules
📊 Business Logic Narrative
When the process 'Clear Hazmat Description' is invoked, and assuming that a valid un number has been extracted from emergency response data, when the system prepares to retrieve hazmat description information, the desired outcome is that the system clears the commodity description danger field to prepare for new data.
💻 Technical Criteria
Given A valid UN number has been extracted from emergency response data
When The system prepares to retrieve hazmat description information
Then The system clears the commodity description danger field to prepare for new data
R-GCCCCADD-cbl-00675 Get SHIPERPD Data
Action Rules
📊 Business Logic Narrative
When the process 'Get SHIPERPD Data' is invoked, and assuming that a valid un number exists and hazmat description field is initialized, when the system needs detailed hazmat description information, the desired outcome is that the system retrieves shiperpd segment using shipment root key, commodity id, and emergency response stcc code.
💻 Technical Criteria
Given A valid UN number exists and hazmat description field is initialized
When The system needs detailed hazmat description information
Then The system retrieves SHIPERPD segment using shipment root key, commodity ID, and emergency response STCC code
R-GCCCCADD-cbl-00676 SHIPERPD Found?
Validation Rules
📊 Business Logic Narrative
When the process 'SHIPERPD Found?' is invoked, and assuming that the system has attempted to retrieve shiperpd data, when the system checks if hazmat description data was successfully retrieved, the desired outcome is that if shiperpd data is found, extract hazmat description, otherwise proceed with hazmat found flag setting.
💻 Technical Criteria
Given The system has attempted to retrieve SHIPERPD data
When The system checks if hazmat description data was successfully retrieved
Then If SHIPERPD data is found, extract hazmat description, otherwise proceed with hazmat found flag setting
R-GCCCCADD-cbl-00677 Extract Hazmat Description from SHIPERPD
Computation Rules
📊 Business Logic Narrative
When the process 'Extract Hazmat Description from SHIPERPD' is invoked, and assuming that shiperpd data is available with hazmat description information, when the system processes detailed hazmat description, the desired outcome is that the system extracts the first 15 characters of the hazmat description and assigns it to the commodity description danger field.
💻 Technical Criteria
Given SHIPERPD data is available with hazmat description information
When The system processes detailed hazmat description
Then The system extracts the first 15 characters of the hazmat description and assigns it to the commodity description danger field
R-GCCCCADD-cbl-00678 Set Hazmat Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Hazmat Found Flag' is invoked, and assuming that valid un number has been extracted and hazmat description processing is complete, when the system completes fastway hazmat data processing, the desired outcome is that the system sets the hazmat found flag to indicate successful hazmat data retrieval.
💻 Technical Criteria
Given Valid UN number has been extracted and hazmat description processing is complete
When The system completes Fastway hazmat data processing
Then The system sets the hazmat found flag to indicate successful hazmat data retrieval
R-GCCCCADD-cbl-00681 Commodity Record Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Commodity Record Found?' is invoked, and assuming that the system has attempted to retrieve a commodity record, when the database lookup is completed, the desired outcome is that if the status code is spaces, the commodity record is found, otherwise no record exists.
💻 Technical Criteria
Given The system has attempted to retrieve a commodity record
When The database lookup is completed
Then If the status code is spaces, the commodity record is found, otherwise no record exists
R-GCCCCADD-cbl-00682 Extract Commodity Description from CMOD-DESC
Process Rules
📊 Business Logic Narrative
When the process 'Extract Commodity Description from CMOD-DESC' is invoked, and assuming that a commodity record has been successfully retrieved from the database, when the system needs to populate hazmat description, the desired outcome is that the commodity description is extracted from cmod-desc field of the commodity record.
💻 Technical Criteria
Given A commodity record has been successfully retrieved from the database
When The system needs to populate hazmat description
Then The commodity description is extracted from CMOD-DESC field of the commodity record
R-GCCCCADD-cbl-00684 Call CIMS to Get Next Commodity Record
Action Rules
📊 Business Logic Narrative
When the process 'Call CIMS to Get Next Commodity Record' is invoked, and assuming that a commodity record has been processed and commodity description stored, when the system needs to retrieve un number for hazmat compliance, the desired outcome is that the system calls cims with gnp function to access the isscd hazmat database.
💻 Technical Criteria
Given A commodity record has been processed and commodity description stored
When The system needs to retrieve UN number for hazmat compliance
Then The system calls CIMS with GNP function to access the ISSCD hazmat database
R-GCCCCADD-cbl-00685 Hazmat Record Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Hazmat Record Found?' is invoked, and assuming that the system has attempted to retrieve a hazmat record from isscd database, when the database lookup is completed, the desired outcome is that if the status code is spaces, the hazmat record is found, otherwise no hazmat record exists.
💻 Technical Criteria
Given The system has attempted to retrieve a hazmat record from ISSCD database
When The database lookup is completed
Then If the status code is spaces, the hazmat record is found, otherwise no hazmat record exists
R-GCCCCADD-cbl-00686 Extract UN Number from CMDOTID
Process Rules
📊 Business Logic Narrative
When the process 'Extract UN Number from CMDOTID' is invoked, and assuming that a hazmat record has been successfully retrieved from the isscd database, when the system needs to populate un number for hazmat compliance, the desired outcome is that the un number is extracted from cmdotid field of the hazmat record.
💻 Technical Criteria
Given A hazmat record has been successfully retrieved from the ISSCD database
When The system needs to populate UN number for hazmat compliance
Then The UN number is extracted from CMDOTID field of the hazmat record
R-GCCCCADD-cbl-00688 Clear Hazmat Description and UN Number
Process Rules
📊 Business Logic Narrative
When the process 'Clear Hazmat Description and UN Number' is invoked, and assuming that no hazmat record was found in the isscd database for the commodity, when the system needs to finalize hazmat information, the desired outcome is that both gccc-comodity-desc-danger and gccc-un-number fields are cleared to spaces.
💻 Technical Criteria
Given No hazmat record was found in the ISSCD database for the commodity
When The system needs to finalize hazmat information
Then Both GCCC-COMODITY-DESC-DANGER and GCCC-UN-NUMBER fields are cleared to spaces
R-GCCCCADD-cbl-00698 State/Province and Country combination valid?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'State/Province and Country combination valid?', assuming that an n1 segment has both state/province code and country code provided, when the state/province code is not valid for the specified country according to the state-country lookup table, the desired outcome is that generate an invalid state/province error message.
💻 Technical Criteria
EXCLUDING An N1 segment has both state/province code and country code provided
When The state/province code is not valid for the specified country according to the state-country lookup table
Then Generate an invalid state/province error message
R-GCCCCADD-cbl-02115 Generate Name Required Error Message
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Name Required Error Message' is invoked, and assuming that a party record has an entity id specified but the name field is missing or blank, when the system validates the party information, the desired outcome is that generate an error message indicating that name is required when entity id is present.
💻 Technical Criteria
Given A party record has an entity ID specified but the name field is missing or blank
When The system validates the party information
Then Generate an error message indicating that name is required when entity ID is present
R-GCCCCADD-cbl-02117 Generate Address Required Error
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Address Required Error' is invoked, and assuming that a party record has an entity id specified but the address information is missing or blank, when the system validates the party information, the desired outcome is that generate an error message indicating that address is required when entity id is present.
💻 Technical Criteria
Given A party record has an entity ID specified but the address information is missing or blank
When The system validates the party information
Then Generate an error message indicating that address is required when entity ID is present
R-GCCCCADD-cbl-02518 City Name Length >= 2?
Validation Rules
📊 Business Logic Narrative
When the process 'City Name Length >= 2?' is invoked, and assuming that a record with city name provided, when city name length is less than 2 characters, the desired outcome is that generate error message for minimum length requirement.
💻 Technical Criteria
Given A record with city name provided
When City name length is less than 2 characters
Then Generate error message for minimum length requirement
R-GCCCCADD-cbl-02519 Postal Code Length >= 3?
Validation Rules
📊 Business Logic Narrative
When the process 'Postal Code Length >= 3?' is invoked, and assuming that a record with postal code field populated, when postal code length is less than 3 characters, the desired outcome is that generate error message for postal code minimum length requirement.
💻 Technical Criteria
Given A record with postal code field populated
When Postal code length is less than 3 characters
Then Generate error message for postal code minimum length requirement
R-GCCCCADD-cbl-02521 State/Country Combination Valid?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'State/Country Combination Valid?', assuming that a record with both state/province code and country code provided, when state/province code does not correspond to the specified country in reference table, the desired outcome is that generate error message for invalid state/province and country combination.
💻 Technical Criteria
EXCLUDING A record with both state/province code and country code provided
When State/province code does not correspond to the specified country in reference table
Then Generate error message for invalid state/province and country combination
R-GCCCCADD-cbl-02969 Generate Error: Shipper Name Required
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Error: Shipper Name Required' is invoked, and assuming that a required field validation has failed for an entity record, when the system needs to communicate the validation failure, the desired outcome is that generate appropriate error message based on the specific missing field (name, address, city, state, postal, country).
💻 Technical Criteria
Given A required field validation has failed for an entity record
When The system needs to communicate the validation failure
Then Generate appropriate error message based on the specific missing field (name, address, city, state, postal, country)
R-GCCCCADD-cbl-02970 Add Error to Message Array
Process Rules
📊 Business Logic Narrative
When the process 'Add Error to Message Array' is invoked, and assuming that a validation error has been generated and message index is less than 10, when the system needs to store the error for user notification, the desired outcome is that add the error message to the message array, increment message index, and clear temporary message fields.
💻 Technical Criteria
Given A validation error has been generated and message index is less than 10
When The system needs to store the error for user notification
Then Add the error message to the message array, increment message index, and clear temporary message fields
R-GCCCCADD-cbl-02971 Set Return Error Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Return Error Flag' is invoked, and assuming that one or more validation errors have been detected during record processing, when the system completes validation and needs to indicate failure status, the desired outcome is that set the return status to error to indicate validation failure.
💻 Technical Criteria
Given One or more validation errors have been detected during record processing
When The system completes validation and needs to indicate failure status
Then Set the return status to error to indicate validation failure
R-GCCCCADD-cbl-02981 Set Return Error Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Return Error Flag' is invoked, and assuming that validation errors have been generated and added to the message collection, when error messages exist for the consignee record, the desired outcome is that the system sets the return status to error to indicate validation failure.
💻 Technical Criteria
Given Validation errors have been generated and added to the message collection
When Error messages exist for the consignee record
Then The system sets the return status to error to indicate validation failure
R-GCCCCADD-cbl-02770 Search TB-STATE-COUNTRY Table
Validation Rules
📊 Business Logic Narrative
When the process 'Search TB-STATE-COUNTRY Table' is invoked, and assuming that a state/province code and country code are provided for validation, when the system searches the tb-state-country lookup table for matching state and country combination, the desired outcome is that the system sets valid province flag if match is found, otherwise sets invalid province flag.
💻 Technical Criteria
Given A state/province code and country code are provided for validation
When The system searches the TB-STATE-COUNTRY lookup table for matching state and country combination
Then The system sets valid province flag if match is found, otherwise sets invalid province flag
R-GCCCCADD-cbl-02771 Generate Error Message
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Error Message', assuming that a state/province code that does not exist in the lookup table for the specified country, when the validation process determines the state/province code is invalid, the desired outcome is that the system generates an error message indicating invalid state/province code and adds it to the message collection.
💻 Technical Criteria
EXCLUDING A state/province code that does not exist in the lookup table for the specified country
When The validation process determines the state/province code is invalid
Then The system generates an error message indicating invalid state/province code and adds it to the message collection
R-GCCCCADD-cbl-02773 Set Valid Province Flag
Validation Rules
📊 Business Logic Narrative
When the process 'Set Valid Province Flag' is invoked, and assuming that shipper address information with state/province code is provided, when the shipper state/province code is validated against the state-country lookup table, the desired outcome is that if valid, the corresponding country code is assigned to shipper country field, otherwise an error message is generated for invalid shipper state/province code.
💻 Technical Criteria
Given Shipper address information with state/province code is provided
When The shipper state/province code is validated against the state-country lookup table
Then If valid, the corresponding country code is assigned to shipper country field, otherwise an error message is generated for invalid shipper state/province code
R-GCCCCADD-cbl-02774 Set Valid Province Flag
Validation Rules
📊 Business Logic Narrative
When the process 'Set Valid Province Flag' is invoked, and assuming that consignee address information with state/province code is provided, when the consignee state/province code is validated against the state-country lookup table, the desired outcome is that if valid, the corresponding country code is assigned to consignee country field, otherwise an error message is generated for invalid consignee state/province code.
💻 Technical Criteria
Given Consignee address information with state/province code is provided
When The consignee state/province code is validated against the state-country lookup table
Then If valid, the corresponding country code is assigned to consignee country field, otherwise an error message is generated for invalid consignee state/province code
R-GCCCCADD-cbl-02128 Generate Error: Communication Qualifier Required
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Error: Communication Qualifier Required' is invoked, and assuming that a contact record is being processed with a contact name provided, when the communication number qualifier is blank or spaces, the desired outcome is that generate an error message requiring communication qualifier.
💻 Technical Criteria
Given A contact record is being processed with a contact name provided
When The communication number qualifier is blank or spaces
Then Generate an error message requiring communication qualifier
R-GCCCCADD-cbl-02129 Generate Error: Communication Qualifier Required
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Error: Communication Qualifier Required' is invoked, and assuming that a contact record is being processed with a communication number provided, when the communication number qualifier is blank or spaces, the desired outcome is that generate an error message requiring communication qualifier.
💻 Technical Criteria
Given A contact record is being processed with a communication number provided
When The communication number qualifier is blank or spaces
Then Generate an error message requiring communication qualifier
R-GCCCCADD-cbl-02130 Generate Error: Communication Number Required
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Error: Communication Number Required' is invoked, and assuming that a contact record is being processed with either communication number qualifier or contact name provided, when the communication number is blank or spaces, the desired outcome is that generate an error message requiring communication number.
💻 Technical Criteria
Given A contact record is being processed with either communication number qualifier or contact name provided
When The communication number is blank or spaces
Then Generate an error message requiring communication number
R-GCCCCADD-cbl-00720 Get State/Province Code
Process Rules
📊 Business Logic Narrative
When the process 'Get State/Province Code' is invoked, and assuming that address data is present in the n4 segment, when the system processes the n402 state/province code field, the desired outcome is that the state/province code is extracted and prepared for country validation lookup.
💻 Technical Criteria
Given Address data is present in the N4 segment
When The system processes the N402 state/province code field
Then The state/province code is extracted and prepared for country validation lookup
R-GCCCCADD-cbl-00721 Get Country Code
Process Rules
📊 Business Logic Narrative
When the process 'Get Country Code' is invoked, and assuming that address data is present with state/province code extracted, when the system processes the n404 country code field, the desired outcome is that the country code is extracted and prepared for state-country combination validation.
💻 Technical Criteria
Given Address data is present with state/province code extracted
When The system processes the N404 country code field
Then The country code is extracted and prepared for state-country combination validation
R-GCCCCADD-cbl-00722 Search State-Country Lookup Table
Action Rules
📊 Business Logic Narrative
When the process 'Search State-Country Lookup Table' is invoked, and assuming that state/province code and country code have been extracted from address data, when the system searches the tb-state-country table for matching state and country combination, the desired outcome is that the system locates the corresponding entry or determines no match exists.
💻 Technical Criteria
Given State/province code and country code have been extracted from address data
When The system searches the TB-STATE-COUNTRY table for matching state and country combination
Then The system locates the corresponding entry or determines no match exists
R-GCCCCADD-cbl-00723 State-Country Combination Found?
Decision Rules
📊 Business Logic Narrative
When the process 'State-Country Combination Found?' is invoked, and assuming that a search has been performed on the tb-state-country lookup table, when the system evaluates if the state entry matches the state/province code and the country entry matches the country code, the desired outcome is that if both match, mark as valid combination; otherwise mark as invalid combination.
💻 Technical Criteria
Given A search has been performed on the TB-STATE-COUNTRY lookup table
When The system evaluates if the state entry matches the state/province code AND the country entry matches the country code
Then If both match, mark as valid combination; otherwise mark as invalid combination
R-GCCCCADD-cbl-00724 Mark as Valid Combination
Process Rules
📊 Business Logic Narrative
When the process 'Mark as Valid Combination' is invoked, and assuming that the state/province code and country code combination exists in the tb-state-country lookup table, when the system confirms the combination is valid, the desired outcome is that the system sets the valid province flag to true and continues processing without errors.
💻 Technical Criteria
Given The state/province code and country code combination exists in the TB-STATE-COUNTRY lookup table
When The system confirms the combination is valid
Then The system sets the valid province flag to TRUE and continues processing without errors
R-GCCCCADD-cbl-00725 Generate Invalid State/Province Error
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Invalid State/Province Error', assuming that the state/province code and country code combination does not exist in the tb-state-country lookup table, when the system determines the combination is invalid, the desired outcome is that the system generates error code gccs-e-invalid-n402 for invalid state/province code.
💻 Technical Criteria
EXCLUDING The state/province code and country code combination does not exist in the TB-STATE-COUNTRY lookup table
When The system determines the combination is invalid
Then The system generates error code GCCS-E-INVALID-N402 for invalid state/province code
R-GCCCCADD-cbl-00730 Retrieve Error Message Text from MS Table
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Error Message Text from MS Table' is invoked, and assuming that a validation error has been detected and an error message number has been set, when the system attempts to retrieve the error message text from the ms table using the error message number, the desired outcome is that the system should lookup the message text in the ms table and store the retrieved english text for display.
💻 Technical Criteria
Given A validation error has been detected and an error message number has been set
When The system attempts to retrieve the error message text from the MS table using the error message number
Then The system should lookup the message text in the MS table and store the retrieved English text for display
R-GCCCCADD-cbl-00732 Add Message to Error Array
Process Rules
📊 Business Logic Narrative
When the process 'Add Message to Error Array' is invoked, and assuming that the error message array has available space (index less than 10) and a formatted error message is ready, when the system adds the error message to the array, the desired outcome is that the message should be stored in the array at the current index position, the error number should be stored in the corresponding error number array, the message index should be incremented by 1, and the return error flag should be set to indicate an error condition.
💻 Technical Criteria
Given The error message array has available space (index less than 10) and a formatted error message is ready
When The system adds the error message to the array
Then The message should be stored in the array at the current index position, the error number should be stored in the corresponding error number array, the message index should be incremented by 1, and the return error flag should be set to indicate an error condition
R-GCCCCADD-cbl-00743 Invalid State/Country Combination
Validation Rules
📊 Business Logic Narrative
When the process 'Invalid State/Country Combination' is invoked, and assuming that a shipper province state code is provided, when the system validates the province state code against the state-country lookup table, the desired outcome is that if no matching country is found for the province state code, an error message for invalid shipper province state code should be generated using the province state code as the message number.
💻 Technical Criteria
Given A shipper province state code is provided
When The system validates the province state code against the state-country lookup table
Then If no matching country is found for the province state code, an error message for invalid shipper province state code should be generated using the province state code as the message number
R-GCCCCADD-cbl-00744 Invalid State/Country Combination
Validation Rules
📊 Business Logic Narrative
When the process 'Invalid State/Country Combination' is invoked, and assuming that a consignee province state code is provided, when the system validates the province state code against the state-country lookup table, the desired outcome is that if no matching country is found for the province state code, an error message for invalid consignee province state code should be generated using the province state code as the message number.
💻 Technical Criteria
Given A consignee province state code is provided
When The system validates the province state code against the state-country lookup table
Then If no matching country is found for the province state code, an error message for invalid consignee province state code should be generated using the province state code as the message number
R-GCCCCADD-cbl-00747 Required Field Missing
Validation Rules
📊 Business Logic Narrative
When the process 'Required Field Missing' is invoked, and assuming that an n1 segment is being validated and an entity id is present, when the n102 name field is checked for completeness, the desired outcome is that if the n102 name field is blank or spaces, an error message for required n102 field should be generated and added to the error collection.
💻 Technical Criteria
Given An N1 segment is being validated and an entity ID is present
When The N102 name field is checked for completeness
Then If the N102 name field is blank or spaces, an error message for required N102 field should be generated and added to the error collection
R-GCCCCADD-cbl-00748 Required Field Missing
Validation Rules
📊 Business Logic Narrative
When the process 'Required Field Missing' is invoked, and assuming that an n1 segment contains n3, n4, or per data, when the n101 entity id field is validated, the desired outcome is that if the n101 entity id field is blank or spaces while other segment data exists, an error message for required n101 field should be generated and added to the error collection.
💻 Technical Criteria
Given An N1 segment contains N3, N4, or PER data
When The N101 entity ID field is validated
Then If the N101 entity ID field is blank or spaces while other segment data exists, an error message for required N101 field should be generated and added to the error collection
R-GCCCCADD-cbl-00750 Missing Address Information
Validation Rules
📊 Business Logic Narrative
When the process 'Missing Address Information' is invoked, and assuming that an n1 segment has a valid entity id, when the n301 address information field is validated, the desired outcome is that if the n301 address information field is blank or spaces, an error message for required n301 field should be generated and added to the error collection.
💻 Technical Criteria
Given An N1 segment has a valid entity ID
When The N301 address information field is validated
Then If the N301 address information field is blank or spaces, an error message for required N301 field should be generated and added to the error collection
R-GCCCCADD-cbl-00752 Minimum Length Not Met
Validation Rules
📊 Business Logic Narrative
When the process 'Minimum Length Not Met' is invoked, and assuming that a city name is provided in the n401 field, when the length of the city name is validated, the desired outcome is that if the city name has fewer than 2 non-space characters, an error message for minimum length 2 required should be generated and added to the error collection.
💻 Technical Criteria
Given A city name is provided in the N401 field
When The length of the city name is validated
Then If the city name has fewer than 2 non-space characters, an error message for minimum length 2 required should be generated and added to the error collection
R-GCCCCADD-cbl-00753 Minimum Length Not Met
Validation Rules
📊 Business Logic Narrative
When the process 'Minimum Length Not Met' is invoked, and assuming that a postal code is provided in the n403 field, when the length of the postal code is validated, the desired outcome is that if the postal code has fewer than 3 non-space characters, an error message for minimum length 3 required should be generated and added to the error collection.
💻 Technical Criteria
Given A postal code is provided in the N403 field
When The length of the postal code is validated
Then If the postal code has fewer than 3 non-space characters, an error message for minimum length 3 required should be generated and added to the error collection
R-GCCCCADD-cbl-00755 Invalid State/Country Combination
Validation Rules
📊 Business Logic Narrative
When the process 'Invalid State/Country Combination' is invoked, and assuming that both state province code and country code are provided for north american countries, when the combination is validated against the state-country lookup table, the desired outcome is that if no valid combination is found in the lookup table, an error message for invalid n402 should be generated and added to the error collection.
💻 Technical Criteria
Given Both state province code and country code are provided for North American countries
When The combination is validated against the state-country lookup table
Then If no valid combination is found in the lookup table, an error message for invalid N402 should be generated and added to the error collection
R-GCCCCADD-cbl-00757 Required Field Missing
Validation Rules
📊 Business Logic Narrative
When the process 'Required Field Missing' is invoked, and assuming that a per segment contains contact name or communication number, when the per03 communication number qualifier is validated, the desired outcome is that if the per03 field is blank while per02 name or per04 communication number is provided, an error message for required per03 field should be generated and added to the error collection.
💻 Technical Criteria
Given A PER segment contains contact name or communication number
When The PER03 communication number qualifier is validated
Then If the PER03 field is blank while PER02 name or PER04 communication number is provided, an error message for required PER03 field should be generated and added to the error collection
R-GCCCCADD-cbl-00759 Required Field Missing
Validation Rules
📊 Business Logic Narrative
When the process 'Required Field Missing' is invoked, and assuming that a per segment contains communication qualifier or contact name, when the per04 communication number field is validated, the desired outcome is that if the per04 field is blank while per03 qualifier or per02 name is provided, an error message for required per04 field should be generated and added to the error collection.
💻 Technical Criteria
Given A PER segment contains communication qualifier or contact name
When The PER04 communication number field is validated
Then If the PER04 field is blank while PER03 qualifier or PER02 name is provided, an error message for required PER04 field should be generated and added to the error collection
R-GCCCCADD-cbl-00761 Invalid Entity ID
Validation Rules
📊 Business Logic Narrative
When the process 'Invalid Entity ID' is invoked, and assuming that a lading quantity qualifier is provided, when the qualifier is looked up in the mu table, the desired outcome is that if the qualifier is not found in the mu table, an error message for not found on mu should be generated and added to the error collection.
💻 Technical Criteria
Given A lading quantity qualifier is provided
When The qualifier is looked up in the MU table
Then If the qualifier is not found in the MU table, an error message for not found on MU should be generated and added to the error collection
R-GCCCCADD-cbl-00764 String Length Calculation - Calculate actual length of strings excluding trailing spaces
Computation Rules
📊 Business Logic Narrative
When the process 'String Length Calculation - Calculate actual length of strings excluding trailing spaces' is invoked, and assuming that a string with potential trailing spaces needs length calculation, when the system processes the string from end to beginning checking each character, the desired outcome is that the system returns the length excluding all trailing spaces, with zero length if string contains only spaces.
💻 Technical Criteria
Given A string with potential trailing spaces needs length calculation
When The system processes the string from end to beginning checking each character
Then The system returns the length excluding all trailing spaces, with zero length if string contains only spaces
R-GCCCCADD-cbl-00765 Initialize String Length Counter
Process Rules
📊 Business Logic Narrative
When the process 'Initialize String Length Counter' is invoked, and assuming that a string length calculation process is starting, when the system begins the length calculation routine, the desired outcome is that the system sets the string length counter to the maximum possible string length to start counting backwards.
💻 Technical Criteria
Given A string length calculation process is starting
When The system begins the length calculation routine
Then The system sets the string length counter to the maximum possible string length to start counting backwards
R-GCCCCADD-cbl-00766 Current Character = Space?
Decision Rules
📊 Business Logic Narrative
When the process 'Current Character = Space?' is invoked, and assuming that the system is examining a character at a specific position in the string, when the character at the current position is evaluated, the desired outcome is that the system determines whether the character is a space and proceeds accordingly with either continuing the search or finalizing the length.
💻 Technical Criteria
Given The system is examining a character at a specific position in the string
When The character at the current position is evaluated
Then The system determines whether the character is a space and proceeds accordingly with either continuing the search or finalizing the length
R-GCCCCADD-cbl-00767 Move to Previous Character, Decrement Counter
Process Rules
📊 Business Logic Narrative
When the process 'Move to Previous Character, Decrement Counter' is invoked, and assuming that a space character is found at the current position during string length calculation, when the system needs to continue searching for non-space characters, the desired outcome is that the system decrements the position counter by one to examine the previous character position.
💻 Technical Criteria
Given A space character is found at the current position during string length calculation
When The system needs to continue searching for non-space characters
Then The system decrements the position counter by one to examine the previous character position
R-GCCCCADD-cbl-00768 Counter = 0?
Validation Rules
📊 Business Logic Narrative
When the process 'Counter = 0?' is invoked, and assuming that the system is processing characters backward through a string, when the position counter reaches zero, the desired outcome is that the system recognizes that the entire string contains only spaces and sets the final length accordingly.
💻 Technical Criteria
Given The system is processing characters backward through a string
When The position counter reaches zero
Then The system recognizes that the entire string contains only spaces and sets the final length accordingly
R-GCCCCADD-cbl-00778 Lookup SS Table Entry
Action Rules
📊 Business Logic Narrative
When the process 'Lookup SS Table Entry' is invoked, and assuming that a constructed ss table key, when the ss table is queried, the desired outcome is that retrieve the corresponding station and scac configuration data.
💻 Technical Criteria
Given A constructed SS table key
When The SS table is queried
Then Retrieve the corresponding station and SCAC configuration data
R-GCCCCADD-cbl-00785 Error Message Retrieval Request
Action Rules
📊 Business Logic Narrative
When the process 'Error Message Retrieval Request' is invoked, and assuming that a business validation error has occurred and an error message number has been identified, when the system needs to retrieve the corresponding error message text, the desired outcome is that the system should lookup the message text from the message table using the error number as the key.
💻 Technical Criteria
Given A business validation error has occurred and an error message number has been identified
When The system needs to retrieve the corresponding error message text
Then The system should lookup the message text from the message table using the error number as the key
R-GCCCCADD-cbl-00786 Initialize Table Lookup Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Table Lookup Parameters' is invoked, and assuming that an error message retrieval request is initiated, when setting up the table lookup operation, the desired outcome is that the system should clear all lookup parameters, set function code to 'gu' for get unique operation, set table identifier to 'ms' for message table, and use the error message number as the search key.
💻 Technical Criteria
Given An error message retrieval request is initiated
When Setting up the table lookup operation
Then The system should clear all lookup parameters, set function code to 'GU' for get unique operation, set table identifier to 'MS' for message table, and use the error message number as the search key
R-GCCCCADD-cbl-00787 Table Access Successful?
Decision Rules
📊 Business Logic Narrative
When the process 'Table Access Successful?' is invoked, and assuming that a message table lookup operation has been performed, when the table access returns successfully, the desired outcome is that the system should move the table segment to the message structure, extract the english text from the message table, and move the english text to the message label field.
💻 Technical Criteria
Given A message table lookup operation has been performed
When The table access returns successfully
Then The system should move the table segment to the message structure, extract the English text from the message table, and move the English text to the message label field
R-GCCCCADD-cbl-00788 Table Access Successful?
Decision Rules
📊 Business Logic Narrative
When the process 'Table Access Successful?' is invoked, and assuming that a message table lookup operation has been performed, when the table access fails or returns no data, the desired outcome is that the system should clear the message structure by setting it to spaces.
💻 Technical Criteria
Given A message table lookup operation has been performed
When The table access fails or returns no data
Then The system should clear the message structure by setting it to spaces
R-GCCCCADD-cbl-00789 Initialize EDI BOL Access Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize EDI BOL Access Parameters' is invoked, and assuming that an edi bol segment retrieval operation is initiated, when the system prepares to access edi bol data, the desired outcome is that the edi bol i/o work area is cleared to spaces, the database accept status is set to 'ge', and all segment data areas are initialized to spaces.
💻 Technical Criteria
Given An EDI BOL segment retrieval operation is initiated
When The system prepares to access EDI BOL data
Then The EDI BOL I/O work area is cleared to spaces, the database accept status is set to 'GE', and all segment data areas are initialized to spaces
R-GCCCCADD-cbl-00790 Set Segment Type and Function Code
Process Rules
📊 Business Logic Narrative
When the process 'Set Segment Type and Function Code' is invoked, and assuming that edi bol access parameters are being configured for a specific segment type, when the system determines the segment type (ebsnrsc, ebsnrsa, ebsnrtd, ebsmcoa, or ebsbcks), the desired outcome is that the segment type is set in the i/o work area and the function code is set to 'gu' (get unique) for database retrieval.
💻 Technical Criteria
Given EDI BOL access parameters are being configured for a specific segment type
When The system determines the segment type (EBSNRSC, EBSNRSA, EBSNRTD, EBSMCOA, or EBSBCKS)
Then The segment type is set in the I/O work area and the function code is set to 'GU' (Get Unique) for database retrieval
R-GCCCCADD-cbl-00791 Set Root Key from EDI BOL Key
Process Rules
📊 Business Logic Narrative
When the process 'Set Root Key from EDI BOL Key' is invoked, and assuming that an edi bol key exists for record 55 processing, when the system prepares to access edi bol segments, the desired outcome is that the edi bol key for record 55 is moved to the root key field in the i/o work area.
💻 Technical Criteria
Given An EDI BOL key exists for record 55 processing
When The system prepares to access EDI BOL segments
Then The EDI BOL key for record 55 is moved to the root key field in the I/O work area
R-GCCCCADD-cbl-00793 Call EDI BOL I/O Service
Action Rules
📊 Business Logic Narrative
When the process 'Call EDI BOL I/O Service' is invoked, and assuming that all edi bol access parameters are properly configured, when the system needs to retrieve edi bol segment data, the desired outcome is that the ebclgio service is called with the communication control block, i/o work area, and target segment data area.
💻 Technical Criteria
Given All EDI BOL access parameters are properly configured
When The system needs to retrieve EDI BOL segment data
Then The EBCLGIO service is called with the communication control block, I/O work area, and target segment data area
R-GCCCCADD-cbl-00794 Segment Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Segment Found?' is invoked, and assuming that an edi bol i/o service call has been completed, when the system checks the result of the segment retrieval, the desired outcome is that if the database status code is spaces, the segment was found successfully; otherwise, the segment was not found.
💻 Technical Criteria
Given An EDI BOL I/O service call has been completed
When The system checks the result of the segment retrieval
Then If the database status code is spaces, the segment was found successfully; otherwise, the segment was not found
R-GCCCCADD-cbl-00795 Load Segment Data
Process Rules
📊 Business Logic Narrative
When the process 'Load Segment Data' is invoked, and assuming that an edi bol segment has been successfully retrieved from the database, when the segment data needs to be made available for processing, the desired outcome is that the segment found flag is set to true and the retrieved data remains in the segment data area for further processing.
💻 Technical Criteria
Given An EDI BOL segment has been successfully retrieved from the database
When The segment data needs to be made available for processing
Then The segment found flag is set to TRUE and the retrieved data remains in the segment data area for further processing
R-GCCCCADD-cbl-00796 Clear Segment Data
Process Rules
📊 Business Logic Narrative
When the process 'Clear Segment Data' is invoked, and assuming that an edi bol segment retrieval has failed or returned no data, when the system needs to handle the unsuccessful retrieval, the desired outcome is that the target segment data area is cleared to spaces and the segment not found flag is set to true.
💻 Technical Criteria
Given An EDI BOL segment retrieval has failed or returned no data
When The system needs to handle the unsuccessful retrieval
Then The target segment data area is cleared to spaces and the segment not found flag is set to TRUE
R-GCCCCADD-cbl-00797 Return Success Status
Process Rules
📊 Business Logic Narrative
When the process 'Return Success Status' is invoked, and assuming that an edi bol segment has been successfully retrieved and loaded, when the segment retrieval operation completes, the desired outcome is that the segment found status flag is set to indicate successful retrieval.
💻 Technical Criteria
Given An EDI BOL segment has been successfully retrieved and loaded
When The segment retrieval operation completes
Then The segment found status flag is set to indicate successful retrieval
R-GCCCCADD-cbl-00798 Return Not Found Status
Process Rules
📊 Business Logic Narrative
When the process 'Return Not Found Status' is invoked, and assuming that an edi bol segment retrieval has failed or returned no data, when the segment retrieval operation completes, the desired outcome is that the segment not found status flag is set to indicate unsuccessful retrieval.
💻 Technical Criteria
Given An EDI BOL segment retrieval has failed or returned no data
When The segment retrieval operation completes
Then The segment not found status flag is set to indicate unsuccessful retrieval
R-GCCCCADD-cbl-00815 D5-ORG-ID Match Found?
Decision Rules
📊 Business Logic Narrative
When the process 'D5-ORG-ID Match Found?' is invoked, and assuming that organization id comparison has been completed, when the system evaluates the match result, the desired outcome is that if match is found, set d5-org-id found flag to true, otherwise increment sequence counter and continue search.
💻 Technical Criteria
Given Organization ID comparison has been completed
When The system evaluates the match result
Then If match is found, set D5-ORG-ID found flag to true, otherwise increment sequence counter and continue search
R-GCCCCADD-cbl-00825 Extract City Name
Action Rules
📊 Business Logic Narrative
When the process 'Extract City Name' is invoked, and assuming that a bn entity is being processed and geographic information is being extracted, when the system searches for by geographic segments and finds geographic data, the desired outcome is that extract city name, state/province code, postal code, and country code from by segments.
💻 Technical Criteria
Given A BN entity is being processed and geographic information is being extracted
When The system searches for BY geographic segments and finds geographic data
Then Extract city name, state/province code, postal code, and country code from BY segments
R-GCCCCADD-cbl-00826 Clear Geographic Data
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Clear Geographic Data', assuming that a bn entity is being processed and geographic information is being extracted, when by geographic segments are not found, the desired outcome is that clear all geographic data fields including city name, state/province code, postal code, and country code.
💻 Technical Criteria
EXCLUDING A BN entity is being processed and geographic information is being extracted
When BY geographic segments are not found
Then Clear all geographic data fields including city name, state/province code, postal code, and country code
R-GCCCCADD-cbl-00827 Clear Contact Information
Action Rules
📊 Business Logic Narrative
When the process 'Clear Contact Information' is invoked, and assuming that a bn entity is being processed, when contact information processing is initiated, the desired outcome is that clear all contact function code, name, communication number qualifier, and communication number fields.
💻 Technical Criteria
Given A BN entity is being processed
When Contact information processing is initiated
Then Clear all contact function code, name, communication number qualifier, and communication number fields
R-GCCCCADD-cbl-00833 Extract Entity Information
Process Rules
📊 Business Logic Narrative
When the process 'Extract Entity Information' is invoked, and assuming that an mcoa segment with entity type pf or ss is being processed, when the system extracts entity information, the desired outcome is that the entity id code, entity name, id code qualifier, and id code are extracted from the mcoa segment.
💻 Technical Criteria
Given an MCOA segment with entity type PF or SS is being processed
When the system extracts entity information
Then the entity ID code, entity name, ID code qualifier, and ID code are extracted from the MCOA segment
R-GCCCCADD-cbl-00838 Get MCOA Address Segment
Action Rules
📊 Business Logic Narrative
When the process 'Get MCOA Address Segment' is invoked, and assuming that an mcoa entity segment is being processed, when the system attempts to get address information, the desired outcome is that the system calls the edi bol interface to retrieve the on type segment for the current mcoa sequence.
💻 Technical Criteria
Given an MCOA entity segment is being processed
When the system attempts to get address information
Then the system calls the EDI BOL interface to retrieve the ON type segment for the current MCOA sequence
R-GCCCCADD-cbl-00839 Address Segment Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Address Segment Found?' is invoked, and assuming that an attempt to retrieve mcoa address information has been made, when the system checks if address data was found, the desired outcome is that if address data is found, extract address lines 1 and 2, otherwise set default address as 'na'.
💻 Technical Criteria
Given an attempt to retrieve MCOA address information has been made
When the system checks if address data was found
Then if address data is found, extract address lines 1 and 2, otherwise set default address as 'NA'
R-GCCCCADD-cbl-00840 Extract Address Line 1
Process Rules
📊 Business Logic Narrative
When the process 'Extract Address Line 1' is invoked, and assuming that an mcoa address segment has been found, when the system processes the address information, the desired outcome is that the first additional name/address field is extracted and assigned to the n301 address info field.
💻 Technical Criteria
Given an MCOA address segment has been found
When the system processes the address information
Then the first additional name/address field is extracted and assigned to the N301 address info field
R-GCCCCADD-cbl-00841 Extract Address Line 2
Process Rules
📊 Business Logic Narrative
When the process 'Extract Address Line 2' is invoked, and assuming that an mcoa address segment has been found, when the system processes the address information, the desired outcome is that the second additional name/address field is extracted and assigned to the n302 address info field.
💻 Technical Criteria
Given an MCOA address segment has been found
When the system processes the address information
Then the second additional name/address field is extracted and assigned to the N302 address info field
R-GCCCCADD-cbl-00843 Get MCOA City/State Segment
Action Rules
📊 Business Logic Narrative
When the process 'Get MCOA City/State Segment' is invoked, and assuming that an mcoa entity segment is being processed, when the system attempts to get city and state information, the desired outcome is that the system calls the edi bol interface to retrieve the oc type segment for the current mcoa sequence.
💻 Technical Criteria
Given an MCOA entity segment is being processed
When the system attempts to get city and state information
Then the system calls the EDI BOL interface to retrieve the OC type segment for the current MCOA sequence
R-GCCCCADD-cbl-00854 Get EBSNRSA Geographic Code Segment - GC
Action Rules
📊 Business Logic Narrative
When the process 'Get EBSNRSA Geographic Code Segment - GC' is invoked, and assuming that an edi bol key exists and entity processing is in progress, when the system attempts to retrieve the ebsnrsa geographic code segment with type 'gc', the desired outcome is that the geographic code segment data is retrieved if found, otherwise processing continues without gc data.
💻 Technical Criteria
Given An EDI BOL key exists and entity processing is in progress
When The system attempts to retrieve the EBSNRSA geographic code segment with type 'GC'
Then The geographic code segment data is retrieved if found, otherwise processing continues without GC data
R-GCCCCADD-cbl-00855 Extract Address Information from GC Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Address Information from GC Segment' is invoked, and assuming that a geographic code segment (gc) has been successfully retrieved from edi data, when the system processes the address information from the gc segment, the desired outcome is that address line 1 is moved to n301 field and address line 2 is moved to n302 field.
💻 Technical Criteria
Given A geographic code segment (GC) has been successfully retrieved from EDI data
When The system processes the address information from the GC segment
Then Address line 1 is moved to N301 field and address line 2 is moved to N302 field
R-GCCCCADD-cbl-00857 Get EBSNRSA Geographic Address Segment - GA
Action Rules
📊 Business Logic Narrative
When the process 'Get EBSNRSA Geographic Address Segment - GA' is invoked, and assuming that an edi bol key exists and geographic processing is in progress, when the system attempts to retrieve the ebsnrsa geographic address segment with type 'ga', the desired outcome is that the geographic address segment data is retrieved if found, otherwise geographic data fields are set to spaces.
💻 Technical Criteria
Given An EDI BOL key exists and geographic processing is in progress
When The system attempts to retrieve the EBSNRSA geographic address segment with type 'GA'
Then The geographic address segment data is retrieved if found, otherwise geographic data fields are set to spaces
R-GCCCCADD-cbl-00858 Extract Geographic Address Data
Process Rules
📊 Business Logic Narrative
When the process 'Extract Geographic Address Data' is invoked, and assuming that a geographic address segment (ga) has been successfully retrieved from edi data, when the system processes the geographic address information from the ga segment, the desired outcome is that city name is moved to n401, state/province code to n402, postal code to n403, and country code to n404.
💻 Technical Criteria
Given A geographic address segment (GA) has been successfully retrieved from EDI data
When The system processes the geographic address information from the GA segment
Then City name is moved to N401, state/province code to N402, postal code to N403, and country code to N404
R-GCCCCADD-cbl-00859 Set Geographic Data to Spaces
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Geographic Data to Spaces', assuming that geographic address segment processing is attempted, when the geographic address segment (ga) is not found in the edi data, the desired outcome is that all geographic data fields (n401, n402, n403, n404) are set to spaces.
💻 Technical Criteria
EXCLUDING Geographic address segment processing is attempted
When The geographic address segment (GA) is not found in the EDI data
Then All geographic data fields (N401, N402, N403, N404) are set to spaces
R-GCCCCADD-cbl-00876 Validate N1 Segment Data
Validation Rules
📊 Business Logic Narrative
When the process 'Validate N1 Segment Data' is invoked, and assuming that an entity record has entity id and name populated, when the address information is missing, the desired outcome is that the system generates an error message indicating address information is required.
💻 Technical Criteria
Given An entity record has entity ID and name populated
When The address information is missing
Then The system generates an error message indicating address information is required
R-GCCCCADD-cbl-00877 Validate N1 Segment Data
Validation Rules
📊 Business Logic Narrative
When the process 'Validate N1 Segment Data' is invoked, and assuming that an entity record has city/state information, when the city name is provided but has less than 2 characters, the desired outcome is that the system generates an error message indicating minimum 2 character length requirement.
💻 Technical Criteria
Given An entity record has city/state information
When The city name is provided but has less than 2 characters
Then The system generates an error message indicating minimum 2 character length requirement
R-GCCCCADD-cbl-00878 Validate N1 Segment Data
Validation Rules
📊 Business Logic Narrative
When the process 'Validate N1 Segment Data' is invoked, and assuming that an entity record has postal code information, when the postal code is provided but has less than 3 characters, the desired outcome is that the system generates an error message indicating minimum 3 character length requirement.
💻 Technical Criteria
Given An entity record has postal code information
When The postal code is provided but has less than 3 characters
Then The system generates an error message indicating minimum 3 character length requirement
R-GCCCCADD-cbl-00880 Validate N1 Segment Data
Validation Rules
📊 Business Logic Narrative
When the process 'Validate N1 Segment Data' is invoked, and assuming that an entity record has city/state information, when the country code is missing after state/province validation, the desired outcome is that the system generates an error message indicating country code is required.
💻 Technical Criteria
Given An entity record has city/state information
When The country code is missing after state/province validation
Then The system generates an error message indicating country code is required
R-GCCCCADD-cbl-02132 EDI BOL Shipper Data Available?
Decision Rules
📊 Business Logic Narrative
When the process 'EDI BOL Shipper Data Available?' is invoked, and assuming that a shipment requires shipper information, when the system checks for edi bol shipper data availability, the desired outcome is that if hn segment is found in edi bol, use edi data; otherwise use fastway data.
💻 Technical Criteria
Given A shipment requires shipper information
When The system checks for EDI BOL shipper data availability
Then If HN segment is found in EDI BOL, use EDI data; otherwise use Fastway data
R-GCCCCADD-cbl-02133 Extract Shipper Name from EDI BOL
Action Rules
📊 Business Logic Narrative
When the process 'Extract Shipper Name from EDI BOL' is invoked, and assuming that edi bol shipper data is available, when the system extracts shipper information from edi bol, the desired outcome is that entity id is set to 'sh', shipper name is extracted from f1-consignor-name, and chop code is extracted from f1-shpr-chop.
💻 Technical Criteria
Given EDI BOL shipper data is available
When The system extracts shipper information from EDI BOL
Then Entity ID is set to 'SH', shipper name is extracted from F1-CONSIGNOR-NAME, and CHOP code is extracted from F1-SHPR-CHOP
R-GCCCCADD-cbl-02134 Use Fastway Shipper Data
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Fastway Shipper Data', assuming that edi bol shipper data is not available, when the system needs shipper information, the desired outcome is that entity id is set to 'sh', shipper name is extracted from shpr-nm, and chop code is extracted from shpr-chop.
💻 Technical Criteria
EXCLUDING EDI BOL shipper data is not available
When The system needs shipper information
Then Entity ID is set to 'SH', shipper name is extracted from SHPR-NM, and CHOP code is extracted from SHPR-CHOP
R-GCCCCADD-cbl-02135 EDI BOL Address Available?
Decision Rules
📊 Business Logic Narrative
When the process 'EDI BOL Address Available?' is invoked, and assuming that shipper record requires address information, when the system checks for edi bol address data, the desired outcome is that if ha segment is found, extract address from edi bol; otherwise use fastway address data.
💻 Technical Criteria
Given Shipper record requires address information
When The system checks for EDI BOL address data
Then If HA segment is found, extract address from EDI BOL; otherwise use Fastway address data
R-GCCCCADD-cbl-02136 Extract Address from EDI BOL
Action Rules
📊 Business Logic Narrative
When the process 'Extract Address from EDI BOL' is invoked, and assuming that edi bol address data is available, when the system extracts address information, the desired outcome is that address line 1 is set from f2-addl-name-addr-1 and address line 2 is set from f2-addl-name-addr-2.
💻 Technical Criteria
Given EDI BOL address data is available
When The system extracts address information
Then Address line 1 is set from F2-ADDL-NAME-ADDR-1 and address line 2 is set from F2-ADDL-NAME-ADDR-2
R-GCCCCADD-cbl-02137 Use Fastway Address Data
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Fastway Address Data', assuming that edi bol address data is not available, when the system needs address information, the desired outcome is that address line 1 is set from shpr-addr(1) and address line 2 is cleared.
💻 Technical Criteria
EXCLUDING EDI BOL address data is not available
When The system needs address information
Then Address line 1 is set from SHPR-ADDR(1) and address line 2 is cleared
R-GCCCCADD-cbl-02138 Set Default Address to 'NA' if Missing
Validation Rules
📊 Business Logic Narrative
When the process 'Set Default Address to 'NA' if Missing' is invoked, and assuming that address line 1 is missing or blank, when the system processes address information, the desired outcome is that address line 1 is set to 'na'.
💻 Technical Criteria
Given Address line 1 is missing or blank
When The system processes address information
Then Address line 1 is set to 'NA'
R-GCCCCADD-cbl-02139 EDI BOL City/State Available?
Decision Rules
📊 Business Logic Narrative
When the process 'EDI BOL City/State Available?' is invoked, and assuming that shipper record requires city and state information, when the system checks for edi bol city/state data, the desired outcome is that if hc segment is found, extract city/state from edi bol; otherwise parse from fastway data.
💻 Technical Criteria
Given Shipper record requires city and state information
When The system checks for EDI BOL city/state data
Then If HC segment is found, extract city/state from EDI BOL; otherwise parse from Fastway data
R-GCCCCADD-cbl-02143 EDI BOL Contact Available?
Decision Rules
📊 Business Logic Narrative
When the process 'EDI BOL Contact Available?' is invoked, and assuming that shipper record may include contact information, when the system checks for edi bol contact data, the desired outcome is that if gp segment is found, extract contact information; otherwise skip contact processing.
💻 Technical Criteria
Given Shipper record may include contact information
When The system checks for EDI BOL contact data
Then If GP segment is found, extract contact information; otherwise skip contact processing
R-GCCCCADD-cbl-02144 Extract Contact Information
Action Rules
📊 Business Logic Narrative
When the process 'Extract Contact Information' is invoked, and assuming that edi bol contact data is available, when the system extracts contact information, the desired outcome is that contact function code, name, communication number qualifier, and communication number are extracted from the gp segment.
💻 Technical Criteria
Given EDI BOL contact data is available
When The system extracts contact information
Then Contact function code, name, communication number qualifier, and communication number are extracted from the GP segment
R-GCCCCADD-cbl-02145 Validate Shipper Record
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Shipper Record' is invoked, and assuming that a shipper record has been populated with data, when the system validates the shipper record, the desired outcome is that all required fields are checked and validation errors are generated for missing or invalid data.
💻 Technical Criteria
Given A shipper record has been populated with data
When The system validates the shipper record
Then All required fields are checked and validation errors are generated for missing or invalid data
R-GCCCCADD-cbl-02146 Store Shipper Record
Process Rules
📊 Business Logic Narrative
When the process 'Store Shipper Record' is invoked, and assuming that a validated shipper record is ready for storage, when the system stores the shipper record, the desired outcome is that the record is moved to the first position in the record array.
💻 Technical Criteria
Given A validated shipper record is ready for storage
When The system stores the shipper record
Then The record is moved to the first position in the record array
R-GCCCCADD-cbl-02148 EDI BOL Consignee Data Available?
Decision Rules
📊 Business Logic Narrative
When the process 'EDI BOL Consignee Data Available?' is invoked, and assuming that a shipment requires consignee information, when the system checks for edi bol consignee data availability, the desired outcome is that if cn segment is found in edi bol, use edi data; otherwise use fastway data.
💻 Technical Criteria
Given A shipment requires consignee information
When The system checks for EDI BOL consignee data availability
Then If CN segment is found in EDI BOL, use EDI data; otherwise use Fastway data
R-GCCCCADD-cbl-02149 Extract Consignee Name from EDI BOL
Action Rules
📊 Business Logic Narrative
When the process 'Extract Consignee Name from EDI BOL' is invoked, and assuming that edi bol consignee data is available, when the system extracts consignee information from edi bol, the desired outcome is that entity id is set to 'cn', consignee name is extracted from d1-shipper-name, and chop code is extracted from d1-cons-chop.
💻 Technical Criteria
Given EDI BOL consignee data is available
When The system extracts consignee information from EDI BOL
Then Entity ID is set to 'CN', consignee name is extracted from D1-SHIPPER-NAME, and CHOP code is extracted from D1-CONS-CHOP
R-GCCCCADD-cbl-02150 Use Fastway Consignee Data
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Fastway Consignee Data', assuming that edi bol consignee data is not available, when the system needs consignee information, the desired outcome is that entity id is set to 'cn', consignee name is extracted from cons-data(1), and chop code is extracted from cons-chop.
💻 Technical Criteria
EXCLUDING EDI BOL consignee data is not available
When The system needs consignee information
Then Entity ID is set to 'CN', consignee name is extracted from CONS-DATA(1), and CHOP code is extracted from CONS-CHOP
R-GCCCCADD-cbl-02151 Validate Consignee Record
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Consignee Record' is invoked, and assuming that a consignee record has been populated with data, when the system validates the consignee record, the desired outcome is that all required fields are checked and validation errors are generated for missing or invalid data.
💻 Technical Criteria
Given A consignee record has been populated with data
When The system validates the consignee record
Then All required fields are checked and validation errors are generated for missing or invalid data
R-GCCCCADD-cbl-02152 Store Consignee Record
Process Rules
📊 Business Logic Narrative
When the process 'Store Consignee Record' is invoked, and assuming that a validated consignee record is ready for storage, when the system stores the consignee record, the desired outcome is that the record is moved to the second position in the record array.
💻 Technical Criteria
Given A validated consignee record is ready for storage
When The system stores the consignee record
Then The record is moved to the second position in the record array
R-GCCCCADD-cbl-02153 Validate Entity ID and Name Required
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Entity ID and Name Required' is invoked, and assuming that a record contains address, city/state, or contact information, when the system validates the record structure, the desired outcome is that if entity id is missing, generate required entity id error; if name is missing, generate required name error.
💻 Technical Criteria
Given A record contains address, city/state, or contact information
When The system validates the record structure
Then If entity ID is missing, generate required entity ID error; if name is missing, generate required name error
R-GCCCCADD-cbl-02154 Validate Address Information Required
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Address Information Required' is invoked, and assuming that a record has entity id and name populated, when the system validates address requirements, the desired outcome is that if address line 1 is missing, generate required address error.
💻 Technical Criteria
Given A record has entity ID and name populated
When The system validates address requirements
Then If address line 1 is missing, generate required address error
R-GCCCCADD-cbl-02155 Validate City Name Minimum Length
Validation Rules
📊 Business Logic Narrative
When the process 'Validate City Name Minimum Length' is invoked, and assuming that a record contains city information, when the system validates city name length, the desired outcome is that if city name is present but less than 2 characters, generate minimum length error.
💻 Technical Criteria
Given A record contains city information
When The system validates city name length
Then If city name is present but less than 2 characters, generate minimum length error
R-GCCCCADD-cbl-02156 Validate Postal Code Minimum Length
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Postal Code Minimum Length' is invoked, and assuming that a record contains postal code information, when the system validates postal code length, the desired outcome is that if postal code is present but less than 3 characters, generate minimum length error.
💻 Technical Criteria
Given A record contains postal code information
When The system validates postal code length
Then If postal code is present but less than 3 characters, generate minimum length error
R-GCCCCADD-cbl-02157 Validate State/Province for US/CA/MX
Validation Rules
📊 Business Logic Narrative
When the process 'Validate State/Province for US/CA/MX' is invoked, and assuming that a record has country code of ca, us, or mx, when the system validates geographic information, the desired outcome is that if state/province code is missing, generate required state/province error.
💻 Technical Criteria
Given A record has country code of CA, US, or MX
When The system validates geographic information
Then If state/province code is missing, generate required state/province error
R-GCCCCADD-cbl-02158 Validate State/Country Combination
Validation Rules
📊 Business Logic Narrative
When the process 'Validate State/Country Combination' is invoked, and assuming that a record has both state/province code and country code, when the system validates the geographic combination, the desired outcome is that if the state/province code does not belong to the specified country, generate invalid state/province error.
💻 Technical Criteria
Given A record has both state/province code and country code
When The system validates the geographic combination
Then If the state/province code does not belong to the specified country, generate invalid state/province error
R-GCCCCADD-cbl-02159 Validate Contact Information Format
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Contact Information Format' is invoked, and assuming that a record contains contact information, when the system validates contact format, the desired outcome is that if communication qualifier is provided without communication number, or if invalid qualifier is used, generate appropriate validation errors.
💻 Technical Criteria
Given A record contains contact information
When The system validates contact format
Then If communication qualifier is provided without communication number, or if invalid qualifier is used, generate appropriate validation errors
R-GCCCCADD-cbl-02160 Generate Validation Error Messages
Action Rules
📊 Business Logic Narrative
When the process 'Generate Validation Error Messages' is invoked, and assuming that validation errors have been identified, when the system processes validation results, the desired outcome is that error messages are retrieved from the message table and added to the error collection.
💻 Technical Criteria
Given Validation errors have been identified
When The system processes validation results
Then Error messages are retrieved from the message table and added to the error collection
R-GCCCCADD-cbl-02536 Extract Shipper Name from EDI BOL
Action Rules
📊 Business Logic Narrative
When the process 'Extract Shipper Name from EDI BOL' is invoked, and assuming that edi bol shipper data is available, when the system processes the shipper information, the desired outcome is that shipper entity id is set to 'sh', shipper name is extracted from consignor name field, and shipper chop code is extracted from edi bol.
💻 Technical Criteria
Given EDI BOL shipper data is available
When The system processes the shipper information
Then Shipper entity ID is set to 'SH', shipper name is extracted from consignor name field, and shipper CHOP code is extracted from EDI BOL
R-GCCCCADD-cbl-02538 EDI BOL Address Available?
Decision Rules
📊 Business Logic Narrative
When the process 'EDI BOL Address Available?' is invoked, and assuming that shipper name information has been processed, when the system checks for address data availability, the desired outcome is that the system identifies if edi bol contains shipper address information.
💻 Technical Criteria
Given Shipper name information has been processed
When The system checks for address data availability
Then The system identifies if EDI BOL contains shipper address information
R-GCCCCADD-cbl-02539 Extract Address from EDI BOL
Action Rules
📊 Business Logic Narrative
When the process 'Extract Address from EDI BOL' is invoked, and assuming that edi bol address data is available, when the system processes address information, the desired outcome is that address line 1 and address line 2 are extracted from edi bol additional name/address fields.
💻 Technical Criteria
Given EDI BOL address data is available
When The system processes address information
Then Address line 1 and address line 2 are extracted from EDI BOL additional name/address fields
R-GCCCCADD-cbl-02540 Use Fastway Address Data
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Fastway Address Data', assuming that edi bol address data is not available, when the system needs address information, the desired outcome is that address information is extracted from shiproot shipper address fields.
💻 Technical Criteria
EXCLUDING EDI BOL address data is not available
When The system needs address information
Then Address information is extracted from SHIPROOT shipper address fields
R-GCCCCADD-cbl-02542 EDI BOL City/State Available?
Decision Rules
📊 Business Logic Narrative
When the process 'EDI BOL City/State Available?' is invoked, and assuming that address information has been processed, when the system checks for city and state data availability, the desired outcome is that the system identifies if edi bol contains city, state, postal code, and country information.
💻 Technical Criteria
Given Address information has been processed
When The system checks for city and state data availability
Then The system identifies if EDI BOL contains city, state, postal code, and country information
R-GCCCCADD-cbl-02543 Extract City/State/Postal from EDI BOL
Action Rules
📊 Business Logic Narrative
When the process 'Extract City/State/Postal from EDI BOL' is invoked, and assuming that edi bol city/state data is available, when the system processes geographic information, the desired outcome is that city name, state/province code, postal code, and country code are extracted from edi bol geographic fields.
💻 Technical Criteria
Given EDI BOL city/state data is available
When The system processes geographic information
Then City name, state/province code, postal code, and country code are extracted from EDI BOL geographic fields
R-GCCCCADD-cbl-02544 Parse Fastway Address String
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Parse Fastway Address String', assuming that edi bol city/state data is not available and fastway address data exists, when the system processes the fastway address string, the desired outcome is that city name, state/province code, and postal code are parsed from the fastway address string format.
💻 Technical Criteria
EXCLUDING EDI BOL city/state data is not available and Fastway address data exists
When The system processes the Fastway address string
Then City name, state/province code, and postal code are parsed from the Fastway address string format
R-GCCCCADD-cbl-02546 EDI BOL Contact Info Available?
Decision Rules
📊 Business Logic Narrative
When the process 'EDI BOL Contact Info Available?' is invoked, and assuming that geographic information has been processed, when the system checks for contact data availability, the desired outcome is that the system identifies if edi bol contains contact function code, name, and communication details.
💻 Technical Criteria
Given Geographic information has been processed
When The system checks for contact data availability
Then The system identifies if EDI BOL contains contact function code, name, and communication details
R-GCCCCADD-cbl-02547 Extract Contact Details from EDI BOL
Action Rules
📊 Business Logic Narrative
When the process 'Extract Contact Details from EDI BOL' is invoked, and assuming that edi bol contact information is available, when the system processes contact details, the desired outcome is that contact function code, contact name, communication number qualifier, and communication number are extracted from edi bol.
💻 Technical Criteria
Given EDI BOL contact information is available
When The system processes contact details
Then Contact function code, contact name, communication number qualifier, and communication number are extracted from EDI BOL
R-GCCCCADD-cbl-02548 Validate Shipper Record
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Shipper Record' is invoked, and assuming that shipper record has been populated with available data, when the system validates the shipper record, the desired outcome is that required fields are checked for completeness and format compliance.
💻 Technical Criteria
Given Shipper record has been populated with available data
When The system validates the shipper record
Then Required fields are checked for completeness and format compliance
R-GCCCCADD-cbl-02550 Validate Address Format
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Address Format' is invoked, and assuming that address information has been populated, when the system validates address format, the desired outcome is that city name minimum length of 2 characters and postal code minimum length of 3 characters are enforced.
💻 Technical Criteria
Given Address information has been populated
When The system validates address format
Then City name minimum length of 2 characters and postal code minimum length of 3 characters are enforced
R-GCCCCADD-cbl-02554 Extract Consignee Name from EDI BOL
Action Rules
📊 Business Logic Narrative
When the process 'Extract Consignee Name from EDI BOL' is invoked, and assuming that edi bol consignee data is available, when the system processes the consignee information, the desired outcome is that consignee entity id is set to 'cn', consignee name is extracted from shipper name field, and consignee chop code is extracted from edi bol.
💻 Technical Criteria
Given EDI BOL consignee data is available
When The system processes the consignee information
Then Consignee entity ID is set to 'CN', consignee name is extracted from shipper name field, and consignee CHOP code is extracted from EDI BOL
R-GCCCCADD-cbl-02986 Extract State/Province Code
Decision Rules
📊 Business Logic Narrative
When the process 'Extract State/Province Code' is invoked, and assuming that a state/province code has been extracted from an address string, when the country determination process is executed, the desired outcome is that the corresponding country code is retrieved from the state-country table and assigned to the country field.
💻 Technical Criteria
Given A state/province code has been extracted from an address string
When The country determination process is executed
Then The corresponding country code is retrieved from the state-country table and assigned to the country field
R-GCCCCADD-cbl-02993 Extract City Name Component
Process Rules
📊 Business Logic Narrative
When the process 'Extract City Name Component' is invoked, and assuming that an address field contains concatenated address information, when the address field is moved to a work area for parsing, the desired outcome is that the city name component is extracted and stored in the city name field.
💻 Technical Criteria
Given An address field contains concatenated address information
When The address field is moved to a work area for parsing
Then The city name component is extracted and stored in the city name field
R-GCCCCADD-cbl-02994 Extract State/Province Code
Process Rules
📊 Business Logic Narrative
When the process 'Extract State/Province Code' is invoked, and assuming that an address field contains concatenated address information with city name already extracted, when the address parsing continues to the state/province component, the desired outcome is that the state or province code is extracted and stored in the state/province code field.
💻 Technical Criteria
Given An address field contains concatenated address information with city name already extracted
When The address parsing continues to the state/province component
Then The state or province code is extracted and stored in the state/province code field
R-GCCCCADD-cbl-02995 Extract Postal Code Component
Process Rules
📊 Business Logic Narrative
When the process 'Extract Postal Code Component' is invoked, and assuming that an address field contains concatenated address information with city and state already extracted, when the address parsing continues to the postal code component, the desired outcome is that the postal code is extracted and stored in the postal code field.
💻 Technical Criteria
Given An address field contains concatenated address information with city and state already extracted
When The address parsing continues to the postal code component
Then The postal code is extracted and stored in the postal code field
R-GCCCCADD-cbl-02997 Pad with Periods to 5 chars
Computation Rules
📊 Business Logic Narrative
When the process 'Pad with Periods to 5 chars' is invoked, and assuming that a postal code has been validated and found to be shorter than 5 characters, when the postal code padding process is executed, the desired outcome is that the postal code is padded with periods to reach exactly 5 characters in length.
💻 Technical Criteria
Given A postal code has been validated and found to be shorter than 5 characters
When The postal code padding process is executed
Then The postal code is padded with periods to reach exactly 5 characters in length
R-GCCCCADD-cbl-02172 Validate State/Country Combination
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Validate State/Country Combination', assuming that a business entity record has both state/province code and country code specified, when validating address and state/province code does not match the country code in the state-country lookup table, the desired outcome is that generate validation error for invalid state/province code.
💻 Technical Criteria
EXCLUDING A business entity record has both state/province code and country code specified
When Validating address and state/province code does not match the country code in the state-country lookup table
Then Generate validation error for invalid state/province code
R-GCCCCADD-cbl-00912 N3 Segment Found?
Validation Rules
📊 Business Logic Narrative
When the process 'N3 Segment Found?' is invoked, and assuming that the system has attempted to retrieve the n3 address segment from edi bol, when the system checks if the n3 segment was found, the desired outcome is that the system should proceed with address extraction if found, otherwise use default address processing.
💻 Technical Criteria
Given The system has attempted to retrieve the N3 address segment from EDI BOL
When The system checks if the N3 segment was found
Then The system should proceed with address extraction if found, otherwise use default address processing
R-GCCCCADD-cbl-00913 Extract Address Line 1 from N3 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Address Line 1 from N3 Segment' is invoked, and assuming that the n3 address segment has been successfully retrieved from edi bol, when the system extracts address line 1 from the n3 segment, the desired outcome is that the system should capture the first address line data for further processing.
💻 Technical Criteria
Given The N3 address segment has been successfully retrieved from EDI BOL
When The system extracts address line 1 from the N3 segment
Then The system should capture the first address line data for further processing
R-GCCCCADD-cbl-00920 Clear Address Line 2
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Clear Address Line 2', assuming that edi bol data is not available and default address line 1 has been set, when the system processes address line 2, the desired outcome is that the system should clear address line 2 to spaces.
💻 Technical Criteria
EXCLUDING EDI BOL data is not available and default address line 1 has been set
When The system processes address line 2
Then The system should clear address line 2 to spaces
R-GCCCCADD-cbl-00938 Generate Error: Communication Number Required
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Error: Communication Number Required', assuming that either a communication qualifier is provided or a contact person name is provided, when the communication number is blank or not provided, the desired outcome is that the system generates an error indicating that communication number is required.
💻 Technical Criteria
EXCLUDING Either a communication qualifier is provided or a contact person name is provided
When The communication number is blank or not provided
Then The system generates an error indicating that communication number is required
R-GCCCCADD-cbl-00951 Action Code Check
Decision Rules
📊 Business Logic Narrative
When the process 'Action Code Check' is invoked, and assuming that description components have been extracted and an action code is specified, when the system evaluates the action code, the desired outcome is that if action code is 'us', build us transit description; if 'rt', build rt transit description; otherwise use original description.
💻 Technical Criteria
Given Description components have been extracted and an action code is specified
When The system evaluates the action code
Then If action code is 'US', build US transit description; if 'RT', build RT transit description; otherwise use original description
R-GCCCCADD-cbl-00954 Use Original Description
Decision Rules
📊 Business Logic Narrative
When the process 'Use Original Description' is invoked, and assuming that action code is neither 'us' nor 'rt' and original description data is available, when building the description, the desired outcome is that the system uses the original retrieved description without any transit-specific modifications.
💻 Technical Criteria
Given Action code is neither 'US' nor 'RT' and original description data is available
When Building the description
Then The system uses the original retrieved description without any transit-specific modifications
R-GCCCCADD-cbl-00955 Compress Enhanced Description
Action Rules
📊 Business Logic Narrative
When the process 'Compress Enhanced Description' is invoked, and assuming that an enhanced description has been built with specified length parameters, when the compression process is executed, the desired outcome is that the system calls gcccomp with 45000 and 22500 length parameters to compress the description data into the target format.
💻 Technical Criteria
Given An enhanced description has been built with specified length parameters
When The compression process is executed
Then The system calls GCCCOMP with 45000 and 22500 length parameters to compress the description data into the target format
R-GCCCCADD-cbl-00967 Broker Data Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Broker Data Found?' is invoked, and assuming that the crossing table search has been executed with maximum wildcard criteria, when the final search results are evaluated, the desired outcome is that if broker data is found, the lookup process completes successfully, otherwise no broker information is available.
💻 Technical Criteria
Given The crossing table search has been executed with maximum wildcard criteria
When The final search results are evaluated
Then If broker data is found, the lookup process completes successfully, otherwise no broker information is available
R-GCCCCADD-cbl-00968 Broker Information Retrieved Successfully
Process Rules
📊 Business Logic Narrative
When the process 'Broker Information Retrieved Successfully' is invoked, and assuming that one of the crossing table searches has successfully found broker data, when the broker information is retrieved, the desired outcome is that the broker lookup process completes with valid broker information available for use.
💻 Technical Criteria
Given One of the crossing table searches has successfully found broker data
When The broker information is retrieved
Then The broker lookup process completes with valid broker information available for use
R-GCCCCADD-cbl-00969 No Broker Information Found
Process Rules
📊 Business Logic Narrative
When the process 'No Broker Information Found' is invoked, and assuming that all three crossing table search attempts have been executed, when none of the searches found matching broker data, the desired outcome is that the broker lookup process completes with no broker information available.
💻 Technical Criteria
Given All three crossing table search attempts have been executed
When None of the searches found matching broker data
Then The broker lookup process completes with no broker information available
R-GCCCCADD-cbl-00970 Crossing Table Data Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Crossing Table Data Found?' is invoked, and assuming that a crossing table lookup has been performed for broker information, when the system checks the crossing table return status, the desired outcome is that if data is found, proceed with broker override processing, otherwise skip broker override logic.
💻 Technical Criteria
Given A crossing table lookup has been performed for broker information
When The system checks the crossing table return status
Then If data is found, proceed with broker override processing, otherwise skip broker override logic
R-GCCCCADD-cbl-00971 Override Flag = 'Y'?
Decision Rules
📊 Business Logic Narrative
When the process 'Override Flag = 'Y'?' is invoked, and assuming that crossing table data is available with an override flag, when the override flag is evaluated, the desired outcome is that if override flag equals 'y', force override of existing broker data, otherwise check existing broker status.
💻 Technical Criteria
Given Crossing table data is available with an override flag
When The override flag is evaluated
Then If override flag equals 'Y', force override of existing broker data, otherwise check existing broker status
R-GCCCCADD-cbl-00974 Manifest-To Station Available in Crossing Table?
Validation Rules
📊 Business Logic Narrative
When the process 'Manifest-To Station Available in Crossing Table?' is invoked, and assuming that broker information has been processed from crossing table, when the crossing table manifest-to station field is checked, the desired outcome is that if manifest-to station is not spaces, proceed with manifest-to station override, otherwise complete processing.
💻 Technical Criteria
Given Broker information has been processed from crossing table
When The crossing table manifest-to station field is checked
Then If manifest-to station is not SPACES, proceed with manifest-to station override, otherwise complete processing
R-GCCCCADD-cbl-00976 Crossing Table CDN Manifest-To Available?
Validation Rules
📊 Business Logic Narrative
When the process 'Crossing Table CDN Manifest-To Available?' is invoked, and assuming that a crossing table entry exists with broker data, when the system checks for cdn manifest-to field availability, the desired outcome is that the system determines if manifest-to station override should proceed based on field presence.
💻 Technical Criteria
Given A crossing table entry exists with broker data
When The system checks for CDN manifest-to field availability
Then The system determines if manifest-to station override should proceed based on field presence
R-GCCCCADD-cbl-00977 Reset Error Flags
Process Rules
📊 Business Logic Narrative
When the process 'Reset Error Flags' is invoked, and assuming that crossing table contains cdn manifest-to override data, when the system begins manifest-to station override processing, the desired outcome is that all manifest-to related error flags are reset to off state.
💻 Technical Criteria
Given Crossing table contains CDN manifest-to override data
When The system begins manifest-to station override processing
Then All manifest-to related error flags are reset to OFF state
R-GCCCCADD-cbl-00987 Initialize Origin Country to Spaces
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Origin Country to Spaces' is invoked, and assuming that the origin country determination process is starting, when the system begins to determine the origin country, the desired outcome is that the origin country field should be initialized to spaces (blank).
💻 Technical Criteria
Given The origin country determination process is starting
When The system begins to determine the origin country
Then The origin country field should be initialized to spaces (blank)
R-GCCCCADD-cbl-00988 Setup AU Table Lookup Parameters
Action Rules
📊 Business Logic Narrative
When the process 'Setup AU Table Lookup Parameters' is invoked, and assuming that the system needs to lookup authorized user information, when setting up au table lookup parameters, the desired outcome is that the table id should be set to 'au', the consignee chop code should be used as the chop key, and the commodity code should be used as the commodity key.
💻 Technical Criteria
Given The system needs to lookup authorized user information
When Setting up AU table lookup parameters
Then The table ID should be set to 'AU', the consignee CHOP code should be used as the CHOP key, and the commodity code should be used as the commodity key
R-GCCCCADD-cbl-00989 Call Table Lookup Service
Action Rules
📊 Business Logic Narrative
When the process 'Call Table Lookup Service' is invoked, and assuming that au table lookup parameters are configured with consignee chop and commodity code, when the table lookup service is called, the desired outcome is that the system should execute the lookup and return the result status.
💻 Technical Criteria
Given AU table lookup parameters are configured with consignee CHOP and commodity code
When The table lookup service is called
Then The system should execute the lookup and return the result status
R-GCCCCADD-cbl-00990 AU Table Record Found?
Decision Rules
📊 Business Logic Narrative
When the process 'AU Table Record Found?' is invoked, and assuming that the au table lookup service has been executed, when the lookup result is evaluated, the desired outcome is that if the lookup is successful, the au table data should be loaded; otherwise, the au table data should be cleared to spaces.
💻 Technical Criteria
Given The AU table lookup service has been executed
When The lookup result is evaluated
Then If the lookup is successful, the AU table data should be loaded; otherwise, the AU table data should be cleared to spaces
R-GCCCCADD-cbl-00994 Lookup Authorized User Table with Consignee CHOP and Commodity Code
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Authorized User Table with Consignee CHOP and Commodity Code' is invoked, and assuming that a shipment has a consignee chop code and commodity code, when origin country determination is required, the desired outcome is that the system should lookup the authorized user table using the consignee chop and commodity code as search keys.
💻 Technical Criteria
Given A shipment has a consignee CHOP code and commodity code
When Origin country determination is required
Then The system should lookup the authorized user table using the consignee CHOP and commodity code as search keys
R-GCCCCADD-cbl-00999 Set Origin Country from State-Country Lookup
Process Rules
📊 Business Logic Narrative
When the process 'Set Origin Country from State-Country Lookup' is invoked, and assuming that a state-country table lookup has been performed using the origin station state code, when the lookup returns a valid country code, the desired outcome is that the origin country should be set to the country code returned from the state-country lookup.
💻 Technical Criteria
Given A state-country table lookup has been performed using the origin station state code
When The lookup returns a valid country code
Then The origin country should be set to the country code returned from the state-country lookup
R-GCCCCADD-cbl-01004 Pad Shipper Postal Code with Periods to 5 Characters
Process Rules
📊 Business Logic Narrative
When the process 'Pad Shipper Postal Code with Periods to 5 Characters' is invoked, and assuming that the shipper postal code is shorter than 5 characters, when the system applies padding to meet minimum length requirements, the desired outcome is that periods are added to positions 5 through 5 of the postal code field to ensure 5-character minimum length.
💻 Technical Criteria
Given The shipper postal code is shorter than 5 characters
When The system applies padding to meet minimum length requirements
Then Periods are added to positions 5 through 5 of the postal code field to ensure 5-character minimum length
R-GCCCCADD-cbl-01008 Pad Consignee Postal Code with Periods to 5 Characters
Process Rules
📊 Business Logic Narrative
When the process 'Pad Consignee Postal Code with Periods to 5 Characters' is invoked, and assuming that the consignee postal code is shorter than 5 characters, when the system applies padding to meet minimum length requirements, the desired outcome is that periods are added to positions 5 through 5 of the postal code field to ensure 5-character minimum length.
💻 Technical Criteria
Given The consignee postal code is shorter than 5 characters
When The system applies padding to meet minimum length requirements
Then Periods are added to positions 5 through 5 of the postal code field to ensure 5-character minimum length
R-GCCCCADD-cbl-01012 Pad Notify Party Postal Code with Periods to 5 Characters
Process Rules
📊 Business Logic Narrative
When the process 'Pad Notify Party Postal Code with Periods to 5 Characters' is invoked, and assuming that the notify party postal code is shorter than 5 characters, when the system applies padding to meet minimum length requirements, the desired outcome is that periods are added to positions 5 through 5 of the postal code field to ensure 5-character minimum length.
💻 Technical Criteria
Given The notify party postal code is shorter than 5 characters
When The system applies padding to meet minimum length requirements
Then Periods are added to positions 5 through 5 of the postal code field to ensure 5-character minimum length
R-GCCCCADD-cbl-01017 Set Calculation Mode to ADD DAYS
Process Rules
📊 Business Logic Narrative
When the process 'Set Calculation Mode to ADD DAYS' is invoked, and assuming that the date calculation utility parameters are being configured, when the system sets up the calculation mode, the desired outcome is that the calculation mode is set to add and the unit is set to days.
💻 Technical Criteria
Given The date calculation utility parameters are being configured
When The system sets up the calculation mode
Then The calculation mode is set to ADD and the unit is set to DAYS
R-GCCCCADD-cbl-01020 Date Calculation Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Date Calculation Successful?' is invoked, and assuming that the date calculation utility has been called, when the system evaluates the calculation result, the desired outcome is that if the calculation was successful, the new date is used; otherwise, an error is processed.
💻 Technical Criteria
Given The date calculation utility has been called
When The system evaluates the calculation result
Then If the calculation was successful, the new date is used; otherwise, an error is processed
R-GCCCCADD-cbl-01050 Initialize State Lookup Index
Process Rules
📊 Business Logic Narrative
When the process 'Initialize State Lookup Index' is invoked, and assuming that a state-country lookup needs to be performed, when the system prepares to search the state-country table, the desired outcome is that the lookup index should be set to position 1.
💻 Technical Criteria
Given A state-country lookup needs to be performed
When The system prepares to search the state-country table
Then The lookup index should be set to position 1
R-GCCCCADD-cbl-01056 Initialize RF Table Lookup Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize RF Table Lookup Parameters' is invoked, and assuming that a request to lookup rf table data, when the system initializes rf table lookup parameters, the desired outcome is that all lookup parameters are cleared and function code is set to 'gu' for table retrieval.
💻 Technical Criteria
Given A request to lookup RF table data
When The system initializes RF table lookup parameters
Then All lookup parameters are cleared and function code is set to 'GU' for table retrieval
R-GCCCCADD-cbl-02999 Initialize Table Access Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Table Access Parameters' is invoked, and assuming that a cm table lookup operation is requested, when the system begins the lookup process, the desired outcome is that all table access parameters are cleared and initialized to spaces.
💻 Technical Criteria
Given A CM table lookup operation is requested
When The system begins the lookup process
Then All table access parameters are cleared and initialized to spaces
R-GCCCCADD-cbl-03000 Set Function Code to GU
Process Rules
📊 Business Logic Narrative
When the process 'Set Function Code to GU' is invoked, and assuming that cm table lookup parameters are initialized, when the system prepares for table access, the desired outcome is that the function code is set to gu for unique record retrieval.
💻 Technical Criteria
Given CM table lookup parameters are initialized
When The system prepares for table access
Then The function code is set to GU for unique record retrieval
R-GCCCCADD-cbl-03001 Set Table ID to 'CM'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Table ID to 'CM'' is invoked, and assuming that table access function code is set to gu, when the system specifies which table to access, the desired outcome is that the table id is set to 'cm' to identify the correct lookup table.
💻 Technical Criteria
Given Table access function code is set to GU
When The system specifies which table to access
Then The table ID is set to 'CM' to identify the correct lookup table
R-GCCCCADD-cbl-03004 Call GCCTBIO Table Access
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCTBIO Table Access' is invoked, and assuming that all cm table lookup parameters are configured with station number as search key, when the system executes the table access call, the desired outcome is that gcctbio is invoked with the configured parameters to perform the lookup.
💻 Technical Criteria
Given All CM table lookup parameters are configured with station number as search key
When The system executes the table access call
Then GCCTBIO is invoked with the configured parameters to perform the lookup
R-GCCCCADD-cbl-03005 Lookup Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Lookup Successful?' is invoked, and assuming that cm table lookup has been executed, when the system checks the lookup result status, the desired outcome is that the return flag is evaluated to determine if lookup was successful.
💻 Technical Criteria
Given CM table lookup has been executed
When The system checks the lookup result status
Then The return flag is evaluated to determine if lookup was successful
R-GCCCCADD-cbl-03011 Set Function Code to GU
Action Rules
📊 Business Logic Narrative
When the process 'Set Function Code to GU' is invoked, and assuming that an mc table lookup operation is being prepared, when the system needs to specify the database operation type, the desired outcome is that the system sets the function code to gu for retrieving a unique record.
💻 Technical Criteria
Given An MC table lookup operation is being prepared
When The system needs to specify the database operation type
Then The system sets the function code to GU for retrieving a unique record
R-GCCCCADD-cbl-03014 Execute GCCTBIO Call
Action Rules
📊 Business Logic Narrative
When the process 'Execute GCCTBIO Call' is invoked, and assuming that all mc table search parameters have been configured, when the system executes the table lookup, the desired outcome is that the system calls gcctbio with the configured search parameters.
💻 Technical Criteria
Given All MC table search parameters have been configured
When The system executes the table lookup
Then The system calls GCCTBIO with the configured search parameters
R-GCCCCADD-cbl-03015 Search Successful?
Decision Rules
📊 Business Logic Narrative
When the process 'Search Successful?' is invoked, and assuming that an mc table lookup has been executed, when the system evaluates the lookup result, the desired outcome is that the system checks if the return flag indicates successful completion.
💻 Technical Criteria
Given An MC table lookup has been executed
When The system evaluates the lookup result
Then The system checks if the return flag indicates successful completion
R-GCCCCADD-cbl-03021 Set Consignee CHOP from Shipment
Process Rules
📊 Business Logic Narrative
When the process 'Set Consignee CHOP from Shipment' is invoked, and assuming that shipment root data contains consignee chop information, when the system prepares rf table lookup parameters, the desired outcome is that the consignee chop from shipment root is assigned to the rf table consignee chop search field.
💻 Technical Criteria
Given Shipment root data contains consignee CHOP information
When The system prepares RF table lookup parameters
Then The consignee CHOP from shipment root is assigned to the RF table consignee CHOP search field
R-GCCCCADD-cbl-03024 Execute RF Table Search
Action Rules
📊 Business Logic Narrative
When the process 'Execute RF Table Search' is invoked, and assuming that rf table search parameters are properly configured with consignee chop and station number, when the system executes the rf table lookup, the desired outcome is that the table lookup is performed using the gcctbio service with the specified search criteria.
💻 Technical Criteria
Given RF table search parameters are properly configured with consignee CHOP and station number
When The system executes the RF table lookup
Then The table lookup is performed using the GCCTBIO service with the specified search criteria
R-GCCCCADD-cbl-03025 RF Record Found?
Validation Rules
📊 Business Logic Narrative
When the process 'RF Record Found?' is invoked, and assuming that an rf table lookup has been executed, when the system evaluates the lookup results, the desired outcome is that if the return flag indicates 'successful', the rf record is considered found, otherwise it is not found.
💻 Technical Criteria
Given An RF table lookup has been executed
When The system evaluates the lookup results
Then If the return flag indicates 'SUCCESSFUL', the RF record is considered found, otherwise it is not found
R-GCCCCADD-cbl-01079 Previous Carrier Number = '0000' or Spaces?
Decision Rules
📊 Business Logic Narrative
When the process 'Previous Carrier Number = '0000' or Spaces?' is invoked, and assuming that a shipment record with previous carrier number field, when the previous carrier number is '0000' or spaces, the desired outcome is that the system continues processing without setting the previous carrier control number field.
💻 Technical Criteria
Given A shipment record with previous carrier number field
When The previous carrier number is '0000' or spaces
Then The system continues processing without setting the previous carrier control number field
R-GCCCCADD-cbl-01086 Set CNS Indicator Not Found
Definitional Rules
📊 Business Logic Narrative
When the process 'Set CNS Indicator Not Found' is invoked, and assuming that a consolidated load indicator search is about to begin, when the initial status needs to be set, the desired outcome is that the consolidated load indicator flag is set to not found.
💻 Technical Criteria
Given A consolidated load indicator search is about to begin
When The initial status needs to be set
Then The consolidated load indicator flag is set to not found
R-GCCCCADD-cbl-01088 Check H3 Special Handling Code
Decision Rules
📊 Business Logic Narrative
When the process 'Check H3 Special Handling Code' is invoked, and assuming that an ebsbcks segment has been successfully retrieved, when the h3 special handling code is examined, the desired outcome is that the code is checked to determine if it equals 'cns' indicating consolidated load.
💻 Technical Criteria
Given An EBSBCKS segment has been successfully retrieved
When The H3 special handling code is examined
Then The code is checked to determine if it equals 'CNS' indicating consolidated load
R-GCCCCADD-cbl-01100 Set Default US Country Code for Shipper
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Default US Country Code for Shipper' is invoked, and assuming that shipper address is spaces or shipper address has only first character and remaining 17 characters are spaces, when the system processes shipper address information, the desired outcome is that the shipper country code is set to 'us'.
💻 Technical Criteria
Given Shipper address is spaces OR shipper address has only first character and remaining 17 characters are spaces
When The system processes shipper address information
Then The shipper country code is set to 'US'
R-GCCCCADD-cbl-01103 Set Default CA Country Code for Consignee
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Default CA Country Code for Consignee' is invoked, and assuming that consignee address is spaces or consignee address has only first character and remaining 17 characters are spaces, when the system processes consignee address information, the desired outcome is that the consignee country code is set to 'ca'.
💻 Technical Criteria
Given Consignee address is spaces OR consignee address has only first character and remaining 17 characters are spaces
When The system processes consignee address information
Then The consignee country code is set to 'CA'
R-GCCCCADD-cbl-01105 Extract Notify Party Name from Shipment Data
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Extract Notify Party Name from Shipment Data', assuming that a shipment record contains consignee data with name and address information, when the notify party name field is extracted from the consignee data and is not blank, the desired outcome is that the notify party address line 1, address line 2, and country code are automatically populated with the corresponding consignee address information.
💻 Technical Criteria
EXCLUDING A shipment record contains consignee data with name and address information
When The notify party name field is extracted from the consignee data and is not blank
Then The notify party address line 1, address line 2, and country code are automatically populated with the corresponding consignee address information
R-GCCCCADD-cbl-01106 Notify Party Name Exists?
Decision Rules
📊 Business Logic Narrative
When the process 'Notify Party Name Exists?' is invoked, and assuming that a shipment record has been processed and consignee information has been extracted, when the system evaluates the notify party name field from the consignee data, the desired outcome is that if the notify party name is not blank, the system proceeds with address inheritance, otherwise it skips the notify party address setup.
💻 Technical Criteria
Given A shipment record has been processed and consignee information has been extracted
When The system evaluates the notify party name field from the consignee data
Then If the notify party name is not blank, the system proceeds with address inheritance, otherwise it skips the notify party address setup
R-GCCCCADD-cbl-01110 Get Special Handling Code at Counter Position
Process Rules
📊 Business Logic Narrative
When the process 'Get Special Handling Code at Counter Position' is invoked, and assuming that a shipment has special handling codes in positions 1 through 7, when the system processes each special handling code position, the desired outcome is that the system should extract the special handling code and instruction for each position.
💻 Technical Criteria
Given A shipment has special handling codes in positions 1 through 7
When The system processes each special handling code position
Then The system should extract the special handling code and instruction for each position
R-GCCCCADD-cbl-01111 Code = 'VA' or 'EV' or 'VS'?
Validation Rules
📊 Business Logic Narrative
When the process 'Code = 'VA' or 'EV' or 'VS'?' is invoked, and assuming that a special handling code exists at a specific position, when the code is va, ev, or vs, the desired outcome is that the system should process the code and its associated instruction.
💻 Technical Criteria
Given A special handling code exists at a specific position
When The code is VA, EV, or VS
Then The system should process the code and its associated instruction
R-GCCCCADD-cbl-01112 Extract Code and Instruction
Action Rules
📊 Business Logic Narrative
When the process 'Extract Code and Instruction' is invoked, and assuming that a valid special handling code (va, ev, or vs) is identified, when the system processes the code, the desired outcome is that the system should extract both the code and its instruction into working storage.
💻 Technical Criteria
Given A valid special handling code (VA, EV, or VS) is identified
When The system processes the code
Then The system should extract both the code and its instruction into working storage
R-GCCCCADD-cbl-01115 Store in Third Special Handling Slot
Action Rules
📊 Business Logic Narrative
When the process 'Store in Third Special Handling Slot' is invoked, and assuming that special handling code and instruction have been extracted and both first and second slots are occupied, when the system needs to store the information, the desired outcome is that the system should store the code and instruction in the third slot.
💻 Technical Criteria
Given Special handling code and instruction have been extracted and both first and second slots are occupied
When The system needs to store the information
Then The system should store the code and instruction in the third slot
R-GCCCCADD-cbl-01116 Counter <= 7?
Process Rules
📊 Business Logic Narrative
When the process 'Counter <= 7?' is invoked, and assuming that the system is processing special handling codes, when the counter is less than or equal to 7, the desired outcome is that the system should continue processing the next special handling code position.
💻 Technical Criteria
Given The system is processing special handling codes
When The counter is less than or equal to 7
Then The system should continue processing the next special handling code position
R-GCCCCADD-cbl-01119 Collect Special Handling Code Descriptions
Decision Rules
📊 Business Logic Narrative
When the process 'Collect Special Handling Code Descriptions' is invoked, and assuming that a shipment has special handling codes defined, when the system processes special handling codes va, ev, or vs with instructions, the desired outcome is that the special handling code and instruction are combined and stored in the first available special handling description slot (up to 3 slots).
💻 Technical Criteria
Given A shipment has special handling codes defined
When The system processes special handling codes VA, EV, or VS with instructions
Then The special handling code and instruction are combined and stored in the first available special handling description slot (up to 3 slots)
R-GCCCCADD-cbl-01120 Set Compression Parameters
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Compression Parameters' is invoked, and assuming that description data needs to be compressed for storage, when the system prepares for description compression, the desired outcome is that source length is set to 45000 bytes and target length is set to 22500 bytes.
💻 Technical Criteria
Given Description data needs to be compressed for storage
When The system prepares for description compression
Then Source length is set to 45000 bytes and target length is set to 22500 bytes
R-GCCCCADD-cbl-01121 Call GCCCOMP Utility
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCCOMP Utility' is invoked, and assuming that description data is prepared with compression parameters set, when the system needs to compress description data, the desired outcome is that gcccomp utility is called with source data, target area, and length parameters to perform compression.
💻 Technical Criteria
Given Description data is prepared with compression parameters set
When The system needs to compress description data
Then GCCCOMP utility is called with source data, target area, and length parameters to perform compression
R-GCCCCADD-cbl-01137 Spawn GCT0111E Program
Action Rules
📊 Business Logic Narrative
When the process 'Spawn GCT0111E Program' is invoked, and assuming that all spawn message parameters are set, when invoking the manifest creation process, the desired outcome is that call the z700-spawn-gct0111e procedure to execute the manifest creation program.
💻 Technical Criteria
Given All spawn message parameters are set
When Invoking the manifest creation process
Then Call the Z700-SPAWN-GCT0111E procedure to execute the manifest creation program
R-GCCCCADD-cbl-01147 Get Origin Country Code from State Lookup
Definitional Rules
📊 Business Logic Narrative
When the process 'Get Origin Country Code from State Lookup' is invoked, and assuming that an origin station state code exists in the shipment data, when the system performs a lookup in the state-country table using the origin station state code, the desired outcome is that the corresponding country code is retrieved and assigned as the origin country, or spaces if no match is found.
💻 Technical Criteria
Given An origin station state code exists in the shipment data
When The system performs a lookup in the state-country table using the origin station state code
Then The corresponding country code is retrieved and assigned as the origin country, or spaces if no match is found
R-GCCCCADD-cbl-01151 Check Action Code
Decision Rules
📊 Business Logic Narrative
When the process 'Check Action Code' is invoked, and assuming that a shipment with an action code, when the action code is evaluated for return transit processing, the desired outcome is that the system should identify rt action codes for special return transit handling.
💻 Technical Criteria
Given A shipment with an action code
When The action code is evaluated for return transit processing
Then The system should identify RT action codes for special return transit handling
R-GCCCCADD-cbl-01189 Use Original Description
Decision Rules
📊 Business Logic Narrative
When the process 'Use Original Description' is invoked, and assuming that the action code is neither 'us' nor 'rt', when the system processes the description enhancement, the desired outcome is that the original commodity description is used without modification in the enhanced description work area.
💻 Technical Criteria
Given The action code is neither 'US' nor 'RT'
When The system processes the description enhancement
Then The original commodity description is used without modification in the enhanced description work area
R-GCCCCADD-cbl-01190 Compress Enhanced Description
Action Rules
📊 Business Logic Narrative
When the process 'Compress Enhanced Description' is invoked, and assuming that an enhanced description has been built for the shipment, when the system needs to compress the description to fit field constraints, the desired outcome is that the system calls gcccomp with the enhanced description (45000 character limit) and compresses it to fit the target length (22500 characters) for database storage.
💻 Technical Criteria
Given An enhanced description has been built for the shipment
When The system needs to compress the description to fit field constraints
Then The system calls GCCCOMP with the enhanced description (45000 character limit) and compresses it to fit the target length (22500 characters) for database storage
R-GCCCCADD-cbl-01196 Check Override Flag
Decision Rules
📊 Business Logic Narrative
When the process 'Check Override Flag' is invoked, and assuming that broker data has been found in the crossing table, when the system evaluates the override flag in the broker data, the desired outcome is that the system determines whether to apply broker data unconditionally or check existing broker status.
💻 Technical Criteria
Given Broker data has been found in the crossing table
When The system evaluates the override flag in the broker data
Then The system determines whether to apply broker data unconditionally or check existing broker status
R-GCCCCADD-cbl-01197 Apply Broker Data Override
Action Rules
📊 Business Logic Narrative
When the process 'Apply Broker Data Override' is invoked, and assuming that broker data is found and override flag equals 'y', when the system processes the broker override, the desired outcome is that the system applies the broker name and manifest-to station information from crossing table unconditionally.
💻 Technical Criteria
Given Broker data is found and override flag equals 'Y'
When The system processes the broker override
Then The system applies the broker name and manifest-to station information from crossing table unconditionally
R-GCCCCADD-cbl-01198 Apply Broker Data
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Apply Broker Data', assuming that broker data is found and override flag is not 'y', when the existing broker name is spaces, 'unknown', or 'not-req', the desired outcome is that the system applies the broker name and manifest-to station information from crossing table.
💻 Technical Criteria
EXCLUDING Broker data is found and override flag is not 'Y'
When The existing broker name is spaces, 'UNKNOWN', or 'NOT-REQ'
Then The system applies the broker name and manifest-to station information from crossing table
R-GCCCCADD-cbl-01205 Manifest-To Station from Crossing Table Available?
Decision Rules
📊 Business Logic Narrative
When the process 'Manifest-To Station from Crossing Table Available?' is invoked, and assuming that broker data has been retrieved from the crossing table, when the system checks for manifest-to station override information, the desired outcome is that if the canadian manifest-to field is not spaces, proceed with manifest-to station processing, otherwise skip manifest-to station updates.
💻 Technical Criteria
Given Broker data has been retrieved from the crossing table
When The system checks for manifest-to station override information
Then If the Canadian manifest-to field is not spaces, proceed with manifest-to station processing, otherwise skip manifest-to station updates
R-GCCCCADD-cbl-01206 Reset Error Flags
Process Rules
📊 Business Logic Narrative
When the process 'Reset Error Flags' is invoked, and assuming that the crossing table contains manifest-to station information, when the system begins processing the manifest-to station override, the desired outcome is that all three manifest-to error flags (error-1, error-2, error-3) are set to off status.
💻 Technical Criteria
Given The crossing table contains manifest-to station information
When The system begins processing the manifest-to station override
Then All three manifest-to error flags (error-1, error-2, error-3) are set to OFF status
R-GCCCCADD-cbl-01208 Lookup Manifest-To Station in MC Table
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Manifest-To Station in MC Table' is invoked, and assuming that a manifest-to station name has been specified from the crossing table, when the system validates the manifest-to station, the desired outcome is that the mc table is queried using the manifest-to station name to retrieve station details.
💻 Technical Criteria
Given A manifest-to station name has been specified from the crossing table
When The system validates the manifest-to station
Then The MC table is queried using the manifest-to station name to retrieve station details
R-GCCCCADD-cbl-01213 Set Broker Name to 'NOT-REQ'
Decision Rules
📊 Business Logic Narrative
When the process 'Set Broker Name to 'NOT-REQ'' is invoked, and assuming that a shipment is being processed with action code 'rt' (return) or 'us' (transit), when the system processes the broker assignment logic, the desired outcome is that the broker name should be set to 'not-req' and the secondary broker name should be cleared.
💻 Technical Criteria
Given A shipment is being processed with action code 'RT' (Return) or 'US' (Transit)
When The system processes the broker assignment logic
Then The broker name should be set to 'NOT-REQ' and the secondary broker name should be cleared
R-GCCCCADD-cbl-01214 Clear Broker Name 2
Process Rules
📊 Business Logic Narrative
When the process 'Clear Broker Name 2' is invoked, and assuming that a shipment with action code 'rt' or 'us' is being processed, when the broker information is being updated, the desired outcome is that the secondary broker name field should be set to spaces.
💻 Technical Criteria
Given A shipment with action code 'RT' or 'US' is being processed
When The broker information is being updated
Then The secondary broker name field should be set to spaces
R-GCCCCADD-cbl-01218 Clear Error/Release Status Index
Process Rules
📊 Business Logic Narrative
When the process 'Clear Error/Release Status Index' is invoked, and assuming that a shipment has action code 'rt' (return), when the error/release status is being processed, the desired outcome is that the error or release status index should be cleared.
💻 Technical Criteria
Given A shipment has action code 'RT' (Return)
When The error/release status is being processed
Then The error or release status index should be cleared
R-GCCCCADD-cbl-01227 Initialize Origin Country to Spaces
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Origin Country to Spaces' is invoked, and assuming that the origin country determination process is starting, when the system begins to determine the origin country, the desired outcome is that the origin country field should be initialized to spaces (blank).
💻 Technical Criteria
Given The origin country determination process is starting
When The system begins to determine the origin country
Then The origin country field should be initialized to spaces (blank)
R-GCCCCADD-cbl-01229 Call Table Lookup Service
Action Rules
📊 Business Logic Narrative
When the process 'Call Table Lookup Service' is invoked, and assuming that au table lookup parameters are configured with table id 'au', consignee chop, and commodity code, when the table lookup service is called, the desired outcome is that the system should attempt to retrieve the corresponding au table record.
💻 Technical Criteria
Given AU table lookup parameters are configured with table ID 'AU', consignee CHOP, and commodity code
When The table lookup service is called
Then The system should attempt to retrieve the corresponding AU table record
R-GCCCCADD-cbl-01230 AU Table Record Found?
Decision Rules
📊 Business Logic Narrative
When the process 'AU Table Record Found?' is invoked, and assuming that the au table lookup service has been executed, when the lookup result is evaluated, the desired outcome is that if the lookup is successful, the au table data should be loaded into the working segment, otherwise the au table data should be cleared to spaces.
💻 Technical Criteria
Given The AU table lookup service has been executed
When The lookup result is evaluated
Then If the lookup is successful, the AU table data should be loaded into the working segment, otherwise the AU table data should be cleared to spaces
R-GCCCCADD-cbl-01236 Add Lading Quantity to Total
Computation Rules
📊 Business Logic Narrative
When the process 'Add Lading Quantity to Total' is invoked, and assuming that a commodity segment is successfully retrieved from edi bol data, when the system processes the commodity segment, the desired outcome is that the system adds the lading quantity from the segment to the total number of units counter.
💻 Technical Criteria
Given A commodity segment is successfully retrieved from EDI BOL data
When The system processes the commodity segment
Then The system adds the lading quantity from the segment to the total number of units counter
R-GCCCCADD-cbl-01243 Get First SHIPCOMM Segment
Action Rules
📊 Business Logic Narrative
When the process 'Get First SHIPCOMM Segment' is invoked, and assuming that fastway data is being used as fallback for commodity information, when the system retrieves the first shipcomm segment, the desired outcome is that the system calls fwcwbio with gu function to get the first shipcomm segment and sets found status based on result.
💻 Technical Criteria
Given Fastway data is being used as fallback for commodity information
When The system retrieves the first SHIPCOMM segment
Then The system calls FWCWBIO with GU function to get the first SHIPCOMM segment and sets found status based on result
R-GCCCCADD-cbl-01245 Set Default Quantity Qualifier to PCS
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Default Quantity Qualifier to PCS' is invoked, and assuming that shipcomm data is being used for commodity information, when the system processes quantity information from shipcomm, the desired outcome is that the system sets the quantity qualifier to pcs (pieces).
💻 Technical Criteria
Given SHIPCOMM data is being used for commodity information
When The system processes quantity information from SHIPCOMM
Then The system sets the quantity qualifier to PCS (pieces)
R-GCCCCADD-cbl-01246 Get Next SHIPCOMM Segments
Action Rules
📊 Business Logic Narrative
When the process 'Get Next SHIPCOMM Segments' is invoked, and assuming that the first shipcomm segment has been processed successfully, when the system continues processing additional shipcomm segments, the desired outcome is that the system calls fwcwbio with gn function to get next shipcomm segments until no more segments are found.
💻 Technical Criteria
Given The first SHIPCOMM segment has been processed successfully
When The system continues processing additional SHIPCOMM segments
Then The system calls FWCWBIO with GN function to get next SHIPCOMM segments until no more segments are found
R-GCCCCADD-cbl-01253 Add Lading Quantity to Total
Computation Rules
📊 Business Logic Narrative
When the process 'Add Lading Quantity to Total' is invoked, and assuming that a commodity segment is successfully retrieved from edi bol, when the system processes the commodity segment data, the desired outcome is that the system should add the lading quantity from l0-lading-qty field to the total units counter.
💻 Technical Criteria
Given A commodity segment is successfully retrieved from EDI BOL
When The system processes the commodity segment data
Then The system should add the lading quantity from L0-LADING-QTY field to the total units counter
R-GCCCCADD-cbl-01274 Lookup Quantity Qualifier in MU Table
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Quantity Qualifier in MU Table' is invoked, and assuming that a shipment record has a populated quantity qualifier field, when the system looks up the quantity qualifier in the mu (measurement units) reference table, the desired outcome is that the system retrieves the corresponding measurement unit record if the qualifier exists in the table.
💻 Technical Criteria
Given A shipment record has a populated quantity qualifier field
When The system looks up the quantity qualifier in the MU (Measurement Units) reference table
Then The system retrieves the corresponding measurement unit record if the qualifier exists in the table
R-GCCCCADD-cbl-01275 Generate Not Found Error
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Not Found Error', assuming that a shipment record has a quantity qualifier that does not exist in the mu reference table, when the lookup operation fails to find a matching record, the desired outcome is that the system generates a 'not found on mu table' error message and adds it to the error collection.
💻 Technical Criteria
EXCLUDING A shipment record has a quantity qualifier that does not exist in the MU reference table
When The lookup operation fails to find a matching record
Then The system generates a 'not found on MU table' error message and adds it to the error collection
R-GCCCCADD-cbl-01279 Extract Shipper Name from EDI BOL
Action Rules
📊 Business Logic Narrative
When the process 'Extract Shipper Name from EDI BOL' is invoked, and assuming that edi bol hn segment is available with shipper information, when the system processes edi shipper data, the desired outcome is that shipper name is extracted to n102 field, chop code to sc301 field, and entity id is set to 'sh'.
💻 Technical Criteria
Given EDI BOL HN segment is available with shipper information
When The system processes EDI shipper data
Then Shipper name is extracted to N102 field, CHOP code to SC301 field, and entity ID is set to 'SH'
R-GCCCCADD-cbl-01280 Check EDI BOL HA Address Segment?
Decision Rules
📊 Business Logic Narrative
When the process 'Check EDI BOL HA Address Segment?' is invoked, and assuming that shipper identity has been extracted from edi bol, when the system checks for edi bol ha address segment, the desired outcome is that if ha segment is found, extract address from edi; otherwise use fastway address data.
💻 Technical Criteria
Given Shipper identity has been extracted from EDI BOL
When The system checks for EDI BOL HA address segment
Then If HA segment is found, extract address from EDI; otherwise use Fastway address data
R-GCCCCADD-cbl-01281 Extract Address from EDI BOL HA Segment
Action Rules
📊 Business Logic Narrative
When the process 'Extract Address from EDI BOL HA Segment' is invoked, and assuming that edi bol ha address segment is available, when the system processes edi address data, the desired outcome is that address line 1 is extracted to n301 field and address line 2 to n302 field.
💻 Technical Criteria
Given EDI BOL HA address segment is available
When The system processes EDI address data
Then Address line 1 is extracted to N301 field and address line 2 to N302 field
R-GCCCCADD-cbl-01282 Use Fastway Shipper Address Data
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Fastway Shipper Address Data', assuming that edi bol ha address segment is not available, when the system needs shipper address information, the desired outcome is that address line 1 is extracted from fastway shipper address field 1, and if blank, 'na' is used as default.
💻 Technical Criteria
EXCLUDING EDI BOL HA address segment is not available
When The system needs shipper address information
Then Address line 1 is extracted from Fastway shipper address field 1, and if blank, 'NA' is used as default
R-GCCCCADD-cbl-01283 Check EDI BOL HC City/State Segment?
Decision Rules
📊 Business Logic Narrative
When the process 'Check EDI BOL HC City/State Segment?' is invoked, and assuming that shipper address information has been processed, when the system checks for edi bol hc city/state segment, the desired outcome is that if hc segment is found, extract city/state from edi; otherwise parse fastway address data.
💻 Technical Criteria
Given Shipper address information has been processed
When The system checks for EDI BOL HC city/state segment
Then If HC segment is found, extract city/state from EDI; otherwise parse Fastway address data
R-GCCCCADD-cbl-01284 Extract City/State/Postal from EDI BOL HC
Action Rules
📊 Business Logic Narrative
When the process 'Extract City/State/Postal from EDI BOL HC' is invoked, and assuming that edi bol hc city/state segment is available, when the system processes edi city/state data, the desired outcome is that city name is extracted to n401 field, state code to n402 field, postal code to n403 field, and country code to n404 field.
💻 Technical Criteria
Given EDI BOL HC city/state segment is available
When The system processes EDI city/state data
Then City name is extracted to N401 field, state code to N402 field, postal code to N403 field, and country code to N404 field
R-GCCCCADD-cbl-01285 Parse Fastway Address for City/State/Postal
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Parse Fastway Address for City/State/Postal', assuming that edi bol hc segment is not available and fastway address data exists, when the system parses fastway address field 2, the desired outcome is that city name, state code, and postal code are extracted and assigned to respective n4 segment fields.
💻 Technical Criteria
EXCLUDING EDI BOL HC segment is not available and Fastway address data exists
When The system parses Fastway address field 2
Then City name, state code, and postal code are extracted and assigned to respective N4 segment fields
R-GCCCCADD-cbl-01286 Determine Country Code from State Lookup
Action Rules
📊 Business Logic Narrative
When the process 'Determine Country Code from State Lookup' is invoked, and assuming that state or province code has been extracted from address information, when the system performs state-country table lookup, the desired outcome is that corresponding country code is retrieved and assigned to n404 field, or remains blank if not found.
💻 Technical Criteria
Given State or province code has been extracted from address information
When The system performs state-country table lookup
Then Corresponding country code is retrieved and assigned to N404 field, or remains blank if not found
R-GCCCCADD-cbl-01287 Check EDI BOL GP Contact Segment?
Decision Rules
📊 Business Logic Narrative
When the process 'Check EDI BOL GP Contact Segment?' is invoked, and assuming that shipper geographic information has been processed, when the system checks for edi bol gp contact segment, the desired outcome is that if gp segment is found, extract contact information; otherwise proceed to validation.
💻 Technical Criteria
Given Shipper geographic information has been processed
When The system checks for EDI BOL GP contact segment
Then If GP segment is found, extract contact information; otherwise proceed to validation
R-GCCCCADD-cbl-01288 Extract Contact Information from EDI BOL
Action Rules
📊 Business Logic Narrative
When the process 'Extract Contact Information from EDI BOL' is invoked, and assuming that edi bol gp contact segment is available, when the system processes edi contact data, the desired outcome is that contact function code is extracted to per01 field, contact name to per02 field, communication qualifier to per03 field, and communication number to per04 field.
💻 Technical Criteria
Given EDI BOL GP contact segment is available
When The system processes EDI contact data
Then Contact function code is extracted to PER01 field, contact name to PER02 field, communication qualifier to PER03 field, and communication number to PER04 field
R-GCCCCADD-cbl-01289 Use Fastway Shipper Data as Fallback
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Fastway Shipper Data as Fallback', assuming that edi bol hn segment is not found or not available, when the system needs to build shipper record, the desired outcome is that shipper information is extracted from fastway shipment root data including name, chop code, and address.
💻 Technical Criteria
EXCLUDING EDI BOL HN segment is not found or not available
When The system needs to build shipper record
Then Shipper information is extracted from Fastway shipment root data including name, CHOP code, and address
R-GCCCCADD-cbl-01290 Extract Shipper Name from Fastway
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Extract Shipper Name from Fastway', assuming that edi bol data is not available and fastway data is being used, when the system processes fastway shipper information, the desired outcome is that shipper chop is extracted to sc301 field, entity id is set to 'sh', and shipper name is extracted to n102 field.
💻 Technical Criteria
EXCLUDING EDI BOL data is not available and Fastway data is being used
When The system processes Fastway shipper information
Then Shipper CHOP is extracted to SC301 field, entity ID is set to 'SH', and shipper name is extracted to N102 field
R-GCCCCADD-cbl-01292 Parse Fastway City/State Information
Action Rules
📊 Business Logic Narrative
When the process 'Parse Fastway City/State Information' is invoked, and assuming that fastway address data is being processed for geographic information, when the system parses shipper address field 2, the desired outcome is that city name is extracted to n401 field, state code to n402 field, postal code to n403 field, and country code is determined via state lookup.
💻 Technical Criteria
Given Fastway address data is being processed for geographic information
When The system parses shipper address field 2
Then City name is extracted to N401 field, state code to N402 field, postal code to N403 field, and country code is determined via state lookup
R-GCCCCADD-cbl-01296 Search for EDI BOL Consignee Data
Action Rules
📊 Business Logic Narrative
When the process 'Search for EDI BOL Consignee Data' is invoked, and assuming that an edi bol key exists for the shipment, when the system searches for consignee data in edi bol, the desired outcome is that the system retrieves consignee segment 'cn' with sequence '01' from edi bol data.
💻 Technical Criteria
Given An EDI BOL key exists for the shipment
When The system searches for consignee data in EDI BOL
Then The system retrieves consignee segment 'CN' with sequence '01' from EDI BOL data
R-GCCCCADD-cbl-01297 Extract Consignee Name from EDI BOL
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract Consignee Name from EDI BOL' is invoked, and assuming that edi bol consignee segment is found, when the system processes the consignee segment data, the desired outcome is that the system sets entity id to 'cn', extracts shipper name as consignee name, and extracts consignee chop code.
💻 Technical Criteria
Given EDI BOL consignee segment is found
When The system processes the consignee segment data
Then The system sets entity ID to 'CN', extracts shipper name as consignee name, and extracts consignee CHOP code
R-GCCCCADD-cbl-01298 Search for EDI BOL Address Data
Action Rules
📊 Business Logic Narrative
When the process 'Search for EDI BOL Address Data' is invoked, and assuming that edi bol consignee data exists, when the system searches for address information, the desired outcome is that the system retrieves address segment 'ca' with sequence '01' for the consignee.
💻 Technical Criteria
Given EDI BOL consignee data exists
When The system searches for address information
Then The system retrieves address segment 'CA' with sequence '01' for the consignee
R-GCCCCADD-cbl-01299 Extract Address from EDI BOL
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract Address from EDI BOL' is invoked, and assuming that edi bol address segment is found, when the system processes the address segment, the desired outcome is that the system extracts additional name/address line 1 and additional name/address line 2 from the edi bol data.
💻 Technical Criteria
Given EDI BOL address segment is found
When The system processes the address segment
Then The system extracts additional name/address line 1 and additional name/address line 2 from the EDI BOL data
R-GCCCCADD-cbl-01300 Use Fastway Address Data
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Fastway Address Data', assuming that edi bol address segment is not found, when the system needs address information for consignee, the desired outcome is that the system uses consignee address from fastway shipment root data element 3.
💻 Technical Criteria
EXCLUDING EDI BOL address segment is not found
When The system needs address information for consignee
Then The system uses consignee address from Fastway shipment root data element 3
R-GCCCCADD-cbl-01301 Search for EDI BOL City/State Data
Action Rules
📊 Business Logic Narrative
When the process 'Search for EDI BOL City/State Data' is invoked, and assuming that edi bol consignee data exists, when the system searches for city/state information, the desired outcome is that the system retrieves city/state segment 'cc' with sequence '01' for the consignee.
💻 Technical Criteria
Given EDI BOL consignee data exists
When The system searches for city/state information
Then The system retrieves city/state segment 'CC' with sequence '01' for the consignee
R-GCCCCADD-cbl-01302 Extract City/State/Postal from EDI BOL
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract City/State/Postal from EDI BOL' is invoked, and assuming that edi bol city/state segment is found, when the system processes the city/state segment, the desired outcome is that the system extracts city name, state/province code, postal code, and country code from the edi bol data.
💻 Technical Criteria
Given EDI BOL city/state segment is found
When The system processes the city/state segment
Then The system extracts city name, state/province code, postal code, and country code from the EDI BOL data
R-GCCCCADD-cbl-01303 Use Fastway City/State Data
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Fastway City/State Data', assuming that edi bol city/state segment is not found, when the system needs geographic information for consignee, the desired outcome is that the system parses city name, state/province code, postal code, and determines country code from fastway consignee data element 4.
💻 Technical Criteria
EXCLUDING EDI BOL city/state segment is not found
When The system needs geographic information for consignee
Then The system parses city name, state/province code, postal code, and determines country code from Fastway consignee data element 4
R-GCCCCADD-cbl-01304 Search for EDI BOL Contact Data
Action Rules
📊 Business Logic Narrative
When the process 'Search for EDI BOL Contact Data' is invoked, and assuming that edi bol consignee data exists, when the system searches for contact information, the desired outcome is that the system retrieves contact segment 'gp' with sequence '01' for the consignee.
💻 Technical Criteria
Given EDI BOL consignee data exists
When The system searches for contact information
Then The system retrieves contact segment 'GP' with sequence '01' for the consignee
R-GCCCCADD-cbl-01305 Extract Contact Information from EDI BOL
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract Contact Information from EDI BOL' is invoked, and assuming that edi bol contact segment is found, when the system processes the contact segment, the desired outcome is that the system extracts contact function code, contact name, communication number qualifier, and communication number from the edi bol data.
💻 Technical Criteria
Given EDI BOL contact segment is found
When The system processes the contact segment
Then The system extracts contact function code, contact name, communication number qualifier, and communication number from the EDI BOL data
R-GCCCCADD-cbl-01306 Use Fastway Consignee Data
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Fastway Consignee Data', assuming that edi bol consignee segment is not found, when the system needs consignee information, the desired outcome is that the system sets entity id to 'cn', uses consignee chop code, and extracts consignee name from fastway shipment root data element 1.
💻 Technical Criteria
EXCLUDING EDI BOL consignee segment is not found
When The system needs consignee information
Then The system sets entity ID to 'CN', uses consignee CHOP code, and extracts consignee name from Fastway shipment root data element 1
R-GCCCCADD-cbl-01307 Set Default Address if Missing
Validation Rules
📊 Business Logic Narrative
When the process 'Set Default Address if Missing' is invoked, and assuming that consignee address information is missing or incomplete, when the system validates address data, the desired outcome is that the system sets address line 1 to 'na' if missing and sets address line 2 to 'na' if missing or contains only one character followed by spaces.
💻 Technical Criteria
Given Consignee address information is missing or incomplete
When The system validates address data
Then The system sets address line 1 to 'NA' if missing and sets address line 2 to 'NA' if missing or contains only one character followed by spaces
R-GCCCCADD-cbl-01310 Build SF Stuffer Entity Segment
Process Rules
📊 Business Logic Narrative
When the process 'Build SF Stuffer Entity Segment' is invoked, and assuming that edi bol data is available for processing, when sf entity data is found in edi bol segments with entity type 'pn', the desired outcome is that extract sf entity name, address, city, state, postal code, country code and contact information to create sf segment with entity id 'sf'.
💻 Technical Criteria
Given EDI BOL data is available for processing
When SF entity data is found in EDI BOL segments with entity type 'PN'
Then Extract SF entity name, address, city, state, postal code, country code and contact information to create SF segment with entity ID 'SF'
R-GCCCCADD-cbl-01311 Build UC Ultimate Consignee Segment
Process Rules
📊 Business Logic Narrative
When the process 'Build UC Ultimate Consignee Segment' is invoked, and assuming that edi bol data is available for processing, when uc entity data is found in edi bol segments with entity type 'un', the desired outcome is that extract uc entity name, address, city, state, postal code, country code and contact information to create uc segment with entity id 'uc', defaulting address to 'na' if not provided.
💻 Technical Criteria
Given EDI BOL data is available for processing
When UC entity data is found in EDI BOL segments with entity type 'UN'
Then Extract UC entity name, address, city, state, postal code, country code and contact information to create UC segment with entity ID 'UC', defaulting address to 'NA' if not provided
R-GCCCCADD-cbl-01312 Build BN Beneficial Owner Segment
Process Rules
📊 Business Logic Narrative
When the process 'Build BN Beneficial Owner Segment' is invoked, and assuming that edi bol data is available for processing and organization id is set to 'bn', when bn entity data is found in edi bol segments with entity type 'bn', the desired outcome is that extract bn entity name from u1-name field, address from bt segments, city/state/postal/country from by segments to create bn segment with entity id 'bn', defaulting address to 'na' if not provided.
💻 Technical Criteria
Given EDI BOL data is available for processing and organization ID is set to 'BN'
When BN entity data is found in EDI BOL segments with entity type 'BN'
Then Extract BN entity name from U1-NAME field, address from BT segments, city/state/postal/country from BY segments to create BN segment with entity ID 'BN', defaulting address to 'NA' if not provided
R-GCCCCADD-cbl-01315 Build PF/SS Entity Segments from MCOA
Decision Rules
📊 Business Logic Narrative
When the process 'Build PF/SS Entity Segments from MCOA' is invoked, and assuming that edi bol mcoa segments are available for processing, when mcoa segment is found with organization id equal to 'pf' or 'ss', the desired outcome is that extract entity name, id code qualifier, id code from f5 fields and address information from on/oc segments to create pf or ss segment, defaulting address to 'na' if not provided.
💻 Technical Criteria
Given EDI BOL MCOA segments are available for processing
When MCOA segment is found with organization ID equal to 'PF' or 'SS'
Then Extract entity name, ID code qualifier, ID code from F5 fields and address information from ON/OC segments to create PF or SS segment, defaulting address to 'NA' if not provided
R-GCCCCADD-cbl-01319 Assign Country Codes
Definitional Rules
📊 Business Logic Narrative
When the process 'Assign Country Codes' is invoked, and assuming that entity segment contains state or province code information, when state/province code is provided in entity address data, the desired outcome is that search state-country reference table to find matching country code and assign it to entity country field, leaving blank if no match found.
💻 Technical Criteria
Given Entity segment contains state or province code information
When State/province code is provided in entity address data
Then Search state-country reference table to find matching country code and assign it to entity country field, leaving blank if no match found
R-GCCCCADD-cbl-01320 Validate All N1 Segments
Validation Rules
📊 Business Logic Narrative
When the process 'Validate All N1 Segments' is invoked, and assuming that entity segment is for shipper (sequence 0001) or consignee (sequence 0002), when entity name, address, city, state, postal code or country information is missing, the desired outcome is that generate appropriate error messages for missing required fields including entity id, name, address line 1, city, state/province, postal code and country code.
💻 Technical Criteria
Given Entity segment is for shipper (sequence 0001) or consignee (sequence 0002)
When Entity name, address, city, state, postal code or country information is missing
Then Generate appropriate error messages for missing required fields including entity ID, name, address line 1, city, state/province, postal code and country code
R-GCCCCADD-cbl-01322 Validate All N1 Segments
Validation Rules
📊 Business Logic Narrative
When the process 'Validate All N1 Segments' is invoked, and assuming that entity segment contains address and contact information, when city name has less than 2 characters or postal code has less than 3 characters or contact qualifier is provided without contact number or contact number is provided without qualifier, the desired outcome is that generate appropriate error messages for minimum length requirements and incomplete contact information.
💻 Technical Criteria
Given Entity segment contains address and contact information
When City name has less than 2 characters OR postal code has less than 3 characters OR contact qualifier is provided without contact number OR contact number is provided without qualifier
Then Generate appropriate error messages for minimum length requirements and incomplete contact information
R-GCCCCADD-cbl-01324 Initialize Contact Fields
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Contact Fields' is invoked, and assuming that contact information processing is starting for an entity, when the system begins contact data processing, the desired outcome is that all contact function code, person name, communication qualifier, and communication number fields are cleared.
💻 Technical Criteria
Given Contact information processing is starting for an entity
When The system begins contact data processing
Then All contact function code, person name, communication qualifier, and communication number fields are cleared
R-GCCCCADD-cbl-01325 EDI BOL PER Segment Available?
Decision Rules
📊 Business Logic Narrative
When the process 'EDI BOL PER Segment Available?' is invoked, and assuming that an entity record is being processed for contact information, when the system checks for edi bol per segment data, the desired outcome is that the system identifies whether contact information exists in the edi source or should use default processing.
💻 Technical Criteria
Given An entity record is being processed for contact information
When The system checks for EDI BOL PER segment data
Then The system identifies whether contact information exists in the EDI source or should use default processing
R-GCCCCADD-cbl-01326 Extract Contact Function Code
Action Rules
📊 Business Logic Narrative
When the process 'Extract Contact Function Code' is invoked, and assuming that edi bol per segment data is available, when the system processes contact information, the desired outcome is that the contact function code is extracted and stored in the contact function code field.
💻 Technical Criteria
Given EDI BOL PER segment data is available
When The system processes contact information
Then The contact function code is extracted and stored in the contact function code field
R-GCCCCADD-cbl-01327 Extract Contact Person Name
Action Rules
📊 Business Logic Narrative
When the process 'Extract Contact Person Name' is invoked, and assuming that edi bol per segment data is available, when the system processes contact information, the desired outcome is that the contact person name is extracted and stored in the person name field.
💻 Technical Criteria
Given EDI BOL PER segment data is available
When The system processes contact information
Then The contact person name is extracted and stored in the person name field
R-GCCCCADD-cbl-01328 Extract Communication Number Qualifier
Action Rules
📊 Business Logic Narrative
When the process 'Extract Communication Number Qualifier' is invoked, and assuming that edi bol per segment data is available, when the system processes contact information, the desired outcome is that the communication number qualifier is extracted and stored in the communication qualifier field.
💻 Technical Criteria
Given EDI BOL PER segment data is available
When The system processes contact information
Then The communication number qualifier is extracted and stored in the communication qualifier field
R-GCCCCADD-cbl-01329 Extract Communication Number
Action Rules
📊 Business Logic Narrative
When the process 'Extract Communication Number' is invoked, and assuming that edi bol per segment data is available, when the system processes contact information, the desired outcome is that the communication number is extracted and stored in the communication number field.
💻 Technical Criteria
Given EDI BOL PER segment data is available
When The system processes contact information
Then The communication number is extracted and stored in the communication number field
R-GCCCCADD-cbl-01331 Communication Number Missing?
Validation Rules
📊 Business Logic Narrative
When the process 'Communication Number Missing?' is invoked, and assuming that contact information contains a person name, when the system validates communication requirements, the desired outcome is that a communication number must be provided, otherwise generate a communication number required error.
💻 Technical Criteria
Given Contact information contains a person name
When The system validates communication requirements
Then A communication number must be provided, otherwise generate a communication number required error
R-GCCCCADD-cbl-01332 Communication Number Missing?
Validation Rules
📊 Business Logic Narrative
When the process 'Communication Number Missing?' is invoked, and assuming that contact information contains a communication number qualifier, when the system validates communication requirements, the desired outcome is that a communication number must be provided, otherwise generate a communication number required error.
💻 Technical Criteria
Given Contact information contains a communication number qualifier
When The system validates communication requirements
Then A communication number must be provided, otherwise generate a communication number required error
R-GCCCCADD-cbl-01333 Contact Name or Qualifier Present?
Validation Rules
📊 Business Logic Narrative
When the process 'Contact Name or Qualifier Present?' is invoked, and assuming that contact information contains a person name, when the system validates communication requirements, the desired outcome is that a communication number qualifier must be provided, otherwise generate a qualifier required error.
💻 Technical Criteria
Given Contact information contains a person name
When The system validates communication requirements
Then A communication number qualifier must be provided, otherwise generate a qualifier required error
R-GCCCCADD-cbl-01334 Contact Name or Qualifier Present?
Validation Rules
📊 Business Logic Narrative
When the process 'Contact Name or Qualifier Present?' is invoked, and assuming that contact information contains a communication number, when the system validates communication requirements, the desired outcome is that a communication number qualifier must be provided, otherwise generate a qualifier required error.
💻 Technical Criteria
Given Contact information contains a communication number
When The system validates communication requirements
Then A communication number qualifier must be provided, otherwise generate a qualifier required error
R-GCCCCADD-cbl-01336 Clear Contact Fields if No Data
Process Rules
📊 Business Logic Narrative
When the process 'Clear Contact Fields if No Data' is invoked, and assuming that no edi bol per segment data is available for an entity, when the system processes contact information, the desired outcome is that all contact fields are cleared or set to spaces.
💻 Technical Criteria
Given No EDI BOL PER segment data is available for an entity
When The system processes contact information
Then All contact fields are cleared or set to spaces
R-GCCCCADD-cbl-01338 Retrieve EDI BOL Stuffer Data EBSNRSC-PN
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve EDI BOL Stuffer Data EBSNRSC-PN' is invoked, and assuming that an edi bol key exists for the shipment, when the system searches for stuffer data with entity type 'pn' and sequence '01', the desired outcome is that the system retrieves stuffer name data if available or sets not found status.
💻 Technical Criteria
Given An EDI BOL key exists for the shipment
When The system searches for stuffer data with entity type 'PN' and sequence '01'
Then The system retrieves stuffer name data if available or sets not found status
R-GCCCCADD-cbl-01339 Stuffer Data Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Stuffer Data Found?' is invoked, and assuming that the system has attempted to retrieve stuffer name data from edi bol, when stuffer name data is successfully found, the desired outcome is that the system continues with stuffer entity processing.
💻 Technical Criteria
Given The system has attempted to retrieve stuffer name data from EDI BOL
When Stuffer name data is successfully found
Then The system continues with stuffer entity processing
R-GCCCCADD-cbl-01340 Stuffer Data Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Stuffer Data Found?' is invoked, and assuming that the system has attempted to retrieve stuffer name data from edi bol, when no stuffer name data is found, the desired outcome is that the system skips stuffer entity processing and continues to next entity type.
💻 Technical Criteria
Given The system has attempted to retrieve stuffer name data from EDI BOL
When No stuffer name data is found
Then The system skips stuffer entity processing and continues to next entity type
R-GCCCCADD-cbl-01341 Set Entity ID to 'SF'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Entity ID to 'SF'' is invoked, and assuming that stuffer name data has been successfully retrieved, when the system processes the stuffer entity information, the desired outcome is that the entity id field is set to 'sf' to identify this as a stuffer entity.
💻 Technical Criteria
Given Stuffer name data has been successfully retrieved
When The system processes the stuffer entity information
Then The entity ID field is set to 'SF' to identify this as a stuffer entity
R-GCCCCADD-cbl-01342 Extract Stuffer Name from U1-NAME
Process Rules
📊 Business Logic Narrative
When the process 'Extract Stuffer Name from U1-NAME' is invoked, and assuming that stuffer name data exists in the edi bol segment, when the system processes the stuffer entity information, the desired outcome is that the stuffer name is extracted from u1-name field and assigned to the entity name field.
💻 Technical Criteria
Given Stuffer name data exists in the EDI BOL segment
When The system processes the stuffer entity information
Then The stuffer name is extracted from U1-NAME field and assigned to the entity name field
R-GCCCCADD-cbl-01343 Clear ID Code Qualifier and ID Code
Process Rules
📊 Business Logic Narrative
When the process 'Clear ID Code Qualifier and ID Code' is invoked, and assuming that a stuffer entity record is being created, when the system sets up the stuffer entity fields, the desired outcome is that the id code qualifier and id code fields are set to spaces.
💻 Technical Criteria
Given A stuffer entity record is being created
When The system sets up the stuffer entity fields
Then The ID code qualifier and ID code fields are set to spaces
R-GCCCCADD-cbl-01344 Retrieve Stuffer Address EBSNRSA-PA
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Stuffer Address EBSNRSA-PA' is invoked, and assuming that stuffer entity processing is in progress and edi bol key exists, when the system searches for stuffer address data with type 'pa' for the stuffer entity, the desired outcome is that the system retrieves address information if available or sets not found status.
💻 Technical Criteria
Given Stuffer entity processing is in progress and EDI BOL key exists
When The system searches for stuffer address data with type 'PA' for the stuffer entity
Then The system retrieves address information if available or sets not found status
R-GCCCCADD-cbl-01345 Extract Address Lines from U2 fields
Process Rules
📊 Business Logic Narrative
When the process 'Extract Address Lines from U2 fields' is invoked, and assuming that stuffer address data has been successfully retrieved from edi bol, when the system processes the address information, the desired outcome is that address line 1 and address line 2 are extracted from u2-addl-name-addr-1 and u2-addl-name-addr-2 fields.
💻 Technical Criteria
Given Stuffer address data has been successfully retrieved from EDI BOL
When The system processes the address information
Then Address line 1 and address line 2 are extracted from U2-ADDL-NAME-ADDR-1 and U2-ADDL-NAME-ADDR-2 fields
R-GCCCCADD-cbl-01346 Set Default 'NA' for Address
Validation Rules
📊 Business Logic Narrative
When the process 'Set Default 'NA' for Address' is invoked, and assuming that no stuffer address data is found in edi bol, when the system processes stuffer address information, the desired outcome is that address line 1 is set to 'na' and address line 2 is set to spaces.
💻 Technical Criteria
Given No stuffer address data is found in EDI BOL
When The system processes stuffer address information
Then Address line 1 is set to 'NA' and address line 2 is set to spaces
R-GCCCCADD-cbl-01349 Retrieve Contact Information EBSNRSA-GP
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Contact Information EBSNRSA-GP' is invoked, and assuming that stuffer entity processing is in progress and edi bol key exists, when the system searches for stuffer contact data with type 'gp' for the stuffer entity, the desired outcome is that the system retrieves contact information if available.
💻 Technical Criteria
Given Stuffer entity processing is in progress and EDI BOL key exists
When The system searches for stuffer contact data with type 'GP' for the stuffer entity
Then The system retrieves contact information if available
R-GCCCCADD-cbl-01350 Extract Contact Function, Name, Communication Details
Process Rules
📊 Business Logic Narrative
When the process 'Extract Contact Function, Name, Communication Details' is invoked, and assuming that stuffer contact data has been successfully retrieved from edi bol, when the system processes the contact information, the desired outcome is that contact function code, contact name, communication number qualifier, and communication number are extracted from the contact segment.
💻 Technical Criteria
Given Stuffer contact data has been successfully retrieved from EDI BOL
When The system processes the contact information
Then Contact function code, contact name, communication number qualifier, and communication number are extracted from the contact segment
R-GCCCCADD-cbl-01352 Validate N1 Segment Data
Validation Rules
📊 Business Logic Narrative
When the process 'Validate N1 Segment Data' is invoked, and assuming that stuffer entity data has been populated from edi sources, when the system validates the complete stuffer entity segment, the desired outcome is that all required fields are validated and error messages are generated for any missing or invalid data.
💻 Technical Criteria
Given Stuffer entity data has been populated from EDI sources
When The system validates the complete stuffer entity segment
Then All required fields are validated and error messages are generated for any missing or invalid data
R-GCCCCADD-cbl-01354 Set Entity ID to 'UC'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Entity ID to 'UC'' is invoked, and assuming that an ultimate consignee segment is being processed, when the system processes the un segment data, the desired outcome is that the entity id code is set to 'uc' to identify this as an ultimate consignee record.
💻 Technical Criteria
Given An Ultimate Consignee segment is being processed
When The system processes the UN segment data
Then The entity ID code is set to 'UC' to identify this as an Ultimate Consignee record
R-GCCCCADD-cbl-01355 Extract Ultimate Consignee Name
Process Rules
📊 Business Logic Narrative
When the process 'Extract Ultimate Consignee Name' is invoked, and assuming that ultimate consignee edi data is available, when the system processes the un segment, the desired outcome is that the ultimate consignee name is extracted and assigned to the entity name field.
💻 Technical Criteria
Given Ultimate Consignee EDI data is available
When The system processes the UN segment
Then The ultimate consignee name is extracted and assigned to the entity name field
R-GCCCCADD-cbl-01356 Address Data Available?
Decision Rules
📊 Business Logic Narrative
When the process 'Address Data Available?' is invoked, and assuming that ultimate consignee address information is being processed, when the system checks for ua address segment availability, the desired outcome is that if ua address segment is found, extract address lines, otherwise set default address to 'na'.
💻 Technical Criteria
Given Ultimate Consignee address information is being processed
When The system checks for UA address segment availability
Then If UA address segment is found, extract address lines, otherwise set default address to 'NA'
R-GCCCCADD-cbl-01357 Extract Address Lines 1 & 2
Process Rules
📊 Business Logic Narrative
When the process 'Extract Address Lines 1 & 2' is invoked, and assuming that ua address segment data is available for ultimate consignee, when the system processes the address information, the desired outcome is that address line 1 and address line 2 are extracted from the ua segment data.
💻 Technical Criteria
Given UA address segment data is available for Ultimate Consignee
When The system processes the address information
Then Address line 1 and address line 2 are extracted from the UA segment data
R-GCCCCADD-cbl-01358 Set Default Address to 'NA'
Validation Rules
📊 Business Logic Narrative
When the process 'Set Default Address to 'NA'' is invoked, and assuming that no ua address segment is available for ultimate consignee, when the system processes address information, the desired outcome is that address line 1 is set to 'na' and address line 2 is set to spaces.
💻 Technical Criteria
Given No UA address segment is available for Ultimate Consignee
When The system processes address information
Then Address line 1 is set to 'NA' and address line 2 is set to spaces
R-GCCCCADD-cbl-01359 City/State Data Available?
Decision Rules
📊 Business Logic Narrative
When the process 'City/State Data Available?' is invoked, and assuming that ultimate consignee geographic information is being processed, when the system checks for uc city/state segment availability, the desired outcome is that if uc segment is found, extract city, state, postal and country codes, otherwise clear all geographic fields.
💻 Technical Criteria
Given Ultimate Consignee geographic information is being processed
When The system checks for UC city/state segment availability
Then If UC segment is found, extract city, state, postal and country codes, otherwise clear all geographic fields
R-GCCCCADD-cbl-01360 Extract City Name, Extract State/Province Code, Extract Postal Code, Extract Country Code
Process Rules
📊 Business Logic Narrative
When the process 'Extract City Name, Extract State/Province Code, Extract Postal Code, Extract Country Code' is invoked, and assuming that uc city/state segment data is available for ultimate consignee, when the system processes the geographic information, the desired outcome is that city name, state/province code, postal code, and country code are extracted from the uc segment.
💻 Technical Criteria
Given UC city/state segment data is available for Ultimate Consignee
When The system processes the geographic information
Then City name, state/province code, postal code, and country code are extracted from the UC segment
R-GCCCCADD-cbl-01361 Clear City/State/Postal Fields
Validation Rules
📊 Business Logic Narrative
When the process 'Clear City/State/Postal Fields' is invoked, and assuming that no uc city/state segment is available for ultimate consignee, when the system processes geographic information, the desired outcome is that city name, state/province code, postal code, and country code fields are set to spaces.
💻 Technical Criteria
Given No UC city/state segment is available for Ultimate Consignee
When The system processes geographic information
Then City name, state/province code, postal code, and country code fields are set to spaces
R-GCCCCADD-cbl-01362 Contact Data Available?
Decision Rules
📊 Business Logic Narrative
When the process 'Contact Data Available?' is invoked, and assuming that ultimate consignee contact information is being processed, when the system checks for gp contact segment availability, the desired outcome is that if gp segment is found, extract contact function code, name, communication qualifier and number, otherwise proceed to validation.
💻 Technical Criteria
Given Ultimate Consignee contact information is being processed
When The system checks for GP contact segment availability
Then If GP segment is found, extract contact function code, name, communication qualifier and number, otherwise proceed to validation
R-GCCCCADD-cbl-01363 Extract Contact Function Code, Extract Contact Name, Extract Communication Qualifier, Extract Communication Number
Process Rules
📊 Business Logic Narrative
When the process 'Extract Contact Function Code, Extract Contact Name, Extract Communication Qualifier, Extract Communication Number' is invoked, and assuming that gp contact segment data is available for ultimate consignee, when the system processes the contact information, the desired outcome is that contact function code, contact name, communication number qualifier, and communication number are extracted from the gp segment.
💻 Technical Criteria
Given GP contact segment data is available for Ultimate Consignee
When The system processes the contact information
Then Contact function code, contact name, communication number qualifier, and communication number are extracted from the GP segment
R-GCCCCADD-cbl-01364 Validate Address Requirements
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Address Requirements' is invoked, and assuming that ultimate consignee address information has been processed, when the system validates address requirements, the desired outcome is that if address line 1 is spaces, it is set to 'na' to meet minimum address requirements.
💻 Technical Criteria
Given Ultimate Consignee address information has been processed
When The system validates address requirements
Then If address line 1 is spaces, it is set to 'NA' to meet minimum address requirements
R-GCCCCADD-cbl-01365 Validate Entity Segment Data
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Entity Segment Data' is invoked, and assuming that ultimate consignee entity data has been assembled, when the system validates the entity segment, the desired outcome is that all required fields are validated according to entity segment validation rules including entity id, name, address, and contact information requirements.
💻 Technical Criteria
Given Ultimate Consignee entity data has been assembled
When The system validates the entity segment
Then All required fields are validated according to entity segment validation rules including entity ID, name, address, and contact information requirements
R-GCCCCADD-cbl-01372 BN Entity Found in EDI BOL?
Decision Rules
📊 Business Logic Narrative
When the process 'BN Entity Found in EDI BOL?' is invoked, and assuming that a search for beneficial owner entity in edi bol has been performed, when checking if beneficial owner entity data exists, the desired outcome is that if beneficial owner entity is found, proceed to extract entity details; otherwise, end beneficial owner processing.
💻 Technical Criteria
Given A search for beneficial owner entity in EDI BOL has been performed
When Checking if beneficial owner entity data exists
Then If beneficial owner entity is found, proceed to extract entity details; otherwise, end beneficial owner processing
R-GCCCCADD-cbl-01373 Extract BN Entity Name
Process Rules
📊 Business Logic Narrative
When the process 'Extract BN Entity Name' is invoked, and assuming that beneficial owner entity exists in edi bol, when processing beneficial owner entity information, the desired outcome is that the beneficial owner entity name is extracted and stored in the segment record.
💻 Technical Criteria
Given Beneficial owner entity exists in EDI BOL
When Processing beneficial owner entity information
Then The beneficial owner entity name is extracted and stored in the segment record
R-GCCCCADD-cbl-01374 Set Entity ID to 'BN'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Entity ID to 'BN'' is invoked, and assuming that beneficial owner entity name has been extracted, when setting the entity classification, the desired outcome is that the entity id is set to 'bn' (beneficial owner).
💻 Technical Criteria
Given Beneficial owner entity name has been extracted
When Setting the entity classification
Then The entity ID is set to 'BN' (Beneficial Owner)
R-GCCCCADD-cbl-01375 Extract Consignee CHOP Code
Process Rules
📊 Business Logic Narrative
When the process 'Extract Consignee CHOP Code' is invoked, and assuming that beneficial owner entity id has been set, when processing beneficial owner identification codes, the desired outcome is that the consignee chop code is extracted and stored in the beneficial owner segment.
💻 Technical Criteria
Given Beneficial owner entity ID has been set
When Processing beneficial owner identification codes
Then The consignee CHOP code is extracted and stored in the beneficial owner segment
R-GCCCCADD-cbl-01376 Search for BN Address Segment
Action Rules
📊 Business Logic Narrative
When the process 'Search for BN Address Segment' is invoked, and assuming that beneficial owner entity information has been processed, when searching for beneficial owner address data, the desired outcome is that the system retrieves address segment information for the beneficial owner.
💻 Technical Criteria
Given Beneficial owner entity information has been processed
When Searching for beneficial owner address data
Then The system retrieves address segment information for the beneficial owner
R-GCCCCADD-cbl-01378 Extract Address Line 1 and 2
Process Rules
📊 Business Logic Narrative
When the process 'Extract Address Line 1 and 2' is invoked, and assuming that beneficial owner address segment exists, when processing beneficial owner address information, the desired outcome is that address line 1 and address line 2 are extracted and stored in the beneficial owner segment.
💻 Technical Criteria
Given Beneficial owner address segment exists
When Processing beneficial owner address information
Then Address line 1 and address line 2 are extracted and stored in the beneficial owner segment
R-GCCCCADD-cbl-01380 Search for BN City/State Segment
Action Rules
📊 Business Logic Narrative
When the process 'Search for BN City/State Segment' is invoked, and assuming that beneficial owner address processing is complete, when searching for beneficial owner city and state data, the desired outcome is that the system retrieves city/state segment information for the beneficial owner.
💻 Technical Criteria
Given Beneficial owner address processing is complete
When Searching for beneficial owner city and state data
Then The system retrieves city/state segment information for the beneficial owner
R-GCCCCADD-cbl-01388 Set Organization ID to 'C1'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Organization ID to 'C1'' is invoked, and assuming that a c1 carrier entity segment is being processed, when the organization identifier needs to be set, the desired outcome is that the organization id is set to 'c1' to identify this as a carrier entity.
💻 Technical Criteria
Given A C1 carrier entity segment is being processed
When The organization identifier needs to be set
Then The organization ID is set to 'C1' to identify this as a carrier entity
R-GCCCCADD-cbl-01396 Extract Carrier from Fastway Consignee Field
Process Rules
📊 Business Logic Narrative
When the process 'Extract Carrier from Fastway Consignee Field' is invoked, and assuming that fastway consignee data code equals 'c' indicating carrier type, when carrier information needs to be extracted from fastway data, the desired outcome is that the entity id is set to 'c1', carrier name is extracted from consignee data field 2, and id code qualifiers are cleared.
💻 Technical Criteria
Given Fastway consignee data code equals 'C' indicating carrier type
When Carrier information needs to be extracted from Fastway data
Then The entity ID is set to 'C1', carrier name is extracted from consignee data field 2, and ID code qualifiers are cleared
R-GCCCCADD-cbl-01398 Parse City/State/Postal from Address
Process Rules
📊 Business Logic Narrative
When the process 'Parse City/State/Postal from Address' is invoked, and assuming that fastway consignee address is being used as carrier address, when city, state, and postal code information needs to be extracted, the desired outcome is that consignee data field 4 is parsed to extract city name, state/province code, and postal code.
💻 Technical Criteria
Given Fastway consignee address is being used as carrier address
When City, state, and postal code information needs to be extracted
Then Consignee data field 4 is parsed to extract city name, state/province code, and postal code
R-GCCCCADD-cbl-01400 Validate C1 Segment Data
Validation Rules
📊 Business Logic Narrative
When the process 'Validate C1 Segment Data' is invoked, and assuming that c1 carrier segment data has been populated from either edi bol or fastway sources, when the c1 segment needs to be validated before insertion, the desired outcome is that the n1 segment validation routine is performed to check required fields and data formats.
💻 Technical Criteria
Given C1 carrier segment data has been populated from either EDI BOL or Fastway sources
When The C1 segment needs to be validated before insertion
Then The N1 segment validation routine is performed to check required fields and data formats
R-GCCCCADD-cbl-01403 Set Entity ID to 'N1'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Entity ID to 'N1'' is invoked, and assuming that an initialized n1 segment record exists, when processing notify party entity information, the desired outcome is that the entity id code is set to 'n1' to identify this as a notify party record.
💻 Technical Criteria
Given An initialized N1 segment record exists
When Processing notify party entity information
Then The entity ID code is set to 'N1' to identify this as a notify party record
R-GCCCCADD-cbl-01409 Clear ID Code Qualifier and ID Code
Process Rules
📊 Business Logic Narrative
When the process 'Clear ID Code Qualifier and ID Code' is invoked, and assuming that an n1 entity record is being processed, when setting up the entity identification fields, the desired outcome is that both id code qualifier and id code fields are set to spaces.
💻 Technical Criteria
Given An N1 entity record is being processed
When Setting up the entity identification fields
Then Both ID code qualifier and ID code fields are set to spaces
R-GCCCCADD-cbl-01412 Extract Address Line 1
Process Rules
📊 Business Logic Narrative
When the process 'Extract Address Line 1' is invoked, and assuming that a t2 address segment has been found, when processing address information, the desired outcome is that the first address line is extracted and stored in the n1 segment record.
💻 Technical Criteria
Given A T2 address segment has been found
When Processing address information
Then The first address line is extracted and stored in the N1 segment record
R-GCCCCADD-cbl-01413 Extract Address Line 2
Process Rules
📊 Business Logic Narrative
When the process 'Extract Address Line 2' is invoked, and assuming that a t2 address segment has been found and address line 1 processed, when processing additional address information, the desired outcome is that the second address line is extracted and stored in the n1 segment record.
💻 Technical Criteria
Given A T2 address segment has been found and address line 1 processed
When Processing additional address information
Then The second address line is extracted and stored in the N1 segment record
R-GCCCCADD-cbl-01416 Extract City Name
Process Rules
📊 Business Logic Narrative
When the process 'Extract City Name' is invoked, and assuming that a ta city/state segment has been found, when processing city information, the desired outcome is that the city name is extracted and stored in the n1 segment record.
💻 Technical Criteria
Given A TA city/state segment has been found
When Processing city information
Then The city name is extracted and stored in the N1 segment record
R-GCCCCADD-cbl-01417 Extract State/Province Code
Process Rules
📊 Business Logic Narrative
When the process 'Extract State/Province Code' is invoked, and assuming that a ta city/state segment has been found and city processed, when processing state/province information, the desired outcome is that the state/province code is extracted and stored in the n1 segment record.
💻 Technical Criteria
Given A TA city/state segment has been found and city processed
When Processing state/province information
Then The state/province code is extracted and stored in the N1 segment record
R-GCCCCADD-cbl-01418 Extract Postal Code
Process Rules
📊 Business Logic Narrative
When the process 'Extract Postal Code' is invoked, and assuming that a ta city/state segment has been found and state/province processed, when processing postal code information, the desired outcome is that the postal code is extracted and stored in the n1 segment record.
💻 Technical Criteria
Given A TA city/state segment has been found and state/province processed
When Processing postal code information
Then The postal code is extracted and stored in the N1 segment record
R-GCCCCADD-cbl-01419 Extract Country Code
Process Rules
📊 Business Logic Narrative
When the process 'Extract Country Code' is invoked, and assuming that a ta city/state segment has been found and postal code processed, when processing country information, the desired outcome is that the country code is extracted and stored in the n1 segment record.
💻 Technical Criteria
Given A TA city/state segment has been found and postal code processed
When Processing country information
Then The country code is extracted and stored in the N1 segment record
R-GCCCCADD-cbl-01422 Extract Contact Function Code
Process Rules
📊 Business Logic Narrative
When the process 'Extract Contact Function Code' is invoked, and assuming that a t3 contact segment has been found, when processing contact function information, the desired outcome is that the contact function code is extracted and stored in the n1 segment record.
💻 Technical Criteria
Given A T3 contact segment has been found
When Processing contact function information
Then The contact function code is extracted and stored in the N1 segment record
R-GCCCCADD-cbl-01423 Extract Contact Name
Process Rules
📊 Business Logic Narrative
When the process 'Extract Contact Name' is invoked, and assuming that a t3 contact segment has been found and contact function processed, when processing contact name information, the desired outcome is that the contact name is extracted and stored in the n1 segment record.
💻 Technical Criteria
Given A T3 contact segment has been found and contact function processed
When Processing contact name information
Then The contact name is extracted and stored in the N1 segment record
R-GCCCCADD-cbl-01424 Extract Communication Number Qualifier
Process Rules
📊 Business Logic Narrative
When the process 'Extract Communication Number Qualifier' is invoked, and assuming that a t3 contact segment has been found and contact name processed, when processing communication qualifier information, the desired outcome is that the communication number qualifier is extracted and stored in the n1 segment record.
💻 Technical Criteria
Given A T3 contact segment has been found and contact name processed
When Processing communication qualifier information
Then The communication number qualifier is extracted and stored in the N1 segment record
R-GCCCCADD-cbl-01425 Extract Communication Number
Process Rules
📊 Business Logic Narrative
When the process 'Extract Communication Number' is invoked, and assuming that a t3 contact segment has been found and communication qualifier processed, when processing communication number information, the desired outcome is that the communication number is extracted and stored in the n1 segment record.
💻 Technical Criteria
Given A T3 contact segment has been found and communication qualifier processed
When Processing communication number information
Then The communication number is extracted and stored in the N1 segment record
R-GCCCCADD-cbl-01427 Validate N1 Segment Data
Validation Rules
📊 Business Logic Narrative
When the process 'Validate N1 Segment Data' is invoked, and assuming that an n1 segment record has been populated with entity data, when validating the segment before database insertion, the desired outcome is that all required fields are validated and any validation errors are recorded.
💻 Technical Criteria
Given An N1 segment record has been populated with entity data
When Validating the segment before database insertion
Then All required fields are validated and any validation errors are recorded
R-GCCCCADD-cbl-01433 Entity Type is PF or SS?
Decision Rules
📊 Business Logic Narrative
When the process 'Entity Type is PF or SS?' is invoked, and assuming that a valid mcoa segment has been found, when the entity organization id is checked, the desired outcome is that processing continues only if the entity type is 'pf' or 'ss'.
💻 Technical Criteria
Given a valid MCOA segment has been found
When the entity organization ID is checked
Then processing continues only if the entity type is 'PF' or 'SS'
R-GCCCCADD-cbl-01434 Extract Entity Information
Process Rules
📊 Business Logic Narrative
When the process 'Extract Entity Information' is invoked, and assuming that a mcoa segment with entity type pf or ss, when entity information is extracted, the desired outcome is that entity id, name, id code qualifier, and id code are captured from the segment.
💻 Technical Criteria
Given a MCOA segment with entity type PF or SS
When entity information is extracted
Then entity ID, name, ID code qualifier, and ID code are captured from the segment
R-GCCCCADD-cbl-01435 Set Entity ID and Name
Process Rules
📊 Business Logic Narrative
When the process 'Set Entity ID and Name' is invoked, and assuming that mcoa segment data with valid entity information, when entity identification fields are populated, the desired outcome is that the entity id code is set to the organization id and entity name is set to the organization name.
💻 Technical Criteria
Given MCOA segment data with valid entity information
When entity identification fields are populated
Then the entity ID code is set to the organization ID and entity name is set to the organization name
R-GCCCCADD-cbl-01436 Set ID Code Qualifier and Code
Process Rules
📊 Business Logic Narrative
When the process 'Set ID Code Qualifier and Code' is invoked, and assuming that mcoa segment with entity identification data, when id code fields are populated, the desired outcome is that the id code qualifier and id code are set from the mcoa segment, and chop code is cleared.
💻 Technical Criteria
Given MCOA segment with entity identification data
When ID code fields are populated
Then the ID code qualifier and ID code are set from the MCOA segment, and CHOP code is cleared
R-GCCCCADD-cbl-01438 Address Data Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Address Data Found?' is invoked, and assuming that address information retrieval has been attempted, when the system checks if mcoa on segment data exists, the desired outcome is that address processing continues if data is found, otherwise default address is set.
💻 Technical Criteria
Given address information retrieval has been attempted
When the system checks if MCOA ON segment data exists
Then address processing continues if data is found, otherwise default address is set
R-GCCCCADD-cbl-01442 City/State Data Found?
Validation Rules
📊 Business Logic Narrative
When the process 'City/State Data Found?' is invoked, and assuming that city/state information retrieval has been attempted, when the system checks if mcoa oc segment data exists, the desired outcome is that geographic data processing continues if found, otherwise fields are cleared.
💻 Technical Criteria
Given city/state information retrieval has been attempted
When the system checks if MCOA OC segment data exists
Then geographic data processing continues if found, otherwise fields are cleared
R-GCCCCADD-cbl-01445 Validate Entity Segment
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Entity Segment' is invoked, and assuming that a completed entity segment with all available data, when entity segment validation is performed, the desired outcome is that the segment is validated according to n1 segment validation rules.
💻 Technical Criteria
Given a completed entity segment with all available data
When entity segment validation is performed
Then the segment is validated according to N1 segment validation rules
R-GCCCCADD-cbl-01479 Invalid State/Country combination?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Invalid State/Country combination?', assuming that an n1 segment has both state/province code and country code provided, when the state/province code is not found in the state-country lookup table for the specified country, the desired outcome is that generate an invalid state/province code error message.
💻 Technical Criteria
EXCLUDING An N1 segment has both state/province code and country code provided
When The state/province code is not found in the state-country lookup table for the specified country
Then Generate an invalid state/province code error message
R-GCCCCADD-cbl-01493 Invalid State/Country Combination?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Invalid State/Country Combination?', assuming that an n1 segment record with state and country codes is being validated, when state/province code and country code combination is not found in the state-country reference table, the desired outcome is that generate an error indicating invalid state/province code for the specified country.
💻 Technical Criteria
EXCLUDING An N1 segment record with state and country codes is being validated
When State/province code and country code combination is not found in the state-country reference table
Then Generate an error indicating invalid state/province code for the specified country
R-GCCCCADD-cbl-01503 State-Country Combination Found?
Validation Rules
📊 Business Logic Narrative
When the process 'State-Country Combination Found?' is invoked, and assuming that a state-country lookup has been performed, when the system evaluates the search results, the desired outcome is that if combination found, mark as valid; if not found, generate invalid state/province error.
💻 Technical Criteria
Given A state-country lookup has been performed
When The system evaluates the search results
Then If combination found, mark as valid; if not found, generate invalid state/province error
R-GCCCCADD-cbl-01504 Mark as Valid State/Province
Process Rules
📊 Business Logic Narrative
When the process 'Mark as Valid State/Province' is invoked, and assuming that a state/province and country combination has been found in the lookup table, when the validation process confirms the combination is valid, the desired outcome is that set the validation flag to indicate valid state/province combination.
💻 Technical Criteria
Given A state/province and country combination has been found in the lookup table
When The validation process confirms the combination is valid
Then Set the validation flag to indicate valid state/province combination
R-GCCCCADD-cbl-01505 Generate Invalid State/Province Error
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Invalid State/Province Error', assuming that a state/province and country combination is not found in the lookup table, when the validation process determines the combination is invalid, the desired outcome is that generate error message indicating invalid state/province code for the country.
💻 Technical Criteria
EXCLUDING A state/province and country combination is not found in the lookup table
When The validation process determines the combination is invalid
Then Generate error message indicating invalid state/province code for the country
R-GCCCCADD-cbl-01507 Country Code Missing?
Decision Rules
📊 Business Logic Narrative
When the process 'Country Code Missing?' is invoked, and assuming that an address is being validated, when the system checks the country code field, the desired outcome is that if country code is spaces or missing, attempt to derive from state/province; otherwise complete validation.
💻 Technical Criteria
Given An address is being validated
When The system checks the country code field
Then If country code is spaces or missing, attempt to derive from state/province; otherwise complete validation
R-GCCCCADD-cbl-01510 Generate Required Country Code Error
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Required Country Code Error' is invoked, and assuming that country code is missing and cannot be derived from state/province code, when the validation process completes country code determination, the desired outcome is that generate error message indicating country code is required.
💻 Technical Criteria
Given Country code is missing and cannot be derived from state/province code
When The validation process completes country code determination
Then Generate error message indicating country code is required
R-GCCCCADD-cbl-01511 Build SF Stuffer Entity Segments
Process Rules
📊 Business Logic Narrative
When the process 'Build SF Stuffer Entity Segments' is invoked, and assuming that an edi bol contains sf stuffer entity data with entity name pn type, when processing sf entity segments from ebsnrsc data source, the desired outcome is that extract entity name, address information from pa type, city/state/postal/country from pc type, and contact information from gp type, then create sf entity record with default 'na' address if address is blank.
💻 Technical Criteria
Given An EDI BOL contains SF stuffer entity data with entity name PN type
When Processing SF entity segments from EBSNRSC data source
Then Extract entity name, address information from PA type, city/state/postal/country from PC type, and contact information from GP type, then create SF entity record with default 'NA' address if address is blank
R-GCCCCADD-cbl-01512 Build UC Ultimate Consignee Segments
Process Rules
📊 Business Logic Narrative
When the process 'Build UC Ultimate Consignee Segments' is invoked, and assuming that an edi bol contains uc ultimate consignee entity data with entity name un type, when processing uc entity segments from ebsnrsc data source, the desired outcome is that extract entity name, address information from ua type, city/state/postal/country from uc type, and contact information from gp type, then create uc entity record with default 'na' address if address is blank.
💻 Technical Criteria
Given An EDI BOL contains UC ultimate consignee entity data with entity name UN type
When Processing UC entity segments from EBSNRSC data source
Then Extract entity name, address information from UA type, city/state/postal/country from UC type, and contact information from GP type, then create UC entity record with default 'NA' address if address is blank
R-GCCCCADD-cbl-01516 Build PF/SS MCOA Entity Segments
Decision Rules
📊 Business Logic Narrative
When the process 'Build PF/SS MCOA Entity Segments' is invoked, and assuming that mcoa data exists in ebsmcoa with organization id equals 'pf' or 'ss', when processing pf/ss entity segments from ebsmcoa data source, the desired outcome is that extract entity name, id code qualifier, and id code from ot type, address information from on type, city/state/postal/country from oc type, then create pf or ss entity record with default 'na' address if address is blank.
💻 Technical Criteria
Given MCOA data exists in EBSMCOA with organization ID equals 'PF' or 'SS'
When Processing PF/SS entity segments from EBSMCOA data source
Then Extract entity name, ID code qualifier, and ID code from OT type, address information from ON type, city/state/postal/country from OC type, then create PF or SS entity record with default 'NA' address if address is blank
R-GCCCCADD-cbl-01518 Build NN Entity Segments
Validation Rules
📊 Business Logic Narrative
When the process 'Build NN Entity Segments' is invoked, and assuming that edi bol contains nn named entity data with valid entity id codes, when processing nn entity segments from ebsnrsc data source and entity id is valid, the desired outcome is that extract entity name and consignee chop code, address information from gc type, city/state/postal/country from ga type, then create nn entity record with default 'na' address if address is blank.
💻 Technical Criteria
Given EDI BOL contains NN named entity data with valid entity ID codes
When Processing NN entity segments from EBSNRSC data source and entity ID is valid
Then Extract entity name and consignee chop code, address information from GC type, city/state/postal/country from GA type, then create NN entity record with default 'NA' address if address is blank
R-GCCCCADD-cbl-01524 Assign Country Codes
Computation Rules
📊 Business Logic Narrative
When the process 'Assign Country Codes' is invoked, and assuming that an entity record contains state or province code information, when processing entity address information from fastway data, the desired outcome is that search state-country lookup table to find matching state/province code and assign corresponding country code to entity record.
💻 Technical Criteria
Given An entity record contains state or province code information
When Processing entity address information from Fastway data
Then Search state-country lookup table to find matching state/province code and assign corresponding country code to entity record
R-GCCCCADD-cbl-01526 Get EDI BOL Segment for Entity Type
Action Rules
📊 Business Logic Narrative
When the process 'Get EDI BOL Segment for Entity Type' is invoked, and assuming that an edi bol key exists and entity type is specified, when system attempts to retrieve entity segment data from ebsnrsc, the desired outcome is that entity segment data is retrieved if found, otherwise segment is marked as not found.
💻 Technical Criteria
Given An EDI BOL key exists and entity type is specified
When System attempts to retrieve entity segment data from EBSNRSC
Then Entity segment data is retrieved if found, otherwise segment is marked as not found
R-GCCCCADD-cbl-01527 Extract Entity Name from N1 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Entity Name from N1 Segment' is invoked, and assuming that edi bol n1 segment data is available, when system processes entity identification information, the desired outcome is that entity id code, name, id code qualifier, and id code are extracted and populated.
💻 Technical Criteria
Given EDI BOL N1 segment data is available
When System processes entity identification information
Then Entity ID code, name, ID code qualifier, and ID code are extracted and populated
R-GCCCCADD-cbl-01528 Get Address Segment N3
Action Rules
📊 Business Logic Narrative
When the process 'Get Address Segment N3' is invoked, and assuming that entity n1 segment has been processed and edi bol key exists, when system attempts to retrieve address segment data from ebsnrsa, the desired outcome is that address segment data is retrieved if found, otherwise address processing is skipped.
💻 Technical Criteria
Given Entity N1 segment has been processed and EDI BOL key exists
When System attempts to retrieve address segment data from EBSNRSA
Then Address segment data is retrieved if found, otherwise address processing is skipped
R-GCCCCADD-cbl-01529 Extract Address Line 1
Process Rules
📊 Business Logic Narrative
When the process 'Extract Address Line 1' is invoked, and assuming that edi bol n3 address segment data is available, when system processes address information, the desired outcome is that address line 1 and address line 2 are extracted and populated in entity record.
💻 Technical Criteria
Given EDI BOL N3 address segment data is available
When System processes address information
Then Address line 1 and address line 2 are extracted and populated in entity record
R-GCCCCADD-cbl-01530 Get City/State Segment N4
Action Rules
📊 Business Logic Narrative
When the process 'Get City/State Segment N4' is invoked, and assuming that entity address information has been processed and edi bol key exists, when system attempts to retrieve city/state segment data from ebsnrsa, the desired outcome is that city/state segment data is retrieved if found, otherwise geographic processing is skipped.
💻 Technical Criteria
Given Entity address information has been processed and EDI BOL key exists
When System attempts to retrieve city/state segment data from EBSNRSA
Then City/state segment data is retrieved if found, otherwise geographic processing is skipped
R-GCCCCADD-cbl-01531 Extract City Name
Process Rules
📊 Business Logic Narrative
When the process 'Extract City Name' is invoked, and assuming that edi bol n4 city/state segment data is available, when system processes geographic information, the desired outcome is that city name, state/province code, postal code, and country code are extracted and populated.
💻 Technical Criteria
Given EDI BOL N4 city/state segment data is available
When System processes geographic information
Then City name, state/province code, postal code, and country code are extracted and populated
R-GCCCCADD-cbl-01532 Get Contact Segment PER
Action Rules
📊 Business Logic Narrative
When the process 'Get Contact Segment PER' is invoked, and assuming that entity geographic information has been processed and edi bol key exists, when system attempts to retrieve contact segment data from ebsnrsa or ebsnrtd, the desired outcome is that contact segment data is retrieved if found, otherwise contact processing is skipped.
💻 Technical Criteria
Given Entity geographic information has been processed and EDI BOL key exists
When System attempts to retrieve contact segment data from EBSNRSA or EBSNRTD
Then Contact segment data is retrieved if found, otherwise contact processing is skipped
R-GCCCCADD-cbl-01533 Extract Contact Function Code
Process Rules
📊 Business Logic Narrative
When the process 'Extract Contact Function Code' is invoked, and assuming that edi bol per contact segment data is available, when system processes contact information, the desired outcome is that contact function code, person name, communication number qualifier, and communication number are extracted and populated.
💻 Technical Criteria
Given EDI BOL PER contact segment data is available
When System processes contact information
Then Contact function code, person name, communication number qualifier, and communication number are extracted and populated
R-GCCCCADD-cbl-01540 Lookup Country Code
Decision Rules
📊 Business Logic Narrative
When the process 'Lookup Country Code' is invoked, and assuming that state or province code exists from parsed address data and state-country lookup table is available, when country code determination is required for address validation, the desired outcome is that search state-country table for matching state/province code and set country code from table entry when match found and set country code to spaces when no match found and add error message when country code cannot be determined.
💻 Technical Criteria
Given State or province code exists from parsed address data AND state-country lookup table is available
When Country code determination is required for address validation
Then Search state-country table for matching state/province code AND set country code from table entry when match found AND set country code to spaces when no match found AND add error message when country code cannot be determined
R-GCCCCADD-cbl-01541 Populate Carrier from Fastway
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Populate Carrier from Fastway', assuming that carrier entity type (c1) is required and edi bol data is not available and fastway shipment data exists, when building carrier record and consignee data code field 2 equals 'c', the desired outcome is that set entity id to 'c1' and populate carrier name from consignee data field 2 and populate carrier address from consignee data field 3 and set carrier address to 'na' when field 3 is spaces and parse carrier address components for city, state, postal code, and country.
💻 Technical Criteria
EXCLUDING Carrier entity type (C1) is required AND EDI BOL data is not available AND Fastway shipment data exists
When Building carrier record AND consignee data code field 2 equals 'C'
Then Set entity ID to 'C1' AND populate carrier name from consignee data field 2 AND populate carrier address from consignee data field 3 AND set carrier address to 'NA' when field 3 is spaces AND parse carrier address components for city, state, postal code, and country
R-GCCCCADD-cbl-01542 Set Default NA for Missing Address
Validation Rules
📊 Business Logic Narrative
When the process 'Set Default NA for Missing Address' is invoked, and assuming that entity record is being built for shipper or consignee, when shipper name is spaces or consignee name is spaces, the desired outcome is that add error message for invalid shipper name when shipper name is missing and add error message for invalid consignee name when consignee name is missing.
💻 Technical Criteria
Given Entity record is being built for shipper or consignee
When Shipper name is spaces OR consignee name is spaces
Then Add error message for invalid shipper name when shipper name is missing AND add error message for invalid consignee name when consignee name is missing
R-GCCCCADD-cbl-01550 Initialize State Search Index to 1
Process Rules
📊 Business Logic Narrative
When the process 'Initialize State Search Index to 1' is invoked, and assuming that an entity has a state or province code requiring country assignment, when the system begins the lookup process, the desired outcome is that the system should set the search index to position 1 to start searching from the beginning of the state-country table.
💻 Technical Criteria
Given An entity has a state or province code requiring country assignment
When The system begins the lookup process
Then The system should set the search index to position 1 to start searching from the beginning of the state-country table
R-GCCCCADD-cbl-01563 City name too short?
Validation Rules
📊 Business Logic Narrative
When the process 'City name too short?' is invoked, and assuming that a record has city name populated, when city name length is less than 2 characters, the desired outcome is that generate minimum length requirement error message.
💻 Technical Criteria
Given A record has city name populated
When City name length is less than 2 characters
Then Generate minimum length requirement error message
R-GCCCCADD-cbl-01564 Postal code too short?
Validation Rules
📊 Business Logic Narrative
When the process 'Postal code too short?' is invoked, and assuming that a record has postal code populated, when postal code length is less than 3 characters, the desired outcome is that generate postal code minimum length requirement error message.
💻 Technical Criteria
Given A record has postal code populated
When Postal code length is less than 3 characters
Then Generate postal code minimum length requirement error message
R-GCCCCADD-cbl-01566 State/Country combination invalid?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'State/Country combination invalid?', assuming that a record has both state/province code and country code populated, when state/province code does not belong to the specified country based on lookup table, the desired outcome is that generate invalid state/country combination error message.
💻 Technical Criteria
EXCLUDING A record has both state/province code and country code populated
When State/province code does not belong to the specified country based on lookup table
Then Generate invalid state/country combination error message
R-GCCCCADD-cbl-01567 Auto-assign Country from State
Decision Rules
📊 Business Logic Narrative
When the process 'Auto-assign Country from State' is invoked, and assuming that a record has state/province code populated but country code is missing, when state/province code lookup is performed, the desired outcome is that assign corresponding country code from the state-country lookup table.
💻 Technical Criteria
Given A record has state/province code populated but country code is missing
When State/province code lookup is performed
Then Assign corresponding country code from the state-country lookup table
R-GCCCCADD-cbl-01578 Address Information Requirement Validation - Validate that address information is provided when entity ID and name are present
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Address Information Requirement Validation - Validate that address information is provided when entity ID and name are present', assuming that an entity record is being processed with entity id and name fields, when the entity id is not spaces and the entity name is not spaces and the address line 1 is spaces, the desired outcome is that the system generates an error message indicating that address information is required.
💻 Technical Criteria
EXCLUDING An entity record is being processed with entity ID and name fields
When The entity ID is not spaces AND the entity name is not spaces AND the address line 1 is spaces
Then The system generates an error message indicating that address information is required
R-GCCCCADD-cbl-01579 City Name Length Validation - Validate city name has minimum 2 character length requirement
Validation Rules
📊 Business Logic Narrative
When the process 'City Name Length Validation - Validate city name has minimum 2 character length requirement' is invoked, and assuming that a city name field is provided in the address information, when the system validates the city name length, the desired outcome is that if the city name has fewer than 2 characters, generate a minimum length requirement error message and add it to the error queue.
💻 Technical Criteria
Given A city name field is provided in the address information
When The system validates the city name length
Then If the city name has fewer than 2 characters, generate a minimum length requirement error message and add it to the error queue
R-GCCCCADD-cbl-01580 City Name Present?
Validation Rules
📊 Business Logic Narrative
When the process 'City Name Present?' is invoked, and assuming that an n4 segment with city name field is being processed, when the system checks for city name presence, the desired outcome is that if city name is spaces, skip length validation and continue processing.
💻 Technical Criteria
Given An N4 segment with city name field is being processed
When The system checks for city name presence
Then If city name is spaces, skip length validation and continue processing
R-GCCCCADD-cbl-01582 Generate Min Length Error Message
Action Rules
📊 Business Logic Narrative
When the process 'Generate Min Length Error Message' is invoked, and assuming that a city name that has fewer than 2 characters, when the minimum length validation fails, the desired outcome is that generate error message with code gccs-e-gen-min-len2-req indicating minimum 2 character length requirement.
💻 Technical Criteria
Given A city name that has fewer than 2 characters
When The minimum length validation fails
Then Generate error message with code GCCS-E-GEN-MIN-LEN2-REQ indicating minimum 2 character length requirement
R-GCCCCADD-cbl-01583 Add Error to Message Queue
Process Rules
📊 Business Logic Narrative
When the process 'Add Error to Message Queue' is invoked, and assuming that a validation error message has been generated, when the error needs to be recorded, the desired outcome is that add the error message to the message queue if there are fewer than 10 messages already queued.
💻 Technical Criteria
Given A validation error message has been generated
When The error needs to be recorded
Then Add the error message to the message queue if there are fewer than 10 messages already queued
R-GCCCCADD-cbl-01584 Is Postal Code Present?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Postal Code Present?' is invoked, and assuming that a postal code field contains data, when the system validates the postal code, the desired outcome is that the system should continue validation if postal code is not present.
💻 Technical Criteria
Given A postal code field contains data
When The system validates the postal code
Then The system should continue validation if postal code is not present
R-GCCCCADD-cbl-01586 String Length >= 3?
Validation Rules
📊 Business Logic Narrative
When the process 'String Length >= 3?' is invoked, and assuming that a postal code has been provided and its actual length calculated, when the actual string length is less than 3 characters, the desired outcome is that the system should trigger a validation error for insufficient postal code length.
💻 Technical Criteria
Given A postal code has been provided and its actual length calculated
When The actual string length is less than 3 characters
Then The system should trigger a validation error for insufficient postal code length
R-GCCCCADD-cbl-01588 Add Validation Error Message to Error Collection
Process Rules
📊 Business Logic Narrative
When the process 'Add Validation Error Message to Error Collection' is invoked, and assuming that a postal code validation error message has been retrieved, when the system processes the validation failure, the desired outcome is that the system should add the error message to the validation error collection.
💻 Technical Criteria
Given A postal code validation error message has been retrieved
When The system processes the validation failure
Then The system should add the error message to the validation error collection
R-GCCCCADD-cbl-01595 State/Province and Country Match Found?
Validation Rules
📊 Business Logic Narrative
When the process 'State/Province and Country Match Found?' is invoked, and assuming that an address record with both state/province code and country code populated, when the state/province code and country code combination is searched in the state-country lookup table, the desired outcome is that if a matching combination is found, set valid province flag; otherwise set invalid province flag and generate invalid state/province error.
💻 Technical Criteria
Given An address record with both state/province code and country code populated
When The state/province code and country code combination is searched in the state-country lookup table
Then If a matching combination is found, set valid province flag; otherwise set invalid province flag and generate invalid state/province error
R-GCCCCADD-cbl-01602 Contact Name Present?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Contact Name Present?', assuming that a contact record is being validated, when contact name is not blank and communication qualifier is blank, the desired outcome is that system generates required communication qualifier error message.
💻 Technical Criteria
EXCLUDING A contact record is being validated
When Contact name is not blank AND communication qualifier is blank
Then System generates required communication qualifier error message
R-GCCCCADD-cbl-01603 Communication Number Present?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Communication Number Present?', assuming that a contact record is being validated, when communication number is not blank and communication qualifier is blank, the desired outcome is that system generates required communication qualifier error message.
💻 Technical Criteria
EXCLUDING A contact record is being validated
When Communication number is not blank AND communication qualifier is blank
Then System generates required communication qualifier error message
R-GCCCCADD-cbl-01618 String Length Calculation Utility
Computation Rules
📊 Business Logic Narrative
When the process 'String Length Calculation Utility' is invoked, and assuming that a string field that may contain trailing spaces, when the system needs to determine the actual content length, the desired outcome is that the system calculates length by counting from the end until a non-space character is found.
💻 Technical Criteria
Given A string field that may contain trailing spaces
When The system needs to determine the actual content length
Then The system calculates length by counting from the end until a non-space character is found
R-GCCCCADD-cbl-01619 Validate Field Length Requirements
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Field Length Requirements' is invoked, and assuming that a city name field in an address record, when the actual string length of the city name is less than 2 characters, the desired outcome is that the system generates a minimum length requirement error message.
💻 Technical Criteria
Given A city name field in an address record
When The actual string length of the city name is less than 2 characters
Then The system generates a minimum length requirement error message
R-GCCCCADD-cbl-01625 Validation Passed
Validation Rules
📊 Business Logic Narrative
When the process 'Validation Passed' is invoked, and assuming that a contact record with no communication number qualifier and no contact name, when communication number validation is performed, the desired outcome is that validation passes without requiring communication number.
💻 Technical Criteria
Given A contact record with no communication number qualifier and no contact name
When Communication number validation is performed
Then Validation passes without requiring communication number
R-GCCCCADD-cbl-01626 IMA Code = 'HM'?
Decision Rules
📊 Business Logic Narrative
When the process 'IMA Code = 'HM'?' is invoked, and assuming that a shipment record with an ima code, when the system evaluates the ima code, the desired outcome is that if ima code equals 'hm' then process haulage rights, otherwise clear all haulage-related fields and flags.
💻 Technical Criteria
Given A shipment record with an IMA code
When The system evaluates the IMA code
Then If IMA code equals 'HM' then process haulage rights, otherwise clear all haulage-related fields and flags
R-GCCCCADD-cbl-01627 Haulage Right Carrier exists?
Validation Rules
📊 Business Logic Narrative
When the process 'Haulage Right Carrier exists?' is invoked, and assuming that a shipment with ima code 'hm' requiring haulage processing, when the system checks for haulage right carrier information, the desired outcome is that if haulage right carrier is blank then set unknown scac code, clear automated flag, set bill owner to unknown, and reject haulage.
💻 Technical Criteria
Given A shipment with IMA code 'HM' requiring haulage processing
When The system checks for haulage right carrier information
Then If haulage right carrier is blank then set unknown SCAC code, clear automated flag, set bill owner to unknown, and reject haulage
R-GCCCCADD-cbl-01638 Process SS Table Data for Haulage
Process Rules
📊 Business Logic Narrative
When the process 'Process SS Table Data for Haulage' is invoked, and assuming that a successfully retrieved ss table entry, when the system processes ss table data for haulage shipments, the desired outcome is that set automated carrier flag from ss table, evaluate haulage agreement status, and configure bill owner and bill-as scac accordingly.
💻 Technical Criteria
Given A successfully retrieved SS table entry
When The system processes SS table data for haulage shipments
Then Set automated carrier flag from SS table, evaluate haulage agreement status, and configure bill owner and bill-as SCAC accordingly
R-GCCCCADD-cbl-01639 Haulage Agreement = 'Y'?
Decision Rules
📊 Business Logic Narrative
When the process 'Haulage Agreement = 'Y'?' is invoked, and assuming that an ss table entry with haulage agreement indicator, when the system evaluates the haulage agreement status, the desired outcome is that if haulage agreement equals 'y' then accept haulage, otherwise reject haulage.
💻 Technical Criteria
Given An SS table entry with haulage agreement indicator
When The system evaluates the haulage agreement status
Then If haulage agreement equals 'Y' then accept haulage, otherwise reject haulage
R-GCCCCADD-cbl-01640 Handle SS Table Not Found - Set Defaults
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Handle SS Table Not Found - Set Defaults', assuming that a failed ss table lookup for a haulage shipment, when the system handles the ss table not found condition, the desired outcome is that clear automated flag, reject haulage, set bill owner to unknown, and set bill-as scac to unknown.
💻 Technical Criteria
EXCLUDING A failed SS table lookup for a haulage shipment
When The system handles the SS table not found condition
Then Clear automated flag, reject haulage, set bill owner to unknown, and set bill-as SCAC to unknown
R-GCCCCADD-cbl-01641 Handle SS Table Not Found - Set Defaults
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Handle SS Table Not Found - Set Defaults', assuming that a failed ss table lookup for a non-haulage shipment, when the system handles the ss table not found condition, the desired outcome is that set bill owner to '6105' and set bill-as scac to '6105'.
💻 Technical Criteria
EXCLUDING A failed SS table lookup for a non-haulage shipment
When The system handles the SS table not found condition
Then Set bill owner to '6105' and set bill-as SCAC to '6105'
R-GCCCCADD-cbl-02229 Haulage Right Carrier exists?
Validation Rules
📊 Business Logic Narrative
When the process 'Haulage Right Carrier exists?' is invoked, and assuming that a shipment in haulage mode, when the haulage right carrier field is checked, the desired outcome is that if haulage right carrier is spaces then set unknown haulage rights scac, reject haulage status, and unknown bill owner, otherwise lookup carrier code.
💻 Technical Criteria
Given A shipment in haulage mode
When The haulage right carrier field is checked
Then If haulage right carrier is spaces then set unknown haulage rights SCAC, reject haulage status, and unknown bill owner, otherwise lookup carrier code
R-GCCCCADD-cbl-02230 Lookup Carrier Code in CC Table
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Carrier Code in CC Table' is invoked, and assuming that a valid haulage right carrier code, when cc table lookup is performed, the desired outcome is that carrier code information is retrieved from cc table for further processing.
💻 Technical Criteria
Given A valid haulage right carrier code
When CC table lookup is performed
Then Carrier code information is retrieved from CC table for further processing
R-GCCCCADD-cbl-02231 Carrier Code Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Carrier Code Found?' is invoked, and assuming that a cc table lookup has been performed, when the lookup result is evaluated, the desired outcome is that if lookup successful then set haulage rights scac from cc table, otherwise set unknown haulage rights scac, reject haulage status, and unknown bill owner.
💻 Technical Criteria
Given A CC table lookup has been performed
When The lookup result is evaluated
Then If lookup successful then set haulage rights SCAC from CC table, otherwise set unknown haulage rights SCAC, reject haulage status, and unknown bill owner
R-GCCCCADD-cbl-02238 Lookup SS Table Entry
Action Rules
📊 Business Logic Narrative
When the process 'Lookup SS Table Entry' is invoked, and assuming that a constructed ss table key, when ss table lookup is performed, the desired outcome is that service schedule information is retrieved for haulage agreement validation.
💻 Technical Criteria
Given A constructed SS table key
When SS table lookup is performed
Then Service schedule information is retrieved for haulage agreement validation
R-GCCCCADD-cbl-02243 Haulage Agreement = 'Y'?
Policy Rules
📊 Business Logic Narrative
When the process 'Haulage Agreement = 'Y'?' is invoked, and assuming that a haulage shipment with ss table data, when haulage agreement status is checked, the desired outcome is that if haulage agreement equals 'y' then accept haulage, otherwise reject haulage.
💻 Technical Criteria
Given A haulage shipment with SS table data
When Haulage agreement status is checked
Then If haulage agreement equals 'Y' then accept haulage, otherwise reject haulage
R-GCCCCADD-cbl-02246 Haulage Mode?
Decision Rules
📊 Business Logic Narrative
When the process 'Haulage Mode?' is invoked, and assuming that a failed ss table lookup, when the shipment mode is evaluated, the desired outcome is that if haulage mode then clear haulage automated flag, set reject haulage status, set unknown bill owner and bill-as scac, otherwise set default bill owner and bill-as scac to '6105'.
💻 Technical Criteria
Given A failed SS table lookup
When The shipment mode is evaluated
Then If haulage mode then clear haulage automated flag, set reject haulage status, set unknown bill owner and bill-as SCAC, otherwise set default bill owner and bill-as SCAC to '6105'
R-GCCCCADD-cbl-02594 Lookup Carrier Code in CC Table
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Carrier Code in CC Table' is invoked, and assuming that a haulage movement with a specified haulage rights carrier code, when the system looks up the carrier code in the cc (carrier code) table, the desired outcome is that retrieve carrier information if found, otherwise prepare for default handling.
💻 Technical Criteria
Given A haulage movement with a specified haulage rights carrier code
When The system looks up the carrier code in the CC (Carrier Code) table
Then Retrieve carrier information if found, otherwise prepare for default handling
R-GCCCCADD-cbl-02596 Set Haulage Rights SCAC from CC Table
Action Rules
📊 Business Logic Narrative
When the process 'Set Haulage Rights SCAC from CC Table' is invoked, and assuming that a successful carrier code lookup in the cc table, when the system processes the carrier information, the desired outcome is that set the haulage rights scac to the ccra code from the cc table lookup result.
💻 Technical Criteria
Given A successful carrier code lookup in the CC table
When The system processes the carrier information
Then Set the haulage rights SCAC to the CCRA code from the CC table lookup result
R-GCCCCADD-cbl-02604 Haulage Agreement = 'Y'?
Decision Rules
📊 Business Logic Narrative
When the process 'Haulage Agreement = 'Y'?' is invoked, and assuming that a haulage movement with ss table agreement information, when the system checks the haulage agreement indicator, the desired outcome is that if haulage agreement equals 'y' then accept haulage, otherwise reject haulage.
💻 Technical Criteria
Given A haulage movement with SS table agreement information
When The system checks the haulage agreement indicator
Then If haulage agreement equals 'Y' then accept haulage, otherwise reject haulage
R-GCCCCADD-cbl-02605 Set Status: ACCEPT HAULAGE
Action Rules
📊 Business Logic Narrative
When the process 'Set Status: ACCEPT HAULAGE' is invoked, and assuming that a haulage movement with valid agreement (haulage agreement = 'y'), when the system processes the agreement validation, the desired outcome is that set the haulage status to accept haulage.
💻 Technical Criteria
Given A haulage movement with valid agreement (haulage agreement = 'Y')
When The system processes the agreement validation
Then Set the haulage status to accept haulage
R-GCCCCADD-cbl-02606 Set Status: REJECT HAULAGE
Action Rules
📊 Business Logic Narrative
When the process 'Set Status: REJECT HAULAGE' is invoked, and assuming that a haulage movement without valid agreement (haulage agreement ≠ 'y'), when the system processes the agreement validation, the desired outcome is that set the haulage status to reject haulage.
💻 Technical Criteria
Given A haulage movement without valid agreement (haulage agreement ≠ 'Y')
When The system processes the agreement validation
Then Set the haulage status to reject haulage
R-GCCCCADD-cbl-02249 Haulage Right Carrier Present?
Validation Rules
📊 Business Logic Narrative
When the process 'Haulage Right Carrier Present?' is invoked, and assuming that a shipment with ima code 'hm', when the system checks for haulage right carrier information, the desired outcome is that if haulage right carrier is spaces then set unknown haulage defaults, otherwise lookup carrier code.
💻 Technical Criteria
Given A shipment with IMA code 'HM'
When The system checks for haulage right carrier information
Then If haulage right carrier is spaces then set unknown haulage defaults, otherwise lookup carrier code
R-GCCCCADD-cbl-02250 Set Unknown Haulage Rights SCAC
Action Rules
📊 Business Logic Narrative
When the process 'Set Unknown Haulage Rights SCAC' is invoked, and assuming that a haulage shipment with missing haulage right carrier, when the system processes haulage defaults, the desired outcome is that set haulage rights scac to 'unkn', clear automated flag, set bill owner to 'unkn', and set reject haulage status.
💻 Technical Criteria
Given A haulage shipment with missing haulage right carrier
When The system processes haulage defaults
Then Set haulage rights SCAC to 'UNKN', clear automated flag, set bill owner to 'UNKN', and set reject haulage status
R-GCCCCADD-cbl-02251 Lookup Carrier Code in CC Table
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Carrier Code in CC Table' is invoked, and assuming that a valid haulage right carrier code, when the system performs cc table lookup, the desired outcome is that retrieve carrier code information for further processing.
💻 Technical Criteria
Given A valid haulage right carrier code
When The system performs CC table lookup
Then Retrieve carrier code information for further processing
R-GCCCCADD-cbl-02252 CC Table Lookup Successful?
Decision Rules
📊 Business Logic Narrative
When the process 'CC Table Lookup Successful?' is invoked, and assuming that a cc table lookup operation has been performed, when the system evaluates the lookup results, the desired outcome is that if lookup successful then set haulage rights scac from cc table, otherwise set unknown haulage defaults.
💻 Technical Criteria
Given A CC table lookup operation has been performed
When The system evaluates the lookup results
Then If lookup successful then set haulage rights SCAC from CC table, otherwise set unknown haulage defaults
R-GCCCCADD-cbl-02254 Haulage Rights SCAC Available?
Decision Rules
📊 Business Logic Narrative
When the process 'Haulage Rights SCAC Available?' is invoked, and assuming that an ss table lookup key and haulage rights scac status, when the system determines which scac to use for lookup, the desired outcome is that if haulage rights scac is available then use it, otherwise use default '6105' scac.
💻 Technical Criteria
Given An SS table lookup key and haulage rights SCAC status
When The system determines which SCAC to use for lookup
Then If haulage rights SCAC is available then use it, otherwise use default '6105' SCAC
R-GCCCCADD-cbl-02256 SS Table Lookup Successful?
Decision Rules
📊 Business Logic Narrative
When the process 'SS Table Lookup Successful?' is invoked, and assuming that an ss table lookup operation has been performed for haulage processing, when the system evaluates the lookup results, the desired outcome is that if lookup successful then process automated carrier flags and haulage agreement, otherwise set reject haulage defaults.
💻 Technical Criteria
Given An SS table lookup operation has been performed for haulage processing
When The system evaluates the lookup results
Then If lookup successful then process automated carrier flags and haulage agreement, otherwise set reject haulage defaults
R-GCCCCADD-cbl-02258 Haulage Agreement = 'Y'?
Decision Rules
📊 Business Logic Narrative
When the process 'Haulage Agreement = 'Y'?' is invoked, and assuming that ss table data with haulage agreement indicator, when the system evaluates the haulage agreement flag, the desired outcome is that if haulage agreement equals 'y' then set accept haulage status, otherwise set reject haulage status.
💻 Technical Criteria
Given SS table data with haulage agreement indicator
When The system evaluates the haulage agreement flag
Then If haulage agreement equals 'Y' then set accept haulage status, otherwise set reject haulage status
R-GCCCCADD-cbl-01651 Haulage Agreement = 'Y'?
Decision Rules
📊 Business Logic Narrative
When the process 'Haulage Agreement = 'Y'?' is invoked, and assuming that a haulage agreement record from the ss table, when the system checks if the haulage agreement field equals 'y', the desired outcome is that the system should set accept haulage status if 'y', or reject haulage status if not 'y'.
💻 Technical Criteria
Given A haulage agreement record from the SS table
When The system checks if the haulage agreement field equals 'Y'
Then The system should set accept haulage status if 'Y', or reject haulage status if not 'Y'
R-GCCCCADD-cbl-01652 Set Accept Haulage Status
Action Rules
📊 Business Logic Narrative
When the process 'Set Accept Haulage Status' is invoked, and assuming that a haulage agreement with agreement field set to 'y', when the system processes the acceptance decision, the desired outcome is that the system should set the haulage status to 'accept'.
💻 Technical Criteria
Given A haulage agreement with agreement field set to 'Y'
When The system processes the acceptance decision
Then The system should set the haulage status to 'ACCEPT'
R-GCCCCADD-cbl-01653 Set Reject Haulage Status
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Reject Haulage Status', assuming that a haulage agreement with agreement field not equal to 'y' or missing carrier information, when the system processes the rejection decision, the desired outcome is that the system should set the haulage status to 'reject'.
💻 Technical Criteria
EXCLUDING A haulage agreement with agreement field not equal to 'Y' or missing carrier information
When The system processes the rejection decision
Then The system should set the haulage status to 'REJECT'
R-GCCCCADD-cbl-01659 Lookup Carrier in CC Table
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Carrier in CC Table' is invoked, and assuming that a valid haulage rights carrier code, when the system looks up the carrier in cc table, the desired outcome is that retrieve carrier information for further processing.
💻 Technical Criteria
Given A valid haulage rights carrier code
When The system looks up the carrier in CC table
Then Retrieve carrier information for further processing
R-GCCCCADD-cbl-01661 Get CCRA Code from CC Table
Definitional Rules
📊 Business Logic Narrative
When the process 'Get CCRA Code from CC Table' is invoked, and assuming that a valid carrier record from cc table, when the system processes the carrier information, the desired outcome is that assign the ccra code to haulage rights scac.
💻 Technical Criteria
Given A valid carrier record from CC table
When The system processes the carrier information
Then Assign the CCRA code to haulage rights SCAC
R-GCCCCADD-cbl-01663 Lookup Haulage Agreement in SS Table
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Haulage Agreement in SS Table' is invoked, and assuming that a constructed ss table key, when the system looks up haulage agreement in ss table, the desired outcome is that retrieve haulage agreement details for validation.
💻 Technical Criteria
Given A constructed SS table key
When The system looks up haulage agreement in SS table
Then Retrieve haulage agreement details for validation
R-GCCCCADD-cbl-01665 Set Automated Carrier Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Automated Carrier Flag' is invoked, and assuming that valid ss table data for haulage processing, when the system processes haulage automation settings, the desired outcome is that set automated carrier flag from ss table and determine bill as scac based on haulage or line haul settings.
💻 Technical Criteria
Given Valid SS table data for haulage processing
When The system processes haulage automation settings
Then Set automated carrier flag from SS table and determine bill as SCAC based on haulage or line haul settings
R-GCCCCADD-cbl-01667 Set Default Billing Information
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Default Billing Information', assuming that a shipment that does not require haulage processing, when the system sets billing information, the desired outcome is that clear haulage rights scac, automated flag, and reject haulage indicator.
💻 Technical Criteria
EXCLUDING A shipment that does not require haulage processing
When The system sets billing information
Then Clear haulage rights SCAC, automated flag, and reject haulage indicator
R-GCCCCADD-cbl-01668 Set Unknown SCAC and Reject Status
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Unknown SCAC and Reject Status', assuming that a haulage shipment with missing or invalid carrier information, when the system processes the invalid carrier, the desired outcome is that set haulage rights scac to 'unkn', clear automated flag, set bill owner to 'unkn', and reject haulage.
💻 Technical Criteria
EXCLUDING A haulage shipment with missing or invalid carrier information
When The system processes the invalid carrier
Then Set haulage rights SCAC to 'UNKN', clear automated flag, set bill owner to 'UNKN', and reject haulage
R-GCCCCADD-cbl-01672 Carrier Code Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Carrier Code Found?' is invoked, and assuming that a carrier code lookup attempt in the cc table, when the lookup operation completes, the desired outcome is that if the carrier code is found, use the retrieved ccra code as haulage rights scac, otherwise set bill owner to 'unkn', clear haulage automated flag, set reject haulage status, and set bill owner to 'unkn'.
💻 Technical Criteria
Given A carrier code lookup attempt in the CC table
When The lookup operation completes
Then If the carrier code is found, use the retrieved CCRA code as haulage rights SCAC, otherwise set bill owner to 'UNKN', clear haulage automated flag, set reject haulage status, and set bill owner to 'UNKN'
R-GCCCCADD-cbl-01676 Haulage Agreement Accepted?
Decision Rules
📊 Business Logic Narrative
When the process 'Haulage Agreement Accepted?' is invoked, and assuming that a successful ss table lookup with haulage agreement details, when the system checks if the haulage agreement field equals 'y', the desired outcome is that if accepted, set accept haulage status and use haul bill initial as bill-as scac, otherwise set reject haulage status.
💻 Technical Criteria
Given A successful SS table lookup with haulage agreement details
When The system checks if the haulage agreement field equals 'Y'
Then If accepted, set accept haulage status and use haul bill initial as bill-as SCAC, otherwise set reject haulage status
R-GCCCCADD-cbl-01688 Error Message Text Retrieval - Retrieve error message text from MS table for validation failures
Action Rules
📊 Business Logic Narrative
When the process 'Error Message Text Retrieval - Retrieve error message text from MS table for validation failures' is invoked, and assuming that a validation error has occurred and an error message number has been identified, when the system needs to retrieve the corresponding error message text, the desired outcome is that the system should lookup the message text from the ms table using the error number as key and return the english text for display.
💻 Technical Criteria
Given A validation error has occurred and an error message number has been identified
When The system needs to retrieve the corresponding error message text
Then The system should lookup the message text from the MS table using the error number as key and return the English text for display
R-GCCCCADD-cbl-01689 Initialize Table Access Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Table Access Parameters' is invoked, and assuming that an error message retrieval request is initiated, when the system prepares to access the message repository, the desired outcome is that all table access parameters should be cleared and initialized to ensure clean lookup operation.
💻 Technical Criteria
Given An error message retrieval request is initiated
When The system prepares to access the message repository
Then All table access parameters should be cleared and initialized to ensure clean lookup operation
R-GCCCCADD-cbl-01690 Set Function Code to 'GU'
Process Rules
📊 Business Logic Narrative
When the process 'Set Function Code to 'GU'' is invoked, and assuming that table access parameters are being configured for message retrieval, when the system sets up the database operation type, the desired outcome is that the function code should be set to 'gu' to perform a get unique operation.
💻 Technical Criteria
Given Table access parameters are being configured for message retrieval
When The system sets up the database operation type
Then The function code should be set to 'GU' to perform a get unique operation
R-GCCCCADD-cbl-01693 Call Table I/O Service
Action Rules
📊 Business Logic Narrative
When the process 'Call Table I/O Service' is invoked, and assuming that all table access parameters have been properly configured, when the system executes the message text retrieval operation, the desired outcome is that the table i/o service should be called with the configured parameters to perform the lookup.
💻 Technical Criteria
Given All table access parameters have been properly configured
When The system executes the message text retrieval operation
Then The table I/O service should be called with the configured parameters to perform the lookup
R-GCCCCADD-cbl-01694 Table Access Successful?
Decision Rules
📊 Business Logic Narrative
When the process 'Table Access Successful?' is invoked, and assuming that a table lookup operation has been executed for message text retrieval, when the system evaluates the operation result, the desired outcome is that if the return flag indicates 'successful', the message text should be processed, otherwise handle the failure case.
💻 Technical Criteria
Given A table lookup operation has been executed for message text retrieval
When The system evaluates the operation result
Then If the return flag indicates 'SUCCESSFUL', the message text should be processed, otherwise handle the failure case
R-GCCCCADD-cbl-01697 Set Message Label for Display
Process Rules
📊 Business Logic Narrative
When the process 'Set Message Label for Display' is invoked, and assuming that english message text has been extracted from the ms structure, when the system prepares the message for display, the desired outcome is that the extracted english text should be assigned to the message label field for user presentation.
💻 Technical Criteria
Given English message text has been extracted from the MS structure
When The system prepares the message for display
Then The extracted English text should be assigned to the message label field for user presentation
R-GCCCCADD-cbl-02635 Set Address Information
Process Rules
📊 Business Logic Narrative
When the process 'Set Address Information' is invoked, and assuming that n3 address data has been successfully retrieved from edi bol, when the system processes address information, the desired outcome is that address line 1 is set from edi data or 'na' if blank, and address line 2 is set from edi data.
💻 Technical Criteria
Given N3 address data has been successfully retrieved from EDI BOL
When The system processes address information
Then Address line 1 is set from EDI data or 'NA' if blank, and address line 2 is set from EDI data
R-GCCCCADD-cbl-02636 Set Default 'NA' Address
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Default 'NA' Address', assuming that n3 address data is not available from edi bol, when the system processes address information, the desired outcome is that address line 1 is set to 'na' and n3 data fields are cleared.
💻 Technical Criteria
EXCLUDING N3 address data is not available from EDI BOL
When The system processes address information
Then Address line 1 is set to 'NA' and N3 data fields are cleared
R-GCCCCADD-cbl-02639 Set City, State, Postal, Country
Process Rules
📊 Business Logic Narrative
When the process 'Set City, State, Postal, Country' is invoked, and assuming that n4 city/state data has been successfully retrieved from edi bol, when the system processes geographic information, the desired outcome is that city name, state/province code, postal code, and country code are set from edi data.
💻 Technical Criteria
Given N4 city/state data has been successfully retrieved from EDI BOL
When The system processes geographic information
Then City name, state/province code, postal code, and country code are set from EDI data
R-GCCCCADD-cbl-02640 Clear N4 Data Fields
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Clear N4 Data Fields', assuming that n4 city/state data is not available from edi bol, when the system processes geographic information, the desired outcome is that all n4 data fields including city, state, postal code, and country are cleared.
💻 Technical Criteria
EXCLUDING N4 city/state data is not available from EDI BOL
When The system processes geographic information
Then All N4 data fields including city, state, postal code, and country are cleared
R-GCCCCADD-cbl-02293 Store Address Information
Process Rules
📊 Business Logic Narrative
When the process 'Store Address Information' is invoked, and assuming that address backup is required and temporary address data exists, when the system processes address information restoration, the desired outcome is that the system should move temporary address line 1 (ws-temp-im-adr1) to n301 address info field and temporary address line 2 (ws-temp-im-adr2) to n302 address info field.
💻 Technical Criteria
Given Address backup is required and temporary address data exists
When The system processes address information restoration
Then The system should move temporary address line 1 (WS-TEMP-IM-ADR1) to N301 address info field and temporary address line 2 (WS-TEMP-IM-ADR2) to N302 address info field
R-GCCCCADD-cbl-02295 Store Contact Information
Process Rules
📊 Business Logic Narrative
When the process 'Store Contact Information' is invoked, and assuming that contact information backup is required and temporary contact data exists, when the system processes contact information restoration, the desired outcome is that the system should move temporary contact function code (ws-temp-im-cont-cde) to per01 contact function field, temporary person name (ws-temp-im-per-name) to per02 name field, temporary communication qualifier (ws-temp-im-com-qual) to per03 communication qualifier field, and temporary communication number (ws-temp-im-com-num) to per04 communication number field.
💻 Technical Criteria
Given Contact information backup is required and temporary contact data exists
When The system processes contact information restoration
Then The system should move temporary contact function code (WS-TEMP-IM-CONT-CDE) to PER01 contact function field, temporary person name (WS-TEMP-IM-PER-NAME) to PER02 name field, temporary communication qualifier (WS-TEMP-IM-COM-QUAL) to PER03 communication qualifier field, and temporary communication number (WS-TEMP-IM-COM-NUM) to PER04 communication number field
R-GCCCCADD-cbl-01775 Generate Validation Error Messages
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Validation Error Messages', assuming that contact information validation has failed, when required contact fields are missing or invalid, the desired outcome is that appropriate validation error messages are generated and added to the error message collection.
💻 Technical Criteria
EXCLUDING Contact information validation has failed
When Required contact fields are missing or invalid
Then Appropriate validation error messages are generated and added to the error message collection
R-GCCCCADD-cbl-01781 Initialize EDI BOL Request Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize EDI BOL Request Parameters' is invoked, and assuming that a request to retrieve geographic address information from edi bol data, when the system initializes the edi bol request parameters, the desired outcome is that the address segment structure is cleared and ready for data retrieval.
💻 Technical Criteria
Given A request to retrieve geographic address information from EDI BOL data
When The system initializes the EDI BOL request parameters
Then The address segment structure is cleared and ready for data retrieval
R-GCCCCADD-cbl-01782 Set Segment Type to EBSNRSA
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Segment Type to EBSNRSA' is invoked, and assuming that an edi bol request is being prepared for geographic address retrieval, when the system configures the segment type, the desired outcome is that the segment type is set to ebsnrsa to target address segments.
💻 Technical Criteria
Given An EDI BOL request is being prepared for geographic address retrieval
When The system configures the segment type
Then The segment type is set to EBSNRSA to target address segments
R-GCCCCADD-cbl-01783 Set Function Code to GU - Get Unique
Process Rules
📊 Business Logic Narrative
When the process 'Set Function Code to GU - Get Unique' is invoked, and assuming that an edi bol request is being prepared for geographic address retrieval, when the system sets the function code, the desired outcome is that the function code is set to gu to retrieve a unique segment.
💻 Technical Criteria
Given An EDI BOL request is being prepared for geographic address retrieval
When The system sets the function code
Then The function code is set to GU to retrieve a unique segment
R-GCCCCADD-cbl-01784 Set EDI BOL Key for Record 55
Definitional Rules
📊 Business Logic Narrative
When the process 'Set EDI BOL Key for Record 55' is invoked, and assuming that a geographic address segment retrieval is requested for record 55 processing, when the system assigns the edi bol key, the desired outcome is that the edi bol key for record 55 is set as the root key for the request.
💻 Technical Criteria
Given A geographic address segment retrieval is requested for record 55 processing
When The system assigns the EDI BOL key
Then The EDI BOL key for record 55 is set as the root key for the request
R-GCCCCADD-cbl-01785 Set Type-1 to NN - Notify Party
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Type-1 to NN - Notify Party' is invoked, and assuming that a geographic address retrieval is requested for notify party information, when the system configures the primary entity type, the desired outcome is that type-1 is set to nn to identify notify party segments.
💻 Technical Criteria
Given A geographic address retrieval is requested for notify party information
When The system configures the primary entity type
Then Type-1 is set to NN to identify notify party segments
R-GCCCCADD-cbl-01787 Set Type-2 to GA - Geographic Address
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Type-2 to GA - Geographic Address' is invoked, and assuming that geographic address information is needed for a notify party, when the system configures the secondary segment type, the desired outcome is that type-2 is set to ga to identify geographic address segments.
💻 Technical Criteria
Given Geographic address information is needed for a notify party
When The system configures the secondary segment type
Then Type-2 is set to GA to identify geographic address segments
R-GCCCCADD-cbl-01789 Set Operator to Equals
Process Rules
📊 Business Logic Narrative
When the process 'Set Operator to Equals' is invoked, and assuming that an edi bol segment retrieval requires exact matching criteria, when the system configures the search operator, the desired outcome is that the operator is set to equals for exact segment matching.
💻 Technical Criteria
Given An EDI BOL segment retrieval requires exact matching criteria
When The system configures the search operator
Then The operator is set to equals for exact segment matching
R-GCCCCADD-cbl-01790 Call EDI BOL I/O Service
Action Rules
📊 Business Logic Narrative
When the process 'Call EDI BOL I/O Service' is invoked, and assuming that all edi bol request parameters are configured for geographic address retrieval, when the system calls the edi bol i/o service, the desired outcome is that the service is invoked to retrieve the geographic address segment from edi bol data.
💻 Technical Criteria
Given All EDI BOL request parameters are configured for geographic address retrieval
When The system calls the EDI BOL I/O service
Then The service is invoked to retrieve the geographic address segment from EDI BOL data
R-GCCCCADD-cbl-01791 Set GA Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set GA Found Flag' is invoked, and assuming that the edi bol i/o service has been called to retrieve a geographic address segment, when the geographic address segment is successfully found and retrieved, the desired outcome is that the ga found flag is set to indicate successful retrieval.
💻 Technical Criteria
Given The EDI BOL I/O service has been called to retrieve a geographic address segment
When The geographic address segment is successfully found and retrieved
Then The GA found flag is set to indicate successful retrieval
R-GCCCCADD-cbl-01792 Set GA Not Found Flag
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set GA Not Found Flag', assuming that the edi bol i/o service has been called to retrieve a geographic address segment, when the geographic address segment is not found in the edi bol data, the desired outcome is that the ga not found flag is set to indicate unsuccessful retrieval.
💻 Technical Criteria
EXCLUDING The EDI BOL I/O service has been called to retrieve a geographic address segment
When The geographic address segment is not found in the EDI BOL data
Then The GA not found flag is set to indicate unsuccessful retrieval
R-GCCCCADD-cbl-01797 EBSBCKS Segment Found?
Validation Rules
📊 Business Logic Narrative
When the process 'EBSBCKS Segment Found?' is invoked, and assuming that an attempt to retrieve ebsbcks segment data, when the system checks if the segment was successfully retrieved, the desired outcome is that the process continues to check special handling code if segment found, otherwise moves to termination check.
💻 Technical Criteria
Given An attempt to retrieve EBSBCKS segment data
When The system checks if the segment was successfully retrieved
Then The process continues to check special handling code if segment found, otherwise moves to termination check
R-GCCCCADD-cbl-01798 Special Handling Code = 'CNS'?
Decision Rules
📊 Business Logic Narrative
When the process 'Special Handling Code = 'CNS'?' is invoked, and assuming that a successfully retrieved ebsbcks segment, when the system examines the special handling code field, the desired outcome is that if the code equals 'cns', the consolidated indicator is found; otherwise, continue searching next sequence.
💻 Technical Criteria
Given A successfully retrieved EBSBCKS segment
When The system examines the special handling code field
Then If the code equals 'CNS', the consolidated indicator is found; otherwise, continue searching next sequence
R-GCCCCADD-cbl-01799 Set CNS Indicator Found
Process Rules
📊 Business Logic Narrative
When the process 'Set CNS Indicator Found' is invoked, and assuming that a segment with special handling code 'cns' is found, when the system processes the consolidated load identification, the desired outcome is that the cns indicator flag is set to found state.
💻 Technical Criteria
Given A segment with special handling code 'CNS' is found
When The system processes the consolidated load identification
Then The CNS indicator flag is set to found state
R-GCCCCADD-cbl-01801 Counter > 98 OR CNS Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Counter > 98 OR CNS Found?' is invoked, and assuming that an ongoing search for consolidated load indicators, when the system evaluates continuation criteria, the desired outcome is that if sequence counter exceeds 98 or cns indicator is found, terminate search; otherwise continue with next segment.
💻 Technical Criteria
Given An ongoing search for consolidated load indicators
When The system evaluates continuation criteria
Then If sequence counter exceeds 98 or CNS indicator is found, terminate search; otherwise continue with next segment
R-GCCCCADD-cbl-01802 Set Consolidated Flag to 'Y'
Process Rules
📊 Business Logic Narrative
When the process 'Set Consolidated Flag to 'Y'' is invoked, and assuming that a cns special handling code has been found in the segment data, when the system finalizes the consolidated load determination, the desired outcome is that the consolidated flag is set to 'y' to indicate this is a consolidated shipment.
💻 Technical Criteria
Given A CNS special handling code has been found in the segment data
When The system finalizes the consolidated load determination
Then The consolidated flag is set to 'Y' to indicate this is a consolidated shipment
R-GCCCCADD-cbl-01803 Set Consolidated Flag to Space
Process Rules
📊 Business Logic Narrative
When the process 'Set Consolidated Flag to Space' is invoked, and assuming that all available segments have been searched and no cns special handling code was found, when the system finalizes the consolidated load determination, the desired outcome is that the consolidated flag is set to space to indicate this is not a consolidated shipment.
💻 Technical Criteria
Given All available segments have been searched and no CNS special handling code was found
When The system finalizes the consolidated load determination
Then The consolidated flag is set to space to indicate this is not a consolidated shipment
R-GCCCCADD-cbl-01809 Index Within Max Limit?
Decision Rules
📊 Business Logic Narrative
When the process 'Index Within Max Limit?' is invoked, and assuming that the current record index position is being evaluated, when the system checks if the index is less than or equal to the maximum sequence limit, the desired outcome is that processing continues if within limit, otherwise the record is skipped.
💻 Technical Criteria
Given The current record index position is being evaluated
When The system checks if the index is less than or equal to the maximum sequence limit
Then Processing continues if within limit, otherwise the record is skipped
R-GCCCCADD-cbl-01814 More Entities to Process?
Decision Rules
📊 Business Logic Narrative
When the process 'More Entities to Process?' is invoked, and assuming that the current entity record has been processed, when the system evaluates if more entities need processing, the desired outcome is that processing continues with next entity if more exist, otherwise moves to finalization.
💻 Technical Criteria
Given The current entity record has been processed
When The system evaluates if more entities need processing
Then Processing continues with next entity if more exist, otherwise moves to finalization
R-GCCCCADD-cbl-01815 Skip Record - Array Full
Process Rules
📊 Business Logic Narrative
When the process 'Skip Record - Array Full' is invoked, and assuming that the record array has reached maximum capacity, when an additional record needs to be processed, the desired outcome is that the record is skipped and processing continues with remaining entities.
💻 Technical Criteria
Given The record array has reached maximum capacity
When An additional record needs to be processed
Then The record is skipped and processing continues with remaining entities
R-GCCCCADD-cbl-01823 Check Entity ID Code
Validation Rules
📊 Business Logic Narrative
When the process 'Check Entity ID Code' is invoked, and assuming that an n1 segment has been retrieved from edi bol, when checking the entity id code in the n1 segment, the desired outcome is that the entity id code should be extracted for validation.
💻 Technical Criteria
Given An N1 segment has been retrieved from EDI BOL
When Checking the entity ID code in the N1 segment
Then The entity ID code should be extracted for validation
R-GCCCCADD-cbl-01896 Parameters Ready for Segment Retrieval
Action Rules
📊 Business Logic Narrative
When the process 'Parameters Ready for Segment Retrieval' is invoked, and assuming that ebwlgio parameters are properly initialized for segment retrieval, when system calls ebclgio to retrieve edi bol segment data, the desired outcome is that edi bol segment data is retrieved and stored in the working storage segment structure.
💻 Technical Criteria
Given EBWLGIO parameters are properly initialized for segment retrieval
When System calls EBCLGIO to retrieve EDI BOL segment data
Then EDI BOL segment data is retrieved and stored in the working storage segment structure
R-GCCCCADD-cbl-01897 Accept Current Date from System
Process Rules
📊 Business Logic Narrative
When the process 'Accept Current Date from System' is invoked, and assuming that the system is ready to begin processing, when processing initialization starts, the desired outcome is that the current system date is captured and stored in ts-system-date field.
💻 Technical Criteria
Given The system is ready to begin processing
When Processing initialization starts
Then The current system date is captured and stored in TS-SYSTEM-DATE field
R-GCCCCADD-cbl-01898 Accept Current Time from System
Process Rules
📊 Business Logic Narrative
When the process 'Accept Current Time from System' is invoked, and assuming that the system is ready to begin processing, when processing initialization starts after date capture, the desired outcome is that the current system time is captured and stored in ts-system-time field.
💻 Technical Criteria
Given The system is ready to begin processing
When Processing initialization starts after date capture
Then The current system time is captured and stored in TS-SYSTEM-TIME field

🚂 Equipment & Cargo Specs 488 logic blocks
R-GCCCCADD-cbl-00011 Conveying Car Processing
Decision Rules
📊 Business Logic Narrative
When the process 'Conveying Car Processing' is invoked, and assuming that conveying car initial and number from shipment data, and tofc/cofc indicator, when the system processes conveying car information, the desired outcome is that if conveying car initial is present, use conveying car data from shipment. if conveying car initial is blank and tofc/cofc indicator equals 't' or 'c', set default conveying car to 'unkn' and '00000001'. if conveying car initial is blank and not tofc/cofc, clear conveying car fields.
💻 Technical Criteria
Given Conveying car initial and number from shipment data, and TOFC/COFC indicator
When The system processes conveying car information
Then If conveying car initial is present, use conveying car data from shipment. If conveying car initial is blank and TOFC/COFC indicator equals 'T' or 'C', set default conveying car to 'UNKN' and '00000001'. If conveying car initial is blank and not TOFC/COFC, clear conveying car fields
R-GCCCCADD-cbl-00012 Equipment Validation
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Equipment Validation', assuming that a conveying car initial that is not blank, when the system validates the car id using the gcccarid service, the desired outcome is that call gcccarid service to validate the conveying car. if validation returns all asterisks, add error message for invalid conveying car. if validation succeeds, update conveying car with validated value.
💻 Technical Criteria
EXCLUDING A conveying car initial that is not blank
When The system validates the car ID using the GCCCARID service
Then Call GCCCARID service to validate the conveying car. If validation returns all asterisks, add error message for invalid conveying car. If validation succeeds, update conveying car with validated value
R-GCCCCADD-cbl-00014 Weight and Quantity Roll-up
Computation Rules
📊 Business Logic Narrative
When the process 'Weight and Quantity Roll-up' is invoked, and assuming that edi bol commodity data or fastway shipment commodity data, when the system rolls up weight and quantity information, the desired outcome is that for each commodity sequence 1-98, retrieve edi commodity data and add lading quantity to total units. for first sequence, get weight data and set weight unit based on metric indicator. if no edi data found, retrieve fastway commodity data using gu then gn functions, adding units and weight from each commodity record.
💻 Technical Criteria
Given EDI BOL commodity data or FastWay shipment commodity data
When The system rolls up weight and quantity information
Then For each commodity sequence 1-98, retrieve EDI commodity data and add lading quantity to total units. For first sequence, get weight data and set weight unit based on metric indicator. If no EDI data found, retrieve FastWay commodity data using GU then GN functions, adding units and weight from each commodity record
R-GCCCCADD-cbl-00015 Quantity Qualifier Setting
Decision Rules
📊 Business Logic Narrative
When the process 'Quantity Qualifier Setting' is invoked, and assuming that equipment load/empty status and current quantity qualifier, when the system determines the appropriate quantity qualifier, the desired outcome is that if equipment status is 'e' (empty), set quantity qualifier to 'unt'. if equipment is loaded and quantity qualifier indicates carload ('c/l', 'cld', 'cl ', ' cl'), set quantity qualifier to 'pcs'. if quantity qualifier is blank, default to 'pcs'.
💻 Technical Criteria
Given Equipment load/empty status and current quantity qualifier
When The system determines the appropriate quantity qualifier
Then If equipment status is 'E' (empty), set quantity qualifier to 'UNT'. If equipment is loaded and quantity qualifier indicates carload ('C/L', 'CLD', 'CL ', ' CL'), set quantity qualifier to 'PCS'. If quantity qualifier is blank, default to 'PCS'
R-GCCCCADD-cbl-00022 Description Data Compression
Action Rules
📊 Business Logic Narrative
When the process 'Description Data Compression' is invoked, and assuming that complete description data assembled from various sources, when the system compresses the description data, the desired outcome is that call gcccomp service with 45000 byte source description and 22500 byte target description lengths. move compressed description to cargo record lading description field. distribute compressed description data across 46 cargo data segments in customs record 53.
💻 Technical Criteria
Given Complete description data assembled from various sources
When The system compresses the description data
Then Call GCCCOMP service with 45000 byte source description and 22500 byte target description lengths. Move compressed description to cargo record lading description field. Distribute compressed description data across 46 cargo data segments in customs record 53
R-GCCCCADD-cbl-00066 Set Status to Pending
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Status to Pending' is invoked, and assuming that a new cargo control record is being created, when the status needs to be initialized, the desired outcome is that the cargo control status should be set to pending.
💻 Technical Criteria
Given A new cargo control record is being created
When The status needs to be initialized
Then The cargo control status should be set to pending
R-GCCCCADD-cbl-00067 Extract Equipment Car ID
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract Equipment Car ID' is invoked, and assuming that shipment root data contains a car id, when equipment information needs to be assigned to cargo control, the desired outcome is that the car id from shipment root should be assigned to the cargo control equipment car field.
💻 Technical Criteria
Given Shipment root data contains a car ID
When Equipment information needs to be assigned to cargo control
Then The car ID from shipment root should be assigned to the cargo control equipment car field
R-GCCCCADD-cbl-00068 Set Error/Release Status
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Error/Release Status' is invoked, and assuming that a cargo control record is being initialized, when the error or release status needs to be set, the desired outcome is that the error or release status index should be set to 'e'.
💻 Technical Criteria
Given A cargo control record is being initialized
When The error or release status needs to be set
Then The error or release status index should be set to 'E'
R-GCCCCADD-cbl-00071 Set Equipment ID for Index
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Equipment ID for Index' is invoked, and assuming that equipment car information has been assigned to cargo control, when the equipment id index needs to be set, the desired outcome is that the equipment car value should be assigned to the equipment id for index field.
💻 Technical Criteria
Given Equipment car information has been assigned to cargo control
When The equipment ID index needs to be set
Then The equipment car value should be assigned to the equipment ID for index field
R-GCCCCADD-cbl-00076 Origin Station Name Present?
Validation Rules
📊 Business Logic Narrative
When the process 'Origin Station Name Present?' is invoked, and assuming that a shipment record with origin station information, when the origin station name field is empty or contains only spaces, the desired outcome is that generate an error message indicating invalid origin station name.
💻 Technical Criteria
Given A shipment record with origin station information
When The origin station name field is empty or contains only spaces
Then Generate an error message indicating invalid origin station name
R-GCCCCADD-cbl-00078 Origin Province/State Code Present?
Validation Rules
📊 Business Logic Narrative
When the process 'Origin Province/State Code Present?' is invoked, and assuming that a shipment record with origin location information, when the origin province or state code field is empty or contains only spaces, the desired outcome is that generate an error message for invalid origin province state code and clear the origin country determination table.
💻 Technical Criteria
Given A shipment record with origin location information
When The origin province or state code field is empty or contains only spaces
Then Generate an error message for invalid origin province state code and clear the origin country determination table
R-GCCCCADD-cbl-00081 Destination Station Name Present?
Validation Rules
📊 Business Logic Narrative
When the process 'Destination Station Name Present?' is invoked, and assuming that a shipment record with destination station information, when the destination station name field is empty or contains only spaces, the desired outcome is that generate an error message indicating invalid destination station name.
💻 Technical Criteria
Given A shipment record with destination station information
When The destination station name field is empty or contains only spaces
Then Generate an error message indicating invalid destination station name
R-GCCCCADD-cbl-01900 Set Default Manifest-From Port to 'IIS-A6'
Decision Rules
📊 Business Logic Narrative
When the process 'Set Default Manifest-From Port to 'IIS-A6'' is invoked, and assuming that a shipment is being processed with action code iis-a6 or multi-manifest indicator is 'y', when the manifest-from port in the shipment root is empty or spaces, the desired outcome is that the manifest-from port should be automatically set to 'iis-a6'.
💻 Technical Criteria
Given A shipment is being processed with action code IIS-A6 or multi-manifest indicator is 'Y'
When The manifest-from port in the shipment root is empty or spaces
Then The manifest-from port should be automatically set to 'IIS-A6'
R-GCCCCADD-cbl-02299 Set Manifest From Port to 'IIS-A6'
Decision Rules
📊 Business Logic Narrative
When the process 'Set Manifest From Port to 'IIS-A6'' is invoked, and assuming that a shipment is being processed with either action code iis-a6 or multi-manifest indicator set to 'y', when the manifest from port field is empty or spaces, the desired outcome is that the system sets the manifest from port to 'iis-a6'.
💻 Technical Criteria
Given A shipment is being processed with either action code IIS-A6 or multi-manifest indicator set to 'Y'
When The manifest from port field is empty or spaces
Then The system sets the manifest from port to 'IIS-A6'
R-GCCCCADD-cbl-02300 Set Manifest To Port to 'IIS-A6'
Decision Rules
📊 Business Logic Narrative
When the process 'Set Manifest To Port to 'IIS-A6'' is invoked, and assuming that a shipment is being processed with either action code iis-a6 or multi-manifest indicator set to 'y', when the manifest to port field is empty or spaces, the desired outcome is that the system sets the manifest to port to 'iis-a6'.
💻 Technical Criteria
Given A shipment is being processed with either action code IIS-A6 or multi-manifest indicator set to 'Y'
When The manifest to port field is empty or spaces
Then The system sets the manifest to port to 'IIS-A6'
R-GCCCCADD-cbl-02310 Keep Existing Manifest To Port
Validation Rules
📊 Business Logic Narrative
When the process 'Keep Existing Manifest To Port' is invoked, and assuming that a shipment is being processed for manifest creation, when the manifest to port field is empty or spaces, the desired outcome is that the system sets error flag 1 to indicate missing manifest to port.
💻 Technical Criteria
Given A shipment is being processed for manifest creation
When The manifest to port field is empty or spaces
Then The system sets error flag 1 to indicate missing manifest to port
R-GCCCCADD-cbl-02835 Set Empty Message Text
Process Rules
📊 Business Logic Narrative
When the process 'Set Empty Message Text' is invoked, and assuming that the message lookup in the ms table was unsuccessful, when the system needs to handle the missing message scenario, the desired outcome is that the system clears the message table segment to spaces.
💻 Technical Criteria
Given The message lookup in the MS table was unsuccessful
When The system needs to handle the missing message scenario
Then The system clears the message table segment to spaces
R-GCCCCADD-cbl-01905 Set Default IIS-A6 for Multi-Manifest
Decision Rules
📊 Business Logic Narrative
When the process 'Set Default IIS-A6 for Multi-Manifest' is invoked, and assuming that a shipment is being processed with either iis-a6 action code or multi-manifest indicator set to 'y', when the manifest-to port (mani-upon-port) in the shipment root is empty or spaces, the desired outcome is that the system should automatically set the manifest-to port to 'iis-a6'.
💻 Technical Criteria
Given A shipment is being processed with either IIS-A6 action code or multi-manifest indicator set to 'Y'
When The manifest-to port (MANI-UPON-PORT) in the shipment root is empty or spaces
Then The system should automatically set the manifest-to port to 'IIS-A6'
R-GCCCCADD-cbl-01906 Manifest-To Port from Shiproot Empty?
Validation Rules
📊 Business Logic Narrative
When the process 'Manifest-To Port from Shiproot Empty?' is invoked, and assuming that a shipment is being processed for customs manifest creation, when the manifest-to port (mani-upon-port) from shipment root is empty or spaces, the desired outcome is that the system should set error flag 1 to indicate missing manifest-to port.
💻 Technical Criteria
Given A shipment is being processed for customs manifest creation
When The manifest-to port (MANI-UPON-PORT) from shipment root is empty or spaces
Then The system should set error flag 1 to indicate missing manifest-to port
R-GCCCCADD-cbl-02311 Manifest-To Port from SHIPROOT Empty?
Validation Rules
📊 Business Logic Narrative
When the process 'Manifest-To Port from SHIPROOT Empty?' is invoked, and assuming that a shipment record with manifest-to port field, when the manifest-to port field is empty or spaces, the desired outcome is that set error flag 1 to indicate missing manifest-to port.
💻 Technical Criteria
Given A shipment record with manifest-to port field
When The manifest-to port field is empty or spaces
Then Set error flag 1 to indicate missing manifest-to port
R-GCCCCADD-cbl-00097 Set Manifest From Port to IIS-A6
Decision Rules
📊 Business Logic Narrative
When the process 'Set Manifest From Port to IIS-A6' is invoked, and assuming that a shipment is being processed with either iis-a6 action code or multi-manifest indicator set to 'y', when the manifest from port field in the shipment root is empty (spaces), the desired outcome is that the manifest from port should be automatically set to 'iis-a6'.
💻 Technical Criteria
Given A shipment is being processed with either IIS-A6 action code or multi-manifest indicator set to 'Y'
When The manifest from port field in the shipment root is empty (spaces)
Then The manifest from port should be automatically set to 'IIS-A6'
R-GCCCCADD-cbl-00098 Set Manifest To Port to IIS-A6
Decision Rules
📊 Business Logic Narrative
When the process 'Set Manifest To Port to IIS-A6' is invoked, and assuming that a shipment is being processed with either iis-a6 action code or multi-manifest indicator set to 'y', when the manifest to port field in the shipment root is empty (spaces), the desired outcome is that the manifest to port should be automatically set to 'iis-a6'.
💻 Technical Criteria
Given A shipment is being processed with either IIS-A6 action code or multi-manifest indicator set to 'Y'
When The manifest to port field in the shipment root is empty (spaces)
Then The manifest to port should be automatically set to 'IIS-A6'
R-GCCCCADD-cbl-01926 Set US Port Exit Code in Customs Record
Process Rules
📊 Business Logic Narrative
When the process 'Set US Port Exit Code in Customs Record' is invoked, and assuming that the us port of exit code has been successfully extracted from the mc table and the customs record structure is available for update, when the system assigns port exit information to the customs record, the desired outcome is that the us port of exit code is set in the customs cargo manifest record us port of exit code field.
💻 Technical Criteria
Given The US port of exit code has been successfully extracted from the MC table AND the customs record structure is available for update
When The system assigns port exit information to the customs record
Then The US port of exit code is set in the customs cargo manifest record US port of exit code field
R-GCCCCADD-cbl-01928 Set Empty US Port Exit Code
Process Rules
📊 Business Logic Narrative
When the process 'Set Empty US Port Exit Code' is invoked, and assuming that the mc table lookup for manifest from port has failed and the customs record requires a us port of exit code value, when the system handles the failed lookup scenario, the desired outcome is that an empty or default us port of exit code is assigned to the customs record.
💻 Technical Criteria
Given The MC table lookup for manifest from port has failed AND the customs record requires a US port of exit code value
When The system handles the failed lookup scenario
Then An empty or default US port of exit code is assigned to the customs record
R-GCCCCADD-cbl-00108 Is Manifest-To Station = 'IIS-A6'?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Manifest-To Station = 'IIS-A6'?' is invoked, and assuming that a cargo manifest with a manifest-to station name, when the system checks if the manifest-to station equals 'iis-a6', the desired outcome is that the system proceeds to destination country validation if true, otherwise checks existing sub-location code from mc table.
💻 Technical Criteria
Given A cargo manifest with a manifest-to station name
When The system checks if the manifest-to station equals 'IIS-A6'
Then The system proceeds to destination country validation if true, otherwise checks existing sub-location code from MC table
R-GCCCCADD-cbl-00115 Set Sub-location Code from MC Table
Process Rules
📊 Business Logic Narrative
When the process 'Set Sub-location Code from MC Table' is invoked, and assuming that a successful mc table lookup with valid segment data, when the system moves the mc table segment to gcstbrtmc structure, the desired outcome is that the system assigns the mc sub-location code to the cargo manifest sub-location code field.
💻 Technical Criteria
Given A successful MC table lookup with valid segment data
When The system moves the MC table segment to GCSTBRTMC structure
Then The system assigns the MC sub-location code to the cargo manifest sub-location code field
R-GCCCCADD-cbl-00117 Sub-location Code from MC = SPACES or LOW-VALUES?
Decision Rules
📊 Business Logic Narrative
When the process 'Sub-location Code from MC = SPACES or LOW-VALUES?' is invoked, and assuming that an existing sub-location code from mc table processing, when the system checks if the mc sub-location code equals spaces or low-values, the desired outcome is that the system clears the sub-location code if empty, otherwise checks manifest station conditions.
💻 Technical Criteria
Given An existing sub-location code from MC table processing
When The system checks if the MC sub-location code equals spaces or low-values
Then The system clears the sub-location code if empty, otherwise checks manifest station conditions
R-GCCCCADD-cbl-00118 Manifest-To = 'IIS-A6' OR Manifest-From = Manifest-To?
Decision Rules
📊 Business Logic Narrative
When the process 'Manifest-To = 'IIS-A6' OR Manifest-From = Manifest-To?' is invoked, and assuming that a non-empty sub-location code from mc table, when the system checks if manifest-to station equals 'iis-a6' or manifest-to station equals manifest-from station, the desired outcome is that the system clears the sub-location code if conditions are met, otherwise keeps the existing sub-location code.
💻 Technical Criteria
Given A non-empty sub-location code from MC table
When The system checks if manifest-to station equals 'IIS-A6' OR manifest-to station equals manifest-from station
Then The system clears the sub-location code if conditions are met, otherwise keeps the existing sub-location code
R-GCCCCADD-cbl-00119 Clear Sub-location Code
Process Rules
📊 Business Logic Narrative
When the process 'Clear Sub-location Code' is invoked, and assuming that sub-location code from mc table is empty or manifest stations meet special conditions, when the system determines that sub-location code should be cleared, the desired outcome is that the system sets the sub-location code to spaces.
💻 Technical Criteria
Given Sub-location code from MC table is empty OR manifest stations meet special conditions
When The system determines that sub-location code should be cleared
Then The system sets the sub-location code to spaces
R-GCCCCADD-cbl-00120 Keep Sub-location Code from MC Table
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Keep Sub-location Code from MC Table', assuming that a non-empty sub-location code from mc table and manifest stations do not meet clearing conditions, when the system determines that sub-location code should be retained, the desired outcome is that the system keeps the existing sub-location code from the mc table.
💻 Technical Criteria
EXCLUDING A non-empty sub-location code from MC table and manifest stations do not meet clearing conditions
When The system determines that sub-location code should be retained
Then The system keeps the existing sub-location code from the MC table
R-GCCCCADD-cbl-01934 Set Sub-location Code to Spaces
Process Rules
📊 Business Logic Narrative
When the process 'Set Sub-location Code to Spaces' is invoked, and assuming that sub-location code determination process has been initiated, when either the cm table lookup fails or the mc table lookup fails, the desired outcome is that the system should set the sub-location code to spaces (empty).
💻 Technical Criteria
Given Sub-location code determination process has been initiated
When Either the CM table lookup fails OR the MC table lookup fails
Then The system should set the sub-location code to spaces (empty)
R-GCCCCADD-cbl-02339 Is Manifest-To Station = 'IIS-A6'?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Manifest-To Station = 'IIS-A6'?' is invoked, and assuming that a cargo manifest is being processed, when the manifest-to station name equals 'iis-a6', the desired outcome is that the system should proceed to check destination country for sub-location code determination.
💻 Technical Criteria
Given A cargo manifest is being processed
When The manifest-to station name equals 'IIS-A6'
Then The system should proceed to check destination country for sub-location code determination
R-GCCCCADD-cbl-02670 Is Manifest-To Station 'IIS-A6'?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Manifest-To Station 'IIS-A6'?' is invoked, and assuming that a cargo manifest is being processed with a manifest-to station name, when the system checks if the manifest-to station name equals 'iis-a6', the desired outcome is that the system proceeds to destination country validation if true, otherwise ends the cm table lookup process.
💻 Technical Criteria
Given A cargo manifest is being processed with a manifest-to station name
When The system checks if the manifest-to station name equals 'IIS-A6'
Then The system proceeds to destination country validation if true, otherwise ends the CM table lookup process
R-GCCCCADD-cbl-02679 Set Sub-location Code to Retrieved Value
Action Rules
📊 Business Logic Narrative
When the process 'Set Sub-location Code to Retrieved Value' is invoked, and assuming that the mc table lookup was successful and returned valid sub-location code data, when the system accesses the mc table segment data, the desired outcome is that the sub-location code is extracted and assigned to the cargo manifest sub-location code field.
💻 Technical Criteria
Given The MC table lookup was successful and returned valid sub-location code data
When The system accesses the MC table segment data
Then The sub-location code is extracted and assigned to the cargo manifest sub-location code field
R-GCCCCADD-cbl-00133 Extract Conveying Car Initial and Number from Shipment Data
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Extract Conveying Car Initial and Number from Shipment Data', assuming that a shipment record contains conveying car information, when the conveying car initial is not empty in the shipment data, the desired outcome is that extract the conveying car initial and number from the shipment record and assign them to the customs manifest.
💻 Technical Criteria
EXCLUDING A shipment record contains conveying car information
When The conveying car initial is not empty in the shipment data
Then Extract the conveying car initial and number from the shipment record and assign them to the customs manifest
R-GCCCCADD-cbl-00134 Set Default Conveying Car: Initial='UNKN', Number='00000001'
Decision Rules
📊 Business Logic Narrative
When the process 'Set Default Conveying Car: Initial='UNKN', Number='00000001'' is invoked, and assuming that a shipment has no conveying car initial specified, when the shipment type is tofc (trailer on flat car) or cofc (container on flat car), the desired outcome is that set the conveying car initial to 'unkn' and the conveying car number to '00000001'.
💻 Technical Criteria
Given A shipment has no conveying car initial specified
When The shipment type is TOFC (Trailer on Flat Car) or COFC (Container on Flat Car)
Then Set the conveying car initial to 'UNKN' and the conveying car number to '00000001'
R-GCCCCADD-cbl-00135 Clear Conveying Car Information
Decision Rules
📊 Business Logic Narrative
When the process 'Clear Conveying Car Information' is invoked, and assuming that a shipment has no conveying car initial specified, when the shipment type is neither tofc nor cofc, the desired outcome is that clear the conveying car initial and number fields.
💻 Technical Criteria
Given A shipment has no conveying car initial specified
When The shipment type is neither TOFC nor COFC
Then Clear the conveying car initial and number fields
R-GCCCCADD-cbl-00136 Validate Conveying Car ID Using GCCCARID Utility
Action Rules
📊 Business Logic Narrative
When the process 'Validate Conveying Car ID Using GCCCARID Utility' is invoked, and assuming that a conveying car initial is present in the manifest, when the car id validation is performed using the gcccarid utility, the desired outcome is that the utility validates the car id format and returns either a validated id or an error indicator.
💻 Technical Criteria
Given A conveying car initial is present in the manifest
When The car ID validation is performed using the GCCCARID utility
Then The utility validates the car ID format and returns either a validated ID or an error indicator
R-GCCCCADD-cbl-00137 Update Conveying Car with Validated ID
Process Rules
📊 Business Logic Narrative
When the process 'Update Conveying Car with Validated ID' is invoked, and assuming that a conveying car id has been validated successfully, when the validation utility returns a valid car id, the desired outcome is that update the conveying car field with the validated car id.
💻 Technical Criteria
Given A conveying car ID has been validated successfully
When The validation utility returns a valid car ID
Then Update the conveying car field with the validated car ID
R-GCCCCADD-cbl-00138 Generate Invalid Conveying Car Error Message
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Invalid Conveying Car Error Message', assuming that a conveying car id validation has been attempted, when the validation utility indicates the car id is invalid, the desired outcome is that generate an error message for invalid conveying car and add it to the message collection.
💻 Technical Criteria
EXCLUDING A conveying car ID validation has been attempted
When The validation utility indicates the car ID is invalid
Then Generate an error message for invalid conveying car and add it to the message collection
R-GCCCCADD-cbl-00139 Set Conveying Car Details from Shipment
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Conveying Car Details from Shipment', assuming that a shipment record exists with conveying car information, when the conveying car initial field is not empty in the shipment data, the desired outcome is that the system should set the conveying car initial and number from the shipment record.
💻 Technical Criteria
EXCLUDING A shipment record exists with conveying car information
When The conveying car initial field is not empty in the shipment data
Then The system should set the conveying car initial and number from the shipment record
R-GCCCCADD-cbl-00140 Set Default Conveying Car Initial: UNKN Number: 00000001
Decision Rules
📊 Business Logic Narrative
When the process 'Set Default Conveying Car Initial: UNKN Number: 00000001' is invoked, and assuming that a shipment has no conveying car initial specified, when the shipment type is tofc (t) or cofc (c), the desired outcome is that the system should set conveying car initial to 'unkn' and conveying car number to '00000001'.
💻 Technical Criteria
Given A shipment has no conveying car initial specified
When The shipment type is TOFC (T) or COFC (C)
Then The system should set conveying car initial to 'UNKN' and conveying car number to '00000001'
R-GCCCCADD-cbl-00141 Clear Conveying Car Details
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Clear Conveying Car Details', assuming that a shipment has no conveying car initial specified, when the shipment type is not tofc (t) or cofc (c), the desired outcome is that the system should clear the conveying car initial and number fields.
💻 Technical Criteria
EXCLUDING A shipment has no conveying car initial specified
When The shipment type is not TOFC (T) or COFC (C)
Then The system should clear the conveying car initial and number fields
R-GCCCCADD-cbl-00142 Validate Car ID using GCCCARID Utility
Action Rules
📊 Business Logic Narrative
When the process 'Validate Car ID using GCCCARID Utility' is invoked, and assuming that a conveying car initial and number are specified, when the car id validation is performed, the desired outcome is that the system should call the gcccarid utility to validate the car format and return a validated car id or error indicator.
💻 Technical Criteria
Given A conveying car initial and number are specified
When The car ID validation is performed
Then The system should call the GCCCARID utility to validate the car format and return a validated car ID or error indicator
R-GCCCCADD-cbl-00143 Generate Car ID Validation Error
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Car ID Validation Error', assuming that a car id has been submitted for validation, when the car id validation utility returns an invalid result (all asterisks), the desired outcome is that the system should generate an error message indicating invalid conveying car and include the original car value in the message.
💻 Technical Criteria
EXCLUDING A car ID has been submitted for validation
When The car ID validation utility returns an invalid result (all asterisks)
Then The system should generate an error message indicating invalid conveying car and include the original car value in the message
R-GCCCCADD-cbl-00144 Set Equipment Car Initial from Shipment
Action Rules
📊 Business Logic Narrative
When the process 'Set Equipment Car Initial from Shipment' is invoked, and assuming that a shipment record contains equipment information, when processing equipment details for customs manifest, the desired outcome is that the system should set equipment car initial from the shipment car initial field.
💻 Technical Criteria
Given A shipment record contains equipment information
When Processing equipment details for customs manifest
Then The system should set equipment car initial from the shipment car initial field
R-GCCCCADD-cbl-00145 Set Equipment Car Number from Shipment
Action Rules
📊 Business Logic Narrative
When the process 'Set Equipment Car Number from Shipment' is invoked, and assuming that a shipment record contains equipment information, when processing equipment details for customs manifest, the desired outcome is that the system should set equipment car number from the shipment car number field.
💻 Technical Criteria
Given A shipment record contains equipment information
When Processing equipment details for customs manifest
Then The system should set equipment car number from the shipment car number field
R-GCCCCADD-cbl-00146 Set Load/Empty Status from Shipment
Action Rules
📊 Business Logic Narrative
When the process 'Set Load/Empty Status from Shipment' is invoked, and assuming that a shipment record contains load/empty indicator, when processing equipment status for customs manifest, the desired outcome is that the system should set the load/empty status from the shipment el field.
💻 Technical Criteria
Given A shipment record contains load/empty indicator
When Processing equipment status for customs manifest
Then The system should set the load/empty status from the shipment EL field
R-GCCCCADD-cbl-00151 Initialize Weight and Quantity Counters to Zero
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Weight and Quantity Counters to Zero' is invoked, and assuming that the system is ready to process commodity weight and quantity data, when weight and quantity roll-up processing begins, the desired outcome is that the system initializes commodity weight counter to zero and number of units counter to zero.
💻 Technical Criteria
Given The system is ready to process commodity weight and quantity data
When Weight and quantity roll-up processing begins
Then The system initializes commodity weight counter to zero and number of units counter to zero
R-GCCCCADD-cbl-00154 Get EBSBCCR Weight Segment
Decision Rules
📊 Business Logic Narrative
When the process 'Get EBSBCCR Weight Segment' is invoked, and assuming that the first commodity segment is being processed, when the system attempts to retrieve the corresponding ebsbccr weight segment with type 'cr' and dependent key 'cr001', the desired outcome is that if the weight segment is found, the system extracts the n7-weight value, otherwise sets the weight to zero.
💻 Technical Criteria
Given The first commodity segment is being processed
When The system attempts to retrieve the corresponding EBSBCCR weight segment with type 'CR' and dependent key 'CR001'
Then If the weight segment is found, the system extracts the N7-WEIGHT value, otherwise sets the weight to zero
R-GCCCCADD-cbl-00155 Determine Weight Unit Based on Metric Indicator
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Weight Unit Based on Metric Indicator' is invoked, and assuming that weight information has been extracted from the commodity data, when the system checks the metric indicator from the shipment root data, the desired outcome is that if the metric indicator is 'm' or 'l', the system sets the weight unit to kilograms, otherwise sets it to pounds.
💻 Technical Criteria
Given Weight information has been extracted from the commodity data
When The system checks the metric indicator from the shipment root data
Then If the metric indicator is 'M' or 'L', the system sets the weight unit to kilograms, otherwise sets it to pounds
R-GCCCCADD-cbl-00157 Fall Back to Fastway SHIPCOMM Data
Decision Rules
📊 Business Logic Narrative
When the process 'Fall Back to Fastway SHIPCOMM Data' is invoked, and assuming that edi bol processing has completed with both weight and quantity totaling zero, when the system needs to obtain weight and quantity information, the desired outcome is that the system switches to processing fastway shipcomm segments starting with the first segment using 'gu' function.
💻 Technical Criteria
Given EDI BOL processing has completed with both weight and quantity totaling zero
When The system needs to obtain weight and quantity information
Then The system switches to processing Fastway SHIPCOMM segments starting with the first segment using 'GU' function
R-GCCCCADD-cbl-00158 Get First SHIPCOMM Segment
Computation Rules
📊 Business Logic Narrative
When the process 'Get First SHIPCOMM Segment' is invoked, and assuming that the system is falling back to fastway data processing, when shipcomm segments are available, the desired outcome is that the system adds num-units from shipcomm to the total units, sets quantity qualifier to 'pcs', and adds weight based on metric indicator (met-cmod-wgt for metric, cmod-wgt for standard).
💻 Technical Criteria
Given The system is falling back to Fastway data processing
When SHIPCOMM segments are available
Then The system adds NUM-UNITS from SHIPCOMM to the total units, sets quantity qualifier to 'PCS', and adds weight based on metric indicator (MET-CMOD-WGT for metric, CMOD-WGT for standard)
R-GCCCCADD-cbl-00159 Get Next SHIPCOMM Segments
Process Rules
📊 Business Logic Narrative
When the process 'Get Next SHIPCOMM Segments' is invoked, and assuming that the first shipcomm segment has been processed successfully, when additional shipcomm segments are available, the desired outcome is that the system continues processing each subsequent segment using 'gn' function, accumulating units and weight until no more segments are found.
💻 Technical Criteria
Given The first SHIPCOMM segment has been processed successfully
When Additional SHIPCOMM segments are available
Then The system continues processing each subsequent segment using 'GN' function, accumulating units and weight until no more segments are found
R-GCCCCADD-cbl-00160 Set Default Quantity to 1
Validation Rules
📊 Business Logic Narrative
When the process 'Set Default Quantity to 1' is invoked, and assuming that weight and quantity processing has completed, when the total number of units is zero or less, the desired outcome is that the system sets the number of units to 1 and uses this value for the lading quantity.
💻 Technical Criteria
Given Weight and quantity processing has completed
When The total number of units is zero or less
Then The system sets the number of units to 1 and uses this value for the lading quantity
R-GCCCCADD-cbl-00161 Set Default Weight to 1
Validation Rules
📊 Business Logic Narrative
When the process 'Set Default Weight to 1' is invoked, and assuming that weight processing has completed, when the calculated weight is zero or less, the desired outcome is that the system sets the weight to '00000001'.
💻 Technical Criteria
Given Weight processing has completed
When The calculated weight is zero or less
Then The system sets the weight to '00000001'
R-GCCCCADD-cbl-00162 Set Default Qualifier to PCS
Validation Rules
📊 Business Logic Narrative
When the process 'Set Default Qualifier to PCS' is invoked, and assuming that quantity processing has completed, when the lading quantity qualifier is empty or spaces, the desired outcome is that the system sets the lading quantity qualifier to 'pcs' (pieces).
💻 Technical Criteria
Given Quantity processing has completed
When The lading quantity qualifier is empty or spaces
Then The system sets the lading quantity qualifier to 'PCS' (pieces)
R-GCCCCADD-cbl-01943 Initialize Weight and Quantity Counters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Weight and Quantity Counters' is invoked, and assuming that valid edi bol data is available, when starting weight and quantity processing, the desired outcome is that set commodity weight counter to zero and number of units counter to zero.
💻 Technical Criteria
Given Valid EDI BOL data is available
When Starting weight and quantity processing
Then Set commodity weight counter to zero and number of units counter to zero
R-GCCCCADD-cbl-01946 Get EBSBCCR Weight Segment
Action Rules
📊 Business Logic Narrative
When the process 'Get EBSBCCR Weight Segment' is invoked, and assuming that processing the first commodity segment (sequence = 1), when retrieving ebsbccr weight segment with type 'cr' and dependent key 'cr001', the desired outcome is that if invalid edi bol flag is set, mark weight segment as not found, otherwise call ebclgio and set found flag based on status.
💻 Technical Criteria
Given Processing the first commodity segment (sequence = 1)
When Retrieving EBSBCCR weight segment with type 'CR' and dependent key 'CR001'
Then If invalid EDI BOL flag is set, mark weight segment as not found, otherwise call EBCLGIO and set found flag based on status
R-GCCCCADD-cbl-01947 Extract Total Weight
Computation Rules
📊 Business Logic Narrative
When the process 'Extract Total Weight' is invoked, and assuming that weight segment is found for the first commodity, when processing weight information, the desired outcome is that move the n7 weight value to the commodity weight counter.
💻 Technical Criteria
Given Weight segment is found for the first commodity
When Processing weight information
Then Move the N7 weight value to the commodity weight counter
R-GCCCCADD-cbl-01948 Set Weight to Zero
Computation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Weight to Zero', assuming that weight segment is not found for the first commodity, when processing weight information, the desired outcome is that set commodity weight counter to zero.
💻 Technical Criteria
EXCLUDING Weight segment is not found for the first commodity
When Processing weight information
Then Set commodity weight counter to zero
R-GCCCCADD-cbl-01949 Determine Weight Unit from Metric Indicator
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Weight Unit from Metric Indicator' is invoked, and assuming that weight has been processed for the first commodity segment, when determining weight unit from shipment root metric indicator, the desired outcome is that if metric indicator is 'm' or 'l', set weight unit to kilograms, otherwise set weight unit to pounds.
💻 Technical Criteria
Given Weight has been processed for the first commodity segment
When Determining weight unit from shipment root metric indicator
Then If metric indicator is 'M' or 'L', set weight unit to kilograms, otherwise set weight unit to pounds
R-GCCCCADD-cbl-01951 Fall Back to Fastway SHIPCOMM Data
Process Rules
📊 Business Logic Narrative
When the process 'Fall Back to Fastway SHIPCOMM Data' is invoked, and assuming that both commodity weight and number of units are zero after edi processing, when falling back to fastway data processing, the desired outcome is that set shipcomm found flag and set get function to 'gu' for first segment retrieval.
💻 Technical Criteria
Given Both commodity weight and number of units are zero after EDI processing
When Falling back to Fastway data processing
Then Set SHIPCOMM found flag and set get function to 'GU' for first segment retrieval
R-GCCCCADD-cbl-01953 Add SHIPCOMM Quantities and Weights
Computation Rules
📊 Business Logic Narrative
When the process 'Add SHIPCOMM Quantities and Weights' is invoked, and assuming that shipcomm segment is found, when processing fastway commodity data, the desired outcome is that add number of units from shipcomm to total units, and if metric indicator is 'm' or 'l', add metric weight and set unit to kilograms, otherwise add standard weight and set unit to pounds.
💻 Technical Criteria
Given SHIPCOMM segment is found
When Processing Fastway commodity data
Then Add number of units from SHIPCOMM to total units, and if metric indicator is 'M' or 'L', add metric weight and set unit to kilograms, otherwise add standard weight and set unit to pounds
R-GCCCCADD-cbl-01956 Add Additional SHIPCOMM Data
Computation Rules
📊 Business Logic Narrative
When the process 'Add Additional SHIPCOMM Data' is invoked, and assuming that additional shipcomm segments are found, when processing additional fastway data, the desired outcome is that add number of units to total, set quantity qualifier to 'pcs', and add appropriate weight based on metric indicator.
💻 Technical Criteria
Given Additional SHIPCOMM segments are found
When Processing additional Fastway data
Then Add number of units to total, set quantity qualifier to 'PCS', and add appropriate weight based on metric indicator
R-GCCCCADD-cbl-01959 Use Calculated Weight
Decision Rules
📊 Business Logic Narrative
When the process 'Use Calculated Weight' is invoked, and assuming that final commodity weight is greater than zero, when finalizing weight assignment, the desired outcome is that move the calculated commodity weight to the customs weight field.
💻 Technical Criteria
Given Final commodity weight is greater than zero
When Finalizing weight assignment
Then Move the calculated commodity weight to the customs weight field
R-GCCCCADD-cbl-01960 Set Default Weight to 1
Decision Rules
📊 Business Logic Narrative
When the process 'Set Default Weight to 1' is invoked, and assuming that final commodity weight is zero or less, when finalizing weight assignment, the desired outcome is that set customs weight to '00000001'.
💻 Technical Criteria
Given Final commodity weight is zero or less
When Finalizing weight assignment
Then Set customs weight to '00000001'
R-GCCCCADD-cbl-01961 Set Default Qualifier to PCS
Decision Rules
📊 Business Logic Narrative
When the process 'Set Default Qualifier to PCS' is invoked, and assuming that quantity qualifier is empty after all processing, when finalizing quantity qualifier assignment, the desired outcome is that set quantity qualifier to 'pcs' (pieces).
💻 Technical Criteria
Given Quantity qualifier is empty after all processing
When Finalizing quantity qualifier assignment
Then Set quantity qualifier to 'PCS' (pieces)
R-GCCCCADD-cbl-02351 Get EBSBCCR Weight Segment
Computation Rules
📊 Business Logic Narrative
When the process 'Get EBSBCCR Weight Segment' is invoked, and assuming that the first commodity segment is being processed (sequence = 1), when the system retrieves ebsbccr weight segment with type 'cr' and dependent key 'cr001', the desired outcome is that if weight segment is found, extract n7-weight value, otherwise set weight to 0, and set weight unit to kg if metric indicator is 'm' or 'l', otherwise set to lb, and capture l0-lading-qty-qual as quantity qualifier.
💻 Technical Criteria
Given The first commodity segment is being processed (sequence = 1)
When The system retrieves EBSBCCR weight segment with type 'CR' and dependent key 'CR001'
Then If weight segment is found, extract N7-WEIGHT value, otherwise set weight to 0, and set weight unit to KG if metric indicator is 'M' or 'L', otherwise set to LB, and capture L0-LADING-QTY-QUAL as quantity qualifier
R-GCCCCADD-cbl-02352 Get First SHIPCOMM Record
Computation Rules
📊 Business Logic Narrative
When the process 'Get First SHIPCOMM Record' is invoked, and assuming that edi weight and quantity data is zero or unavailable, when the system retrieves the first shipcomm record using 'gu' function, the desired outcome is that if shipcomm is found, add num-units to quantity total, set quantity qualifier to 'pcs', and add met-cmod-wgt to weight if metric indicator is 'm' or 'l', otherwise add cmod-wgt, and set weight unit accordingly.
💻 Technical Criteria
Given EDI weight and quantity data is zero or unavailable
When The system retrieves the first SHIPCOMM record using 'GU' function
Then If SHIPCOMM is found, add NUM-UNITS to quantity total, set quantity qualifier to 'PCS', and add MET-CMOD-WGT to weight if metric indicator is 'M' or 'L', otherwise add CMOD-WGT, and set weight unit accordingly
R-GCCCCADD-cbl-02353 Get Next SHIPCOMM Records
Computation Rules
📊 Business Logic Narrative
When the process 'Get Next SHIPCOMM Records' is invoked, and assuming that the first shipcomm record has been processed, when the system retrieves subsequent shipcomm records using 'gn' function until no more records are found, the desired outcome is that for each additional shipcomm record found, add num-units to quantity total, set quantity qualifier to 'pcs', and add appropriate weight (met-cmod-wgt for metric or cmod-wgt for imperial) to weight total.
💻 Technical Criteria
Given The first SHIPCOMM record has been processed
When The system retrieves subsequent SHIPCOMM records using 'GN' function until no more records are found
Then For each additional SHIPCOMM record found, add NUM-UNITS to quantity total, set quantity qualifier to 'PCS', and add appropriate weight (MET-CMOD-WGT for metric or CMOD-WGT for imperial) to weight total
R-GCCCCADD-cbl-02354 Validate Final Quantities
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Final Quantities' is invoked, and assuming that weight and quantity extraction from all sources is complete, when the system validates the final quantity value, the desired outcome is that if quantity is greater than zero, use the extracted quantity value, otherwise set quantity to 1 as default.
💻 Technical Criteria
Given Weight and quantity extraction from all sources is complete
When The system validates the final quantity value
Then If quantity is greater than zero, use the extracted quantity value, otherwise set quantity to 1 as default
R-GCCCCADD-cbl-02355 Validate Final Quantities
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Final Quantities' is invoked, and assuming that weight extraction from all sources is complete, when the system validates the final weight value, the desired outcome is that if weight is greater than zero, use the extracted weight value, otherwise set weight to '00000001' as default.
💻 Technical Criteria
Given Weight extraction from all sources is complete
When The system validates the final weight value
Then If weight is greater than zero, use the extracted weight value, otherwise set weight to '00000001' as default
R-GCCCCADD-cbl-02356 Validate Quantity Qualifier
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Quantity Qualifier' is invoked, and assuming that quantity qualifier extraction from all sources is complete, when the system validates the quantity qualifier value, the desired outcome is that if quantity qualifier is empty or spaces, set quantity qualifier to 'pcs' as default.
💻 Technical Criteria
Given Quantity qualifier extraction from all sources is complete
When The system validates the quantity qualifier value
Then If quantity qualifier is empty or spaces, set quantity qualifier to 'PCS' as default
R-GCCCCADD-cbl-02681 Initialize Commodity Counters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Commodity Counters' is invoked, and assuming that the system is ready to process commodity data from edi segments, when commodity processing begins, the desired outcome is that weight counter is set to zero and quantity counter is set to zero.
💻 Technical Criteria
Given The system is ready to process commodity data from EDI segments
When Commodity processing begins
Then Weight counter is set to zero AND quantity counter is set to zero
R-GCCCCADD-cbl-02688 Get EBSBCCR Weight Segment
Action Rules
📊 Business Logic Narrative
When the process 'Get EBSBCCR Weight Segment' is invoked, and assuming that this is the first commodity segment being processed, when the system needs weight information, the desired outcome is that the system calls ebclgio to retrieve ebsbccr segment with type 'cr' and dependent key 'cr001'.
💻 Technical Criteria
Given This is the first commodity segment being processed
When The system needs weight information
Then The system calls EBCLGIO to retrieve EBSBCCR segment with type 'CR' and dependent key 'CR001'
R-GCCCCADD-cbl-02689 Weight Segment Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Weight Segment Found?' is invoked, and assuming that an attempt has been made to retrieve ebsbccr weight segment, when the system checks the retrieval status, the desired outcome is that if weight segment is found then extract n7-weight value else set weight to zero.
💻 Technical Criteria
Given An attempt has been made to retrieve EBSBCCR weight segment
When The system checks the retrieval status
Then IF weight segment is found THEN extract N7-WEIGHT value ELSE set weight to zero
R-GCCCCADD-cbl-02690 Extract Weight from N7-WEIGHT
Computation Rules
📊 Business Logic Narrative
When the process 'Extract Weight from N7-WEIGHT' is invoked, and assuming that a valid ebsbccr weight segment has been retrieved, when the system processes weight data, the desired outcome is that the weight value is extracted from n7-weight field and stored in ws-cmod-weight-9.
💻 Technical Criteria
Given A valid EBSBCCR weight segment has been retrieved
When The system processes weight data
Then The weight value is extracted from N7-WEIGHT field and stored in WS-CMOD-WEIGHT-9
R-GCCCCADD-cbl-02691 Set Weight to Zero
Validation Rules
📊 Business Logic Narrative
When the process 'Set Weight to Zero' is invoked, and assuming that no ebsbccr weight segment was found, when the system needs to set a weight value, the desired outcome is that the weight counter (ws-cmod-weight-9) is set to zero.
💻 Technical Criteria
Given No EBSBCCR weight segment was found
When The system needs to set a weight value
Then The weight counter (WS-CMOD-WEIGHT-9) is set to zero
R-GCCCCADD-cbl-02692 Determine Weight Unit from Metric Indicator
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Weight Unit from Metric Indicator' is invoked, and assuming that weight data has been processed from edi segment, when the system determines the weight unit, the desired outcome is that if metric indicator is 'm' or 'l' then set weight unit to kilograms else set weight unit to pounds.
💻 Technical Criteria
Given Weight data has been processed from EDI segment
When The system determines the weight unit
Then IF metric indicator is 'M' or 'L' THEN set weight unit to kilograms ELSE set weight unit to pounds
R-GCCCCADD-cbl-02851 Initialize EBWLGIO Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize EBWLGIO Parameters' is invoked, and assuming that a request to retrieve weight data from edi bol weight segment, when the system begins weight segment retrieval process, the desired outcome is that communication parameters are cleared and accept status is set to ge for database access.
💻 Technical Criteria
Given A request to retrieve weight data from EDI BOL weight segment
When The system begins weight segment retrieval process
Then Communication parameters are cleared and accept status is set to GE for database access
R-GCCCCADD-cbl-02852 Set Segment Type to EBSBCCR
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Segment Type to EBSBCCR' is invoked, and assuming that communication parameters are initialized for weight segment retrieval, when the system configures segment type for database query, the desired outcome is that segment type is set to ebsbccr to target weight records.
💻 Technical Criteria
Given Communication parameters are initialized for weight segment retrieval
When The system configures segment type for database query
Then Segment type is set to EBSBCCR to target weight records
R-GCCCCADD-cbl-02853 Set Function Code to GU
Process Rules
📊 Business Logic Narrative
When the process 'Set Function Code to GU' is invoked, and assuming that segment type is configured for weight data retrieval, when the system sets database operation type, the desired outcome is that function code is set to gu to retrieve unique weight record.
💻 Technical Criteria
Given Segment type is configured for weight data retrieval
When The system sets database operation type
Then Function code is set to GU to retrieve unique weight record
R-GCCCCADD-cbl-02854 Set Root Key from EDI BOL Key
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Root Key from EDI BOL Key' is invoked, and assuming that database function code is set for weight retrieval, when the system configures shipment identification, the desired outcome is that root key is set to edi bol key to target specific shipment weight data.
💻 Technical Criteria
Given Database function code is set for weight retrieval
When The system configures shipment identification
Then Root key is set to EDI BOL key to target specific shipment weight data
R-GCCCCADD-cbl-02855 Set Type to CR
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Type to CR' is invoked, and assuming that root key is configured for shipment identification, when the system sets record type for weight data, the desired outcome is that type is set to cr to target commodity weight records.
💻 Technical Criteria
Given Root key is configured for shipment identification
When The system sets record type for weight data
Then Type is set to CR to target commodity weight records
R-GCCCCADD-cbl-02856 Set Dependent Key to CR001
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Dependent Key to CR001' is invoked, and assuming that record type is set to cr for commodity weight data, when the system specifies which commodity weight record to retrieve, the desired outcome is that dependent key is set to cr001 to access the first weight record.
💻 Technical Criteria
Given Record type is set to CR for commodity weight data
When The system specifies which commodity weight record to retrieve
Then Dependent key is set to CR001 to access the first weight record
R-GCCCCADD-cbl-02857 Valid EDI BOL?
Validation Rules
📊 Business Logic Narrative
When the process 'Valid EDI BOL?' is invoked, and assuming that all retrieval parameters are configured for weight segment access, when the system checks edi bol validity status, the desired outcome is that if edi bol is invalid, weight segment is marked as not found, otherwise proceed with database retrieval.
💻 Technical Criteria
Given All retrieval parameters are configured for weight segment access
When The system checks EDI BOL validity status
Then If EDI BOL is invalid, weight segment is marked as not found, otherwise proceed with database retrieval
R-GCCCCADD-cbl-02858 Set Weight Segment Not Found
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Weight Segment Not Found', assuming that edi bol validity check is performed, when edi bol is determined to be invalid, the desired outcome is that weight segment found flag is set to not found without attempting database retrieval.
💻 Technical Criteria
EXCLUDING EDI BOL validity check is performed
When EDI BOL is determined to be invalid
Then Weight segment found flag is set to not found without attempting database retrieval
R-GCCCCADD-cbl-02859 Call EBCLGIO to Retrieve Weight Data
Action Rules
📊 Business Logic Narrative
When the process 'Call EBCLGIO to Retrieve Weight Data' is invoked, and assuming that edi bol is valid and all retrieval parameters are set, when the system executes database retrieval operation, the desired outcome is that ebclgio is called with communication parameters to retrieve weight segment data.
💻 Technical Criteria
Given EDI BOL is valid and all retrieval parameters are set
When The system executes database retrieval operation
Then EBCLGIO is called with communication parameters to retrieve weight segment data
R-GCCCCADD-cbl-02860 Weight Data Retrieved Successfully?
Validation Rules
📊 Business Logic Narrative
When the process 'Weight Data Retrieved Successfully?' is invoked, and assuming that database retrieval operation is executed, when the system checks database operation status, the desired outcome is that if status code is spaces (success), mark weight segment as found, otherwise mark as not found.
💻 Technical Criteria
Given Database retrieval operation is executed
When The system checks database operation status
Then If status code is spaces (success), mark weight segment as found, otherwise mark as not found
R-GCCCCADD-cbl-02861 Set Weight Segment Found Flag
Decision Rules
📊 Business Logic Narrative
When the process 'Set Weight Segment Found Flag' is invoked, and assuming that database retrieval operation completed, when database status indicates successful retrieval (status code is spaces), the desired outcome is that weight segment found flag is set to true.
💻 Technical Criteria
Given Database retrieval operation completed
When Database status indicates successful retrieval (status code is spaces)
Then Weight segment found flag is set to true
R-GCCCCADD-cbl-02862 Set Weight Segment Not Found Flag
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Weight Segment Not Found Flag', assuming that database retrieval operation completed, when database status indicates retrieval failure (status code is not spaces), the desired outcome is that weight segment found flag is set to false.
💻 Technical Criteria
EXCLUDING Database retrieval operation completed
When Database status indicates retrieval failure (status code is not spaces)
Then Weight segment found flag is set to false
R-GCCCCADD-cbl-02697 Check Metric Indicator in SHIPROOT
Decision Rules
📊 Business Logic Narrative
When the process 'Check Metric Indicator in SHIPROOT' is invoked, and assuming that a shipment root record with a metric indicator field, when the metric indicator is 'm' (metric) or 'l' (liters), the desired outcome is that the system sets the weight unit to kg (kilograms).
💻 Technical Criteria
Given A shipment root record with a metric indicator field
When The metric indicator is 'M' (Metric) or 'L' (Liters)
Then The system sets the weight unit to KG (kilograms)
R-GCCCCADD-cbl-02698 Set Weight Unit to LB - Pounds
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Weight Unit to LB - Pounds', assuming that a shipment root record with a metric indicator field, when the metric indicator is not 'm' (metric) or 'l' (liters), the desired outcome is that the system sets the weight unit to lb (pounds).
💻 Technical Criteria
EXCLUDING A shipment root record with a metric indicator field
When The metric indicator is not 'M' (Metric) or 'L' (Liters)
Then The system sets the weight unit to LB (pounds)
R-GCCCCADD-cbl-02699 Apply Weight Unit to Commodity Weight
Computation Rules
📊 Business Logic Narrative
When the process 'Apply Weight Unit to Commodity Weight' is invoked, and assuming that a shipment with metric indicator set to 'm' or 'l' and commodity weight data available, when processing commodity weight from edi bol or shipment commodity data, the desired outcome is that the system adds the metric commodity weight to the total weight calculation and sets the weight unit flag to kilograms.
💻 Technical Criteria
Given A shipment with metric indicator set to 'M' or 'L' and commodity weight data available
When Processing commodity weight from EDI BOL or shipment commodity data
Then The system adds the metric commodity weight to the total weight calculation and sets the weight unit flag to kilograms
R-GCCCCADD-cbl-02700 Apply Weight Unit to Commodity Weight
Computation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Apply Weight Unit to Commodity Weight', assuming that a shipment with metric indicator not set to 'm' or 'l' and commodity weight data available, when processing commodity weight from edi bol or shipment commodity data, the desired outcome is that the system adds the standard commodity weight to the total weight calculation and sets the weight unit flag to pounds.
💻 Technical Criteria
EXCLUDING A shipment with metric indicator not set to 'M' or 'L' and commodity weight data available
When Processing commodity weight from EDI BOL or shipment commodity data
Then The system adds the standard commodity weight to the total weight calculation and sets the weight unit flag to pounds
R-GCCCCADD-cbl-02357 Check EDI BOL Weight/Quantity Data
Decision Rules
📊 Business Logic Narrative
When the process 'Check EDI BOL Weight/Quantity Data' is invoked, and assuming that a shipment requires weight and quantity determination, when the system checks edi bol data for weight and quantity values, the desired outcome is that if both edi weight equals zero and edi quantity equals zero, proceed to fastway shipcomm fallback processing, otherwise use edi data.
💻 Technical Criteria
Given A shipment requires weight and quantity determination
When The system checks EDI BOL data for weight and quantity values
Then If both EDI weight equals zero AND EDI quantity equals zero, proceed to Fastway SHIPCOMM fallback processing, otherwise use EDI data
R-GCCCCADD-cbl-02358 EDI Weight = 0 AND Quantity = 0?
Decision Rules
📊 Business Logic Narrative
When the process 'EDI Weight = 0 AND Quantity = 0?' is invoked, and assuming that edi bol weight and quantity data has been evaluated, when both edi weight equals zero and edi quantity equals zero, the desired outcome is that initiate fastway shipcomm record processing to obtain weight and quantity data.
💻 Technical Criteria
Given EDI BOL weight and quantity data has been evaluated
When Both EDI weight equals zero AND EDI quantity equals zero
Then Initiate Fastway SHIPCOMM record processing to obtain weight and quantity data
R-GCCCCADD-cbl-02363 Metric Indicator = 'M' or 'L'?
Decision Rules
📊 Business Logic Narrative
When the process 'Metric Indicator = 'M' or 'L'?' is invoked, and assuming that shipcomm weight data needs to be processed, when the system checks the metric indicator from shipment root, the desired outcome is that if metric indicator equals 'm' or 'l', use metric weight processing, otherwise use standard weight processing.
💻 Technical Criteria
Given SHIPCOMM weight data needs to be processed
When The system checks the metric indicator from shipment root
Then If metric indicator equals 'M' or 'L', use metric weight processing, otherwise use standard weight processing
R-GCCCCADD-cbl-02364 Add Metric Weight to Total
Computation Rules
📊 Business Logic Narrative
When the process 'Add Metric Weight to Total' is invoked, and assuming that metric weight system is detected and shipcomm record is available, when the system processes metric weight from shipcomm, the desired outcome is that add met-cmod-wgt from shipcomm to the total weight accumulator.
💻 Technical Criteria
Given Metric weight system is detected and SHIPCOMM record is available
When The system processes metric weight from SHIPCOMM
Then Add MET-CMOD-WGT from SHIPCOMM to the total weight accumulator
R-GCCCCADD-cbl-02365 Set Weight Unit to KG
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Weight Unit to KG' is invoked, and assuming that metric weight processing is active, when weight unit designation is required, the desired outcome is that set the weight unit indicator to kg (kilograms).
💻 Technical Criteria
Given Metric weight processing is active
When Weight unit designation is required
Then Set the weight unit indicator to KG (kilograms)
R-GCCCCADD-cbl-02366 Add Standard Weight to Total
Computation Rules
📊 Business Logic Narrative
When the process 'Add Standard Weight to Total' is invoked, and assuming that standard weight system is detected and shipcomm record is available, when the system processes standard weight from shipcomm, the desired outcome is that add cmod-wgt from shipcomm to the total weight accumulator.
💻 Technical Criteria
Given Standard weight system is detected and SHIPCOMM record is available
When The system processes standard weight from SHIPCOMM
Then Add CMOD-WGT from SHIPCOMM to the total weight accumulator
R-GCCCCADD-cbl-02367 Set Weight Unit to LB
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Weight Unit to LB' is invoked, and assuming that standard weight processing is active, when weight unit designation is required, the desired outcome is that set the weight unit indicator to lb (pounds).
💻 Technical Criteria
Given Standard weight processing is active
When Weight unit designation is required
Then Set the weight unit indicator to LB (pounds)
R-GCCCCADD-cbl-02370 Validate Final Quantities
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Final Quantities' is invoked, and assuming that all shipcomm records have been processed, when final weight and quantity totals need validation, the desired outcome is that check if accumulated totals are greater than zero for proper assignment.
💻 Technical Criteria
Given All SHIPCOMM records have been processed
When Final weight and quantity totals need validation
Then Check if accumulated totals are greater than zero for proper assignment
R-GCCCCADD-cbl-02372 Use Calculated Quantity
Computation Rules
📊 Business Logic Narrative
When the process 'Use Calculated Quantity' is invoked, and assuming that total quantity is greater than zero, when final quantity assignment is required, the desired outcome is that move the calculated total quantity to the cargo manifest quantity field.
💻 Technical Criteria
Given Total quantity is greater than zero
When Final quantity assignment is required
Then Move the calculated total quantity to the cargo manifest quantity field
R-GCCCCADD-cbl-02373 Set Default Quantity = 1
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Default Quantity = 1' is invoked, and assuming that total calculated quantity is zero or negative, when final quantity assignment is required, the desired outcome is that set quantity to default value of 1 and assign to cargo manifest.
💻 Technical Criteria
Given Total calculated quantity is zero or negative
When Final quantity assignment is required
Then Set quantity to default value of 1 and assign to cargo manifest
R-GCCCCADD-cbl-02374 Total Weight > 0?
Validation Rules
📊 Business Logic Narrative
When the process 'Total Weight > 0?' is invoked, and assuming that weight has been accumulated from shipcomm records, when the system validates the total weight value, the desired outcome is that if total weight is greater than zero, use calculated weight, otherwise set default weight to 1.
💻 Technical Criteria
Given Weight has been accumulated from SHIPCOMM records
When The system validates the total weight value
Then If total weight is greater than zero, use calculated weight, otherwise set default weight to 1
R-GCCCCADD-cbl-02375 Use Calculated Weight
Computation Rules
📊 Business Logic Narrative
When the process 'Use Calculated Weight' is invoked, and assuming that total weight is greater than zero, when final weight assignment is required, the desired outcome is that move the calculated total weight to the cargo manifest weight field.
💻 Technical Criteria
Given Total weight is greater than zero
When Final weight assignment is required
Then Move the calculated total weight to the cargo manifest weight field
R-GCCCCADD-cbl-02376 Set Default Weight = 1
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Default Weight = 1' is invoked, and assuming that total calculated weight is zero or negative, when final weight assignment is required, the desired outcome is that set weight to default value of '00000001' and assign to cargo manifest.
💻 Technical Criteria
Given Total calculated weight is zero or negative
When Final weight assignment is required
Then Set weight to default value of '00000001' and assign to cargo manifest
R-GCCCCADD-cbl-01964 Process EBSBCCR Weight Segments
Process Rules
📊 Business Logic Narrative
When the process 'Process EBSBCCR Weight Segments' is invoked, and assuming that edi bol commodity segments are being processed and first sequence is identified, when the system retrieves weight segment for the first commodity sequence, the desired outcome is that the system captures weight value and sets weight unit based on metric indicator from shipment root.
💻 Technical Criteria
Given EDI BOL commodity segments are being processed and first sequence is identified
When The system retrieves weight segment for the first commodity sequence
Then The system captures weight value and sets weight unit based on metric indicator from shipment root
R-GCCCCADD-cbl-01965 Fall Back to Fastway SHIPCOMM Data
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Fall Back to Fastway SHIPCOMM Data', assuming that edi bol data is not available or weight and quantity values are zero after edi processing, when the system retrieves first shipcomm record and processes all subsequent shipcomm records, the desired outcome is that the system accumulates units and weight from all shipcomm records and sets quantity qualifier to 'pcs'.
💻 Technical Criteria
EXCLUDING EDI BOL data is not available or weight and quantity values are zero after EDI processing
When The system retrieves first SHIPCOMM record and processes all subsequent SHIPCOMM records
Then The system accumulates units and weight from all SHIPCOMM records and sets quantity qualifier to 'PCS'
R-GCCCCADD-cbl-01966 Set Weight Units Based on Metric Indicator
Decision Rules
📊 Business Logic Narrative
When the process 'Set Weight Units Based on Metric Indicator' is invoked, and assuming that weight data has been processed from either edi bol or fastway shipcomm, when the system checks the metric indicator from shipment root data, the desired outcome is that the system sets weight unit to kilograms if metric indicator is 'm' or 'l', otherwise sets to pounds.
💻 Technical Criteria
Given Weight data has been processed from either EDI BOL or Fastway SHIPCOMM
When The system checks the metric indicator from shipment root data
Then The system sets weight unit to kilograms if metric indicator is 'M' or 'L', otherwise sets to pounds
R-GCCCCADD-cbl-01967 Set Default Values if Zero
Validation Rules
📊 Business Logic Narrative
When the process 'Set Default Values if Zero' is invoked, and assuming that weight and quantity processing is complete from all available data sources, when the system finds quantity is zero or weight is zero, the desired outcome is that the system sets quantity to 1 if zero and weight to '00000001' if zero, and ensures quantity qualifier is set to 'pcs' if blank.
💻 Technical Criteria
Given Weight and quantity processing is complete from all available data sources
When The system finds quantity is zero or weight is zero
Then The system sets quantity to 1 if zero and weight to '00000001' if zero, and ensures quantity qualifier is set to 'PCS' if blank
R-GCCCCADD-cbl-01969 Initialize Weight and Quantity Counters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Weight and Quantity Counters' is invoked, and assuming that weight and quantity processing is starting, when the system begins commodity data processing, the desired outcome is that weight and quantity counters are initialized to zero.
💻 Technical Criteria
Given Weight and quantity processing is starting
When The system begins commodity data processing
Then Weight and quantity counters are initialized to zero
R-GCCCCADD-cbl-01970 Process EDI BOL Commodity Segments
Process Rules
📊 Business Logic Narrative
When the process 'Process EDI BOL Commodity Segments' is invoked, and assuming that valid edi bol data is available with commodity segments, when the system processes each commodity segment sequentially from 1 to 98, the desired outcome is that each found commodity segment contributes its quantity to the total and the first segment provides weight and unit information.
💻 Technical Criteria
Given Valid EDI BOL data is available with commodity segments
When The system processes each commodity segment sequentially from 1 to 98
Then Each found commodity segment contributes its quantity to the total and the first segment provides weight and unit information
R-GCCCCADD-cbl-01971 Get Weight from EDI BOL
Computation Rules
📊 Business Logic Narrative
When the process 'Get Weight from EDI BOL' is invoked, and assuming that the first edi bol commodity segment is being processed, when weight data is extracted from the commodity segment, the desired outcome is that the weight value is set from the segment and weight unit is determined as kilograms if metric indicator is m or l, otherwise pounds.
💻 Technical Criteria
Given The first EDI BOL commodity segment is being processed
When Weight data is extracted from the commodity segment
Then The weight value is set from the segment and weight unit is determined as kilograms if metric indicator is M or L, otherwise pounds
R-GCCCCADD-cbl-01972 Fall Back to Fastway SHIPCOMM Data
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Fall Back to Fastway SHIPCOMM Data', assuming that edi bol data is not available or both weight and quantity are zero after edi processing, when the system retrieves fastway shipcomm data using gu and gn functions, the desired outcome is that weight and quantity are accumulated from all shipcomm records with quantity qualifier set to pcs and weight unit determined by metric indicator.
💻 Technical Criteria
EXCLUDING EDI BOL data is not available or both weight and quantity are zero after EDI processing
When The system retrieves Fastway SHIPCOMM data using GU and GN functions
Then Weight and quantity are accumulated from all SHIPCOMM records with quantity qualifier set to PCS and weight unit determined by metric indicator
R-GCCCCADD-cbl-01973 Set Default Quantity to 1
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Default Quantity to 1', assuming that weight and quantity processing has completed from all data sources, when the final quantity value is zero or not greater than zero, the desired outcome is that the system sets the default quantity to 1.
💻 Technical Criteria
EXCLUDING Weight and quantity processing has completed from all data sources
When The final quantity value is zero or not greater than zero
Then The system sets the default quantity to 1
R-GCCCCADD-cbl-01974 Set Default Weight to 1
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Default Weight to 1', assuming that weight processing has completed from all data sources, when the final weight value is zero or not greater than zero, the desired outcome is that the system sets the default weight to 00000001.
💻 Technical Criteria
EXCLUDING Weight processing has completed from all data sources
When The final weight value is zero or not greater than zero
Then The system sets the default weight to 00000001
R-GCCCCADD-cbl-01975 Set Default Qualifier to PCS
Validation Rules
📊 Business Logic Narrative
When the process 'Set Default Qualifier to PCS' is invoked, and assuming that weight and quantity processing is finalizing, when the quantity qualifier field is empty or spaces, the desired outcome is that the system sets the default quantity qualifier to pcs (pieces).
💻 Technical Criteria
Given Weight and quantity processing is finalizing
When The quantity qualifier field is empty or spaces
Then The system sets the default quantity qualifier to PCS (pieces)
R-GCCCCADD-cbl-01977 Set Quantity Qualifier to UNT
Decision Rules
📊 Business Logic Narrative
When the process 'Set Quantity Qualifier to UNT' is invoked, and assuming that a shipment with load/empty status indicator, when the equipment load/empty status is e (empty), the desired outcome is that the system overrides the quantity qualifier to unt (units) regardless of previous qualifier.
💻 Technical Criteria
Given A shipment with load/empty status indicator
When The equipment load/empty status is E (Empty)
Then The system overrides the quantity qualifier to UNT (units) regardless of previous qualifier
R-GCCCCADD-cbl-01978 Change Qualifier to PCS
Decision Rules
📊 Business Logic Narrative
When the process 'Change Qualifier to PCS' is invoked, and assuming that a non-empty shipment with a quantity qualifier, when the quantity qualifier is c/l, cld, cl, or space-cl (carload indicators), the desired outcome is that the system changes the quantity qualifier to pcs (pieces).
💻 Technical Criteria
Given A non-empty shipment with a quantity qualifier
When The quantity qualifier is C/L, CLD, CL, or space-CL (carload indicators)
Then The system changes the quantity qualifier to PCS (pieces)
R-GCCCCADD-cbl-00163 Set Qualifier to 'UNT' for Empty Equipment
Decision Rules
📊 Business Logic Narrative
When the process 'Set Qualifier to 'UNT' for Empty Equipment' is invoked, and assuming that equipment load/empty status is available from shipment data, when equipment load/empty status equals 'e' (empty), the desired outcome is that set lading quantity qualifier to 'unt'.
💻 Technical Criteria
Given Equipment load/empty status is available from shipment data
When Equipment load/empty status equals 'E' (Empty)
Then Set lading quantity qualifier to 'UNT'
R-GCCCCADD-cbl-00164 Set Qualifier to 'PCS' for Loaded Equipment
Decision Rules
📊 Business Logic Narrative
When the process 'Set Qualifier to 'PCS' for Loaded Equipment' is invoked, and assuming that equipment is loaded (not empty) and current lading quantity qualifier exists, when current qualifier equals 'c/l' or 'cld' or 'cl ' or ' cl', the desired outcome is that set lading quantity qualifier to 'pcs'.
💻 Technical Criteria
Given Equipment is loaded (not empty) and current lading quantity qualifier exists
When Current qualifier equals 'C/L' or 'CLD' or 'CL ' or ' CL'
Then Set lading quantity qualifier to 'PCS'
R-GCCCCADD-cbl-00165 Set Default Qualifier to 'PCS'
Validation Rules
📊 Business Logic Narrative
When the process 'Set Default Qualifier to 'PCS'' is invoked, and assuming that lading quantity qualifier processing is complete, when lading quantity qualifier is spaces or empty, the desired outcome is that set lading quantity qualifier to 'pcs'.
💻 Technical Criteria
Given Lading quantity qualifier processing is complete
When Lading quantity qualifier is spaces or empty
Then Set lading quantity qualifier to 'PCS'
R-GCCCCADD-cbl-00167 Generate Error Message for Invalid Qualifier
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Error Message for Invalid Qualifier' is invoked, and assuming that quantity qualifier validation is being performed, when quantity qualifier is spaces or empty, the desired outcome is that generate error message indicating required quantity qualifier is missing.
💻 Technical Criteria
Given Quantity qualifier validation is being performed
When Quantity qualifier is spaces or empty
Then Generate error message indicating required quantity qualifier is missing
R-GCCCCADD-cbl-00182 Extract Address from EDI HA Segment
Process Rules
📊 Business Logic Narrative
When the process 'Extract Address from EDI HA Segment' is invoked, and assuming that edi bol ha address segment is available, when processing shipper address information, the desired outcome is that extract address line 1 from f2-addl-name-addr-1 and address line 2 from f2-addl-name-addr-2, and if address line 1 is empty set it to 'na'.
💻 Technical Criteria
Given EDI BOL HA address segment is available
When Processing shipper address information
Then Extract address line 1 from F2-ADDL-NAME-ADDR-1 and address line 2 from F2-ADDL-NAME-ADDR-2, and if address line 1 is empty set it to 'NA'
R-GCCCCADD-cbl-00183 Use Fastway SHIPROOT Address Data
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Fastway SHIPROOT Address Data', assuming that edi bol ha address segment is not available, when processing shipper address information, the desired outcome is that use shpr-addr array from shiproot, set address line 1 from shpr-addr(1) or 'na' if empty, and clear address line 2.
💻 Technical Criteria
EXCLUDING EDI BOL HA address segment is not available
When Processing shipper address information
Then Use SHPR-ADDR array from SHIPROOT, set address line 1 from SHPR-ADDR(1) or 'NA' if empty, and clear address line 2
R-GCCCCADD-cbl-00187 No Contact Information Available
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'No Contact Information Available', assuming that edi bol gp contact segment is not available, when processing shipper contact information, the desired outcome is that leave all contact fields empty (contact function code, name, communication qualifier, and communication number).
💻 Technical Criteria
EXCLUDING EDI BOL GP contact segment is not available
When Processing shipper contact information
Then Leave all contact fields empty (contact function code, name, communication qualifier, and communication number)
R-GCCCCADD-cbl-00189 Set Default Address to 'NA'
Validation Rules
📊 Business Logic Narrative
When the process 'Set Default Address to 'NA'' is invoked, and assuming that shipper address line 1 is empty or spaces, when processing shipper address information, the desired outcome is that set address line 1 to 'na'.
💻 Technical Criteria
Given Shipper address line 1 is empty or spaces
When Processing shipper address information
Then Set address line 1 to 'NA'
R-GCCCCADD-cbl-00190 Set Default Address to 'NA'
Validation Rules
📊 Business Logic Narrative
When the process 'Set Default Address to 'NA'' is invoked, and assuming that shipper address line 2 is empty or has only first character with remaining 18 characters as spaces, when processing shipper address information, the desired outcome is that set address line 2 first 18 characters to 'na' and set country code to 'us'.
💻 Technical Criteria
Given Shipper address line 2 is empty or has only first character with remaining 18 characters as spaces
When Processing shipper address information
Then Set address line 2 first 18 characters to 'NA' and set country code to 'US'
R-GCCCCADD-cbl-00191 Determine Country Code from State
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Determine Country Code from State', assuming that shipper state/province code is not empty and address line 2 is not empty or incomplete, when processing shipper country information, the desired outcome is that search state-country lookup table to find matching country code for the state, and if not found add error message for invalid state/province code.
💻 Technical Criteria
EXCLUDING Shipper state/province code is not empty and address line 2 is not empty or incomplete
When Processing shipper country information
Then Search state-country lookup table to find matching country code for the state, and if not found add error message for invalid state/province code
R-GCCCCADD-cbl-00192 Validate Shipper Data Requirements
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Shipper Data Requirements' is invoked, and assuming that shipper information is being processed, when validating shipper data completeness, the desired outcome is that if shipper name is empty, add error message for invalid shipper name.
💻 Technical Criteria
Given Shipper information is being processed
When Validating shipper data completeness
Then If shipper name is empty, add error message for invalid shipper name
R-GCCCCADD-cbl-00197 Extract Address from EDI BOL
Validation Rules
📊 Business Logic Narrative
When the process 'Extract Address from EDI BOL' is invoked, and assuming that edi bol address data is found for the consignee, when the system processes the address segment, the desired outcome is that address line 1 is set from d2-addl-name-addr-1, address line 2 is set from d2-addl-name-addr-2, and if address line 1 is empty, it is set to 'na'.
💻 Technical Criteria
Given EDI BOL address data is found for the consignee
When The system processes the address segment
Then Address line 1 is set from D2-ADDL-NAME-ADDR-1, address line 2 is set from D2-ADDL-NAME-ADDR-2, and if address line 1 is empty, it is set to 'NA'
R-GCCCCADD-cbl-00198 Use Fastway Address Data
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Fastway Address Data', assuming that edi bol address data is not found for the consignee, when the system falls back to fastway data, the desired outcome is that address line 1 is set from cons-data(3) or 'na' if empty, and address line 2 is set to spaces.
💻 Technical Criteria
EXCLUDING EDI BOL address data is not found for the consignee
When The system falls back to Fastway data
Then Address line 1 is set from CONS-DATA(3) or 'NA' if empty, and address line 2 is set to spaces
R-GCCCCADD-cbl-00205 Set Default Address if Missing
Validation Rules
📊 Business Logic Narrative
When the process 'Set Default Address if Missing' is invoked, and assuming that address data has been extracted from either edi bol or fastway, when address line 1 is empty or contains only spaces, the desired outcome is that address line 1 is set to 'na' as the default value.
💻 Technical Criteria
Given Address data has been extracted from either EDI BOL or Fastway
When Address line 1 is empty or contains only spaces
Then Address line 1 is set to 'NA' as the default value
R-GCCCCADD-cbl-00208 Validate Consignee Data
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Consignee Data' is invoked, and assuming that consignee data has been extracted and processed, when data validation is performed, the desired outcome is that the system validates that consignee name is not empty, generates error message if consignee name is missing, and calls the n1 segment validation routine.
💻 Technical Criteria
Given Consignee data has been extracted and processed
When Data validation is performed
Then The system validates that consignee name is not empty, generates error message if consignee name is missing, and calls the N1 segment validation routine
R-GCCCCADD-cbl-00210 Set Default US Country Code
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Default US Country Code', assuming that a shipper record is being processed, when shipper address line 2 is empty or (first position is not empty and positions 2-18 are all spaces), the desired outcome is that set shipper country code to 'us' and shipper address line 2 to 'na'.
💻 Technical Criteria
EXCLUDING A shipper record is being processed
When Shipper address line 2 is empty OR (first position is not empty AND positions 2-18 are all spaces)
Then Set shipper country code to 'US' and shipper address line 2 to 'NA'
R-GCCCCADD-cbl-00211 Lookup Shipper State/Province
Decision Rules
📊 Business Logic Narrative
When the process 'Lookup Shipper State/Province' is invoked, and assuming that a shipper record with a non-empty address line 2 and state/province code, when the shipper state/province code needs country determination, the desired outcome is that search the state-country lookup table using the shipper state/province code to find the corresponding country code.
💻 Technical Criteria
Given A shipper record with a non-empty address line 2 and state/province code
When The shipper state/province code needs country determination
Then Search the state-country lookup table using the shipper state/province code to find the corresponding country code
R-GCCCCADD-cbl-00214 Set Default CA Country Code
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Default CA Country Code', assuming that a consignee record is being processed, when consignee address line 2 is empty or (first position is not empty and positions 2-18 are all spaces), the desired outcome is that set consignee country code to 'ca' and consignee address line 2 to 'na'.
💻 Technical Criteria
EXCLUDING A consignee record is being processed
When Consignee address line 2 is empty OR (first position is not empty AND positions 2-18 are all spaces)
Then Set consignee country code to 'CA' and consignee address line 2 to 'NA'
R-GCCCCADD-cbl-00215 Lookup Consignee State/Province
Decision Rules
📊 Business Logic Narrative
When the process 'Lookup Consignee State/Province' is invoked, and assuming that a consignee record with a non-empty address line 2 and state/province code, when the consignee state/province code needs country determination, the desired outcome is that search the state-country lookup table using the consignee state/province code to find the corresponding country code.
💻 Technical Criteria
Given A consignee record with a non-empty address line 2 and state/province code
When The consignee state/province code needs country determination
Then Search the state-country lookup table using the consignee state/province code to find the corresponding country code
R-GCCCCADD-cbl-00219 Generate Missing Address Error
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Missing Address Error' is invoked, and assuming that an entity record (n1 segment) with an entity id and name, when the address line 1 is empty, the desired outcome is that generate a required address information error message.
💻 Technical Criteria
Given An entity record (N1 segment) with an entity ID and name
When The address line 1 is empty
Then Generate a required address information error message
R-GCCCCADD-cbl-00221 Generate Postal Code Length Error
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Postal Code Length Error' is invoked, and assuming that an address record with a non-empty postal code, when the postal code length is less than 3 characters, the desired outcome is that generate a minimum length requirement error message for postal code.
💻 Technical Criteria
Given An address record with a non-empty postal code
When The postal code length is less than 3 characters
Then Generate a minimum length requirement error message for postal code
R-GCCCCADD-cbl-00223 Validate State/Country Combination
Decision Rules
📊 Business Logic Narrative
When the process 'Validate State/Country Combination' is invoked, and assuming that an address record with empty country code but valid state/province code, when the country code field is empty, the desired outcome is that search the state-country lookup table and set the country code based on the state/province match.
💻 Technical Criteria
Given An address record with empty country code but valid state/province code
When The country code field is empty
Then Search the state-country lookup table and set the country code based on the state/province match
R-GCCCCADD-cbl-00224 Complete Address Validation
Validation Rules
📊 Business Logic Narrative
When the process 'Complete Address Validation' is invoked, and assuming that an address record that has completed all validation steps, when the country code field is still empty, the desired outcome is that generate a required country code error message.
💻 Technical Criteria
Given An address record that has completed all validation steps
When The country code field is still empty
Then Generate a required country code error message
R-GCCCCADD-cbl-00225 Set Shipper Address 1 to 'NA'
Validation Rules
📊 Business Logic Narrative
When the process 'Set Shipper Address 1 to 'NA'' is invoked, and assuming that a shipment record is being processed for customs manifest creation, when the shipper address line 1 field is empty or contains only spaces, the desired outcome is that the system sets the shipper address line 1 to 'na' as the default value.
💻 Technical Criteria
Given A shipment record is being processed for customs manifest creation
When The shipper address line 1 field is empty or contains only spaces
Then The system sets the shipper address line 1 to 'NA' as the default value
R-GCCCCADD-cbl-00226 Set Shipper Address 2 to 'NA' and Country to 'US'
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Shipper Address 2 to 'NA' and Country to 'US'', assuming that a shipment record is being processed and shipper address line 1 has been validated, when the shipper address line 2 is empty or the first character is not empty but characters 2-18 are all spaces, the desired outcome is that the system sets shipper address line 2 to 'na' for positions 1-18 and sets the shipper country code to 'us'.
💻 Technical Criteria
EXCLUDING A shipment record is being processed and shipper address line 1 has been validated
When The shipper address line 2 is empty OR the first character is not empty but characters 2-18 are all spaces
Then The system sets shipper address line 2 to 'NA' for positions 1-18 and sets the shipper country code to 'US'
R-GCCCCADD-cbl-00227 Set Consignee Address 1 to 'NA'
Validation Rules
📊 Business Logic Narrative
When the process 'Set Consignee Address 1 to 'NA'' is invoked, and assuming that a shipment record is being processed for customs manifest creation, when the consignee address line 1 field is empty or contains only spaces, the desired outcome is that the system sets the consignee address line 1 to 'na' as the default value.
💻 Technical Criteria
Given A shipment record is being processed for customs manifest creation
When The consignee address line 1 field is empty or contains only spaces
Then The system sets the consignee address line 1 to 'NA' as the default value
R-GCCCCADD-cbl-00228 Set Consignee Address 2 to 'NA' and Country to 'CA'
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Consignee Address 2 to 'NA' and Country to 'CA'', assuming that a shipment record is being processed and consignee address line 1 has been validated, when the consignee address line 2 is empty or the first character is not empty but characters 2-18 are all spaces, the desired outcome is that the system sets consignee address line 2 to 'na' for positions 1-18 and sets the consignee country code to 'ca'.
💻 Technical Criteria
EXCLUDING A shipment record is being processed and consignee address line 1 has been validated
When The consignee address line 2 is empty OR the first character is not empty but characters 2-18 are all spaces
Then The system sets consignee address line 2 to 'NA' for positions 1-18 and sets the consignee country code to 'CA'
R-GCCCCADD-cbl-00229 Pad Shipper Postal Code with Periods
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Pad Shipper Postal Code with Periods', assuming that the processing is called from gcx011 system and shipper postal code is not empty, when the shipper postal code length is less than 5 characters, the desired outcome is that the system pads the shipper postal code with periods starting from position 5 to make it 5 characters total.
💻 Technical Criteria
EXCLUDING The processing is called from GCX011 system and shipper postal code is not empty
When The shipper postal code length is less than 5 characters
Then The system pads the shipper postal code with periods starting from position 5 to make it 5 characters total
R-GCCCCADD-cbl-00230 Pad Consignee Postal Code with Periods
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Pad Consignee Postal Code with Periods', assuming that the processing is called from gcx011 system and consignee postal code is not empty, when the consignee postal code length is less than 5 characters, the desired outcome is that the system pads the consignee postal code with periods starting from position 5 to make it 5 characters total.
💻 Technical Criteria
EXCLUDING The processing is called from GCX011 system and consignee postal code is not empty
When The consignee postal code length is less than 5 characters
Then The system pads the consignee postal code with periods starting from position 5 to make it 5 characters total
R-GCCCCADD-cbl-00231 Pad Notify Party Postal Code with Periods
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Pad Notify Party Postal Code with Periods', assuming that the processing is called from gcx011 system and notify party postal code is not empty, when the notify party postal code length is less than 5 characters, the desired outcome is that the system pads the notify party postal code with periods starting from position 5 to make it 5 characters total.
💻 Technical Criteria
EXCLUDING The processing is called from GCX011 system and notify party postal code is not empty
When The notify party postal code length is less than 5 characters
Then The system pads the notify party postal code with periods starting from position 5 to make it 5 characters total
R-GCCCCADD-cbl-00243 Distribute Description Data to GCSCCS53 Array
Process Rules
📊 Business Logic Narrative
When the process 'Distribute Description Data to GCSCCS53 Array' is invoked, and assuming that compressed description data is available, when the system distributes the description data, the desired outcome is that the description data is distributed across all 46 positions of the gcsccs53 cargo data array.
💻 Technical Criteria
Given Compressed description data is available
When The system distributes the description data
Then The description data is distributed across all 46 positions of the GCSCCS53 cargo data array
R-GCCCCADD-cbl-01989 Distribute Description Data to GCSCCS53 Array
Process Rules
📊 Business Logic Narrative
When the process 'Distribute Description Data to GCSCCS53 Array' is invoked, and assuming that compressed description data is available in work areas, when distributing description data to array structure, the desired outcome is that all 46 description segments are moved from work area to gcsccs53 cargo data array.
💻 Technical Criteria
Given Compressed description data is available in work areas
When Distributing description data to array structure
Then All 46 description segments are moved from work area to GCSCCS53 cargo data array
R-GCCCCADD-cbl-02388 Populate Description Arrays
Process Rules
📊 Business Logic Narrative
When the process 'Populate Description Arrays' is invoked, and assuming that compressed description data is available, when populating description arrays, the desired outcome is that description data is distributed across all 46 ws-gcsccs53-cargo-data array positions.
💻 Technical Criteria
Given Compressed description data is available
When Populating description arrays
Then Description data is distributed across all 46 WS-GCSCCS53-CARGO-DATA array positions
R-GCCCCADD-cbl-02704 Code = 'VA' or 'EV' or 'VS'?
Decision Rules
📊 Business Logic Narrative
When the process 'Code = 'VA' or 'EV' or 'VS'?' is invoked, and assuming that a special handling code has been extracted from the current position, when the system evaluates the code type, the desired outcome is that the system should identify if the code is va (value added), ev (equipment value), or vs (value service) and proceed with description processing, otherwise increment counter and continue.
💻 Technical Criteria
Given A special handling code has been extracted from the current position
When The system evaluates the code type
Then The system should identify if the code is VA (Value Added), EV (Equipment Value), or VS (Value Service) and proceed with description processing, otherwise increment counter and continue
R-GCCCCADD-cbl-02707 First Description Slot Empty?
Decision Rules
📊 Business Logic Narrative
When the process 'First Description Slot Empty?' is invoked, and assuming that value-added service code and instructions have been extracted, when the system needs to store the description information, the desired outcome is that the system should check if the first special handling description slot is empty and available for use.
💻 Technical Criteria
Given Value-added service code and instructions have been extracted
When The system needs to store the description information
Then The system should check if the first special handling description slot is empty and available for use
R-GCCCCADD-cbl-02708 Store in First Description Slot
Process Rules
📊 Business Logic Narrative
When the process 'Store in First Description Slot' is invoked, and assuming that the first description slot is empty and value-added service information is ready, when the system stores the description information, the desired outcome is that the system should move the description work information to the first special handling description slot.
💻 Technical Criteria
Given The first description slot is empty and value-added service information is ready
When The system stores the description information
Then The system should move the description work information to the first special handling description slot
R-GCCCCADD-cbl-02709 Second Description Slot Empty?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Second Description Slot Empty?', assuming that the first description slot is not empty and value-added service information needs storage, when the system checks for alternative storage location, the desired outcome is that the system should check if the second special handling description slot is empty and available for use.
💻 Technical Criteria
EXCLUDING The first description slot is not empty and value-added service information needs storage
When The system checks for alternative storage location
Then The system should check if the second special handling description slot is empty and available for use
R-GCCCCADD-cbl-02710 Store in Second Description Slot
Process Rules
📊 Business Logic Narrative
When the process 'Store in Second Description Slot' is invoked, and assuming that the first description slot is occupied and the second slot is empty, when the system stores the description information, the desired outcome is that the system should move the description work information to the second special handling description slot.
💻 Technical Criteria
Given The first description slot is occupied and the second slot is empty
When The system stores the description information
Then The system should move the description work information to the second special handling description slot
R-GCCCCADD-cbl-02866 First Special Handling Slot Empty?
Decision Rules
📊 Business Logic Narrative
When the process 'First Special Handling Slot Empty?' is invoked, and assuming that valid special handling code and instruction have been extracted, when the first special handling slot is empty, the desired outcome is that the system stores the code and instruction in the first slot.
💻 Technical Criteria
Given Valid special handling code and instruction have been extracted
When The first special handling slot is empty
Then The system stores the code and instruction in the first slot
R-GCCCCADD-cbl-02867 Second Special Handling Slot Empty?
Decision Rules
📊 Business Logic Narrative
When the process 'Second Special Handling Slot Empty?' is invoked, and assuming that valid special handling code and instruction have been extracted and the first slot is occupied, when the second special handling slot is empty, the desired outcome is that the system stores the code and instruction in the second slot.
💻 Technical Criteria
Given Valid special handling code and instruction have been extracted AND the first slot is occupied
When The second special handling slot is empty
Then The system stores the code and instruction in the second slot
R-GCCCCADD-cbl-02878 First Special Handling Slot Empty?
Decision Rules
📊 Business Logic Narrative
When the process 'First Special Handling Slot Empty?' is invoked, and assuming that special handling information needs to be stored, when checking storage slot availability, the desired outcome is that use first slot if ws-desc-fw-spcl-hndlg(1) is empty (spaces), otherwise check next slot.
💻 Technical Criteria
Given Special handling information needs to be stored
When Checking storage slot availability
Then Use first slot if WS-DESC-FW-SPCL-HNDLG(1) is empty (spaces), otherwise check next slot
R-GCCCCADD-cbl-02879 Store in First Special Handling Slot
Process Rules
📊 Business Logic Narrative
When the process 'Store in First Special Handling Slot' is invoked, and assuming that first special handling storage slot is empty, when storing special handling information, the desired outcome is that move desc-work-info to ws-desc-fw-spcl-hndlg(1).
💻 Technical Criteria
Given First special handling storage slot is empty
When Storing special handling information
Then Move DESC-WORK-INFO to WS-DESC-FW-SPCL-HNDLG(1)
R-GCCCCADD-cbl-02880 Second Special Handling Slot Empty?
Decision Rules
📊 Business Logic Narrative
When the process 'Second Special Handling Slot Empty?' is invoked, and assuming that first special handling storage slot is occupied and special handling information needs to be stored, when checking second storage slot availability, the desired outcome is that use second slot if ws-desc-fw-spcl-hndlg(2) is empty (spaces), otherwise use third slot.
💻 Technical Criteria
Given First special handling storage slot is occupied and special handling information needs to be stored
When Checking second storage slot availability
Then Use second slot if WS-DESC-FW-SPCL-HNDLG(2) is empty (spaces), otherwise use third slot
R-GCCCCADD-cbl-02881 Store in Second Special Handling Slot
Process Rules
📊 Business Logic Narrative
When the process 'Store in Second Special Handling Slot' is invoked, and assuming that first special handling storage slot is occupied and second slot is empty, when storing special handling information, the desired outcome is that move desc-work-info to ws-desc-fw-spcl-hndlg(2).
💻 Technical Criteria
Given First special handling storage slot is occupied and second slot is empty
When Storing special handling information
Then Move DESC-WORK-INFO to WS-DESC-FW-SPCL-HNDLG(2)
R-GCCCCADD-cbl-01993 First Special Handling Slot Available?
Decision Rules
📊 Business Logic Narrative
When the process 'First Special Handling Slot Available?' is invoked, and assuming that special handling description information needs to be stored, when the first special handling description slot is empty, the desired outcome is that the system should store the description information in the first slot.
💻 Technical Criteria
Given Special handling description information needs to be stored
When The first special handling description slot is empty
Then The system should store the description information in the first slot
R-GCCCCADD-cbl-01994 Second Special Handling Slot Available?
Decision Rules
📊 Business Logic Narrative
When the process 'Second Special Handling Slot Available?' is invoked, and assuming that special handling description information needs to be stored and the first slot is occupied, when the second special handling description slot is empty, the desired outcome is that the system should store the description information in the second slot.
💻 Technical Criteria
Given Special handling description information needs to be stored and the first slot is occupied
When The second special handling description slot is empty
Then The system should store the description information in the second slot
R-GCCCCADD-cbl-00244 Build Description from Multiple Sources
Process Rules
📊 Business Logic Narrative
When the process 'Build Description from Multiple Sources' is invoked, and assuming that a shipment has commodity records with descriptions and shipment root with free-form descriptions, when the system builds the complete cargo description, the desired outcome is that all commodity descriptions from shipcomm records (1-10) are included and all free-form descriptions from shiproot records (1-2) are included in the description workspace.
💻 Technical Criteria
Given A shipment has commodity records with descriptions and shipment root with free-form descriptions
When The system builds the complete cargo description
Then All commodity descriptions from SHIPCOMM records (1-10) are included and all free-form descriptions from SHIPROOT records (1-2) are included in the description workspace
R-GCCCCADD-cbl-00252 Distribute Compressed Data to GCSCCS53 Array
Process Rules
📊 Business Logic Narrative
When the process 'Distribute Compressed Data to GCSCCS53 Array' is invoked, and assuming that compressed description data is available in ws-desc-db-gcsccs53 array format, when the system distributes the compressed data, the desired outcome is that each element from ws-desc-db-gcsccs53 array (positions 1 through 46) is moved to the corresponding ws-gcsccs53-cargo-data array element.
💻 Technical Criteria
Given Compressed description data is available in WS-DESC-DB-GCSCCS53 array format
When The system distributes the compressed data
Then Each element from WS-DESC-DB-GCSCCS53 array (positions 1 through 46) is moved to the corresponding WS-GCSCCS53-CARGO-DATA array element
R-GCCCCADD-cbl-01996 Start Hazmat EDI Extraction
Process Rules
📊 Business Logic Narrative
When the process 'Start Hazmat EDI Extraction' is invoked, and assuming that a cargo manifest requires hazmat information processing, when the hazmat extraction process begins, the desired outcome is that the commodity description danger field and un number field are cleared, and hazmat not found flag is set.
💻 Technical Criteria
Given A cargo manifest requires hazmat information processing
When The hazmat extraction process begins
Then The commodity description danger field and UN number field are cleared, and hazmat not found flag is set
R-GCCCCADD-cbl-02409 Extract UN Code to GCCC-UN-NUMBER
Process Rules
📊 Business Logic Narrative
When the process 'Extract UN Code to GCCC-UN-NUMBER' is invoked, and assuming that a valid un code format has been confirmed in the emergency response data, when the system processes the un/na code field, the desired outcome is that the complete un code is extracted and stored in the customs cargo control un number field.
💻 Technical Criteria
Given A valid UN code format has been confirmed in the emergency response data
When The system processes the UN/NA code field
Then The complete UN code is extracted and stored in the customs cargo control UN number field
R-GCCCCADD-cbl-00280 Extract Commodity Information
Process Rules
📊 Business Logic Narrative
When the process 'Extract Commodity Information' is invoked, and assuming that edi bol data is available for processing, when the system extracts commodity information, the desired outcome is that commodity segments (cm type) and hazmat segments (ch type) are retrieved from ebsbccm segments to get lading quantity, weight, and hazardous material information.
💻 Technical Criteria
Given EDI BOL data is available for processing
When The system extracts commodity information
Then Commodity segments (CM type) and hazmat segments (CH type) are retrieved from EBSBCCM segments to get lading quantity, weight, and hazardous material information
R-GCCCCADD-cbl-02440 Get SF Address Data
Validation Rules
📊 Business Logic Narrative
When the process 'Get SF Address Data' is invoked, and assuming that sf entity is being processed, when the sf address information is spaces or empty, the desired outcome is that the system sets the address to 'na' as default value.
💻 Technical Criteria
Given SF entity is being processed
When The SF address information is spaces or empty
Then The system sets the address to 'NA' as default value
R-GCCCCADD-cbl-02444 Get BN Address Data
Validation Rules
📊 Business Logic Narrative
When the process 'Get BN Address Data' is invoked, and assuming that bn entity is being processed, when the bn address information is spaces or empty, the desired outcome is that the system sets the address to 'na' as default value.
💻 Technical Criteria
Given BN entity is being processed
When The BN address information is spaces or empty
Then The system sets the address to 'NA' as default value
R-GCCCCADD-cbl-02446 Get C1 Address Data
Validation Rules
📊 Business Logic Narrative
When the process 'Get C1 Address Data' is invoked, and assuming that c1 entity is being processed from fastway data, when the c1 address information is spaces or empty, the desired outcome is that the system sets the address to 'na' as default value.
💻 Technical Criteria
Given C1 entity is being processed from Fastway data
When The C1 address information is spaces or empty
Then The system sets the address to 'NA' as default value
R-GCCCCADD-cbl-02451 Get Entity Address Data
Validation Rules
📊 Business Logic Narrative
When the process 'Get Entity Address Data' is invoked, and assuming that additional entity (11, mc, oo, fw) is being processed, when the entity address information is spaces or empty, the desired outcome is that the system sets the address to 'na' as default value.
💻 Technical Criteria
Given Additional entity (11, MC, OO, FW) is being processed
When The entity address information is spaces or empty
Then The system sets the address to 'NA' as default value
R-GCCCCADD-cbl-02057 Check CSA Indicator and Importer Status
Decision Rules
📊 Business Logic Narrative
When the process 'Check CSA Indicator and Importer Status' is invoked, and assuming that a shipment is being processed for customs manifest creation, when the csa indicator is already on or the au table is empty or an importer is already set in the system, the desired outcome is that the system skips the au table lookup process and continues with existing data.
💻 Technical Criteria
Given A shipment is being processed for customs manifest creation
When The CSA indicator is already ON OR the AU table is empty OR an importer is already set in the system
Then The system skips the AU table lookup process and continues with existing data
R-GCCCCADD-cbl-00334 Update Current Description Data
Process Rules
📊 Business Logic Narrative
When the process 'Update Current Description Data' is invoked, and assuming that the description has been successfully compressed and processed, when the system updates the current description data, the desired outcome is that the compressed description is moved to gccc-lading-description and all 46 cargo data elements are moved to the cargo data array.
💻 Technical Criteria
Given The description has been successfully compressed and processed
When The system updates the current description data
Then The compressed description is moved to GCCC-LADING-DESCRIPTION and all 46 cargo data elements are moved to the cargo data array
R-GCCCCADD-cbl-00337 Save Current Description Data
Process Rules
📊 Business Logic Narrative
When the process 'Save Current Description Data' is invoked, and assuming that a cargo manifest is being processed for transit description enhancement, when the system begins the description enhancement process, the desired outcome is that the current manifest description data and cargo data array are saved to working storage for potential restoration.
💻 Technical Criteria
Given A cargo manifest is being processed for transit description enhancement
When The system begins the description enhancement process
Then The current manifest description data and cargo data array are saved to working storage for potential restoration
R-GCCCCADD-cbl-00346 Update Cargo Description Fields
Process Rules
📊 Business Logic Narrative
When the process 'Update Cargo Description Fields' is invoked, and assuming that the enhanced description has been compressed successfully, when the system updates the cargo manifest, the desired outcome is that the main lading description and cargo data array are updated with the enhanced description components.
💻 Technical Criteria
Given The enhanced description has been compressed successfully
When The system updates the cargo manifest
Then The main lading description and cargo data array are updated with the enhanced description components
R-GCCCCADD-cbl-00347 Restore Original Data if Error
Process Rules
📊 Business Logic Narrative
When the process 'Restore Original Data if Error' is invoked, and assuming that description enhancement has failed due to retrieval error or processing failure, when the system handles the enhancement failure, the desired outcome is that the original manifest description and cargo data array are restored from the saved working storage.
💻 Technical Criteria
Given Description enhancement has failed due to retrieval error or processing failure
When The system handles the enhancement failure
Then The original manifest description and cargo data array are restored from the saved working storage
R-GCCCCADD-cbl-00352 Lookup Origin Country from State-Country Table
Decision Rules
📊 Business Logic Narrative
When the process 'Lookup Origin Country from State-Country Table' is invoked, and assuming that an origin station state code exists, when the system searches the state-country table for a matching state entry, the desired outcome is that if a match is found, the corresponding country code is assigned to the origin country field, otherwise the origin country remains empty.
💻 Technical Criteria
Given An origin station state code exists
When The system searches the state-country table for a matching state entry
Then If a match is found, the corresponding country code is assigned to the origin country field, otherwise the origin country remains empty
R-GCCCCADD-cbl-00353 Lookup Destination Country from State-Country Table
Decision Rules
📊 Business Logic Narrative
When the process 'Lookup Destination Country from State-Country Table' is invoked, and assuming that a destination station state code exists, when the system searches the state-country table for a matching state entry, the desired outcome is that if a match is found, the corresponding country code is assigned to the destination country field, otherwise the destination country remains empty.
💻 Technical Criteria
Given A destination station state code exists
When The system searches the state-country table for a matching state entry
Then If a match is found, the corresponding country code is assigned to the destination country field, otherwise the destination country remains empty
R-GCCCCADD-cbl-00361 Move Broker Name to Output
Action Rules
📊 Business Logic Narrative
When the process 'Move Broker Name to Output' is invoked, and assuming that broker data has been found and either override flag is 'y' or current broker status allows replacement, when the system processes broker information assignment, the desired outcome is that the system moves the broker name from the crossing table to the customs cargo record.
💻 Technical Criteria
Given Broker data has been found and either override flag is 'Y' or current broker status allows replacement
When The system processes broker information assignment
Then The system moves the broker name from the crossing table to the customs cargo record
R-GCCCCADD-cbl-02490 Current Broker Empty or Default?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Current Broker Empty or Default?', assuming that broker data has been found in the crossing table lookup and the override flag is not 'y', when the current broker name is spaces, 'unknown', or 'not-req', the desired outcome is that the system applies the broker name from the crossing table and updates the manifest-to station if specified in the crossing table data.
💻 Technical Criteria
EXCLUDING Broker data has been found in the crossing table lookup and the override flag is not 'Y'
When The current broker name is spaces, 'UNKNOWN', or 'NOT-REQ'
Then The system applies the broker name from the crossing table and updates the manifest-to station if specified in the crossing table data
R-GCCCCADD-cbl-02080 Current Broker Name is Empty, UNKNOWN, or NOT-REQ?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Current Broker Name is Empty, UNKNOWN, or NOT-REQ?', assuming that crossing table data is available and override flag is not 'y', when current broker name is spaces, 'unknown', or 'not-req', the desired outcome is that move broker name from crossing table, otherwise keep existing broker name.
💻 Technical Criteria
EXCLUDING Crossing table data is available and override flag is not 'Y'
When Current broker name is spaces, 'UNKNOWN', or 'NOT-REQ'
Then Move broker name from crossing table, otherwise keep existing broker name
R-GCCCCADD-cbl-00400 Initialize Weight and Quantity Counters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Weight and Quantity Counters' is invoked, and assuming that valid edi bol data is available for processing, when the system begins commodity quantity processing, the desired outcome is that weight counter and quantity counter are both initialized to zero.
💻 Technical Criteria
Given Valid EDI BOL data is available for processing
When The system begins commodity quantity processing
Then Weight counter and quantity counter are both initialized to zero
R-GCCCCADD-cbl-00403 Retrieve Weight from EBSBCCR Segment
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Weight from EBSBCCR Segment' is invoked, and assuming that the current commodity segment is the first segment in the sequence, when the system processes weight data for the commodity, the desired outcome is that weight information is retrieved from ebsbccr segment with type 'cr' and dependent key 'cr001'.
💻 Technical Criteria
Given The current commodity segment is the first segment in the sequence
When The system processes weight data for the commodity
Then Weight information is retrieved from EBSBCCR segment with type 'CR' and dependent key 'CR001'
R-GCCCCADD-cbl-00404 Set Weight from N7-WEIGHT Field
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Weight from N7-WEIGHT Field' is invoked, and assuming that weight segment ebsbccr is successfully retrieved, when the segment contains n7-weight field data, the desired outcome is that the weight counter is set to the n7-weight field value.
💻 Technical Criteria
Given Weight segment EBSBCCR is successfully retrieved
When The segment contains N7-WEIGHT field data
Then The weight counter is set to the N7-WEIGHT field value
R-GCCCCADD-cbl-00405 Set Weight to Zero
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Weight to Zero' is invoked, and assuming that weight segment ebsbccr cannot be retrieved from edi bol, when the system processes the first commodity segment, the desired outcome is that the weight counter is set to zero.
💻 Technical Criteria
Given Weight segment EBSBCCR cannot be retrieved from EDI BOL
When The system processes the first commodity segment
Then The weight counter is set to zero
R-GCCCCADD-cbl-00406 Determine Weight Unit Based on Metric Indicator
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Weight Unit Based on Metric Indicator' is invoked, and assuming that weight value has been determined for the commodity, when the shipment root metric indicator is 'm' or 'l', the desired outcome is that weight unit is set to kilograms, otherwise weight unit is set to pounds.
💻 Technical Criteria
Given Weight value has been determined for the commodity
When The shipment root metric indicator is 'M' or 'L'
Then Weight unit is set to kilograms, otherwise weight unit is set to pounds
R-GCCCCADD-cbl-00408 Use Fastway SHIPCOMM Data as Fallback
Decision Rules
📊 Business Logic Narrative
When the process 'Use Fastway SHIPCOMM Data as Fallback' is invoked, and assuming that edi processing results in both weight and quantity being zero, when the system needs commodity data for the shipment, the desired outcome is that the system retrieves commodity data from fastway shipcomm segments as fallback.
💻 Technical Criteria
Given EDI processing results in both weight and quantity being zero
When The system needs commodity data for the shipment
Then The system retrieves commodity data from Fastway SHIPCOMM segments as fallback
R-GCCCCADD-cbl-00412 Add Weight Based on Metric Indicator
Decision Rules
📊 Business Logic Narrative
When the process 'Add Weight Based on Metric Indicator' is invoked, and assuming that fastway shipcomm segment contains weight data, when the shipment root metric indicator is 'm' or 'l', the desired outcome is that metric commodity weight is added to total weight, otherwise standard commodity weight is added.
💻 Technical Criteria
Given Fastway SHIPCOMM segment contains weight data
When The shipment root metric indicator is 'M' or 'L'
Then Metric commodity weight is added to total weight, otherwise standard commodity weight is added
R-GCCCCADD-cbl-00416 Use Calculated Weight
Decision Rules
📊 Business Logic Narrative
When the process 'Use Calculated Weight' is invoked, and assuming that weight processing has completed and total weight is calculated, when the calculated weight is greater than zero, the desired outcome is that the final weight is set to the calculated total weight.
💻 Technical Criteria
Given Weight processing has completed and total weight is calculated
When The calculated weight is greater than zero
Then The final weight is set to the calculated total weight
R-GCCCCADD-cbl-00417 Set Default Weight to 1
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Default Weight to 1' is invoked, and assuming that weight processing has completed, when the calculated total weight is zero, the desired outcome is that the final weight is set to '00000001' as default value.
💻 Technical Criteria
Given Weight processing has completed
When The calculated total weight is zero
Then The final weight is set to '00000001' as default value
R-GCCCCADD-cbl-00418 Set Default Qualifier to PCS
Definitional Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Default Qualifier to PCS', assuming that commodity quantity processing is complete, when the quantity qualifier is empty or not specified, the desired outcome is that the quantity qualifier is set to 'pcs' (pieces) as default.
💻 Technical Criteria
EXCLUDING Commodity quantity processing is complete
When The quantity qualifier is empty or not specified
Then The quantity qualifier is set to 'PCS' (pieces) as default
R-GCCCCADD-cbl-00420 Initialize Weight Counters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Weight Counters' is invoked, and assuming that valid edi bol data is available, when starting weight processing for commodity segments, the desired outcome is that initialize commodity weight counter to zero and number of units counter to zero.
💻 Technical Criteria
Given Valid EDI BOL data is available
When Starting weight processing for commodity segments
Then Initialize commodity weight counter to zero and number of units counter to zero
R-GCCCCADD-cbl-00422 Add Lading Quantity to Total
Computation Rules
📊 Business Logic Narrative
When the process 'Add Lading Quantity to Total' is invoked, and assuming that a valid commodity segment with lading quantity, when processing the commodity segment for weight calculation, the desired outcome is that add the l0-lading-qty value to the total number of units counter.
💻 Technical Criteria
Given A valid commodity segment with lading quantity
When Processing the commodity segment for weight calculation
Then Add the L0-LADING-QTY value to the total number of units counter
R-GCCCCADD-cbl-00423 Get EBSBCCR Weight Segment
Action Rules
📊 Business Logic Narrative
When the process 'Get EBSBCCR Weight Segment' is invoked, and assuming that the first commodity segment in the sequence, when processing weight data for the commodity, the desired outcome is that retrieve ebsbccr segment with type 'cr' and dependent key 'cr001' to get weight information.
💻 Technical Criteria
Given The first commodity segment in the sequence
When Processing weight data for the commodity
Then Retrieve EBSBCCR segment with type 'CR' and dependent key 'CR001' to get weight information
R-GCCCCADD-cbl-00424 Extract Total Weight from N7-WEIGHT
Computation Rules
📊 Business Logic Narrative
When the process 'Extract Total Weight from N7-WEIGHT' is invoked, and assuming that a valid ebsbccr weight segment, when processing weight data from the segment, the desired outcome is that move the n7-weight value to the commodity weight counter.
💻 Technical Criteria
Given A valid EBSBCCR weight segment
When Processing weight data from the segment
Then Move the N7-WEIGHT value to the commodity weight counter
R-GCCCCADD-cbl-00425 Set Weight to Zero
Computation Rules
📊 Business Logic Narrative
When the process 'Set Weight to Zero' is invoked, and assuming that no valid ebsbccr weight segment found, when processing weight data for the first commodity segment, the desired outcome is that set the commodity weight counter to zero.
💻 Technical Criteria
Given No valid EBSBCCR weight segment found
When Processing weight data for the first commodity segment
Then Set the commodity weight counter to zero
R-GCCCCADD-cbl-00426 Check Metric Indicator
Decision Rules
📊 Business Logic Narrative
When the process 'Check Metric Indicator' is invoked, and assuming that weight data from commodity segment, when setting weight unit for the shipment, the desired outcome is that if metric indicator is 'm' or 'l', set weight unit to kg, otherwise set to lb.
💻 Technical Criteria
Given Weight data from commodity segment
When Setting weight unit for the shipment
Then If metric indicator is 'M' or 'L', set weight unit to KG, otherwise set to LB
R-GCCCCADD-cbl-00428 Use Fastway SHIPCOMM Data
Decision Rules
📊 Business Logic Narrative
When the process 'Use Fastway SHIPCOMM Data' is invoked, and assuming that no valid edi bol data or zero weight and quantity from edi processing, when attempting to get weight and quantity information, the desired outcome is that retrieve weight and quantity from shipcomm segments using 'gu' and 'gn' functions, set quantity qualifier to 'pcs', and use metric or standard weight based on metric indicator.
💻 Technical Criteria
Given No valid EDI BOL data or zero weight and quantity from EDI processing
When Attempting to get weight and quantity information
Then Retrieve weight and quantity from SHIPCOMM segments using 'GU' and 'GN' functions, set quantity qualifier to 'PCS', and use metric or standard weight based on metric indicator
R-GCCCCADD-cbl-00429 Validate Final Weight
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Final Weight' is invoked, and assuming that calculated weight from edi or fastway data, when finalizing weight for customs manifest, the desired outcome is that if weight is greater than zero, use the calculated weight, otherwise set default weight to '00000001'.
💻 Technical Criteria
Given Calculated weight from EDI or Fastway data
When Finalizing weight for customs manifest
Then If weight is greater than zero, use the calculated weight, otherwise set default weight to '00000001'
R-GCCCCADD-cbl-00431 Validate Quantity
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Quantity' is invoked, and assuming that processed weight and quantity data, when quantity qualifier field is empty or spaces, the desired outcome is that set the lading quantity qualifier to 'pcs' as default.
💻 Technical Criteria
Given Processed weight and quantity data
When Quantity qualifier field is empty or spaces
Then Set the lading quantity qualifier to 'PCS' as default
R-GCCCCADD-cbl-00433 EDI BOL Weight/Quantity Found?
Decision Rules
📊 Business Logic Narrative
When the process 'EDI BOL Weight/Quantity Found?' is invoked, and assuming that edi bol data is available and weight/quantity processing is required, when the system retrieves edi bol commodity records and finds valid weight and quantity data, the desired outcome is that the system uses edi bol weight, quantity, and quantity qualifier data for manifest creation.
💻 Technical Criteria
Given EDI BOL data is available and weight/quantity processing is required
When The system retrieves EDI BOL commodity records and finds valid weight and quantity data
Then The system uses EDI BOL weight, quantity, and quantity qualifier data for manifest creation
R-GCCCCADD-cbl-00434 Initialize Fastway Data Retrieval
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Initialize Fastway Data Retrieval', assuming that edi bol weight and quantity data is not available or weight and quantity are both zero, when the system needs to obtain weight and quantity information, the desired outcome is that the system initializes fastway shipcomm data retrieval and sets the get function to 'gu' for first record.
💻 Technical Criteria
EXCLUDING EDI BOL weight and quantity data is not available or weight and quantity are both zero
When The system needs to obtain weight and quantity information
Then The system initializes Fastway SHIPCOMM data retrieval and sets the get function to 'GU' for first record
R-GCCCCADD-cbl-00435 Get First SHIPCOMM Record
Action Rules
📊 Business Logic Narrative
When the process 'Get First SHIPCOMM Record' is invoked, and assuming that fastway data retrieval is initialized and shipcomm records need to be processed, when the system calls fwcwbio to get the first shipcomm record, the desired outcome is that the system extracts number of units, sets quantity qualifier to 'pcs', and determines weight unit based on metric indicator.
💻 Technical Criteria
Given Fastway data retrieval is initialized and SHIPCOMM records need to be processed
When The system calls FWCWBIO to get the first SHIPCOMM record
Then The system extracts number of units, sets quantity qualifier to 'PCS', and determines weight unit based on metric indicator
R-GCCCCADD-cbl-00436 Determine Weight Unit Based on Metric Indicator
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Weight Unit Based on Metric Indicator' is invoked, and assuming that shipcomm record is found and weight data needs to be processed, when the system checks the metric indicator in shiproot and the indicator is 'm' or 'l', the desired outcome is that the system sets weight unit to kilograms and uses metric commodity weight, otherwise sets weight unit to pounds and uses standard commodity weight.
💻 Technical Criteria
Given SHIPCOMM record is found and weight data needs to be processed
When The system checks the metric indicator in SHIPROOT and the indicator is 'M' or 'L'
Then The system sets weight unit to kilograms and uses metric commodity weight, otherwise sets weight unit to pounds and uses standard commodity weight
R-GCCCCADD-cbl-00437 Get Next SHIPCOMM Record
Process Rules
📊 Business Logic Narrative
When the process 'Get Next SHIPCOMM Record' is invoked, and assuming that first shipcomm record has been processed and additional records may exist, when the system sets get function to 'gn' and retrieves subsequent shipcomm records, the desired outcome is that the system accumulates number of units and weight from each additional record until no more records are found.
💻 Technical Criteria
Given First SHIPCOMM record has been processed and additional records may exist
When The system sets get function to 'GN' and retrieves subsequent SHIPCOMM records
Then The system accumulates number of units and weight from each additional record until no more records are found
R-GCCCCADD-cbl-00438 Set Default Weight to 1
Validation Rules
📊 Business Logic Narrative
When the process 'Set Default Weight to 1' is invoked, and assuming that weight and quantity processing is complete and final weight validation is performed, when the calculated weight is zero or negative, the desired outcome is that the system sets the weight to '00000001' as the default minimum weight.
💻 Technical Criteria
Given Weight and quantity processing is complete and final weight validation is performed
When The calculated weight is zero or negative
Then The system sets the weight to '00000001' as the default minimum weight
R-GCCCCADD-cbl-00439 Set Default Quantity to 1
Validation Rules
📊 Business Logic Narrative
When the process 'Set Default Quantity to 1' is invoked, and assuming that weight and quantity processing is complete and final quantity validation is performed, when the calculated quantity is zero or negative, the desired outcome is that the system sets the quantity to 1 as the default minimum quantity.
💻 Technical Criteria
Given Weight and quantity processing is complete and final quantity validation is performed
When The calculated quantity is zero or negative
Then The system sets the quantity to 1 as the default minimum quantity
R-GCCCCADD-cbl-00440 Set Default Quantity Qualifier to 'PCS'
Definitional Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Default Quantity Qualifier to 'PCS'', assuming that weight and quantity processing is using fastway shipcomm data, when the quantity qualifier is spaces or not specified, the desired outcome is that the system sets the quantity qualifier to 'pcs' (pieces) as the default unit of measure.
💻 Technical Criteria
EXCLUDING Weight and quantity processing is using Fastway SHIPCOMM data
When The quantity qualifier is spaces or not specified
Then The system sets the quantity qualifier to 'PCS' (pieces) as the default unit of measure
R-GCCCCADD-cbl-00441 Weight Unit Setting - Set weight units (KG/LB) based on metric indicator
Decision Rules
📊 Business Logic Narrative
When the process 'Weight Unit Setting - Set weight units (KG/LB) based on metric indicator' is invoked, and assuming that a shipment record exists with a metric indicator field, when the system processes weight unit determination and the metric indicator is 'm' (metric) or 'l' (liters), the desired outcome is that the weight unit is set to kg (kilograms).
💻 Technical Criteria
Given A shipment record exists with a metric indicator field
When The system processes weight unit determination AND the metric indicator is 'M' (metric) or 'L' (liters)
Then The weight unit is set to KG (kilograms)
R-GCCCCADD-cbl-00442 Weight Unit Setting - Set weight units (KG/LB) based on metric indicator
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Weight Unit Setting - Set weight units (KG/LB) based on metric indicator', assuming that a shipment record exists with a metric indicator field, when the system processes weight unit determination and the metric indicator is not 'm' (metric) or 'l' (liters), the desired outcome is that the weight unit is set to lb (pounds).
💻 Technical Criteria
EXCLUDING A shipment record exists with a metric indicator field
When The system processes weight unit determination AND the metric indicator is not 'M' (metric) or 'L' (liters)
Then The weight unit is set to LB (pounds)
R-GCCCCADD-cbl-00443 Quantity Qualifier Empty?
Validation Rules
📊 Business Logic Narrative
When the process 'Quantity Qualifier Empty?' is invoked, and assuming that a cargo manifest is being processed, when the quantity qualifier field is empty or contains only spaces, the desired outcome is that the system generates a required field error message for quantity qualifier.
💻 Technical Criteria
Given A cargo manifest is being processed
When The quantity qualifier field is empty or contains only spaces
Then The system generates a required field error message for quantity qualifier
R-GCCCCADD-cbl-00444 Lookup Quantity Qualifier in MU Table
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Quantity Qualifier in MU Table' is invoked, and assuming that a cargo manifest has a non-empty quantity qualifier, when the system looks up the quantity qualifier in the mu (measurement units) table, the desired outcome is that the system retrieves the corresponding measurement unit record if it exists.
💻 Technical Criteria
Given A cargo manifest has a non-empty quantity qualifier
When The system looks up the quantity qualifier in the MU (Measurement Units) table
Then The system retrieves the corresponding measurement unit record if it exists
R-GCCCCADD-cbl-00447 Initialize Shipper Record Structure
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Shipper Record Structure' is invoked, and assuming that a customs manifest creation process is initiated, when the system begins building shipper record information, the desired outcome is that a new shipper record structure is initialized with empty values.
💻 Technical Criteria
Given A customs manifest creation process is initiated
When The system begins building shipper record information
Then A new shipper record structure is initialized with empty values
R-GCCCCADD-cbl-00465 Use Fastway Address Data
Action Rules
📊 Business Logic Narrative
When the process 'Use Fastway Address Data' is invoked, and assuming that fastway data is being used as the shipper information source, when the system processes shipper address information, the desired outcome is that address line 1 is extracted from shpr-addr(1), and if empty, 'na' is used as default.
💻 Technical Criteria
Given Fastway data is being used as the shipper information source
When The system processes shipper address information
Then Address line 1 is extracted from SHPR-ADDR(1), and if empty, 'NA' is used as default
R-GCCCCADD-cbl-02099 Name Required?
Validation Rules
📊 Business Logic Narrative
When the process 'Name Required?' is invoked, and assuming that an entity record with entity id code specified, when the system validates the entity name field, the desired outcome is that if entity id is not empty and name is empty, add required name field error message.
💻 Technical Criteria
Given An entity record with entity ID code specified
When The system validates the entity name field
Then If entity ID is not empty and name is empty, add required name field error message
R-GCCCCADD-cbl-02100 Set Default Address to NA
Validation Rules
📊 Business Logic Narrative
When the process 'Set Default Address to NA' is invoked, and assuming that an entity record with entity id specified, when the system validates the address field, the desired outcome is that if entity id is not empty and address line 1 is empty, add required address error message and set default address to na if address is empty.
💻 Technical Criteria
Given An entity record with entity ID specified
When The system validates the address field
Then If entity ID is not empty and address line 1 is empty, add required address error message and set default address to NA if address is empty
R-GCCCCADD-cbl-02101 Validate City Length >= 2
Validation Rules
📊 Business Logic Narrative
When the process 'Validate City Length >= 2' is invoked, and assuming that an entity record with city name provided, when the system validates the city name length, the desired outcome is that if city name is empty, add required city error message, otherwise if city name length is less than 2 characters, add minimum length error message.
💻 Technical Criteria
Given An entity record with city name provided
When The system validates the city name length
Then If city name is empty, add required city error message, otherwise if city name length is less than 2 characters, add minimum length error message
R-GCCCCADD-cbl-02102 Validate Postal Code Length >= 3
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Postal Code Length >= 3' is invoked, and assuming that an entity record with postal code provided, when the system validates the postal code length, the desired outcome is that if postal code is not empty and length is less than 3 characters, add minimum length error message.
💻 Technical Criteria
Given An entity record with postal code provided
When The system validates the postal code length
Then If postal code is not empty and length is less than 3 characters, add minimum length error message
R-GCCCCADD-cbl-02103 Validate State/Country Combination
Validation Rules
📊 Business Logic Narrative
When the process 'Validate State/Country Combination' is invoked, and assuming that an entity record with country code canada, usa, or mexico and state/province code, when the system validates the state/country combination, the desired outcome is that if country is canada, usa, or mexico and state/province is empty, add required state error message, otherwise if state/province does not match country in lookup table, add invalid state error message, and if country is empty, derive country from state lookup.
💻 Technical Criteria
Given An entity record with country code Canada, USA, or Mexico and state/province code
When The system validates the state/country combination
Then If country is Canada, USA, or Mexico and state/province is empty, add required state error message, otherwise if state/province does not match country in lookup table, add invalid state error message, and if country is empty, derive country from state lookup
R-GCCCCADD-cbl-02104 Validate Entity Data
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Entity Data' is invoked, and assuming that an entity record with contact information including communication qualifier and number, when the system validates the communication data, the desired outcome is that if communication qualifier is empty and contact name or communication number is provided, add required qualifier error message, and if qualifier is not empty, fx, or te, add invalid qualifier error message, and if qualifier or contact name is provided but communication number is empty, add required communication number error message.
💻 Technical Criteria
Given An entity record with contact information including communication qualifier and number
When The system validates the communication data
Then If communication qualifier is empty and contact name or communication number is provided, add required qualifier error message, and if qualifier is not empty, FX, or TE, add invalid qualifier error message, and if qualifier or contact name is provided but communication number is empty, add required communication number error message
R-GCCCCADD-cbl-00517 Initialize UC Segment Record
Process Rules
📊 Business Logic Narrative
When the process 'Initialize UC Segment Record' is invoked, and assuming that ultimate consignee processing is starting, when the system begins building uc segment data, the desired outcome is that a new gcsccs55 segment record is initialized with empty values.
💻 Technical Criteria
Given Ultimate Consignee processing is starting
When The system begins building UC segment data
Then A new GCSCCS55 segment record is initialized with empty values
R-GCCCCADD-cbl-00528 Validate Address Requirements
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Address Requirements' is invoked, and assuming that ultimate consignee address processing is complete, when the system validates address line 1 is empty, the desired outcome is that address line 1 is set to 'na' to meet minimum requirements.
💻 Technical Criteria
Given Ultimate Consignee address processing is complete
When The system validates address line 1 is empty
Then Address line 1 is set to 'NA' to meet minimum requirements
R-GCCCCADD-cbl-00531 Initialize BN Segment Record
Process Rules
📊 Business Logic Narrative
When the process 'Initialize BN Segment Record' is invoked, and assuming that the system is processing beneficial owner information, when starting beneficial owner segment creation, the desired outcome is that a new beneficial owner segment record is initialized with empty values.
💻 Technical Criteria
Given The system is processing beneficial owner information
When Starting beneficial owner segment creation
Then A new beneficial owner segment record is initialized with empty values
R-GCCCCADD-cbl-00552 Initialize C1 Entity Segment
Process Rules
📊 Business Logic Narrative
When the process 'Initialize C1 Entity Segment' is invoked, and assuming that a c1 carrier entity processing request is initiated, when the system begins c1 entity segment creation, the desired outcome is that a new c1 entity segment structure is initialized with empty values.
💻 Technical Criteria
Given A C1 carrier entity processing request is initiated
When The system begins C1 entity segment creation
Then A new C1 entity segment structure is initialized with empty values
R-GCCCCADD-cbl-00564 Get Carrier Address from Consignee Field 3
Process Rules
📊 Business Logic Narrative
When the process 'Get Carrier Address from Consignee Field 3' is invoked, and assuming that carrier information is being extracted from fastway consignee data, when processing carrier address from fastway source, the desired outcome is that the carrier address is assigned from consignee data field 3 to the address field, or 'na' if field 3 is empty.
💻 Technical Criteria
Given Carrier information is being extracted from Fastway consignee data
When Processing carrier address from Fastway source
Then The carrier address is assigned from consignee data field 3 to the address field, or 'NA' if field 3 is empty
R-GCCCCADD-cbl-00567 Set Default Address if Missing
Validation Rules
📊 Business Logic Narrative
When the process 'Set Default Address if Missing' is invoked, and assuming that carrier address information is being processed, when the carrier address field is empty or contains only spaces, the desired outcome is that the address field is set to 'na' as the default value.
💻 Technical Criteria
Given Carrier address information is being processed
When The carrier address field is empty or contains only spaces
Then The address field is set to 'NA' as the default value
R-GCCCCADD-cbl-00570 Initialize N1 Segment Record
Process Rules
📊 Business Logic Narrative
When the process 'Initialize N1 Segment Record' is invoked, and assuming that the system needs to process notify party information, when starting notify party processing, the desired outcome is that a new n1 segment record is initialized with empty values.
💻 Technical Criteria
Given The system needs to process notify party information
When Starting notify party processing
Then A new N1 segment record is initialized with empty values
R-GCCCCADD-cbl-00587 Set Default Address if Missing
Validation Rules
📊 Business Logic Narrative
When the process 'Set Default Address if Missing' is invoked, and assuming that address information processing is complete, when address line 1 is empty or spaces, the desired outcome is that address line 1 is set to 'na' as default value.
💻 Technical Criteria
Given Address information processing is complete
When Address line 1 is empty or spaces
Then Address line 1 is set to 'NA' as default value
R-GCCCCADD-cbl-00591 Initialize Empty N1 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Empty N1 Segment' is invoked, and assuming that mcoa segment processing is starting, when the system begins to process pf or ss entity segments, the desired outcome is that an empty n1 segment structure is initialized with spaces.
💻 Technical Criteria
Given MCOA segment processing is starting
When the system begins to process PF or SS entity segments
Then an empty N1 segment structure is initialized with spaces
R-GCCCCADD-cbl-00616 Get NN Address Information
Process Rules
📊 Business Logic Narrative
When the process 'Get NN Address Information' is invoked, and assuming that an nn entity is being processed and address information is needed, when the system searches for corresponding address segments (gc type), the desired outcome is that if address segments are found, the system extracts address lines; if not found or address line 1 is empty, sets default 'na' value.
💻 Technical Criteria
Given An NN entity is being processed and address information is needed
When The system searches for corresponding address segments (GC type)
Then If address segments are found, the system extracts address lines; if not found or address line 1 is empty, sets default 'NA' value
R-GCCCCADD-cbl-00679 Get Commodity Code from GCCC-COMODITY-CODE
Process Rules
📊 Business Logic Narrative
When the process 'Get Commodity Code from GCCC-COMODITY-CODE' is invoked, and assuming that a cargo manifest is being processed, when the system needs to build hazmat information, the desired outcome is that the commodity code is retrieved from the cargo manifest record.
💻 Technical Criteria
Given A cargo manifest is being processed
When The system needs to build hazmat information
Then The commodity code is retrieved from the cargo manifest record
R-GCCCCADD-cbl-00680 Call CIMS to Access Commodity Database
Action Rules
📊 Business Logic Narrative
When the process 'Call CIMS to Access Commodity Database' is invoked, and assuming that a commodity code exists in the cargo manifest, when the system needs to retrieve commodity description for hazmat processing, the desired outcome is that the system calls cims to access the commodity database using the commodity code as the key.
💻 Technical Criteria
Given A commodity code exists in the cargo manifest
When The system needs to retrieve commodity description for hazmat processing
Then The system calls CIMS to access the commodity database using the commodity code as the key
R-GCCCCADD-cbl-00683 Store Description in GCCC-COMODITY-DESC-DANGER
Process Rules
📊 Business Logic Narrative
When the process 'Store Description in GCCC-COMODITY-DESC-DANGER' is invoked, and assuming that a commodity description has been extracted from the commodity record, when the system needs to update the cargo manifest with hazmat information, the desired outcome is that the commodity description is moved to gccc-comodity-desc-danger field.
💻 Technical Criteria
Given A commodity description has been extracted from the commodity record
When The system needs to update the cargo manifest with hazmat information
Then The commodity description is moved to GCCC-COMODITY-DESC-DANGER field
R-GCCCCADD-cbl-00687 Store UN Number in GCCC-UN-NUMBER
Process Rules
📊 Business Logic Narrative
When the process 'Store UN Number in GCCC-UN-NUMBER' is invoked, and assuming that a un number has been extracted from the hazmat record, when the system needs to update the cargo manifest with un number, the desired outcome is that the un number is moved to gccc-un-number field.
💻 Technical Criteria
Given A UN number has been extracted from the hazmat record
When The system needs to update the cargo manifest with UN number
Then The UN number is moved to GCCC-UN-NUMBER field
R-GCCCCADD-cbl-00689 Are all required fields empty?
Validation Rules
📊 Business Logic Narrative
When the process 'Are all required fields empty?' is invoked, and assuming that a shipper or consignee segment (sequence 0001 or 0002) is being processed, when the segment has empty name, address, city/state/postal/country fields, the desired outcome is that generate required field error messages for name, address, city, state/province, postal code, and country.
💻 Technical Criteria
Given A shipper or consignee segment (sequence 0001 or 0002) is being processed
When The segment has empty name, address, city/state/postal/country fields
Then Generate required field error messages for name, address, city, state/province, postal code, and country
R-GCCCCADD-cbl-00690 Entity ID present but Name missing?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Entity ID present but Name missing?', assuming that an n1 segment is being validated, when entity id code is not empty but entity name is empty, the desired outcome is that generate a required name error message.
💻 Technical Criteria
EXCLUDING An N1 segment is being validated
When Entity ID code is not empty but entity name is empty
Then Generate a required name error message
R-GCCCCADD-cbl-00691 Entity ID missing but other data present?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Entity ID missing but other data present?', assuming that an n1 segment contains address data, contact data, or other entity information, when entity id code is empty but address data, contact data, or other entity information is not empty, the desired outcome is that generate a required entity id error message.
💻 Technical Criteria
EXCLUDING An N1 segment contains address data, contact data, or other entity information
When Entity ID code is empty but address data, contact data, or other entity information is not empty
Then Generate a required entity ID error message
R-GCCCCADD-cbl-00693 Entity ID present but Address missing?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Entity ID present but Address missing?', assuming that an n1 segment has an entity id code, when entity id code is not empty but address line 1 is empty, the desired outcome is that generate a required address error message.
💻 Technical Criteria
EXCLUDING An N1 segment has an entity ID code
When Entity ID code is not empty but address line 1 is empty
Then Generate a required address error message
R-GCCCCADD-cbl-00694 City name present?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'City name present?', assuming that an n1 segment contains address information (n4 data is not empty), when city name is empty, the desired outcome is that generate a required city name error message.
💻 Technical Criteria
EXCLUDING An N1 segment contains address information (N4 data is not empty)
When City name is empty
Then Generate a required city name error message
R-GCCCCADD-cbl-00696 Postal code length >= 3 characters?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Postal code length >= 3 characters?', assuming that an n1 segment has a postal code provided, when postal code is not empty and length is less than 3 characters, the desired outcome is that generate a minimum length requirement error message.
💻 Technical Criteria
EXCLUDING An N1 segment has a postal code provided
When Postal code is not empty and length is less than 3 characters
Then Generate a minimum length requirement error message
R-GCCCCADD-cbl-00697 State/Province code present?
Validation Rules
📊 Business Logic Narrative
When the process 'State/Province code present?' is invoked, and assuming that an n1 segment has address information for canada, usa, or mexico, when country code is canada, usa, or mexico and state/province code is empty, the desired outcome is that generate a required state/province error message.
💻 Technical Criteria
Given An N1 segment has address information for Canada, USA, or Mexico
When Country code is Canada, USA, or Mexico and state/province code is empty
Then Generate a required state/province error message
R-GCCCCADD-cbl-00699 Lookup Country from State/Province
Decision Rules
📊 Business Logic Narrative
When the process 'Lookup Country from State/Province' is invoked, and assuming that an n1 segment has state/province code but missing country code, when country code is empty, the desired outcome is that look up and assign the corresponding country code from the state-country lookup table.
💻 Technical Criteria
Given An N1 segment has state/province code but missing country code
When Country code is empty
Then Look up and assign the corresponding country code from the state-country lookup table
R-GCCCCADD-cbl-00700 Country code still missing?
Validation Rules
📊 Business Logic Narrative
When the process 'Country code still missing?' is invoked, and assuming that an n1 segment requires country information, when country code is empty after attempting to derive from state/province code, the desired outcome is that generate a required country code error message.
💻 Technical Criteria
Given An N1 segment requires country information
When Country code is empty after attempting to derive from state/province code
Then Generate a required country code error message
R-GCCCCADD-cbl-00701 Contact name present but qualifier missing?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Contact name present but qualifier missing?', assuming that an n1 segment contains contact information, when contact name is not empty but communication number qualifier is empty, the desired outcome is that generate a required communication qualifier error message.
💻 Technical Criteria
EXCLUDING An N1 segment contains contact information
When Contact name is not empty but communication number qualifier is empty
Then Generate a required communication qualifier error message
R-GCCCCADD-cbl-00702 Communication number present but qualifier missing?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Communication number present but qualifier missing?', assuming that an n1 segment contains contact information, when communication number is not empty but communication number qualifier is empty, the desired outcome is that generate a required communication qualifier error message.
💻 Technical Criteria
EXCLUDING An N1 segment contains contact information
When Communication number is not empty but communication number qualifier is empty
Then Generate a required communication qualifier error message
R-GCCCCADD-cbl-00704 Qualifier or name present but number missing?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Qualifier or name present but number missing?', assuming that an n1 segment contains contact information, when communication qualifier is not empty or contact name is not empty but communication number is empty, the desired outcome is that generate a required communication number error message.
💻 Technical Criteria
EXCLUDING An N1 segment contains contact information
When Communication qualifier is not empty or contact name is not empty but communication number is empty
Then Generate a required communication number error message
R-GCCCCADD-cbl-02513 Entity ID Present?
Validation Rules
📊 Business Logic Narrative
When the process 'Entity ID Present?' is invoked, and assuming that a record segment with address, city/state, or contact information present, when entity identifier code is missing or empty, the desired outcome is that generate error message requiring entity identifier.
💻 Technical Criteria
Given A record segment with address, city/state, or contact information present
When Entity identifier code is missing or empty
Then Generate error message requiring entity identifier
R-GCCCCADD-cbl-02514 Name Present?
Validation Rules
📊 Business Logic Narrative
When the process 'Name Present?' is invoked, and assuming that a record with entity identifier code populated, when entity name field is missing or empty, the desired outcome is that generate error message requiring entity name.
💻 Technical Criteria
Given A record with entity identifier code populated
When Entity name field is missing or empty
Then Generate error message requiring entity name
R-GCCCCADD-cbl-02516 Entity ID Present but Address Missing?
Validation Rules
📊 Business Logic Narrative
When the process 'Entity ID Present but Address Missing?' is invoked, and assuming that a record with entity identifier code present, when primary address information is missing or empty, the desired outcome is that generate error message requiring address information.
💻 Technical Criteria
Given A record with entity identifier code present
When Primary address information is missing or empty
Then Generate error message requiring address information
R-GCCCCADD-cbl-02517 City Name Present?
Validation Rules
📊 Business Logic Narrative
When the process 'City Name Present?' is invoked, and assuming that a record with geographic information section populated, when city name field is missing or empty, the desired outcome is that generate error message requiring city name.
💻 Technical Criteria
Given A record with geographic information section populated
When City name field is missing or empty
Then Generate error message requiring city name
R-GCCCCADD-cbl-02520 Country is CA/US/MX?
Validation Rules
📊 Business Logic Narrative
When the process 'Country is CA/US/MX?' is invoked, and assuming that a record with country code indicating canada, united states, or mexico, when state or province code is missing or empty, the desired outcome is that generate error message requiring state or province code.
💻 Technical Criteria
Given A record with country code indicating Canada, United States, or Mexico
When State or province code is missing or empty
Then Generate error message requiring state or province code
R-GCCCCADD-cbl-02522 Contact Name Present but Qualifier Missing?
Validation Rules
📊 Business Logic Narrative
When the process 'Contact Name Present but Qualifier Missing?' is invoked, and assuming that a record with contact person name populated, when communication number qualifier is missing or empty, the desired outcome is that generate error message requiring communication qualifier.
💻 Technical Criteria
Given A record with contact person name populated
When Communication number qualifier is missing or empty
Then Generate error message requiring communication qualifier
R-GCCCCADD-cbl-02523 Communication Number Present but Qualifier Missing?
Validation Rules
📊 Business Logic Narrative
When the process 'Communication Number Present but Qualifier Missing?' is invoked, and assuming that a record with communication number populated, when communication number qualifier is missing or empty, the desired outcome is that generate error message requiring communication qualifier.
💻 Technical Criteria
Given A record with communication number populated
When Communication number qualifier is missing or empty
Then Generate error message requiring communication qualifier
R-GCCCCADD-cbl-02525 Qualifier or Name Present but Number Missing?
Validation Rules
📊 Business Logic Narrative
When the process 'Qualifier or Name Present but Number Missing?' is invoked, and assuming that a record with communication qualifier populated or contact person name populated, when communication number is missing or empty, the desired outcome is that generate error message requiring communication number.
💻 Technical Criteria
Given A record with communication qualifier populated or contact person name populated
When Communication number is missing or empty
Then Generate error message requiring communication number
R-GCCCCADD-cbl-02754 Generate Shipper Required Field Errors
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Shipper Required Field Errors' is invoked, and assuming that a shipper record is being validated and the record sequence is 0001 and all required fields (name, address, city, state, postal code, country) are empty, when the system performs n1 segment validation, the desired outcome is that the system generates error messages for shipper name required, address required, city required, state required, postal code required, and country required.
💻 Technical Criteria
Given A shipper record is being validated AND the record sequence is 0001 AND all required fields (name, address, city, state, postal code, country) are empty
When The system performs N1 segment validation
Then The system generates error messages for shipper name required, address required, city required, state required, postal code required, and country required
R-GCCCCADD-cbl-02755 Generate Consignee Required Field Errors
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Consignee Required Field Errors' is invoked, and assuming that a consignee record is being validated and the record sequence is 0002 and all required fields (name, address, city, state, postal code, country) are empty, when the system performs n1 segment validation, the desired outcome is that the system generates error messages for consignee name required, address required, city required, state required, postal code required, and country required.
💻 Technical Criteria
Given A consignee record is being validated AND the record sequence is 0002 AND all required fields (name, address, city, state, postal code, country) are empty
When The system performs N1 segment validation
Then The system generates error messages for consignee name required, address required, city required, state required, postal code required, and country required
R-GCCCCADD-cbl-02756 Add N102 Name Required Error Message
Validation Rules
📊 Business Logic Narrative
When the process 'Add N102 Name Required Error Message' is invoked, and assuming that an n1 segment is being validated and the entity id code is present and the name field is empty, when the system checks field consistency, the desired outcome is that the system generates an error message indicating that the name field is required when entity id is specified.
💻 Technical Criteria
Given An N1 segment is being validated AND the entity ID code is present AND the name field is empty
When The system checks field consistency
Then The system generates an error message indicating that the name field is required when entity ID is specified
R-GCCCCADD-cbl-02757 Add N101 Entity ID Required Error
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Add N101 Entity ID Required Error', assuming that an n1 segment is being validated and address information is present (n3 or n4 or per data is not empty) and the entity id code is empty, when the system checks field dependencies, the desired outcome is that the system generates an error message indicating that entity id is required when address information is provided.
💻 Technical Criteria
EXCLUDING An N1 segment is being validated AND address information is present (N3 or N4 or PER data is not empty) AND the entity ID code is empty
When The system checks field dependencies
Then The system generates an error message indicating that entity ID is required when address information is provided
R-GCCCCADD-cbl-02758 Add N102 Name Required Error
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Add N102 Name Required Error', assuming that an n1 segment is being validated and address information is present (n3 or n4 or per data is not empty) and the name field is empty, when the system checks field dependencies, the desired outcome is that the system generates an error message indicating that name is required when address information is provided.
💻 Technical Criteria
EXCLUDING An N1 segment is being validated AND address information is present (N3 or N4 or PER data is not empty) AND the name field is empty
When The system checks field dependencies
Then The system generates an error message indicating that name is required when address information is provided
R-GCCCCADD-cbl-02759 Validate N3 Address Fields
Validation Rules
📊 Business Logic Narrative
When the process 'Validate N3 Address Fields' is invoked, and assuming that an n1 segment has entity id and name populated and the address line 1 field is empty, when the system validates address requirements, the desired outcome is that the system generates an error message indicating that address is required for the identified entity.
💻 Technical Criteria
Given An N1 segment has entity ID and name populated AND the address line 1 field is empty
When The system validates address requirements
Then The system generates an error message indicating that address is required for the identified entity
R-GCCCCADD-cbl-02760 Validate N4 Geographic Fields
Validation Rules
📊 Business Logic Narrative
When the process 'Validate N4 Geographic Fields' is invoked, and assuming that an n4 segment contains geographic data and the city name field is empty, when the system validates geographic information, the desired outcome is that the system generates an error message indicating that city name is required.
💻 Technical Criteria
Given An N4 segment contains geographic data AND the city name field is empty
When The system validates geographic information
Then The system generates an error message indicating that city name is required
R-GCCCCADD-cbl-02763 Validate N4 Geographic Fields
Validation Rules
📊 Business Logic Narrative
When the process 'Validate N4 Geographic Fields' is invoked, and assuming that an n4 segment has country code of canada, usa, or mexico and the state/province code is empty, when the system validates geographic requirements, the desired outcome is that the system generates an error message indicating that state/province code is required for the specified country.
💻 Technical Criteria
Given An N4 segment has country code of Canada, USA, or Mexico AND the state/province code is empty
When The system validates geographic requirements
Then The system generates an error message indicating that state/province code is required for the specified country
R-GCCCCADD-cbl-02765 Validate N4 Geographic Fields
Validation Rules
📊 Business Logic Narrative
When the process 'Validate N4 Geographic Fields' is invoked, and assuming that an n4 segment contains geographic data and the country code field is empty, when the system validates geographic completeness, the desired outcome is that the system generates an error message indicating that country code is required.
💻 Technical Criteria
Given An N4 segment contains geographic data AND the country code field is empty
When The system validates geographic completeness
Then The system generates an error message indicating that country code is required
R-GCCCCADD-cbl-02766 Validate PER Contact Fields
Validation Rules
📊 Business Logic Narrative
When the process 'Validate PER Contact Fields' is invoked, and assuming that a per segment has contact person name populated and the communication number qualifier is empty, when the system validates contact information consistency, the desired outcome is that the system generates an error message indicating that communication qualifier is required when contact name is provided.
💻 Technical Criteria
Given A PER segment has contact person name populated AND the communication number qualifier is empty
When The system validates contact information consistency
Then The system generates an error message indicating that communication qualifier is required when contact name is provided
R-GCCCCADD-cbl-02767 Validate PER Contact Fields
Validation Rules
📊 Business Logic Narrative
When the process 'Validate PER Contact Fields' is invoked, and assuming that a per segment has communication number populated and the communication number qualifier is empty, when the system validates contact information consistency, the desired outcome is that the system generates an error message indicating that communication qualifier is required when phone number is provided.
💻 Technical Criteria
Given A PER segment has communication number populated AND the communication number qualifier is empty
When The system validates contact information consistency
Then The system generates an error message indicating that communication qualifier is required when phone number is provided
R-GCCCCADD-cbl-02769 Validate PER Contact Fields
Validation Rules
📊 Business Logic Narrative
When the process 'Validate PER Contact Fields' is invoked, and assuming that a per segment has communication qualifier or contact person name populated and the communication number is empty, when the system validates contact completeness, the desired outcome is that the system generates an error message indicating that communication number is required.
💻 Technical Criteria
Given A PER segment has communication qualifier or contact person name populated AND the communication number is empty
When The system validates contact completeness
Then The system generates an error message indicating that communication number is required
R-GCCCCADD-cbl-02963 Shipper Name Empty?
Validation Rules
📊 Business Logic Narrative
When the process 'Shipper Name Empty?' is invoked, and assuming that a shipper or consignee record is being validated and all address and contact fields are empty, when the entity name field is empty or spaces, the desired outcome is that generate error message indicating entity name is required.
💻 Technical Criteria
Given A shipper or consignee record is being validated and all address and contact fields are empty
When The entity name field is empty or spaces
Then Generate error message indicating entity name is required
R-GCCCCADD-cbl-02964 Shipper Address Empty?
Validation Rules
📊 Business Logic Narrative
When the process 'Shipper Address Empty?' is invoked, and assuming that an entity record has a name but address, city, state, postal or contact information exists, when the address field is empty or spaces, the desired outcome is that generate error message indicating address is required.
💻 Technical Criteria
Given An entity record has a name but address, city, state, postal or contact information exists
When The address field is empty or spaces
Then Generate error message indicating address is required
R-GCCCCADD-cbl-02965 Shipper City Empty?
Validation Rules
📊 Business Logic Narrative
When the process 'Shipper City Empty?' is invoked, and assuming that an entity record has address data populated, when the city field is empty or spaces, the desired outcome is that generate error message indicating city is required.
💻 Technical Criteria
Given An entity record has address data populated
When The city field is empty or spaces
Then Generate error message indicating city is required
R-GCCCCADD-cbl-02966 Shipper State Empty?
Validation Rules
📊 Business Logic Narrative
When the process 'Shipper State Empty?' is invoked, and assuming that an entity record has country code of canada, usa, or mexico and address data exists, when the state/province field is empty or spaces, the desired outcome is that generate error message indicating state/province is required.
💻 Technical Criteria
Given An entity record has country code of Canada, USA, or Mexico and address data exists
When The state/province field is empty or spaces
Then Generate error message indicating state/province is required
R-GCCCCADD-cbl-02967 Shipper Postal Empty?
Validation Rules
📊 Business Logic Narrative
When the process 'Shipper Postal Empty?' is invoked, and assuming that an entity record has a postal code provided and address data exists, when the postal code length is less than 3 characters, the desired outcome is that generate error message indicating minimum length of 3 characters required.
💻 Technical Criteria
Given An entity record has a postal code provided and address data exists
When The postal code length is less than 3 characters
Then Generate error message indicating minimum length of 3 characters required
R-GCCCCADD-cbl-02968 Shipper Country Empty?
Validation Rules
📊 Business Logic Narrative
When the process 'Shipper Country Empty?' is invoked, and assuming that an entity record has address data populated, when the country field is empty or spaces, the desired outcome is that generate error message indicating country is required.
💻 Technical Criteria
Given An entity record has address data populated
When The country field is empty or spaces
Then Generate error message indicating country is required
R-GCCCCADD-cbl-02973 All Consignee Fields Empty? Name, Address, City/State/Postal
Validation Rules
📊 Business Logic Narrative
When the process 'All Consignee Fields Empty? Name, Address, City/State/Postal' is invoked, and assuming that a consignee record is being validated, when the consignee name is spaces and address data is spaces and city/state/postal data is spaces and contact data is spaces, the desired outcome is that the system identifies this as a completely empty consignee record requiring all mandatory field error messages.
💻 Technical Criteria
Given A consignee record is being validated
When The consignee name is spaces AND address data is spaces AND city/state/postal data is spaces AND contact data is spaces
Then The system identifies this as a completely empty consignee record requiring all mandatory field error messages
R-GCCCCADD-cbl-02974 Generate Consignee Name Required Error GCCS-E-GEN-CONSIGNEE-REQ
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Consignee Name Required Error GCCS-E-GEN-CONSIGNEE-REQ' is invoked, and assuming that a consignee record with empty mandatory fields is being processed, when the consignee name field is spaces, the desired outcome is that the system generates a consignee required error message using error code gccs-e-gen-consignee-req.
💻 Technical Criteria
Given A consignee record with empty mandatory fields is being processed
When The consignee name field is spaces
Then The system generates a consignee required error message using error code GCCS-E-GEN-CONSIGNEE-REQ
R-GCCCCADD-cbl-02975 Generate Address Required Error GCCS-E-GEN-REQUIRED-N301
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Address Required Error GCCS-E-GEN-REQUIRED-N301' is invoked, and assuming that a consignee record with empty mandatory fields is being processed, when the address field is spaces, the desired outcome is that the system generates an address required error message using error code gccs-e-gen-required-n301.
💻 Technical Criteria
Given A consignee record with empty mandatory fields is being processed
When The address field is spaces
Then The system generates an address required error message using error code GCCS-E-GEN-REQUIRED-N301
R-GCCCCADD-cbl-02976 Generate City Required Error GCCS-E-GEN-REQUIRED-N401
Validation Rules
📊 Business Logic Narrative
When the process 'Generate City Required Error GCCS-E-GEN-REQUIRED-N401' is invoked, and assuming that a consignee record with empty mandatory fields is being processed, when the city field is spaces, the desired outcome is that the system generates a city required error message using error code gccs-e-gen-required-n401.
💻 Technical Criteria
Given A consignee record with empty mandatory fields is being processed
When The city field is spaces
Then The system generates a city required error message using error code GCCS-E-GEN-REQUIRED-N401
R-GCCCCADD-cbl-02977 Generate State Required Error GCCS-E-GEN-REQUIRED-N402
Validation Rules
📊 Business Logic Narrative
When the process 'Generate State Required Error GCCS-E-GEN-REQUIRED-N402' is invoked, and assuming that a consignee record with empty mandatory fields is being processed, when the state/province field is spaces, the desired outcome is that the system generates a state required error message using error code gccs-e-gen-required-n402.
💻 Technical Criteria
Given A consignee record with empty mandatory fields is being processed
When The state/province field is spaces
Then The system generates a state required error message using error code GCCS-E-GEN-REQUIRED-N402
R-GCCCCADD-cbl-02978 Generate Postal Required Error GCCS-E-GEN-REQUIRED-N403
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Postal Required Error GCCS-E-GEN-REQUIRED-N403' is invoked, and assuming that a consignee record with empty mandatory fields is being processed, when the postal code field is spaces, the desired outcome is that the system generates a postal code required error message using error code gccs-e-gen-required-n403.
💻 Technical Criteria
Given A consignee record with empty mandatory fields is being processed
When The postal code field is spaces
Then The system generates a postal code required error message using error code GCCS-E-GEN-REQUIRED-N403
R-GCCCCADD-cbl-02979 Generate Country Required Error GCCS-E-GEN-REQUIRED-N404
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Country Required Error GCCS-E-GEN-REQUIRED-N404' is invoked, and assuming that a consignee record with empty mandatory fields is being processed, when the country field is spaces, the desired outcome is that the system generates a country required error message using error code gccs-e-gen-required-n404.
💻 Technical Criteria
Given A consignee record with empty mandatory fields is being processed
When The country field is spaces
Then The system generates a country required error message using error code GCCS-E-GEN-REQUIRED-N404
R-GCCCCADD-cbl-02119 N4 Address Data Present?
Validation Rules
📊 Business Logic Narrative
When the process 'N4 Address Data Present?' is invoked, and assuming that an n4 address segment is being processed for validation, when the system checks if the n4 address data fields contain any information, the desired outcome is that if n4 address data is empty, skip all address validations and complete processing, otherwise proceed with address field validations.
💻 Technical Criteria
Given An N4 address segment is being processed for validation
When The system checks if the N4 address data fields contain any information
Then If N4 address data is empty, skip all address validations and complete processing, otherwise proceed with address field validations
R-GCCCCADD-cbl-02120 City Name Empty?
Validation Rules
📊 Business Logic Narrative
When the process 'City Name Empty?' is invoked, and assuming that n4 address data is present and being validated, when the city name field is empty or contains only spaces, the desired outcome is that generate a required field error message for city name (gccs-e-gen-required-n401).
💻 Technical Criteria
Given N4 address data is present and being validated
When The city name field is empty or contains only spaces
Then Generate a required field error message for city name (GCCS-E-GEN-REQUIRED-N401)
R-GCCCCADD-cbl-02123 State/Province Code Empty?
Validation Rules
📊 Business Logic Narrative
When the process 'State/Province Code Empty?' is invoked, and assuming that the country code indicates canada, usa, or mexico, when the state or province code field is empty or contains only spaces, the desired outcome is that generate a required field error message for state/province code (gccs-e-gen-required-n402).
💻 Technical Criteria
Given The country code indicates Canada, USA, or Mexico
When The state or province code field is empty or contains only spaces
Then Generate a required field error message for state/province code (GCCS-E-GEN-REQUIRED-N402)
R-GCCCCADD-cbl-02125 Auto-Assign Country from State
Decision Rules
📊 Business Logic Narrative
When the process 'Auto-Assign Country from State' is invoked, and assuming that a state/province code is provided but country code is empty, when the state/province code exists in the state-country lookup table, the desired outcome is that automatically assign the corresponding country code from the lookup table to the country field.
💻 Technical Criteria
Given A state/province code is provided but country code is empty
When The state/province code exists in the state-country lookup table
Then Automatically assign the corresponding country code from the lookup table to the country field
R-GCCCCADD-cbl-02126 Country Code Empty?
Validation Rules
📊 Business Logic Narrative
When the process 'Country Code Empty?' is invoked, and assuming that address validation is being performed, when the country code field is empty and cannot be auto-assigned from state/province code, the desired outcome is that generate a required field error message for country code (gccs-e-gen-required-n404).
💻 Technical Criteria
Given Address validation is being performed
When The country code field is empty and cannot be auto-assigned from state/province code
Then Generate a required field error message for country code (GCCS-E-GEN-REQUIRED-N404)
R-GCCCCADD-cbl-02526 N4 Address Data Present?
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'N4 Address Data Present?', assuming that an address validation process is initiated, when the n4 address data segment is empty or not present, the desired outcome is that the system should skip all address validation steps and complete the validation process.
💻 Technical Criteria
EXCLUDING An address validation process is initiated
When The N4 address data segment is empty or not present
Then The system should skip all address validation steps and complete the validation process
R-GCCCCADD-cbl-02527 City Name Present?
Validation Rules
📊 Business Logic Narrative
When the process 'City Name Present?' is invoked, and assuming that n4 address data is present for validation, when the city name field is empty or contains only spaces, the desired outcome is that the system should generate a required city name error message.
💻 Technical Criteria
Given N4 address data is present for validation
When The city name field is empty or contains only spaces
Then The system should generate a required city name error message
R-GCCCCADD-cbl-02530 State/Province Present?
Validation Rules
📊 Business Logic Narrative
When the process 'State/Province Present?' is invoked, and assuming that address data contains a country code of canada, usa, or mexico, when the state or province code field is empty or contains only spaces, the desired outcome is that the system should generate a required state/province error message.
💻 Technical Criteria
Given Address data contains a country code of Canada, USA, or Mexico
When The state or province code field is empty or contains only spaces
Then The system should generate a required state/province error message
R-GCCCCADD-cbl-02533 Country Code Present?
Validation Rules
📊 Business Logic Narrative
When the process 'Country Code Present?' is invoked, and assuming that address validation is being performed, when the country code field is empty or contains only spaces after all processing, the desired outcome is that the system should generate a required country code error message.
💻 Technical Criteria
Given Address validation is being performed
When The country code field is empty or contains only spaces after all processing
Then The system should generate a required country code error message
R-GCCCCADD-cbl-00705 All N1 Data Empty?
Validation Rules
📊 Business Logic Narrative
When the process 'All N1 Data Empty?' is invoked, and assuming that a record is identified as shipper (sequence 1) or consignee (sequence 2) and all n1 segment data fields (name, address, city, state, postal code, country, contact) are empty, when the system validates the n1 segment data completeness, the desired outcome is that generate required field error messages for name (n102), address (n301), city (n401), state/province (n402), postal code (n403), country (n404) and add each error message to the validation results.
💻 Technical Criteria
Given A record is identified as shipper (sequence 1) or consignee (sequence 2) AND all N1 segment data fields (name, address, city, state, postal code, country, contact) are empty
When The system validates the N1 segment data completeness
Then Generate required field error messages for name (N102), address (N301), city (N401), state/province (N402), postal code (N403), country (N404) AND add each error message to the validation results
R-GCCCCADD-cbl-00706 Entity ID Missing but Address Data Present?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Entity ID Missing but Address Data Present?', assuming that an n1 segment where entity id is empty and at least one of address data, city data, contact data is not empty, when the system validates entity id requirements, the desired outcome is that generate error message indicating entity id is required.
💻 Technical Criteria
EXCLUDING An N1 segment where entity ID is empty AND at least one of address data, city data, contact data is not empty
When The system validates entity ID requirements
Then Generate error message indicating entity ID is required
R-GCCCCADD-cbl-00707 Name Missing but Entity ID Present?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Name Missing but Entity ID Present?', assuming that an n1 segment where entity id is not empty and name field is empty, when the system validates name field requirements, the desired outcome is that generate error message indicating name is required.
💻 Technical Criteria
EXCLUDING An N1 segment where entity ID is not empty AND name field is empty
When The system validates name field requirements
Then Generate error message indicating name is required
R-GCCCCADD-cbl-00708 Entity ID Present but Name Missing?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Entity ID Present but Name Missing?', assuming that an n1 segment where entity id is not empty and name field is empty, when the system validates the relationship between entity id and name, the desired outcome is that generate error message indicating name is required.
💻 Technical Criteria
EXCLUDING An N1 segment where entity ID is not empty AND name field is empty
When The system validates the relationship between entity ID and name
Then Generate error message indicating name is required
R-GCCCCADD-cbl-00710 Entity ID Present but Address Missing?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Entity ID Present but Address Missing?', assuming that an n1 segment where entity id is not empty and address field is empty, when the system validates address field requirements, the desired outcome is that generate error message indicating address is required.
💻 Technical Criteria
EXCLUDING An N1 segment where entity ID is not empty AND address field is empty
When The system validates address field requirements
Then Generate error message indicating address is required
R-GCCCCADD-cbl-00711 City Name Length < 2?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'City Name Length < 2?', assuming that an n1 segment where city name is not empty and the length of city name after removing trailing spaces is less than 2 characters, when the system validates city name length requirements, the desired outcome is that generate error message indicating minimum 2 characters required.
💻 Technical Criteria
EXCLUDING An N1 segment where city name is not empty AND the length of city name after removing trailing spaces is less than 2 characters
When The system validates city name length requirements
Then Generate error message indicating minimum 2 characters required
R-GCCCCADD-cbl-00712 Postal Code Length < 3?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Postal Code Length < 3?', assuming that an n1 segment where postal code is not empty and the length of postal code after removing trailing spaces is less than 3 characters, when the system validates postal code length requirements, the desired outcome is that generate error message indicating minimum 3 characters required.
💻 Technical Criteria
EXCLUDING An N1 segment where postal code is not empty AND the length of postal code after removing trailing spaces is less than 3 characters
When The system validates postal code length requirements
Then Generate error message indicating minimum 3 characters required
R-GCCCCADD-cbl-00713 State/Province Missing?
Validation Rules
📊 Business Logic Narrative
When the process 'State/Province Missing?' is invoked, and assuming that an n1 segment where country code is 'ca' (canada) or 'us' (usa) or 'mx' (mexico) and state/province code is empty, when the system validates state/province requirements for north american countries, the desired outcome is that generate error message indicating state/province is required.
💻 Technical Criteria
Given An N1 segment where country code is 'CA' (Canada) OR 'US' (USA) OR 'MX' (Mexico) AND state/province code is empty
When The system validates state/province requirements for North American countries
Then Generate error message indicating state/province is required
R-GCCCCADD-cbl-00714 Invalid State/Country Combination?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Invalid State/Country Combination?', assuming that an n1 segment where state/province code is not empty and country code is not empty and the state/province code is not found in the state-country lookup table for the specified country, when the system validates state/province and country code combination, the desired outcome is that generate error message indicating invalid state/province code.
💻 Technical Criteria
EXCLUDING An N1 segment where state/province code is not empty AND country code is not empty AND the state/province code is not found in the state-country lookup table for the specified country
When The system validates state/province and country code combination
Then Generate error message indicating invalid state/province code
R-GCCCCADD-cbl-00715 Contact Name Present but Communication Qualifier Missing?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Contact Name Present but Communication Qualifier Missing?', assuming that an n1 segment where contact name is not empty and communication qualifier is empty, when the system validates communication qualifier requirements for contact information, the desired outcome is that generate error message indicating communication qualifier is required.
💻 Technical Criteria
EXCLUDING An N1 segment where contact name is not empty AND communication qualifier is empty
When The system validates communication qualifier requirements for contact information
Then Generate error message indicating communication qualifier is required
R-GCCCCADD-cbl-00716 Communication Number Present but Communication Qualifier Missing?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Communication Number Present but Communication Qualifier Missing?', assuming that an n1 segment where communication number is not empty and communication qualifier is empty, when the system validates communication qualifier requirements for communication number, the desired outcome is that generate error message indicating communication qualifier is required.
💻 Technical Criteria
EXCLUDING An N1 segment where communication number is not empty AND communication qualifier is empty
When The system validates communication qualifier requirements for communication number
Then Generate error message indicating communication qualifier is required
R-GCCCCADD-cbl-00717 Invalid Communication Qualifier Value?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Invalid Communication Qualifier Value?', assuming that an n1 segment where communication qualifier is not empty and communication qualifier is not equal to spaces and not equal to 'fx' (fax) and not equal to 'te' (telephone), when the system validates communication qualifier values, the desired outcome is that generate error message indicating invalid communication qualifier value.
💻 Technical Criteria
EXCLUDING An N1 segment where communication qualifier is not empty AND communication qualifier is not equal to spaces AND not equal to 'FX' (fax) AND not equal to 'TE' (telephone)
When The system validates communication qualifier values
Then Generate error message indicating invalid communication qualifier value
R-GCCCCADD-cbl-00718 Communication Qualifier Present but Communication Number Missing?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Communication Qualifier Present but Communication Number Missing?', assuming that an n1 segment where (communication qualifier is not empty or contact name is not empty) and communication number is empty, when the system validates communication number requirements, the desired outcome is that generate error message indicating communication number is required.
💻 Technical Criteria
EXCLUDING An N1 segment where (communication qualifier is not empty OR contact name is not empty) AND communication number is empty
When The system validates communication number requirements
Then Generate error message indicating communication number is required
R-GCCCCADD-cbl-00719 Address Data Present?
Validation Rules
📊 Business Logic Narrative
When the process 'Address Data Present?' is invoked, and assuming that a record with address information is being processed, when the system evaluates the n4 segment data for presence of address fields, the desired outcome is that if n4 data is empty or spaces, skip validation; otherwise proceed with state-country validation.
💻 Technical Criteria
Given A record with address information is being processed
When The system evaluates the N4 segment data for presence of address fields
Then If N4 data is empty or spaces, skip validation; otherwise proceed with state-country validation
R-GCCCCADD-cbl-00742 Invalid Entity ID
Validation Rules
📊 Business Logic Narrative
When the process 'Invalid Entity ID' is invoked, and assuming that a conveying car initial is provided, when the conveying car is validated using the car validation system, the desired outcome is that if the car validation returns all asterisks indicating an invalid car, an error message for invalid conveying car should be generated using the original car value as the message number.
💻 Technical Criteria
Given A conveying car initial is provided
When The conveying car is validated using the car validation system
Then If the car validation returns all asterisks indicating an invalid car, an error message for invalid conveying car should be generated using the original car value as the message number
R-GCCCCADD-cbl-00823 Extract Business Address Line 1
Validation Rules
📊 Business Logic Narrative
When the process 'Extract Business Address Line 1' is invoked, and assuming that a bn entity is being processed and address information is being extracted, when the system searches for bt address segments and finds address data, the desired outcome is that extract address line 1 and address line 2 from bt segments, and if address line 1 is empty, set default value 'na' for address line 1.
💻 Technical Criteria
Given A BN entity is being processed and address information is being extracted
When The system searches for BT address segments and finds address data
Then Extract address line 1 and address line 2 from BT segments, and if address line 1 is empty, set default value 'NA' for address line 1
R-GCCCCADD-cbl-00824 Set Default 'NA' Address
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Default 'NA' Address', assuming that a bn entity is being processed and address information is being extracted, when bt address segments are not found or address line 1 is empty, the desired outcome is that clear all address data fields and set address line 1 to default value 'na'.
💻 Technical Criteria
EXCLUDING A BN entity is being processed and address information is being extracted
When BT address segments are not found or address line 1 is empty
Then Clear all address data fields and set address line 1 to default value 'NA'
R-GCCCCADD-cbl-00856 Set Default 'NA' for Address Line 1
Validation Rules
📊 Business Logic Narrative
When the process 'Set Default 'NA' for Address Line 1' is invoked, and assuming that address information is being processed for an entity record, when the address line 1 field (n301) is empty or contains only spaces, the desired outcome is that the system sets the address line 1 to 'na' as the default value.
💻 Technical Criteria
Given Address information is being processed for an entity record
When The address line 1 field (N301) is empty or contains only spaces
Then The system sets the address line 1 to 'NA' as the default value
R-GCCCCADD-cbl-00882 Build Shipper Record - Sequence 0001
Validation Rules
📊 Business Logic Narrative
When the process 'Build Shipper Record - Sequence 0001' is invoked, and assuming that an entity record is being built with missing address information, when the address line 1 is spaces or address line 2 is effectively empty, the desired outcome is that the system sets address line 1 to 'na' when missing and sets default country codes ('us' for shipper, 'ca' for consignee) when address line 2 is incomplete.
💻 Technical Criteria
Given An entity record is being built with missing address information
When The address line 1 is spaces or address line 2 is effectively empty
Then The system sets address line 1 to 'NA' when missing and sets default country codes ('US' for shipper, 'CA' for consignee) when address line 2 is incomplete
R-GCCCCADD-cbl-02549 Check Required Fields
Validation Rules
📊 Business Logic Narrative
When the process 'Check Required Fields' is invoked, and assuming that a shipper record needs validation, when the system checks required fields, the desired outcome is that entity id, name, and address line 1 are verified as non-empty, and error messages are generated for missing required fields.
💻 Technical Criteria
Given A shipper record needs validation
When The system checks required fields
Then Entity ID, name, and address line 1 are verified as non-empty, and error messages are generated for missing required fields
R-GCCCCADD-cbl-02170 Name Required?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Name Required?', assuming that a business entity record has a valid entity id, when validating entity name and entity id is not empty but entity name is empty, the desired outcome is that generate validation error for required entity name.
💻 Technical Criteria
EXCLUDING A business entity record has a valid entity ID
When Validating entity name and entity ID is not empty but entity name is empty
Then Generate validation error for required entity name
R-GCCCCADD-cbl-02171 Set Default Address to 'NA'
Validation Rules
📊 Business Logic Narrative
When the process 'Set Default Address to 'NA'' is invoked, and assuming that a business entity record requires address information, when validating address and primary address line is empty or spaces, the desired outcome is that set primary address line to 'na' as default value.
💻 Technical Criteria
Given A business entity record requires address information
When Validating address and primary address line is empty or spaces
Then Set primary address line to 'NA' as default value
R-GCCCCADD-cbl-02173 Address Required?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Address Required?', assuming that a business entity record has a valid entity id, when validating address and entity id is not empty but primary address line is empty, the desired outcome is that generate validation error for required address information.
💻 Technical Criteria
EXCLUDING A business entity record has a valid entity ID
When Validating address and entity ID is not empty but primary address line is empty
Then Generate validation error for required address information
R-GCCCCADD-cbl-02174 Contact Info Valid?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Contact Info Valid?', assuming that a business entity record contains contact information, when validating contact information and communication number qualifier is not empty, 'fx', or 'te', the desired outcome is that generate validation error for invalid communication number qualifier value.
💻 Technical Criteria
EXCLUDING A business entity record contains contact information
When Validating contact information and communication number qualifier is not empty, 'FX', or 'TE'
Then Generate validation error for invalid communication number qualifier value
R-GCCCCADD-cbl-00885 Retrieve Importer N1 Segment from EDI BOL
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Importer N1 Segment from EDI BOL' is invoked, and assuming that an edi bol key exists for the shipment, when the system retrieves importer n1 segment data using entity type 'im', the desired outcome is that the system obtains importer entity information from the edi bol database or returns empty if not found.
💻 Technical Criteria
Given An EDI BOL key exists for the shipment
When The system retrieves importer N1 segment data using entity type 'IM'
Then The system obtains importer entity information from the EDI BOL database or returns empty if not found
R-GCCCCADD-cbl-02557 Check if Corrector EDI with Existing Importer Data
Decision Rules
📊 Business Logic Narrative
When the process 'Check if Corrector EDI with Existing Importer Data' is invoked, and assuming that a cargo manifest processing request is initiated, when the system checks for existing importer data in temporary variables, the desired outcome is that if temporary importer name contains data, the system identifies this as corrector edi processing with existing data, otherwise it proceeds as new processing.
💻 Technical Criteria
Given A cargo manifest processing request is initiated
When The system checks for existing importer data in temporary variables
Then If temporary importer name contains data, the system identifies this as corrector EDI processing with existing data, otherwise it proceeds as new processing
R-GCCCCADD-cbl-00915 Address Line 1 Empty?
Validation Rules
📊 Business Logic Narrative
When the process 'Address Line 1 Empty?' is invoked, and assuming that address line 1 has been extracted from the n3 segment, when the system checks if address line 1 is empty or contains only spaces or low-values, the desired outcome is that the system should set a default value if empty, otherwise keep the original value.
💻 Technical Criteria
Given Address line 1 has been extracted from the N3 segment
When The system checks if address line 1 is empty or contains only spaces or low-values
Then The system should set a default value if empty, otherwise keep the original value
R-GCCCCADD-cbl-00916 Set Address Line 1 to 'NA'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Address Line 1 to 'NA'' is invoked, and assuming that address line 1 from the n3 segment is empty, spaces, or low-values, when the system processes the empty address line 1, the desired outcome is that the system should set address line 1 to 'na' as the default value.
💻 Technical Criteria
Given Address line 1 from the N3 segment is empty, spaces, or low-values
When The system processes the empty address line 1
Then The system should set address line 1 to 'NA' as the default value
R-GCCCCADD-cbl-00918 Store Address Line 2
Process Rules
📊 Business Logic Narrative
When the process 'Store Address Line 2' is invoked, and assuming that address line 2 has been extracted from the n3 segment and address line 1 has been processed, when the system stores address line 2, the desired outcome is that the system should store the address line 2 data as extracted, whether empty or populated.
💻 Technical Criteria
Given Address line 2 has been extracted from the N3 segment and address line 1 has been processed
When The system stores address line 2
Then The system should store the address line 2 data as extracted, whether empty or populated
R-GCCCCADD-cbl-00946 Save Current Description Data
Process Rules
📊 Business Logic Narrative
When the process 'Save Current Description Data' is invoked, and assuming that a cargo manifest exists with current description data in gcsccrt and gcsccs53 segments, when the transit description enhancement process begins, the desired outcome is that the system saves the current manifest data to backup variables and preserves all 46 cargo description array elements for potential restoration.
💻 Technical Criteria
Given A cargo manifest exists with current description data in GCSCCRT and GCSCCS53 segments
When The transit description enhancement process begins
Then The system saves the current manifest data to backup variables and preserves all 46 cargo description array elements for potential restoration
R-GCCCCADD-cbl-00956 Update Current Description Data
Process Rules
📊 Business Logic Narrative
When the process 'Update Current Description Data' is invoked, and assuming that description data has been successfully enhanced and compressed, when updating the current manifest, the desired outcome is that the system moves the compressed lading description to gccc segment and copies all 46 enhanced cargo description elements to the cargo data array.
💻 Technical Criteria
Given Description data has been successfully enhanced and compressed
When Updating the current manifest
Then The system moves the compressed lading description to GCCC segment and copies all 46 enhanced cargo description elements to the cargo data array
R-GCCCCADD-cbl-00957 Restore Original Data on Error
Process Rules
📊 Business Logic Narrative
When the process 'Restore Original Data on Error' is invoked, and assuming that the description enhancement process has failed and original data was previously saved, when an error occurs during enhancement, the desired outcome is that the system restores the original gcsccrt and gcsccs52 data and clears all 46 cargo description array elements before restoring the saved values.
💻 Technical Criteria
Given The description enhancement process has failed and original data was previously saved
When An error occurs during enhancement
Then The system restores the original GCSCCRT and GCSCCS52 data and clears all 46 cargo description array elements before restoring the saved values
R-GCCCCADD-cbl-00972 Existing Broker Name is Empty, UNKNOWN, or NOT-REQ?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Existing Broker Name is Empty, UNKNOWN, or NOT-REQ?', assuming that override flag is not 'y' and existing broker name exists, when the existing broker name is evaluated, the desired outcome is that if broker name is spaces, 'unknown', or 'not-req', use crossing table data, otherwise keep existing broker data.
💻 Technical Criteria
EXCLUDING Override flag is not 'Y' and existing broker name exists
When The existing broker name is evaluated
Then If broker name is SPACES, 'UNKNOWN', or 'NOT-REQ', use crossing table data, otherwise keep existing broker data
R-GCCCCADD-cbl-01000 Called from GCX011?
Decision Rules
📊 Business Logic Narrative
When the process 'Called from GCX011?' is invoked, and assuming that the cargo manifest creation process is executing, when the system checks the calling program source, the desired outcome is that if called from gcx011, proceed with postal code validation and padding, otherwise skip postal code processing.
💻 Technical Criteria
Given The cargo manifest creation process is executing
When The system checks the calling program source
Then If called from GCX011, proceed with postal code validation and padding, otherwise skip postal code processing
R-GCCCCADD-cbl-01001 Shipper Postal Code Not Empty?
Validation Rules
📊 Business Logic Narrative
When the process 'Shipper Postal Code Not Empty?' is invoked, and assuming that the system is processing postal codes for gcx011 integration, when the shipper postal code field is evaluated, the desired outcome is that if shipper postal code is not empty, proceed to check its length, otherwise skip to consignee postal code processing.
💻 Technical Criteria
Given The system is processing postal codes for GCX011 integration
When The shipper postal code field is evaluated
Then If shipper postal code is not empty, proceed to check its length, otherwise skip to consignee postal code processing
R-GCCCCADD-cbl-01002 Calculate Shipper Postal Code Length
Computation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Calculate Shipper Postal Code Length', assuming that the shipper postal code is not empty, when the system calculates the string length of the shipper postal code, the desired outcome is that the actual character length is determined by counting non-space characters from the end.
💻 Technical Criteria
EXCLUDING The shipper postal code is not empty
When The system calculates the string length of the shipper postal code
Then The actual character length is determined by counting non-space characters from the end
R-GCCCCADD-cbl-01005 Consignee Postal Code Not Empty?
Validation Rules
📊 Business Logic Narrative
When the process 'Consignee Postal Code Not Empty?' is invoked, and assuming that the system has completed shipper postal code processing, when the consignee postal code field is evaluated, the desired outcome is that if consignee postal code is not empty, proceed to check its length, otherwise skip to notify party postal code processing.
💻 Technical Criteria
Given The system has completed shipper postal code processing
When The consignee postal code field is evaluated
Then If consignee postal code is not empty, proceed to check its length, otherwise skip to notify party postal code processing
R-GCCCCADD-cbl-01006 Calculate Consignee Postal Code Length
Computation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Calculate Consignee Postal Code Length', assuming that the consignee postal code is not empty, when the system calculates the string length of the consignee postal code, the desired outcome is that the actual character length is determined by counting non-space characters from the end.
💻 Technical Criteria
EXCLUDING The consignee postal code is not empty
When The system calculates the string length of the consignee postal code
Then The actual character length is determined by counting non-space characters from the end
R-GCCCCADD-cbl-01009 Notify Party Postal Code Not Empty?
Validation Rules
📊 Business Logic Narrative
When the process 'Notify Party Postal Code Not Empty?' is invoked, and assuming that the system has completed consignee postal code processing, when the notify party postal code field is evaluated, the desired outcome is that if notify party postal code is not empty, proceed to check its length, otherwise complete postal code processing.
💻 Technical Criteria
Given The system has completed consignee postal code processing
When The notify party postal code field is evaluated
Then If notify party postal code is not empty, proceed to check its length, otherwise complete postal code processing
R-GCCCCADD-cbl-01010 Calculate Notify Party Postal Code Length
Computation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Calculate Notify Party Postal Code Length', assuming that the notify party postal code is not empty, when the system calculates the string length of the notify party postal code, the desired outcome is that the actual character length is determined by counting non-space characters from the end.
💻 Technical Criteria
EXCLUDING The notify party postal code is not empty
When The system calculates the string length of the notify party postal code
Then The actual character length is determined by counting non-space characters from the end
R-GCCCCADD-cbl-01028 Set Manifest From Port to 'IIS-A6'
Decision Rules
📊 Business Logic Narrative
When the process 'Set Manifest From Port to 'IIS-A6'' is invoked, and assuming that a shipment is being processed with action code iis-a6 or multi-manifest indicator equals 'y', when the manifest from port field is blank or empty, the desired outcome is that the manifest from port should be set to 'iis-a6'.
💻 Technical Criteria
Given A shipment is being processed with action code IIS-A6 OR multi-manifest indicator equals 'Y'
When The manifest from port field is blank or empty
Then The manifest from port should be set to 'IIS-A6'
R-GCCCCADD-cbl-01029 Set Manifest To Port to 'IIS-A6'
Decision Rules
📊 Business Logic Narrative
When the process 'Set Manifest To Port to 'IIS-A6'' is invoked, and assuming that a shipment is being processed with action code iis-a6 or multi-manifest indicator equals 'y', when the manifest to port field is blank or empty, the desired outcome is that the manifest to port should be set to 'iis-a6'.
💻 Technical Criteria
Given A shipment is being processed with action code IIS-A6 OR multi-manifest indicator equals 'Y'
When The manifest to port field is blank or empty
Then The manifest to port should be set to 'IIS-A6'
R-GCCCCADD-cbl-01036 Set GCCC-US-PORT-OF-EXIT-CODE
Action Rules
📊 Business Logic Narrative
When the process 'Set GCCC-US-PORT-OF-EXIT-CODE' is invoked, and assuming that a shipment has a manifest from port defined in the shipment root data, when the system looks up the manifest from port in the mc table and finds a matching record, the desired outcome is that the us port of exit code from the mc table record is assigned to the cargo manifest us port of exit code field.
💻 Technical Criteria
Given A shipment has a manifest from port defined in the shipment root data
When The system looks up the manifest from port in the MC table and finds a matching record
Then The US port of exit code from the MC table record is assigned to the cargo manifest US port of exit code field
R-GCCCCADD-cbl-01058 Set Destination Station Number
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Destination Station Number' is invoked, and assuming that customs cargo data with destination station number, when the system prepares rf table lookup parameters, the desired outcome is that the destination station number is assigned to the rf table lookup key.
💻 Technical Criteria
Given Customs cargo data with destination station number
When The system prepares RF table lookup parameters
Then The destination station number is assigned to the RF table lookup key
R-GCCCCADD-cbl-01061 Extract Sub-location Code from RF Record
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract Sub-location Code from RF Record' is invoked, and assuming that a successful rf table lookup with retrieved record data, when the system processes the rf table record, the desired outcome is that the sub-location code is extracted from the rf record and assigned to customs cargo data.
💻 Technical Criteria
Given A successful RF table lookup with retrieved record data
When The system processes the RF table record
Then The sub-location code is extracted from the RF record and assigned to customs cargo data
R-GCCCCADD-cbl-02207 Is Manifest-To Station IIS-A6?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Manifest-To Station IIS-A6?' is invoked, and assuming that a cargo manifest is being processed with a manifest-to station name, when the system evaluates the manifest-to station name, the desired outcome is that if manifest-to station equals 'iis-a6', proceed with iis-a6 specific processing, otherwise proceed with standard rf table lookup.
💻 Technical Criteria
Given A cargo manifest is being processed with a manifest-to station name
When The system evaluates the manifest-to station name
Then If manifest-to station equals 'IIS-A6', proceed with IIS-A6 specific processing, otherwise proceed with standard RF table lookup
R-GCCCCADD-cbl-02569 Is Manifest-To Station IIS-A6?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Manifest-To Station IIS-A6?' is invoked, and assuming that a cargo manifest is being processed with a manifest-to station name, when the system evaluates the manifest-to station name, the desired outcome is that if manifest-to station equals 'iis-a6', proceed to destination country check; otherwise proceed directly to consignee facility lookup.
💻 Technical Criteria
Given A cargo manifest is being processed with a manifest-to station name
When The system evaluates the manifest-to station name
Then If manifest-to station equals 'IIS-A6', proceed to destination country check; otherwise proceed directly to consignee facility lookup
R-GCCCCADD-cbl-02576 Set Sub-location Code from MC Table
Process Rules
📊 Business Logic Narrative
When the process 'Set Sub-location Code from MC Table' is invoked, and assuming that mc table lookup was successful and returned a valid record, when the system processes the mc table record, the desired outcome is that assign the sub-location code from the mc table record to the cargo manifest.
💻 Technical Criteria
Given MC table lookup was successful and returned a valid record
When The system processes the MC table record
Then Assign the sub-location code from the MC table record to the cargo manifest
R-GCCCCADD-cbl-02580 Set Sub-location Code from RF Table
Process Rules
📊 Business Logic Narrative
When the process 'Set Sub-location Code from RF Table' is invoked, and assuming that rf table lookup was successful and returned a valid record, when the system processes the rf table record, the desired outcome is that assign the sub-location code from the rf table record to the cargo manifest.
💻 Technical Criteria
Given RF table lookup was successful and returned a valid record
When The system processes the RF table record
Then Assign the sub-location code from the RF table record to the cargo manifest
R-GCCCCADD-cbl-02588 Continue Processing - No Error
Process Rules
📊 Business Logic Narrative
When the process 'Continue Processing - No Error' is invoked, and assuming that either sub-location code is present or one of the exemption conditions is met, when the system completes sub-location validation, the desired outcome is that continue with normal cargo manifest processing without generating sub-location errors.
💻 Technical Criteria
Given Either sub-location code is present or one of the exemption conditions is met
When The system completes sub-location validation
Then Continue with normal cargo manifest processing without generating sub-location errors
R-GCCCCADD-cbl-02805 Is Manifest-To Station = 'IIS-A6'?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Manifest-To Station = 'IIS-A6'?' is invoked, and assuming that a cargo manifest is being processed with a manifest-to station name, when the manifest-to station name equals 'iis-a6', the desired outcome is that the system proceeds to check destination country for enhanced sub-location processing.
💻 Technical Criteria
Given A cargo manifest is being processed with a manifest-to station name
When The manifest-to station name equals 'IIS-A6'
Then The system proceeds to check destination country for enhanced sub-location processing
R-GCCCCADD-cbl-02812 Extract Sub-location Code from MC Table
Process Rules
📊 Business Logic Narrative
When the process 'Extract Sub-location Code from MC Table' is invoked, and assuming that mc table lookup was successful, when the system processes the mc table results, the desired outcome is that the sub-location code is extracted and assigned to the cargo manifest.
💻 Technical Criteria
Given MC table lookup was successful
When The system processes the MC table results
Then The sub-location code is extracted and assigned to the cargo manifest
R-GCCCCADD-cbl-03018 Set Sub-Location Code to GCCC Structure
Process Rules
📊 Business Logic Narrative
When the process 'Set Sub-Location Code to GCCC Structure' is invoked, and assuming that a sub-location code has been extracted from an mc table record, when the system updates the customs cargo control information, the desired outcome is that the system assigns the extracted sub-location code to the gccc structure.
💻 Technical Criteria
Given A sub-location code has been extracted from an MC table record
When The system updates the customs cargo control information
Then The system assigns the extracted sub-location code to the GCCC structure
R-GCCCCADD-cbl-03020 Initialize RF Table Search Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize RF Table Search Parameters' is invoked, and assuming that a customs manifest processing request is initiated, when the system prepares to lookup customer bonded status in the rf table, the desired outcome is that the rf table search parameters are cleared and initialized to empty values.
💻 Technical Criteria
Given A customs manifest processing request is initiated
When The system prepares to lookup customer bonded status in the RF table
Then The RF table search parameters are cleared and initialized to empty values
R-GCCCCADD-cbl-01070 Use Existing Conveying Car Initial and Number
Decision Rules
📊 Business Logic Narrative
When the process 'Use Existing Conveying Car Initial and Number' is invoked, and assuming that a shipment has conveying car initial information already populated, when the system processes conveying car information, the desired outcome is that the existing conveying car initial and number are retained and used.
💻 Technical Criteria
Given A shipment has conveying car initial information already populated
When The system processes conveying car information
Then The existing conveying car initial and number are retained and used
R-GCCCCADD-cbl-01071 Set Default Conveying Car Initial = 'UNKN' Number = '00000001'
Decision Rules
📊 Business Logic Narrative
When the process 'Set Default Conveying Car Initial = 'UNKN' Number = '00000001'' is invoked, and assuming that a shipment has no conveying car initial information and the shipment type is tofc (t) or cofc (c), when the system processes conveying car information, the desired outcome is that the conveying car initial is set to 'unkn' and the conveying car number is set to '00000001'.
💻 Technical Criteria
Given A shipment has no conveying car initial information AND the shipment type is TOFC (T) or COFC (C)
When The system processes conveying car information
Then The conveying car initial is set to 'UNKN' AND the conveying car number is set to '00000001'
R-GCCCCADD-cbl-01072 Clear Conveying Car Information Set to Spaces
Decision Rules
📊 Business Logic Narrative
When the process 'Clear Conveying Car Information Set to Spaces' is invoked, and assuming that a shipment has no conveying car initial information and the shipment type is neither tofc (t) nor cofc (c), when the system processes conveying car information, the desired outcome is that the conveying car initial and number fields are cleared and set to spaces.
💻 Technical Criteria
Given A shipment has no conveying car initial information AND the shipment type is neither TOFC (T) nor COFC (C)
When The system processes conveying car information
Then The conveying car initial and number fields are cleared and set to spaces
R-GCCCCADD-cbl-01073 Conveying Car Initial Present?
Decision Rules
📊 Business Logic Narrative
When the process 'Conveying Car Initial Present?' is invoked, and assuming that a shipment record with conveying car information, when the system checks for conveying car initial data, the desired outcome is that if conveying car initial is not empty, proceed to validation; otherwise skip car id processing.
💻 Technical Criteria
Given A shipment record with conveying car information
When The system checks for conveying car initial data
Then If conveying car initial is not empty, proceed to validation; otherwise skip car ID processing
R-GCCCCADD-cbl-01074 Set Car Values for Validation
Process Rules
📊 Business Logic Narrative
When the process 'Set Car Values for Validation' is invoked, and assuming that conveying car initial is present, when the system prepares car data for validation, the desired outcome is that clear car validation fields and set both original and destination car values to the conveying car identifier.
💻 Technical Criteria
Given Conveying car initial is present
When The system prepares car data for validation
Then Clear car validation fields and set both original and destination car values to the conveying car identifier
R-GCCCCADD-cbl-01075 Call GCCCARID Utility
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCCARID Utility' is invoked, and assuming that car values are prepared for validation, when the system calls the gcccarid validation utility, the desired outcome is that the utility processes the car identification and returns validation results.
💻 Technical Criteria
Given Car values are prepared for validation
When The system calls the GCCCARID validation utility
Then The utility processes the car identification and returns validation results
R-GCCCCADD-cbl-01076 Validation Successful?
Decision Rules
📊 Business Logic Narrative
When the process 'Validation Successful?' is invoked, and assuming that car id validation has been performed, when the system checks the validation result, the desired outcome is that if destination car value contains all asterisks, validation failed; otherwise validation succeeded.
💻 Technical Criteria
Given Car ID validation has been performed
When The system checks the validation result
Then If destination car value contains all asterisks, validation failed; otherwise validation succeeded
R-GCCCCADD-cbl-01077 Update Car ID with Formatted Value
Process Rules
📊 Business Logic Narrative
When the process 'Update Car ID with Formatted Value' is invoked, and assuming that car id validation was successful, when the system updates the car identification, the desired outcome is that set the conveying car field to the validated destination car value.
💻 Technical Criteria
Given Car ID validation was successful
When The system updates the car identification
Then Set the conveying car field to the validated destination car value
R-GCCCCADD-cbl-01078 Generate Invalid Car Error Message
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Invalid Car Error Message' is invoked, and assuming that car id validation failed, when the system processes the validation failure, the desired outcome is that generate an invalid conveying car error message using the original car value and add it to the message collection.
💻 Technical Criteria
Given Car ID validation failed
When The system processes the validation failure
Then Generate an invalid conveying car error message using the original car value and add it to the message collection
R-GCCCCADD-cbl-01081 Set Quantity Qualifier to 'UNT' Units
Decision Rules
📊 Business Logic Narrative
When the process 'Set Quantity Qualifier to 'UNT' Units' is invoked, and assuming that equipment load/empty status is available from shipment data, when equipment status equals 'e' indicating empty equipment, the desired outcome is that quantity qualifier is set to 'unt' for units measurement.
💻 Technical Criteria
Given Equipment load/empty status is available from shipment data
When Equipment status equals 'E' indicating empty equipment
Then Quantity qualifier is set to 'UNT' for units measurement
R-GCCCCADD-cbl-01082 Set Quantity Qualifier to 'PCS' Pieces
Decision Rules
📊 Business Logic Narrative
When the process 'Set Quantity Qualifier to 'PCS' Pieces' is invoked, and assuming that equipment is loaded (not empty) and current quantity qualifier exists, when current quantity qualifier equals 'c/l' or 'cld' or 'cl ' or ' cl' indicating carload types, the desired outcome is that quantity qualifier is set to 'pcs' for pieces measurement.
💻 Technical Criteria
Given Equipment is loaded (not empty) and current quantity qualifier exists
When Current quantity qualifier equals 'C/L' or 'CLD' or 'CL ' or ' CL' indicating carload types
Then Quantity qualifier is set to 'PCS' for pieces measurement
R-GCCCCADD-cbl-01094 Set Shipper Address 1 to 'NA'
Validation Rules
📊 Business Logic Narrative
When the process 'Set Shipper Address 1 to 'NA'' is invoked, and assuming that a shipment record is being processed for customs manifest creation, when the shipper address line 1 field is empty or contains only spaces, the desired outcome is that the system shall set the shipper address line 1 to 'na'.
💻 Technical Criteria
Given A shipment record is being processed for customs manifest creation
When The shipper address line 1 field is empty or contains only spaces
Then The system shall set the shipper address line 1 to 'NA'
R-GCCCCADD-cbl-01095 Set Shipper Address 2 to 'NA' and Country to 'US'
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Shipper Address 2 to 'NA' and Country to 'US'', assuming that a shipment record is being processed and shipper address line 2 exists, when the shipper address line 2 is empty or (the first character is not empty and characters 2-18 are all spaces), the desired outcome is that the system shall set shipper address line 2 positions 1-18 to 'na' and set shipper country code to 'us'.
💻 Technical Criteria
EXCLUDING A shipment record is being processed and shipper address line 2 exists
When The shipper address line 2 is empty OR (the first character is not empty AND characters 2-18 are all spaces)
Then The system shall set shipper address line 2 positions 1-18 to 'NA' and set shipper country code to 'US'
R-GCCCCADD-cbl-01096 Set Consignee Address 1 to 'NA'
Validation Rules
📊 Business Logic Narrative
When the process 'Set Consignee Address 1 to 'NA'' is invoked, and assuming that a shipment record is being processed for customs manifest creation, when the consignee address line 1 field is empty or contains only spaces, the desired outcome is that the system shall set the consignee address line 1 to 'na'.
💻 Technical Criteria
Given A shipment record is being processed for customs manifest creation
When The consignee address line 1 field is empty or contains only spaces
Then The system shall set the consignee address line 1 to 'NA'
R-GCCCCADD-cbl-01097 Set Consignee Address 2 to 'NA' and Country to 'CA'
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Consignee Address 2 to 'NA' and Country to 'CA'', assuming that a shipment record is being processed and consignee address line 2 exists, when the consignee address line 2 is empty or (the first character is not empty and characters 2-18 are all spaces), the desired outcome is that the system shall set consignee address line 2 positions 1-18 to 'na' and set consignee country code to 'ca'.
💻 Technical Criteria
EXCLUDING A shipment record is being processed and consignee address line 2 exists
When The consignee address line 2 is empty OR (the first character is not empty AND characters 2-18 are all spaces)
Then The system shall set consignee address line 2 positions 1-18 to 'NA' and set consignee country code to 'CA'
R-GCCCCADD-cbl-01098 Set Entity Address to 'NA'
Validation Rules
📊 Business Logic Narrative
When the process 'Set Entity Address to 'NA'' is invoked, and assuming that an n1 entity segment is being processed for customs record creation, when the entity address line 1 field is empty or contains only spaces, the desired outcome is that the system shall set the entity address line 1 to 'na'.
💻 Technical Criteria
Given An N1 entity segment is being processed for customs record creation
When The entity address line 1 field is empty or contains only spaces
Then The system shall set the entity address line 1 to 'NA'
R-GCCCCADD-cbl-01113 First Special Handling Slot Empty?
Decision Rules
📊 Business Logic Narrative
When the process 'First Special Handling Slot Empty?' is invoked, and assuming that special handling code and instruction have been extracted, when the first special handling slot is empty, the desired outcome is that the system should store the code and instruction in the first slot.
💻 Technical Criteria
Given Special handling code and instruction have been extracted
When The first special handling slot is empty
Then The system should store the code and instruction in the first slot
R-GCCCCADD-cbl-01114 Second Special Handling Slot Empty?
Decision Rules
📊 Business Logic Narrative
When the process 'Second Special Handling Slot Empty?' is invoked, and assuming that special handling code and instruction have been extracted and the first slot is occupied, when the second special handling slot is empty, the desired outcome is that the system should store the code and instruction in the second slot.
💻 Technical Criteria
Given Special handling code and instruction have been extracted and the first slot is occupied
When The second special handling slot is empty
Then The system should store the code and instruction in the second slot
R-GCCCCADD-cbl-01123 Store Compressed Data in GCSCCS53 Array
Process Rules
📊 Business Logic Narrative
When the process 'Store Compressed Data in GCSCCS53 Array' is invoked, and assuming that description data has been compressed into segments, when the system stores segmented description data, the desired outcome is that all 46 description segments are moved from compressed data to ws-gcsccs53-cargo-data array.
💻 Technical Criteria
Given Description data has been compressed into segments
When The system stores segmented description data
Then All 46 description segments are moved from compressed data to WS-GCSCCS53-CARGO-DATA array
R-GCCCCADD-cbl-01162 Sub-location Code Present?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Sub-location Code Present?', assuming that a cargo manifest is being processed with destination station information, when the sub-location code field contains a value that is not spaces, the desired outcome is that the sub-location requirements are considered met and no further validation is needed.
💻 Technical Criteria
EXCLUDING A cargo manifest is being processed with destination station information
When The sub-location code field contains a value that is not spaces
Then The sub-location requirements are considered met and no further validation is needed
R-GCCCCADD-cbl-01163 CSA Indicator On?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'CSA Indicator On?', assuming that a cargo manifest is being processed and sub-location code is not present, when the csa indicator is set to on, the desired outcome is that the sub-location requirements are considered met regardless of other conditions.
💻 Technical Criteria
EXCLUDING A cargo manifest is being processed and sub-location code is not present
When The CSA indicator is set to ON
Then The sub-location requirements are considered met regardless of other conditions
R-GCCCCADD-cbl-01164 Manifest From = Manifest To AND Not IIS-A6?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Manifest From = Manifest To AND Not IIS-A6?', assuming that a cargo manifest is being processed with csa indicator off and no sub-location code, when the manifest from station name equals the manifest to station name and the manifest to station name is not equal to 'iis-a6', the desired outcome is that the sub-location requirements are considered met.
💻 Technical Criteria
EXCLUDING A cargo manifest is being processed with CSA indicator OFF and no sub-location code
When The manifest from station name equals the manifest to station name AND the manifest to station name is not equal to 'IIS-A6'
Then The sub-location requirements are considered met
R-GCCCCADD-cbl-01165 Destination is US?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Destination is US?', assuming that a cargo manifest is being processed with manifest stations not equal or manifest to station is iis-a6, when the destination state/province code corresponds to a us state in the state-country lookup table, the desired outcome is that the sub-location requirements are considered met.
💻 Technical Criteria
EXCLUDING A cargo manifest is being processed with manifest stations not equal or manifest to station is IIS-A6
When The destination state/province code corresponds to a US state in the state-country lookup table
Then The sub-location requirements are considered met
R-GCCCCADD-cbl-01166 Arrival Indicator = Y?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Arrival Indicator = Y?', assuming that a cargo manifest is being processed with destination not in us, when the arrival indicator field is set to 'y', the desired outcome is that the sub-location requirements are considered met.
💻 Technical Criteria
EXCLUDING A cargo manifest is being processed with destination not in US
When The arrival indicator field is set to 'Y'
Then The sub-location requirements are considered met
R-GCCCCADD-cbl-01167 Sub-location Requirements Met
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Sub-location Requirements Met', assuming that a cargo manifest is being validated for sub-location requirements, when any of the following conditions are met: sub-location code is present, csa indicator is on, manifest stations are equal and not iis-a6, destination is us, or arrival indicator is y, the desired outcome is that the sub-location validation passes and no error flag is set.
💻 Technical Criteria
EXCLUDING A cargo manifest is being validated for sub-location requirements
When Any of the following conditions are met: sub-location code is present, CSA indicator is ON, manifest stations are equal and not IIS-A6, destination is US, or arrival indicator is Y
Then The sub-location validation passes and no error flag is set
R-GCCCCADD-cbl-01168 Set Sub-location Error Flag
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Sub-location Error Flag', assuming that a cargo manifest is being processed for sub-location validation, when sub-location code is not present and csa indicator is off and manifest stations are not equal or manifest to is iis-a6 and destination is not us and arrival indicator is not y, the desired outcome is that the sub-location error flag is set to indicate validation failure.
💻 Technical Criteria
EXCLUDING A cargo manifest is being processed for sub-location validation
When Sub-location code is not present AND CSA indicator is OFF AND manifest stations are not equal or manifest to is IIS-A6 AND destination is not US AND arrival indicator is not Y
Then The sub-location error flag is set to indicate validation failure
R-GCCCCADD-cbl-01169 Generate Error Message: Invalid Destination Station Sub-location Code
Action Rules
📊 Business Logic Narrative
When the process 'Generate Error Message: Invalid Destination Station Sub-location Code' is invoked, and assuming that a cargo manifest has failed sub-location validation and is being processed for transit or return, when the sub-location error flag is set, the desired outcome is that an error message 'invalid destination station sub-location code' is generated and retrieved from the message table.
💻 Technical Criteria
Given A cargo manifest has failed sub-location validation and is being processed for transit or return
When The sub-location error flag is set
Then An error message 'Invalid Destination Station Sub-location Code' is generated and retrieved from the message table
R-GCCCCADD-cbl-01180 Compress Enhanced Description
Action Rules
📊 Business Logic Narrative
When the process 'Compress Enhanced Description' is invoked, and assuming that a formatted description is ready for compression with description length set to 45000 and compressed length set to 22500, when the system compresses the description data, the desired outcome is that the system calls gcccomp program to compress the description work area and updates the lading description and cargo data arrays with the compressed results.
💻 Technical Criteria
Given A formatted description is ready for compression with description length set to 45000 and compressed length set to 22500
When The system compresses the description data
Then The system calls GCCCOMP program to compress the description work area and updates the lading description and cargo data arrays with the compressed results
R-GCCCCADD-cbl-01181 Update Current Description Data
Process Rules
📊 Business Logic Narrative
When the process 'Update Current Description Data' is invoked, and assuming that description data has been successfully enhanced and compressed, when the system updates the current description data, the desired outcome is that the system moves the compressed description to the lading description field and updates all cargo data array elements with the compressed description segments.
💻 Technical Criteria
Given Description data has been successfully enhanced and compressed
When The system updates the current description data
Then The system moves the compressed description to the lading description field and updates all cargo data array elements with the compressed description segments
R-GCCCCADD-cbl-01183 Save Current Description Data
Process Rules
📊 Business Logic Narrative
When the process 'Save Current Description Data' is invoked, and assuming that a cargo manifest is being processed for transit description enhancement, when the system begins the transit description enhancement process, the desired outcome is that the current manifest data (gcsccrt), commodity segment data (gcsccs52), and all cargo description segments (gcsccs53 array) are saved to working storage variables for potential restoration.
💻 Technical Criteria
Given A cargo manifest is being processed for transit description enhancement
When The system begins the transit description enhancement process
Then The current manifest data (GCSCCRT), commodity segment data (GCSCCS52), and all cargo description segments (GCSCCS53 array) are saved to working storage variables for potential restoration
R-GCCCCADD-cbl-01191 Update Cargo Description Fields
Process Rules
📊 Business Logic Narrative
When the process 'Update Cargo Description Fields' is invoked, and assuming that the enhanced description has been successfully compressed, when the system updates the cargo manifest fields, the desired outcome is that the compressed description is moved from the work area to gccc-lading-description, and all 46 cargo data segments are moved from the description work area to ws-gcsccs53-cargo-data array.
💻 Technical Criteria
Given The enhanced description has been successfully compressed
When The system updates the cargo manifest fields
Then The compressed description is moved from the work area to GCCC-LADING-DESCRIPTION, and all 46 cargo data segments are moved from the description work area to WS-GCSCCS53-CARGO-DATA array
R-GCCCCADD-cbl-01192 Restore Original Data if Error
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Restore Original Data if Error', assuming that the description enhancement process has failed (gcwccio2-error-num is not spaces), when the system needs to handle the enhancement failure, the desired outcome is that the original manifest data is restored from working storage: ws-save-gcsccrt to gcsccrt, ws-save-gcsccs52 to gcsccs52, and all 46 saved cargo description segments are restored to ws-gcsccs53-data array.
💻 Technical Criteria
EXCLUDING The description enhancement process has failed (GCWCCIO2-ERROR-NUM is not SPACES)
When The system needs to handle the enhancement failure
Then The original manifest data is restored from working storage: WS-SAVE-GCSCCRT to GCSCCRT, WS-SAVE-GCSCCS52 to GCSCCS52, and all 46 saved cargo description segments are restored to WS-GCSCCS53-DATA array
R-GCCCCADD-cbl-01199 Keep Existing Broker
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Keep Existing Broker', assuming that broker data is found, override flag is not 'y', and existing broker name is not empty, unknown, or not-required, when the system evaluates broker application conditions, the desired outcome is that the system retains the existing broker information without applying crossing table data.
💻 Technical Criteria
EXCLUDING Broker data is found, override flag is not 'Y', and existing broker name is not empty, unknown, or not-required
When The system evaluates broker application conditions
Then The system retains the existing broker information without applying crossing table data
R-GCCCCADD-cbl-01200 Update Manifest-To Station if Provided
Action Rules
📊 Business Logic Narrative
When the process 'Update Manifest-To Station if Provided' is invoked, and assuming that broker data has been applied and contains a non-empty canadian manifest-to station value, when the system processes the manifest-to station update, the desired outcome is that the system updates the manifest-to station name, canadian customs code, station number, and call letters from the mc table lookup.
💻 Technical Criteria
Given Broker data has been applied and contains a non-empty Canadian manifest-to station value
When The system processes the manifest-to station update
Then The system updates the manifest-to station name, Canadian customs code, station number, and call letters from the MC table lookup
R-GCCCCADD-cbl-01234 Initialize Weight and Quantity Counters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Weight and Quantity Counters' is invoked, and assuming that valid edi bol data is available for processing, when the system begins commodity quantity processing, the desired outcome is that the system sets commodity weight counter and number of units counter to zero.
💻 Technical Criteria
Given Valid EDI BOL data is available for processing
When The system begins commodity quantity processing
Then The system sets commodity weight counter and number of units counter to zero
R-GCCCCADD-cbl-01237 Get EBSBCCR Weight Segment
Process Rules
📊 Business Logic Narrative
When the process 'Get EBSBCCR Weight Segment' is invoked, and assuming that the current commodity segment is the first segment in the sequence, when the system processes the first commodity segment, the desired outcome is that the system attempts to retrieve the corresponding ebsbccr weight segment using edi bol key and commodity type cr with sequence cr001.
💻 Technical Criteria
Given The current commodity segment is the first segment in the sequence
When The system processes the first commodity segment
Then The system attempts to retrieve the corresponding EBSBCCR weight segment using EDI BOL key and commodity type CR with sequence CR001
R-GCCCCADD-cbl-01238 Extract Total Weight
Computation Rules
📊 Business Logic Narrative
When the process 'Extract Total Weight' is invoked, and assuming that ebsbccr weight segment is successfully retrieved for the first commodity, when the system processes the weight segment, the desired outcome is that the system extracts the n7 weight value and assigns it to the commodity weight counter.
💻 Technical Criteria
Given EBSBCCR weight segment is successfully retrieved for the first commodity
When The system processes the weight segment
Then The system extracts the N7 weight value and assigns it to the commodity weight counter
R-GCCCCADD-cbl-01239 Set Weight to Zero
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Weight to Zero', assuming that ebsbccr weight segment is not found for the first commodity, when the system attempts to process weight information, the desired outcome is that the system sets the commodity weight counter to zero.
💻 Technical Criteria
EXCLUDING EBSBCCR weight segment is not found for the first commodity
When The system attempts to process weight information
Then The system sets the commodity weight counter to zero
R-GCCCCADD-cbl-01240 Determine Weight Unit from Metric Indicator
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Weight Unit from Metric Indicator' is invoked, and assuming that weight information has been processed for a commodity, when the system determines the appropriate weight unit, the desired outcome is that the system sets weight unit to kilograms if metric indicator is m or l, otherwise sets weight unit to pounds.
💻 Technical Criteria
Given Weight information has been processed for a commodity
When The system determines the appropriate weight unit
Then The system sets weight unit to kilograms if metric indicator is M or L, otherwise sets weight unit to pounds
R-GCCCCADD-cbl-01242 Use Fastway SHIPCOMM Data as Fallback
Process Rules
📊 Business Logic Narrative
When the process 'Use Fastway SHIPCOMM Data as Fallback' is invoked, and assuming that edi commodity processing results in both weight and quantity being zero, when the system needs commodity data for customs processing, the desired outcome is that the system initiates fastway shipcomm data retrieval as fallback source.
💻 Technical Criteria
Given EDI commodity processing results in both weight and quantity being zero
When The system needs commodity data for customs processing
Then The system initiates Fastway SHIPCOMM data retrieval as fallback source
R-GCCCCADD-cbl-01244 Add SHIPCOMM Quantities and Weights
Computation Rules
📊 Business Logic Narrative
When the process 'Add SHIPCOMM Quantities and Weights' is invoked, and assuming that a shipcomm segment is successfully retrieved, when the system processes the shipcomm data, the desired outcome is that the system adds number of units to quantity counter and adds appropriate weight (metric or standard) to weight counter based on metric indicator.
💻 Technical Criteria
Given A SHIPCOMM segment is successfully retrieved
When The system processes the SHIPCOMM data
Then The system adds number of units to quantity counter and adds appropriate weight (metric or standard) to weight counter based on metric indicator
R-GCCCCADD-cbl-01248 Use Calculated Weight
Validation Rules
📊 Business Logic Narrative
When the process 'Use Calculated Weight' is invoked, and assuming that all commodity data processing is complete, when the system validates the final calculated weight, the desired outcome is that the system uses the calculated weight if greater than zero, otherwise sets weight to 00000001 as default.
💻 Technical Criteria
Given All commodity data processing is complete
When The system validates the final calculated weight
Then The system uses the calculated weight if greater than zero, otherwise sets weight to 00000001 as default
R-GCCCCADD-cbl-01249 Ensure Quantity Qualifier is Set
Validation Rules
📊 Business Logic Narrative
When the process 'Ensure Quantity Qualifier is Set' is invoked, and assuming that final quantity and weight processing is complete, when the system validates the quantity qualifier, the desired outcome is that the system sets quantity qualifier to pcs if it is empty or spaces.
💻 Technical Criteria
Given Final quantity and weight processing is complete
When The system validates the quantity qualifier
Then The system sets quantity qualifier to PCS if it is empty or spaces
R-GCCCCADD-cbl-01251 Initialize Weight Counters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Weight Counters' is invoked, and assuming that valid edi bol data is available for processing, when the system begins weight extraction process, the desired outcome is that the system should initialize commodity weight counter and number of units counter to zero.
💻 Technical Criteria
Given Valid EDI BOL data is available for processing
When The system begins weight extraction process
Then The system should initialize commodity weight counter and number of units counter to zero
R-GCCCCADD-cbl-01254 Get EBSBCCR Weight Segment
Action Rules
📊 Business Logic Narrative
When the process 'Get EBSBCCR Weight Segment' is invoked, and assuming that the first commodity segment is being processed, when the system needs to extract weight information, the desired outcome is that the system should retrieve ebsbccr weight segment using edi bol key with cr type and cr001 dependent key.
💻 Technical Criteria
Given The first commodity segment is being processed
When The system needs to extract weight information
Then The system should retrieve EBSBCCR weight segment using EDI BOL key with CR type and CR001 dependent key
R-GCCCCADD-cbl-01255 Extract Total Weight from N7-WEIGHT
Computation Rules
📊 Business Logic Narrative
When the process 'Extract Total Weight from N7-WEIGHT' is invoked, and assuming that ebsbccr weight segment is successfully retrieved, when the system processes the weight segment data, the desired outcome is that the system should extract the weight value from n7-weight field and assign it to commodity weight counter.
💻 Technical Criteria
Given EBSBCCR weight segment is successfully retrieved
When The system processes the weight segment data
Then The system should extract the weight value from N7-WEIGHT field and assign it to commodity weight counter
R-GCCCCADD-cbl-01256 Set Weight to Zero
Validation Rules
📊 Business Logic Narrative
When the process 'Set Weight to Zero' is invoked, and assuming that ebsbccr weight segment retrieval fails, when the system cannot find weight data for the commodity segment, the desired outcome is that the system should set the commodity weight counter to zero.
💻 Technical Criteria
Given EBSBCCR weight segment retrieval fails
When The system cannot find weight data for the commodity segment
Then The system should set the commodity weight counter to zero
R-GCCCCADD-cbl-01257 Determine Weight Unit from Metric Indicator
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Weight Unit from Metric Indicator' is invoked, and assuming that weight data has been extracted from the first commodity segment, when the system checks the metric indicator from shipment root data, the desired outcome is that the system should set weight unit to kg if metric indicator is m or l, otherwise set weight unit to lb.
💻 Technical Criteria
Given Weight data has been extracted from the first commodity segment
When The system checks the metric indicator from shipment root data
Then The system should set weight unit to KG if metric indicator is M or L, otherwise set weight unit to LB
R-GCCCCADD-cbl-01259 Use Fastway SHIPCOMM Data as Fallback
Decision Rules
📊 Business Logic Narrative
When the process 'Use Fastway SHIPCOMM Data as Fallback' is invoked, and assuming that edi bol processing results in zero weight and zero quantity, when the system needs weight and quantity data for customs processing, the desired outcome is that the system should retrieve weight and quantity from fastway shipcomm segments and set quantity qualifier to pcs.
💻 Technical Criteria
Given EDI BOL processing results in zero weight and zero quantity
When The system needs weight and quantity data for customs processing
Then The system should retrieve weight and quantity from Fastway SHIPCOMM segments and set quantity qualifier to PCS
R-GCCCCADD-cbl-01260 Validate Final Weight Value
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Final Weight Value' is invoked, and assuming that weight processing is complete from either edi bol or fastway data, when the system validates the final calculated weight, the desired outcome is that the system should use the calculated weight if greater than zero, otherwise set default weight to 1.
💻 Technical Criteria
Given Weight processing is complete from either EDI BOL or Fastway data
When The system validates the final calculated weight
Then The system should use the calculated weight if greater than zero, otherwise set default weight to 1
R-GCCCCADD-cbl-01261 Set Default Weight to 1
Validation Rules
📊 Business Logic Narrative
When the process 'Set Default Weight to 1' is invoked, and assuming that final quantity calculation results in zero units, when the system validates quantity for customs processing, the desired outcome is that the system should set quantity to 1 and assign the formatted value to lading quantity field.
💻 Technical Criteria
Given Final quantity calculation results in zero units
When The system validates quantity for customs processing
Then The system should set quantity to 1 and assign the formatted value to lading quantity field
R-GCCCCADD-cbl-01262 Validate Final Weight Value
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Final Weight Value' is invoked, and assuming that weight and quantity processing is complete, when the lading quantity qualifier field is empty, the desired outcome is that the system should set the lading quantity qualifier to pcs as default value.
💻 Technical Criteria
Given Weight and quantity processing is complete
When The lading quantity qualifier field is empty
Then The system should set the lading quantity qualifier to PCS as default value
R-GCCCCADD-cbl-01264 EDI BOL Weight/Quantity Found?
Decision Rules
📊 Business Logic Narrative
When the process 'EDI BOL Weight/Quantity Found?' is invoked, and assuming that edi bol data availability has been checked, when weight and quantity data is found in edi bol records, the desired outcome is that the system should use edi bol commodity and weight data for processing.
💻 Technical Criteria
Given EDI BOL data availability has been checked
When Weight and quantity data is found in EDI BOL records
Then The system should use EDI BOL commodity and weight data for processing
R-GCCCCADD-cbl-01265 Initialize Fastway Data Retrieval
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Initialize Fastway Data Retrieval', assuming that edi bol weight and quantity data is not available or equals zero, when the system needs to obtain commodity weight and quantity information, the desired outcome is that the system should initialize fastway shipcomm data retrieval and set the get function to 'gu' for first record retrieval.
💻 Technical Criteria
EXCLUDING EDI BOL weight and quantity data is not available or equals zero
When The system needs to obtain commodity weight and quantity information
Then The system should initialize Fastway SHIPCOMM data retrieval and set the get function to 'GU' for first record retrieval
R-GCCCCADD-cbl-01266 Get First SHIPCOMM Record
Process Rules
📊 Business Logic Narrative
When the process 'Get First SHIPCOMM Record' is invoked, and assuming that fastway data retrieval has been initialized, when the first shipcomm record is successfully retrieved, the desired outcome is that the system should extract number of units, set quantity qualifier to 'pcs', and determine weight based on metric indicator (metric weight for 'm' or 'l', standard weight otherwise).
💻 Technical Criteria
Given Fastway data retrieval has been initialized
When The first SHIPCOMM record is successfully retrieved
Then The system should extract number of units, set quantity qualifier to 'PCS', and determine weight based on metric indicator (metric weight for 'M' or 'L', standard weight otherwise)
R-GCCCCADD-cbl-01267 Get Next SHIPCOMM Record
Process Rules
📊 Business Logic Narrative
When the process 'Get Next SHIPCOMM Record' is invoked, and assuming that the first shipcomm record has been processed, when additional shipcomm records are found using 'gn' function, the desired outcome is that the system should accumulate number of units, set quantity qualifier to 'pcs', and add weight values based on metric indicator.
💻 Technical Criteria
Given The first SHIPCOMM record has been processed
When Additional SHIPCOMM records are found using 'GN' function
Then The system should accumulate number of units, set quantity qualifier to 'PCS', and add weight values based on metric indicator
R-GCCCCADD-cbl-01268 Set Default Weight to 1
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Default Weight to 1', assuming that weight and quantity processing has been completed, when the final weight value is zero or not positive, the desired outcome is that the system should set the weight to '00000001' as default value.
💻 Technical Criteria
EXCLUDING Weight and quantity processing has been completed
When The final weight value is zero or not positive
Then The system should set the weight to '00000001' as default value
R-GCCCCADD-cbl-01269 Set Default Quantity to 1
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Default Quantity to 1', assuming that weight processing has been completed, when the final quantity value is zero or not positive, the desired outcome is that the system should set the quantity to 1 and convert it to display format.
💻 Technical Criteria
EXCLUDING Weight processing has been completed
When The final quantity value is zero or not positive
Then The system should set the quantity to 1 and convert it to display format
R-GCCCCADD-cbl-01270 Complete Weight/Quantity Processing
Validation Rules
📊 Business Logic Narrative
When the process 'Complete Weight/Quantity Processing' is invoked, and assuming that all weight and quantity processing has been completed, when the quantity qualifier field is blank or spaces, the desired outcome is that the system should set the quantity qualifier to 'pcs' as default value.
💻 Technical Criteria
Given All weight and quantity processing has been completed
When The quantity qualifier field is blank or spaces
Then The system should set the quantity qualifier to 'PCS' as default value
R-GCCCCADD-cbl-01271 Weight Unit Setting - Set weight units (KG/LB) based on metric indicator
Decision Rules
📊 Business Logic Narrative
When the process 'Weight Unit Setting - Set weight units (KG/LB) based on metric indicator' is invoked, and assuming that a shipment record exists with a metric indicator field, when the system processes weight unit determination and the metric indicator is 'm' (metric) or 'l' (liters), the desired outcome is that the weight unit is set to kg (kilograms).
💻 Technical Criteria
Given A shipment record exists with a metric indicator field
When The system processes weight unit determination AND the metric indicator is 'M' (metric) or 'L' (liters)
Then The weight unit is set to KG (kilograms)
R-GCCCCADD-cbl-01272 Weight Unit Setting - Set weight units (KG/LB) based on metric indicator
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Weight Unit Setting - Set weight units (KG/LB) based on metric indicator', assuming that a shipment record exists with a metric indicator field, when the system processes weight unit determination and the metric indicator is not 'm' (metric) or 'l' (liters), the desired outcome is that the weight unit is set to lb (pounds).
💻 Technical Criteria
EXCLUDING A shipment record exists with a metric indicator field
When The system processes weight unit determination AND the metric indicator is not 'M' (metric) or 'L' (liters)
Then The weight unit is set to LB (pounds)
R-GCCCCADD-cbl-01273 Quantity Qualifier Empty?
Validation Rules
📊 Business Logic Narrative
When the process 'Quantity Qualifier Empty?' is invoked, and assuming that a shipment record is being processed for customs manifest creation, when the quantity qualifier field is empty or contains only spaces, the desired outcome is that the system generates a required field error message and adds it to the error collection.
💻 Technical Criteria
Given A shipment record is being processed for customs manifest creation
When The quantity qualifier field is empty or contains only spaces
Then The system generates a required field error message and adds it to the error collection
R-GCCCCADD-cbl-01337 Initialize SF Segment
Process Rules
📊 Business Logic Narrative
When the process 'Initialize SF Segment' is invoked, and assuming that the system needs to process stuffer entity information, when stuffer entity processing begins, the desired outcome is that a new stuffer segment structure is initialized with empty values.
💻 Technical Criteria
Given The system needs to process stuffer entity information
When Stuffer entity processing begins
Then A new stuffer segment structure is initialized with empty values
R-GCCCCADD-cbl-01351 Validate Address Field Set 'NA' if Empty
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Address Field Set 'NA' if Empty' is invoked, and assuming that stuffer address information has been processed, when address line 1 is empty or contains only spaces, the desired outcome is that address line 1 is set to 'na' to meet customs documentation requirements.
💻 Technical Criteria
Given Stuffer address information has been processed
When Address line 1 is empty or contains only spaces
Then Address line 1 is set to 'NA' to meet customs documentation requirements
R-GCCCCADD-cbl-01367 Initialize BN Segment Record
Process Rules
📊 Business Logic Narrative
When the process 'Initialize BN Segment Record' is invoked, and assuming that the system needs to process beneficial owner information, when starting beneficial owner segment processing, the desired outcome is that a new beneficial owner segment record is initialized with empty values.
💻 Technical Criteria
Given The system needs to process beneficial owner information
When Starting beneficial owner segment processing
Then A new beneficial owner segment record is initialized with empty values
R-GCCCCADD-cbl-01387 Initialize C1 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Initialize C1 Segment' is invoked, and assuming that the system needs to process c1 carrier entity information, when c1 carrier entity processing begins, the desired outcome is that a new c1 segment structure is initialized with empty values.
💻 Technical Criteria
Given The system needs to process C1 carrier entity information
When C1 carrier entity processing begins
Then A new C1 segment structure is initialized with empty values
R-GCCCCADD-cbl-01394 Set Default Address if Missing
Validation Rules
📊 Business Logic Narrative
When the process 'Set Default Address if Missing' is invoked, and assuming that c1 carrier address information is being processed, when the address line 1 is empty or missing, the desired outcome is that the address line 1 is set to 'na' as a default value.
💻 Technical Criteria
Given C1 carrier address information is being processed
When The address line 1 is empty or missing
Then The address line 1 is set to 'NA' as a default value
R-GCCCCADD-cbl-01397 Use Consignee Address as Carrier Address
Process Rules
📊 Business Logic Narrative
When the process 'Use Consignee Address as Carrier Address' is invoked, and assuming that carrier information is being extracted from fastway consignee data, when address information is needed for the carrier, the desired outcome is that consignee address field 3 is used as carrier address line 1, with 'na' default if empty, and address line 2 is cleared.
💻 Technical Criteria
Given Carrier information is being extracted from Fastway consignee data
When Address information is needed for the carrier
Then Consignee address field 3 is used as carrier address line 1, with 'NA' default if empty, and address line 2 is cleared
R-GCCCCADD-cbl-01402 Initialize N1 Segment Record
Process Rules
📊 Business Logic Narrative
When the process 'Initialize N1 Segment Record' is invoked, and assuming that the system needs to process notify party information, when starting notify party processing, the desired outcome is that a new n1 segment record is initialized with empty values.
💻 Technical Criteria
Given The system needs to process notify party information
When Starting notify party processing
Then A new N1 segment record is initialized with empty values
R-GCCCCADD-cbl-01426 Set Default Address if Missing
Validation Rules
📊 Business Logic Narrative
When the process 'Set Default Address if Missing' is invoked, and assuming that all segment processing has been completed, when the first address line is empty or spaces, the desired outcome is that the first address line is set to 'na' as a default value.
💻 Technical Criteria
Given All segment processing has been completed
When The first address line is empty or spaces
Then The first address line is set to 'NA' as a default value
R-GCCCCADD-cbl-01471 Entity ID present but Name missing?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Entity ID present but Name missing?', assuming that an n1 segment is being validated, when the entity id code is not empty and the entity name is empty, the desired outcome is that generate a required name error message.
💻 Technical Criteria
EXCLUDING An N1 segment is being validated
When The entity ID code is not empty AND the entity name is empty
Then Generate a required name error message
R-GCCCCADD-cbl-01472 Address data present but Entity ID/Name missing?
Validation Rules
📊 Business Logic Narrative
When the process 'Address data present but Entity ID/Name missing?' is invoked, and assuming that an n1 segment contains address data or city/state data or contact information, when the entity id code is empty or the entity name is empty, the desired outcome is that generate required entity id error if id is missing and generate required name error if name is missing.
💻 Technical Criteria
Given An N1 segment contains address data OR city/state data OR contact information
When The entity ID code is empty OR the entity name is empty
Then Generate required entity ID error if ID is missing AND generate required name error if name is missing
R-GCCCCADD-cbl-01474 Address missing when Entity ID present?
Validation Rules
📊 Business Logic Narrative
When the process 'Address missing when Entity ID present?' is invoked, and assuming that an n1 segment has a valid entity id code, when the address information field is empty, the desired outcome is that generate a required address error message.
💻 Technical Criteria
Given An N1 segment has a valid entity ID code
When The address information field is empty
Then Generate a required address error message
R-GCCCCADD-cbl-01475 City name missing?
Validation Rules
📊 Business Logic Narrative
When the process 'City name missing?' is invoked, and assuming that an n1 segment contains city/state data, when the city name field is empty, the desired outcome is that generate a required city name error message.
💻 Technical Criteria
Given An N1 segment contains city/state data
When The city name field is empty
Then Generate a required city name error message
R-GCCCCADD-cbl-01478 State missing?
Validation Rules
📊 Business Logic Narrative
When the process 'State missing?' is invoked, and assuming that an n1 segment has country code of canada or usa or mexico, when the state or province code is empty, the desired outcome is that generate a required state/province error message.
💻 Technical Criteria
Given An N1 segment has country code of Canada OR USA OR Mexico
When The state or province code is empty
Then Generate a required state/province error message
R-GCCCCADD-cbl-01480 Country code missing?
Validation Rules
📊 Business Logic Narrative
When the process 'Country code missing?' is invoked, and assuming that an n1 segment contains city/state data, when the country code field is empty, the desired outcome is that generate a required country code error message.
💻 Technical Criteria
Given An N1 segment contains city/state data
When The country code field is empty
Then Generate a required country code error message
R-GCCCCADD-cbl-01481 Contact qualifier invalid?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Contact qualifier invalid?', assuming that an n1 segment has contact information with a communication qualifier, when the communication qualifier is not empty and not 'fx' (fax) and not 'te' (telephone), the desired outcome is that generate an invalid communication qualifier error message.
💻 Technical Criteria
EXCLUDING An N1 segment has contact information with a communication qualifier
When The communication qualifier is not empty AND not 'FX' (fax) AND not 'TE' (telephone)
Then Generate an invalid communication qualifier error message
R-GCCCCADD-cbl-01482 Contact number missing when required?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Contact number missing when required?', assuming that an n1 segment has contact information, when the communication qualifier is not empty or the contact name is not empty and the communication number is empty, the desired outcome is that generate a required communication number error message.
💻 Technical Criteria
EXCLUDING An N1 segment has contact information
When The communication qualifier is not empty OR the contact name is not empty AND the communication number is empty
Then Generate a required communication number error message
R-GCCCCADD-cbl-01483 All Required Fields Empty?
Validation Rules
📊 Business Logic Narrative
When the process 'All Required Fields Empty?' is invoked, and assuming that a shipper or consignee record (sequence 1 or 2) is being validated, when the entity name is empty and address information is empty and location information is empty and contact information is empty, the desired outcome is that generate required field errors for entity name, address, city, state, postal code, and country.
💻 Technical Criteria
Given A shipper or consignee record (sequence 1 or 2) is being validated
When The entity name is empty AND address information is empty AND location information is empty AND contact information is empty
Then Generate required field errors for entity name, address, city, state, postal code, and country
R-GCCCCADD-cbl-01484 Entity ID Missing but Address/Contact Present?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Entity ID Missing but Address/Contact Present?', assuming that an n1 segment record is being validated, when the entity id code is empty and (address information is not empty or location information is not empty or contact information is not empty), the desired outcome is that generate an error indicating entity id code is required.
💻 Technical Criteria
EXCLUDING An N1 segment record is being validated
When The entity ID code is empty AND (address information is not empty OR location information is not empty OR contact information is not empty)
Then Generate an error indicating entity ID code is required
R-GCCCCADD-cbl-01485 Name Missing but Address/Contact Present?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Name Missing but Address/Contact Present?', assuming that an n1 segment record is being validated, when the entity name is empty and (address information is not empty or location information is not empty or contact information is not empty), the desired outcome is that generate an error indicating entity name is required.
💻 Technical Criteria
EXCLUDING An N1 segment record is being validated
When The entity name is empty AND (address information is not empty OR location information is not empty OR contact information is not empty)
Then Generate an error indicating entity name is required
R-GCCCCADD-cbl-01486 Entity ID Present but Name Missing?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Entity ID Present but Name Missing?', assuming that an n1 segment record is being validated, when the entity id code is not empty and the entity name is empty, the desired outcome is that generate an error indicating entity name is required.
💻 Technical Criteria
EXCLUDING An N1 segment record is being validated
When The entity ID code is not empty AND the entity name is empty
Then Generate an error indicating entity name is required
R-GCCCCADD-cbl-01488 Entity ID Present but Address Missing?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Entity ID Present but Address Missing?', assuming that an n1 segment record is being validated, when the entity id code is not empty and the primary address line is empty, the desired outcome is that generate an error indicating address information is required.
💻 Technical Criteria
EXCLUDING An N1 segment record is being validated
When The entity ID code is not empty AND the primary address line is empty
Then Generate an error indicating address information is required
R-GCCCCADD-cbl-01489 City Name Missing?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'City Name Missing?', assuming that an n1 segment record with location information is being validated, when location information is not empty and city name is empty, the desired outcome is that generate an error indicating city name is required.
💻 Technical Criteria
EXCLUDING An N1 segment record with location information is being validated
When Location information is not empty AND city name is empty
Then Generate an error indicating city name is required
R-GCCCCADD-cbl-01490 City Name Length < 2?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'City Name Length < 2?', assuming that an n1 segment record with city name is being validated, when city name is not empty and city name length is less than 2 characters, the desired outcome is that generate an error indicating minimum length of 2 characters is required.
💻 Technical Criteria
EXCLUDING An N1 segment record with city name is being validated
When City name is not empty AND city name length is less than 2 characters
Then Generate an error indicating minimum length of 2 characters is required
R-GCCCCADD-cbl-01491 Postal Code Length < 3?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Postal Code Length < 3?', assuming that an n1 segment record with postal code is being validated, when postal code is not empty and postal code length is less than 3 characters, the desired outcome is that generate an error indicating minimum length of 3 characters is required.
💻 Technical Criteria
EXCLUDING An N1 segment record with postal code is being validated
When Postal code is not empty AND postal code length is less than 3 characters
Then Generate an error indicating minimum length of 3 characters is required
R-GCCCCADD-cbl-01492 Country is CA/US/MX and State Missing?
Validation Rules
📊 Business Logic Narrative
When the process 'Country is CA/US/MX and State Missing?' is invoked, and assuming that an n1 segment record with location information is being validated, when country code is 'ca' (canada) or 'us' (united states) or 'mx' (mexico) and state/province code is empty, the desired outcome is that generate an error indicating state/province code is required.
💻 Technical Criteria
Given An N1 segment record with location information is being validated
When Country code is 'CA' (Canada) OR 'US' (United States) OR 'MX' (Mexico) AND state/province code is empty
Then Generate an error indicating state/province code is required
R-GCCCCADD-cbl-01494 Country Code Missing?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Country Code Missing?', assuming that an n1 segment record with location information is being validated, when location information is not empty and country code is empty, the desired outcome is that generate an error indicating country code is required.
💻 Technical Criteria
EXCLUDING An N1 segment record with location information is being validated
When Location information is not empty AND country code is empty
Then Generate an error indicating country code is required
R-GCCCCADD-cbl-01495 Contact Name Present but Qualifier Missing?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Contact Name Present but Qualifier Missing?', assuming that an n1 segment record with contact information is being validated, when contact person name is not empty and communication number qualifier is empty, the desired outcome is that generate an error indicating communication number qualifier is required.
💻 Technical Criteria
EXCLUDING An N1 segment record with contact information is being validated
When Contact person name is not empty AND communication number qualifier is empty
Then Generate an error indicating communication number qualifier is required
R-GCCCCADD-cbl-01496 Communication Number Present but Qualifier Missing?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Communication Number Present but Qualifier Missing?', assuming that an n1 segment record with contact information is being validated, when communication number is not empty and communication number qualifier is empty, the desired outcome is that generate an error indicating communication number qualifier is required.
💻 Technical Criteria
EXCLUDING An N1 segment record with contact information is being validated
When Communication number is not empty AND communication number qualifier is empty
Then Generate an error indicating communication number qualifier is required
R-GCCCCADD-cbl-01497 Invalid Communication Qualifier Value?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Invalid Communication Qualifier Value?', assuming that an n1 segment record with communication qualifier is being validated, when communication number qualifier is not empty and qualifier is not 'te' (telephone) and qualifier is not 'fx' (fax) and qualifier is not spaces, the desired outcome is that generate an error indicating invalid communication qualifier value.
💻 Technical Criteria
EXCLUDING An N1 segment record with communication qualifier is being validated
When Communication number qualifier is not empty AND qualifier is not 'TE' (telephone) AND qualifier is not 'FX' (fax) AND qualifier is not spaces
Then Generate an error indicating invalid communication qualifier value
R-GCCCCADD-cbl-01498 Qualifier or Name Present but Number Missing?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Qualifier or Name Present but Number Missing?', assuming that an n1 segment record with contact information is being validated, when (communication number qualifier is not empty or contact person name is not empty) and communication number is empty, the desired outcome is that generate an error indicating communication number is required.
💻 Technical Criteria
EXCLUDING An N1 segment record with contact information is being validated
When (Communication number qualifier is not empty OR contact person name is not empty) AND communication number is empty
Then Generate an error indicating communication number is required
R-GCCCCADD-cbl-01499 N4 Address Data Present?
Validation Rules
📊 Business Logic Narrative
When the process 'N4 Address Data Present?' is invoked, and assuming that an n4 address segment is being processed for validation, when the system checks if the n4 address data field contains any information, the desired outcome is that if n4 data is empty or spaces, skip address validation; otherwise proceed with validation.
💻 Technical Criteria
Given An N4 address segment is being processed for validation
When The system checks if the N4 address data field contains any information
Then If N4 data is empty or spaces, skip address validation; otherwise proceed with validation
R-GCCCCADD-cbl-01534 Set Default Address if Missing
Validation Rules
📊 Business Logic Narrative
When the process 'Set Default Address if Missing' is invoked, and assuming that entity address information is missing or empty spaces, when system validates address completeness, the desired outcome is that address line 1 is set to 'na' as default value.
💻 Technical Criteria
Given Entity address information is missing or empty spaces
When System validates address completeness
Then Address line 1 is set to 'NA' as default value
R-GCCCCADD-cbl-01543 Set Shipper Address 1 to 'NA'
Validation Rules
📊 Business Logic Narrative
When the process 'Set Shipper Address 1 to 'NA'' is invoked, and assuming that a shipper record is being processed for customs manifest creation, when the shipper address line 1 field is empty or contains only spaces, the desired outcome is that the system assigns 'na' as the default value for shipper address line 1.
💻 Technical Criteria
Given A shipper record is being processed for customs manifest creation
When The shipper address line 1 field is empty or contains only spaces
Then The system assigns 'NA' as the default value for shipper address line 1
R-GCCCCADD-cbl-01544 Set Shipper Address 2 to 'NA'
Validation Rules
📊 Business Logic Narrative
When the process 'Set Shipper Address 2 to 'NA'' is invoked, and assuming that a shipper record is being processed for customs manifest creation, when the shipper address line 2 field is empty, contains only spaces, or has only the first character filled with remaining characters as spaces, the desired outcome is that the system assigns 'na' as the default value for shipper address line 2 and sets country code to 'us'.
💻 Technical Criteria
Given A shipper record is being processed for customs manifest creation
When The shipper address line 2 field is empty, contains only spaces, or has only the first character filled with remaining characters as spaces
Then The system assigns 'NA' as the default value for shipper address line 2 and sets country code to 'US'
R-GCCCCADD-cbl-01545 Set Consignee Address 1 to 'NA'
Validation Rules
📊 Business Logic Narrative
When the process 'Set Consignee Address 1 to 'NA'' is invoked, and assuming that a consignee record is being processed for customs manifest creation, when the consignee address line 1 field is empty or contains only spaces, the desired outcome is that the system assigns 'na' as the default value for consignee address line 1.
💻 Technical Criteria
Given A consignee record is being processed for customs manifest creation
When The consignee address line 1 field is empty or contains only spaces
Then The system assigns 'NA' as the default value for consignee address line 1
R-GCCCCADD-cbl-01546 Set Consignee Address 2 to 'NA'
Validation Rules
📊 Business Logic Narrative
When the process 'Set Consignee Address 2 to 'NA'' is invoked, and assuming that a consignee record is being processed for customs manifest creation, when the consignee address line 2 field is empty, contains only spaces, or has only the first character filled with remaining characters as spaces, the desired outcome is that the system assigns 'na' as the default value for consignee address line 2 and sets country code to 'ca'.
💻 Technical Criteria
Given A consignee record is being processed for customs manifest creation
When The consignee address line 2 field is empty, contains only spaces, or has only the first character filled with remaining characters as spaces
Then The system assigns 'NA' as the default value for consignee address line 2 and sets country code to 'CA'
R-GCCCCADD-cbl-01547 Set Entity N301 Address to 'NA'
Validation Rules
📊 Business Logic Narrative
When the process 'Set Entity N301 Address to 'NA'' is invoked, and assuming that an entity record (sf, uc, bn, c1, n1, 11, mc, oo, fw) is being processed for customs manifest creation, when the entity n301 address information field is empty or contains only spaces, the desired outcome is that the system assigns 'na' as the default value for the entity n301 address information field.
💻 Technical Criteria
Given An entity record (SF, UC, BN, C1, N1, 11, MC, OO, FW) is being processed for customs manifest creation
When The entity N301 address information field is empty or contains only spaces
Then The system assigns 'NA' as the default value for the entity N301 address information field
R-GCCCCADD-cbl-01548 Set Importer Address to 'NA'
Validation Rules
📊 Business Logic Narrative
When the process 'Set Importer Address to 'NA'' is invoked, and assuming that an importer record is being processed for customs manifest creation, when the importer address information field is empty, contains only spaces, or contains low-values, the desired outcome is that the system assigns 'na' as the default value for the importer address information field.
💻 Technical Criteria
Given An importer record is being processed for customs manifest creation
When The importer address information field is empty, contains only spaces, or contains low-values
Then The system assigns 'NA' as the default value for the importer address information field
R-GCCCCADD-cbl-01556 Are all core fields empty?
Validation Rules
📊 Business Logic Narrative
When the process 'Are all core fields empty?' is invoked, and assuming that a record is identified as shipper (sequence 1) or consignee (sequence 2), when all core fields (name, address, city/state/postal, contact) are empty, the desired outcome is that generate required field errors for shipper name, consignee name, address, city, state, postal code, and country.
💻 Technical Criteria
Given A record is identified as shipper (sequence 1) or consignee (sequence 2)
When All core fields (name, address, city/state/postal, contact) are empty
Then Generate required field errors for shipper name, consignee name, address, city, state, postal code, and country
R-GCCCCADD-cbl-01557 Entity ID or Name missing but other data present?
Validation Rules
📊 Business Logic Narrative
When the process 'Entity ID or Name missing but other data present?' is invoked, and assuming that a record has address data, city/state data, or contact data populated, when entity id is missing or empty, the desired outcome is that generate entity id required error message.
💻 Technical Criteria
Given A record has address data, city/state data, or contact data populated
When Entity ID is missing or empty
Then Generate entity ID required error message
R-GCCCCADD-cbl-01558 Entity ID or Name missing but other data present?
Validation Rules
📊 Business Logic Narrative
When the process 'Entity ID or Name missing but other data present?' is invoked, and assuming that a record has address data, city/state data, or contact data populated, when name is missing or empty, the desired outcome is that generate name required error message.
💻 Technical Criteria
Given A record has address data, city/state data, or contact data populated
When Name is missing or empty
Then Generate name required error message
R-GCCCCADD-cbl-01559 Entity ID present but Name missing?
Validation Rules
📊 Business Logic Narrative
When the process 'Entity ID present but Name missing?' is invoked, and assuming that a record has entity id populated, when name field is missing or empty, the desired outcome is that generate name required error message.
💻 Technical Criteria
Given A record has entity ID populated
When Name field is missing or empty
Then Generate name required error message
R-GCCCCADD-cbl-01561 Entity ID present but Address missing?
Validation Rules
📊 Business Logic Narrative
When the process 'Entity ID present but Address missing?' is invoked, and assuming that a record has entity id populated, when address information is missing or empty, the desired outcome is that generate address required error message.
💻 Technical Criteria
Given A record has entity ID populated
When Address information is missing or empty
Then Generate address required error message
R-GCCCCADD-cbl-01562 City name missing?
Validation Rules
📊 Business Logic Narrative
When the process 'City name missing?' is invoked, and assuming that a record has city/state/postal data section populated, when city name is missing or empty, the desired outcome is that generate city name required error message.
💻 Technical Criteria
Given A record has city/state/postal data section populated
When City name is missing or empty
Then Generate city name required error message
R-GCCCCADD-cbl-01565 State/Province missing?
Validation Rules
📊 Business Logic Narrative
When the process 'State/Province missing?' is invoked, and assuming that a record has country code of ca, us, or mx, when state or province code is missing or empty, the desired outcome is that generate state/province required error message.
💻 Technical Criteria
Given A record has country code of CA, US, or MX
When State or province code is missing or empty
Then Generate state/province required error message
R-GCCCCADD-cbl-01568 Country code missing?
Validation Rules
📊 Business Logic Narrative
When the process 'Country code missing?' is invoked, and assuming that a record has city/state/postal data populated, when country code is missing or empty after auto-assignment attempt, the desired outcome is that generate country code required error message.
💻 Technical Criteria
Given A record has city/state/postal data populated
When Country code is missing or empty after auto-assignment attempt
Then Generate country code required error message
R-GCCCCADD-cbl-01569 Contact qualifier missing but name present?
Validation Rules
📊 Business Logic Narrative
When the process 'Contact qualifier missing but name present?' is invoked, and assuming that a record has contact name populated, when contact communication qualifier is missing or empty, the desired outcome is that generate contact qualifier required error message.
💻 Technical Criteria
Given A record has contact name populated
When Contact communication qualifier is missing or empty
Then Generate contact qualifier required error message
R-GCCCCADD-cbl-01570 Contact qualifier missing but number present?
Validation Rules
📊 Business Logic Narrative
When the process 'Contact qualifier missing but number present?' is invoked, and assuming that a record has contact communication number populated, when contact communication qualifier is missing or empty, the desired outcome is that generate contact qualifier required error message.
💻 Technical Criteria
Given A record has contact communication number populated
When Contact communication qualifier is missing or empty
Then Generate contact qualifier required error message
R-GCCCCADD-cbl-01572 Contact number missing but qualifier/name present?
Validation Rules
📊 Business Logic Narrative
When the process 'Contact number missing but qualifier/name present?' is invoked, and assuming that a record has contact communication qualifier or contact name populated, when contact communication number is missing or empty, the desired outcome is that generate contact number required error message.
💻 Technical Criteria
Given A record has contact communication qualifier or contact name populated
When Contact communication number is missing or empty
Then Generate contact number required error message
R-GCCCCADD-cbl-01573 Entity ID Code Present?
Validation Rules
📊 Business Logic Narrative
When the process 'Entity ID Code Present?' is invoked, and assuming that a record segment contains address data, location data, or contact data, when the entity identification code field is empty or spaces, the desired outcome is that generate a required entity id error message.
💻 Technical Criteria
Given A record segment contains address data, location data, or contact data
When The entity identification code field is empty or spaces
Then Generate a required entity ID error message
R-GCCCCADD-cbl-01574 Entity ID Code Present?
Validation Rules
📊 Business Logic Narrative
When the process 'Entity ID Code Present?' is invoked, and assuming that an entity identification code is present in the record, when the entity name field is empty or spaces, the desired outcome is that generate a required entity name error message.
💻 Technical Criteria
Given An entity identification code is present in the record
When The entity name field is empty or spaces
Then Generate a required entity name error message
R-GCCCCADD-cbl-01589 N4 Address Data Present?
Process Rules
📊 Business Logic Narrative
When the process 'N4 Address Data Present?' is invoked, and assuming that an n4 address segment is being processed for validation, when the n4 address data is completely empty or contains only spaces, the desired outcome is that the system should skip all address validation and proceed to the next validation step.
💻 Technical Criteria
Given An N4 address segment is being processed for validation
When The N4 address data is completely empty or contains only spaces
Then The system should skip all address validation and proceed to the next validation step
R-GCCCCADD-cbl-01590 State/Province Code Present?
Validation Rules
📊 Business Logic Narrative
When the process 'State/Province Code Present?' is invoked, and assuming that an address is being validated and the country code indicates canada, usa, or mexico, when the state or province code field is empty or contains only spaces, the desired outcome is that the system should generate a required state/province error message and add it to the validation error list.
💻 Technical Criteria
Given An address is being validated and the country code indicates Canada, USA, or Mexico
When The state or province code field is empty or contains only spaces
Then The system should generate a required state/province error message and add it to the validation error list
R-GCCCCADD-cbl-01593 Continue Validation
Validation Rules
📊 Business Logic Narrative
When the process 'Continue Validation' is invoked, and assuming that an address is being validated and all other validation steps have been completed, when the country code field is empty or contains only spaces, the desired outcome is that the system should generate a required country code error message and add it to the validation error list.
💻 Technical Criteria
Given An address is being validated and all other validation steps have been completed
When The country code field is empty or contains only spaces
Then The system should generate a required country code error message and add it to the validation error list
R-GCCCCADD-cbl-01594 State/Province Code Present?
Validation Rules
📊 Business Logic Narrative
When the process 'State/Province Code Present?' is invoked, and assuming that an address record with country code of canada (ca), usa (us), or mexico (mx), when the state or province code field is empty or spaces, the desired outcome is that generate a required state/province code error message.
💻 Technical Criteria
Given An address record with country code of Canada (CA), USA (US), or Mexico (MX)
When The state or province code field is empty or spaces
Then Generate a required state/province code error message
R-GCCCCADD-cbl-01596 Lookup Country by State/Province
Decision Rules
📊 Business Logic Narrative
When the process 'Lookup Country by State/Province' is invoked, and assuming that an address record with state/province code populated but country code is empty or spaces, when the state/province code is searched in the state-country lookup table, the desired outcome is that if a matching state/province is found, assign the corresponding country code from the lookup table; otherwise generate a required country code error.
💻 Technical Criteria
Given An address record with state/province code populated but country code is empty or spaces
When The state/province code is searched in the state-country lookup table
Then If a matching state/province is found, assign the corresponding country code from the lookup table; otherwise generate a required country code error
R-GCCCCADD-cbl-01597 Generate Required Country Code Error
Validation Rules
📊 Business Logic Narrative
When the process 'Generate Required Country Code Error' is invoked, and assuming that an address record being validated, when the country code field is empty or spaces and cannot be determined from state/province lookup, the desired outcome is that generate a required country code error message.
💻 Technical Criteria
Given An address record being validated
When The country code field is empty or spaces and cannot be determined from state/province lookup
Then Generate a required country code error message
R-GCCCCADD-cbl-01598 PER03 Qualifier Empty AND Contact Name NOT Empty?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'PER03 Qualifier Empty AND Contact Name NOT Empty?', assuming that a contact record is being validated, when the communication number qualifier (per03) is empty and the contact person name (per02) is not empty, the desired outcome is that generate an error message indicating that communication qualifier is required.
💻 Technical Criteria
EXCLUDING A contact record is being validated
When The communication number qualifier (PER03) is empty AND the contact person name (PER02) is not empty
Then Generate an error message indicating that communication qualifier is required
R-GCCCCADD-cbl-01599 PER03 Qualifier Empty AND Communication Number NOT Empty?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'PER03 Qualifier Empty AND Communication Number NOT Empty?', assuming that a contact record is being validated, when the communication number qualifier (per03) is empty and the communication number (per04) is not empty, the desired outcome is that generate an error message indicating that communication qualifier is required.
💻 Technical Criteria
EXCLUDING A contact record is being validated
When The communication number qualifier (PER03) is empty AND the communication number (PER04) is not empty
Then Generate an error message indicating that communication qualifier is required
R-GCCCCADD-cbl-01601 Communication Qualifier NOT Empty OR Contact Name NOT Empty?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Communication Qualifier NOT Empty OR Contact Name NOT Empty?', assuming that a contact record is being validated, when the communication number qualifier (per03) is not empty or the contact person name (per02) is not empty and the communication number (per04) is empty, the desired outcome is that generate an error message indicating that communication number is required.
💻 Technical Criteria
EXCLUDING A contact record is being validated
When The communication number qualifier (PER03) is not empty OR the contact person name (PER02) is not empty AND the communication number (PER04) is empty
Then Generate an error message indicating that communication number is required
R-GCCCCADD-cbl-01605 Action Code = 'US' or 'RT'?
Decision Rules
📊 Business Logic Narrative
When the process 'Action Code = 'US' or 'RT'?' is invoked, and assuming that a shipment with an action code, when the system checks if bunch bill car search is required, the desired outcome is that processing continues to carload validation if action code is 'us' (transit) or 'rt' (return), otherwise skip bunch bill search.
💻 Technical Criteria
Given A shipment with an action code
When The system checks if bunch bill car search is required
Then Processing continues to carload validation if action code is 'US' (Transit) or 'RT' (Return), otherwise skip bunch bill search
R-GCCCCADD-cbl-01606 Short Multiple Ship Carload?
Decision Rules
📊 Business Logic Narrative
When the process 'Short Multiple Ship Carload?' is invoked, and assuming that a shipment with us or rt action code, when the system checks the shipment carload type, the desired outcome is that proceed with bunch bill car search if shipment is marked as short multiple ship carload, otherwise use original shipment data.
💻 Technical Criteria
Given A shipment with US or RT action code
When The system checks the shipment carload type
Then Proceed with bunch bill car search if shipment is marked as short multiple ship carload, otherwise use original shipment data
R-GCCCCADD-cbl-01610 Equipment Record Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Equipment Record Found?' is invoked, and assuming that an equipment retrieval attempt, when the system checks if equipment data was successfully retrieved, the desired outcome is that proceed with equipment id comparison if record found, otherwise mark search as not found.
💻 Technical Criteria
Given An equipment retrieval attempt
When The system checks if equipment data was successfully retrieved
Then Proceed with equipment ID comparison if record found, otherwise mark search as not found
R-GCCCCADD-cbl-01611 Equipment ID = Target Car ID?
Decision Rules
📊 Business Logic Narrative
When the process 'Equipment ID = Target Car ID?' is invoked, and assuming that a successfully retrieved equipment record and target car id, when the system compares equipment id with target car id, the desired outcome is that mark as found and update shipment data if ids match, otherwise increment sequence and continue search.
💻 Technical Criteria
Given A successfully retrieved equipment record and target car ID
When The system compares equipment ID with target car ID
Then Mark as found and update shipment data if IDs match, otherwise increment sequence and continue search
R-GCCCCADD-cbl-01612 Set Car Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Car Found Flag' is invoked, and assuming that equipment id matches the target car id, when the system processes the successful match, the desired outcome is that set car found flag to true and prepare to update shipment data with found equipment information.
💻 Technical Criteria
Given Equipment ID matches the target car ID
When The system processes the successful match
Then Set car found flag to true and prepare to update shipment data with found equipment information
R-GCCCCADD-cbl-01613 Move Equipment Data to SHIPROOT
Process Rules
📊 Business Logic Narrative
When the process 'Move Equipment Data to SHIPROOT' is invoked, and assuming that a successfully matched equipment record, when the system updates shipment data, the desired outcome is that replace original shipment root data with the found equipment data from bunch bill.
💻 Technical Criteria
Given A successfully matched equipment record
When The system updates shipment data
Then Replace original shipment root data with the found equipment data from bunch bill
R-GCCCCADD-cbl-01615 Set Car Not Found Flag
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Car Not Found Flag', assuming that search sequence exceeds 200 or equipment record not found, when the system terminates the search process, the desired outcome is that set car not found flag and continue processing with original shipment data.
💻 Technical Criteria
EXCLUDING Search sequence exceeds 200 or equipment record not found
When The system terminates the search process
Then Set car not found flag and continue processing with original shipment data
R-GCCCCADD-cbl-01620 Validate Field Length Requirements
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Validate Field Length Requirements', assuming that a postal code field in an address record, when the actual string length of the postal code is less than 3 characters and postal code is not empty, the desired outcome is that the system generates a minimum length requirement error message.
💻 Technical Criteria
EXCLUDING A postal code field in an address record
When The actual string length of the postal code is less than 3 characters and postal code is not empty
Then The system generates a minimum length requirement error message
R-GCCCCADD-cbl-01621 Check Postal Code Length
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check Postal Code Length', assuming that a postal code field when called from gcx011 system and the postal code is not empty, when the actual string length of the postal code is less than 5 characters, the desired outcome is that the system pads the postal code with periods to make it exactly 5 characters long.
💻 Technical Criteria
EXCLUDING A postal code field when called from GCX011 system and the postal code is not empty
When The actual string length of the postal code is less than 5 characters
Then The system pads the postal code with periods to make it exactly 5 characters long
R-GCCCCADD-cbl-01622 Communication Number Qualifier Present?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Communication Number Qualifier Present?', assuming that a contact record with communication number qualifier populated and contact name not populated, when the communication number field is empty, the desired outcome is that generate error message indicating communication number is required.
💻 Technical Criteria
EXCLUDING A contact record with communication number qualifier populated and contact name not populated
When The communication number field is empty
Then Generate error message indicating communication number is required
R-GCCCCADD-cbl-01623 Contact Name Present?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Contact Name Present?', assuming that a contact record with contact name populated and communication number qualifier not populated, when the communication number field is empty, the desired outcome is that generate error message indicating communication number is required.
💻 Technical Criteria
EXCLUDING A contact record with contact name populated and communication number qualifier not populated
When The communication number field is empty
Then Generate error message indicating communication number is required
R-GCCCCADD-cbl-01644 Set Unknown Haulage Rights SCAC
Action Rules
📊 Business Logic Narrative
When the process 'Set Unknown Haulage Rights SCAC' is invoked, and assuming that a haulage mode shipment without a specified haulage rights carrier, when the carrier field is spaces or empty, the desired outcome is that the system should set haulage rights scac to 'unkn', clear automated flag, set bill owner to 'unkn', and set reject haulage status.
💻 Technical Criteria
Given A haulage mode shipment without a specified haulage rights carrier
When The carrier field is spaces or empty
Then The system should set haulage rights SCAC to 'UNKN', clear automated flag, set bill owner to 'UNKN', and set reject haulage status
R-GCCCCADD-cbl-01709 Process Address Information
Process Rules
📊 Business Logic Narrative
When the process 'Process Address Information' is invoked, and assuming that importer n3 address segment data is available, when the system processes address line information, the desired outcome is that the system sets address line 1 and 2, defaulting to 'na' if address line 1 is empty.
💻 Technical Criteria
Given Importer N3 address segment data is available
When The system processes address line information
Then The system sets address line 1 and 2, defaulting to 'NA' if address line 1 is empty
R-GCCCCADD-cbl-01753 Address Line 1 Empty?
Validation Rules
📊 Business Logic Narrative
When the process 'Address Line 1 Empty?' is invoked, and assuming that address line 1 has been extracted from the n3 segment, when the system validates the address completeness, the desired outcome is that if address line 1 is empty or contains only spaces/low-values, set it to 'na'; otherwise use the extracted value.
💻 Technical Criteria
Given Address Line 1 has been extracted from the N3 segment
When The system validates the address completeness
Then If Address Line 1 is empty or contains only spaces/low-values, set it to 'NA'; otherwise use the extracted value
R-GCCCCADD-cbl-01754 Set Address Line 1 to 'NA'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Address Line 1 to 'NA'' is invoked, and assuming that the primary address line is empty, spaces, or low-values, when the system processes address validation, the desired outcome is that the system sets address line 1 to 'na' as the default value.
💻 Technical Criteria
Given The primary address line is empty, spaces, or low-values
When The system processes address validation
Then The system sets Address Line 1 to 'NA' as the default value
R-GCCCCADD-cbl-01877 Address Line 1 Empty or Low Values?
Validation Rules
📊 Business Logic Narrative
When the process 'Address Line 1 Empty or Low Values?' is invoked, and assuming that edi bol n3 segment is available with address information, when the first address line is empty or contains low values, the desired outcome is that the system should flag the address line as requiring default value assignment.
💻 Technical Criteria
Given EDI BOL N3 segment is available with address information
When The first address line is empty or contains low values
Then The system should flag the address line as requiring default value assignment
R-GCCCCADD-cbl-01878 Set Address Line 1 to 'NA'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Address Line 1 to 'NA'' is invoked, and assuming that edi address line 1 is empty or contains low values, when the system processes the importer address information, the desired outcome is that the system should set address line 1 to 'na' as the default value.
💻 Technical Criteria
Given EDI address line 1 is empty or contains low values
When The system processes the importer address information
Then The system should set address line 1 to 'NA' as the default value
R-GCCCCADD-cbl-01879 Use EDI Address Line 1
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use EDI Address Line 1', assuming that edi bol n3 segment contains valid address line 1 data, when the address line 1 is not empty and does not contain low values, the desired outcome is that the system should use the edi address line 1 value directly for the importer record.
💻 Technical Criteria
EXCLUDING EDI BOL N3 segment contains valid address line 1 data
When The address line 1 is not empty and does not contain low values
Then The system should use the EDI address line 1 value directly for the importer record

Module Tracker: GCCCCREL

98 Validations & Rules
Module Objective: No description provided from architecture analysis.
⚙️ General Logic & Formats 3 logic blocks
R-GCCCCREL-cbl-00026 Is Master Manifest?
Action Rules
📊 Business Logic Narrative
When the process 'Is Master Manifest?' is invoked, and assuming that a manifest cancel release is being processed, when the manifest is identified as a master manifest, the desired outcome is that the system must invoke the master manifest cancel release processing program (gcccanrl).
💻 Technical Criteria
Given A manifest cancel release is being processed
When The manifest is identified as a master manifest
Then The system must invoke the master manifest cancel release processing program (GCCCANRL)
R-GCCCCREL-cbl-00090 Format Log Message
Process Rules
📊 Business Logic Narrative
When the process 'Format Log Message' is invoked, and assuming that all audit log data elements have been populated, when the system prepares to send the audit message, the desired outcome is that the complete audit input structure must be moved to the formatted log message structure.
💻 Technical Criteria
Given All audit log data elements have been populated
When The system prepares to send the audit message
Then The complete audit input structure must be moved to the formatted log message structure
R-GCCCCREL-cbl-00092 Write Message to Log
Action Rules
📊 Business Logic Narrative
When the process 'Write Message to Log' is invoked, and assuming that an audit message has been queued for processing, when the system writes the message to the log, the desired outcome is that the writmsgl program must be called with the message code, message content, message length, and module name.
💻 Technical Criteria
Given An audit message has been queued for processing
When The system writes the message to the log
Then The WRITMSGL program must be called with the message code, message content, message length, and module name

🏷️ CCN & Waybill Identification 16 logic blocks
R-GCCCCREL-cbl-00003 Manifest Release Processing
Process Rules
📊 Business Logic Narrative
When the process 'Manifest Release Processing' is invoked, and assuming that a cargo release request is initiated, when the system processes the manual release, the desired outcome is that the system sets message id to gcw123, sets manual release flag to true, copies the ccn key, clears the release quantity field, and moves the release reason to comments.
💻 Technical Criteria
Given A cargo release request is initiated
When The system processes the manual release
Then The system sets message ID to GCW123, sets manual release flag to true, copies the CCN key, clears the release quantity field, and moves the release reason to comments
R-GCCCCREL-cbl-00005 Manifest Status Determination
Decision Rules
📊 Business Logic Narrative
When the process 'Manifest Status Determination' is invoked, and assuming that a cancel release operation is being processed and csa indicator is off, when the system evaluates the original ccn and manifest type, the desired outcome is that the system sets status to manual if original ccn is blank or it's a follower manifest, otherwise sets status to sent.
💻 Technical Criteria
Given A cancel release operation is being processed and CSA indicator is OFF
When The system evaluates the original CCN and manifest type
Then The system sets status to MANUAL if original CCN is blank OR it's a follower manifest, otherwise sets status to SENT
R-GCCCCREL-cbl-00009 Master Manifest Processing
Action Rules
📊 Business Logic Narrative
When the process 'Master Manifest Processing' is invoked, and assuming that a cancel release operation is being processed, when the manifest is identified as a master manifest, the desired outcome is that the system calls gcccanrl program with cccom and ccn key parameters for additional cancel release processing.
💻 Technical Criteria
Given A cancel release operation is being processed
When The manifest is identified as a master manifest
Then The system calls GCCCANRL program with CCCOM and CCN key parameters for additional cancel release processing
R-GCCCCREL-cbl-00010 Cargo Release Logging
Process Rules
📊 Business Logic Narrative
When the process 'Cargo Release Logging' is invoked, and assuming that a cancel release operation has been processed, when the system creates audit log entry, the desired outcome is that the system initializes logging input, sets action code to log-cargo-release-removed, and spawns gct1051e message with security information, ccn key, cargo type ca-cargo, transaction details, user id and timestamp.
💻 Technical Criteria
Given A cancel release operation has been processed
When The system creates audit log entry
Then The system initializes logging input, sets action code to LOG-CARGO-RELEASE-REMOVED, and spawns GCT1051E message with security information, CCN key, cargo type CA-CARGO, transaction details, user ID and timestamp
R-GCCCCREL-cbl-00014 Copy Cargo Control Number
Process Rules
📊 Business Logic Narrative
When the process 'Copy Cargo Control Number' is invoked, and assuming that a cargo release request contains a cargo control number key, when the system processes the release request, the desired outcome is that the cargo control number key should be copied to the gcw123 message structure.
💻 Technical Criteria
Given A cargo release request contains a cargo control number key
When The system processes the release request
Then The cargo control number key should be copied to the GCW123 message structure
R-GCCCCREL-cbl-00015 Copy Cargo Control Number
Process Rules
📊 Business Logic Narrative
When the process 'Copy Cargo Control Number' is invoked, and assuming that a manual cargo release is being processed, when the system prepares the release message, the desired outcome is that the release quantity field should be set to spaces (cleared).
💻 Technical Criteria
Given A manual cargo release is being processed
When The system prepares the release message
Then The release quantity field should be set to spaces (cleared)
R-GCCCCREL-cbl-00019 Original Sent Status Empty OR Follower Manifest?
Decision Rules
📊 Business Logic Narrative
When the process 'Original Sent Status Empty OR Follower Manifest?' is invoked, and assuming that a manifest cancel release is being processed and csa indicator is off, when the original ccn sent status is empty or the manifest is a follower manifest, the desired outcome is that the cargo status must be set to manual.
💻 Technical Criteria
Given A manifest cancel release is being processed and CSA indicator is off
When The original CCN sent status is empty OR the manifest is a follower manifest
Then The cargo status must be set to MANUAL
R-GCCCCREL-cbl-00020 Set Status to SENT
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Status to SENT', assuming that a manifest cancel release is being processed and csa indicator is off, when the original ccn sent status is not empty and the manifest is not a follower manifest, the desired outcome is that the cargo status must be set to sent.
💻 Technical Criteria
EXCLUDING A manifest cancel release is being processed and CSA indicator is off
When The original CCN sent status is not empty AND the manifest is not a follower manifest
Then The cargo status must be set to SENT
R-GCCCCREL-cbl-00030 Original Sent Status Empty OR Follower Manifest?
Decision Rules
📊 Business Logic Narrative
When the process 'Original Sent Status Empty OR Follower Manifest?' is invoked, and assuming that a manifest cancel release process is being executed and csa indicator is off, when the original ccn sent status is empty or the manifest is a follower manifest, the desired outcome is that the manifest status should be set to manual.
💻 Technical Criteria
Given A manifest cancel release process is being executed and CSA indicator is OFF
When The original CCN sent status is empty OR the manifest is a follower manifest
Then The manifest status should be set to MANUAL
R-GCCCCREL-cbl-00031 Set Status to SENT
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Status to SENT', assuming that a manifest cancel release process is being executed and csa indicator is off, when the original ccn sent status is not empty and the manifest is not a follower manifest, the desired outcome is that the manifest status should be set to sent.
💻 Technical Criteria
EXCLUDING A manifest cancel release process is being executed and CSA indicator is OFF
When The original CCN sent status is not empty AND the manifest is not a follower manifest
Then The manifest status should be set to SENT
R-GCCCCREL-cbl-00046 Call GCCCANRL Subprogram for Specialized Cancel Release Processing
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCCANRL Subprogram for Specialized Cancel Release Processing' is invoked, and assuming that a cargo manifest is being processed for cancel release, when the manifest is identified as a master manifest type, the desired outcome is that the system calls the gcccanrl subprogram with the common control block and ccn key to perform specialized master manifest cancel release processing.
💻 Technical Criteria
Given A cargo manifest is being processed for cancel release
When The manifest is identified as a master manifest type
Then The system calls the GCCCANRL subprogram with the common control block and CCN key to perform specialized master manifest cancel release processing
R-GCCCCREL-cbl-00050 Copy Cargo Control Number to Log
Process Rules
📊 Business Logic Narrative
When the process 'Copy Cargo Control Number to Log' is invoked, and assuming that a cargo release removal is being logged, when the system records the cargo identifier, the desired outcome is that the cargo control number from gccc-ccn-key is copied to gcx105-train-or-us-ccn in the log entry.
💻 Technical Criteria
Given A cargo release removal is being logged
When The system records the cargo identifier
Then The cargo control number from GCCC-CCN-KEY is copied to GCX105-TRAIN-OR-US-CCN in the log entry
R-GCCCCREL-cbl-00085 Populate Cargo Control Number
Process Rules
📊 Business Logic Narrative
When the process 'Populate Cargo Control Number' is invoked, and assuming that a cargo release removal is being logged, when the system prepares the audit log message, the desired outcome is that the cargo control number from the manifest record must be copied to the audit log train or us ccn field.
💻 Technical Criteria
Given A cargo release removal is being logged
When The system prepares the audit log message
Then The cargo control number from the manifest record must be copied to the audit log train or US CCN field
R-GCCCCREL-cbl-00058 Copy Cargo Control Number to Message
Process Rules
📊 Business Logic Narrative
When the process 'Copy Cargo Control Number to Message' is invoked, and assuming that a release notification message is being prepared, when the system processes cargo control information, the desired outcome is that the cargo control number from the release request is copied to the message ccn key field.
💻 Technical Criteria
Given A release notification message is being prepared
When The system processes cargo control information
Then The cargo control number from the release request is copied to the message CCN key field
R-GCCCCREL-cbl-00064 Set Cargo Control Number Key
Process Rules
📊 Business Logic Narrative
When the process 'Set Cargo Control Number Key' is invoked, and assuming that a cargo control number key is provided in the release request, when the system prepares to retrieve manifest data, the desired outcome is that the cargo control number key is assigned to the manifest record key field.
💻 Technical Criteria
Given A cargo control number key is provided in the release request
When The system prepares to retrieve manifest data
Then The cargo control number key is assigned to the manifest record key field
R-GCCCCREL-cbl-00065 Call Data Access Service
Action Rules
📊 Business Logic Narrative
When the process 'Call Data Access Service' is invoked, and assuming that manifest retrieval parameters are configured and cargo control number key is set, when the system needs to access manifest data, the desired outcome is that the canadian cargo data access service is called with the configured parameters and manifest record structure.
💻 Technical Criteria
Given Manifest retrieval parameters are configured and cargo control number key is set
When The system needs to access manifest data
Then The Canadian cargo data access service is called with the configured parameters and manifest record structure

💰 Bond & Financial Auth 1 logic blocks
R-GCCCCREL-cbl-00049 Set Security Level to High Values
Authorization Rules
📊 Business Logic Narrative
When the process 'Set Security Level to High Values' is invoked, and assuming that an audit log entry is being created, when the system sets the security level, the desired outcome is that the security byte is set to high-values to indicate maximum security classification.
💻 Technical Criteria
Given An audit log entry is being created
When The system sets the security level
Then The security byte is set to HIGH-VALUES to indicate maximum security classification

📍 Routing, Border & Port 7 logic blocks
R-GCCCCREL-cbl-00007 Station Information Lookup
Action Rules
📊 Business Logic Narrative
When the process 'Station Information Lookup' is invoked, and assuming that a cancel release operation requires station information, when the system performs station lookup using manifest destination station name, the desired outcome is that the system uses station number from lookup table if successful (return flag = '0'), otherwise uses existing destination station number and initializes station data.
💻 Technical Criteria
Given A cancel release operation requires station information
When The system performs station lookup using manifest destination station name
Then The system uses station number from lookup table if successful (return flag = '0'), otherwise uses existing destination station number and initializes station data
R-GCCCCREL-cbl-00024 Lookup Station Information
Validation Rules
📊 Business Logic Narrative
When the process 'Lookup Station Information' is invoked, and assuming that a manifest cancel release is being processed, when unreleasing reason has been set, the desired outcome is that the system must attempt to lookup the station number using the manifest destination station name, and if successful use the looked-up station number, otherwise use the existing destination station number.
💻 Technical Criteria
Given A manifest cancel release is being processed
When Unreleasing reason has been set
Then The system must attempt to lookup the station number using the manifest destination station name, and if successful use the looked-up station number, otherwise use the existing destination station number
R-GCCCCREL-cbl-00039 Use Manifest Destination Station Name as Key
Process Rules
📊 Business Logic Narrative
When the process 'Use Manifest Destination Station Name as Key' is invoked, and assuming that a manifest with a destination station name exists, when the system performs a station lookup, the desired outcome is that the manifest destination station name is used as the search key.
💻 Technical Criteria
Given A manifest with a destination station name exists
When The system performs a station lookup
Then The manifest destination station name is used as the search key
R-GCCCCREL-cbl-00042 Set Station Number for Indexing
Process Rules
📊 Business Logic Narrative
When the process 'Set Station Number for Indexing' is invoked, and assuming that a station number has been successfully retrieved from the station master table, when the system needs to set the destination station number for indexing, the desired outcome is that the retrieved station number is assigned to the destination station number for index field.
💻 Technical Criteria
Given A station number has been successfully retrieved from the station master table
When The system needs to set the destination station number for indexing
Then The retrieved station number is assigned to the destination station number for index field
R-GCCCCREL-cbl-00044 Use Original Destination Station Number
Decision Rules
📊 Business Logic Narrative
When the process 'Use Original Destination Station Number' is invoked, and assuming that a station lookup has failed to find the station in the master table, when the system needs to assign a destination station number for indexing, the desired outcome is that the original destination station number from the manifest is used as the destination station number for index.
💻 Technical Criteria
Given A station lookup has failed to find the station in the master table
When The system needs to assign a destination station number for indexing
Then The original destination station number from the manifest is used as the destination station number for index
R-GCCCCREL-cbl-00079 Set Station Name from Manifest
Process Rules
📊 Business Logic Narrative
When the process 'Set Station Name from Manifest' is invoked, and assuming that a manifest record with destination station name exists, when the system prepares station lookup parameters, the desired outcome is that the manifest destination station name is copied to the lookup key field.
💻 Technical Criteria
Given A manifest record with destination station name exists
When The system prepares station lookup parameters
Then The manifest destination station name is copied to the lookup key field
R-GCCCCREL-cbl-00082 Extract Station Number from Result
Process Rules
📊 Business Logic Narrative
When the process 'Extract Station Number from Result' is invoked, and assuming that station lookup was successful with return flag '0', when the system processes the lookup result, the desired outcome is that the station number from the lookup result is extracted and assigned to the destination station number for index.
💻 Technical Criteria
Given Station lookup was successful with return flag '0'
When The system processes the lookup result
Then The station number from the lookup result is extracted and assigned to the destination station number for index

🔁 EDI, Status & Database 28 logic blocks
R-GCCCCREL-cbl-00006 Release Audit Trail Creation
Process Rules
📊 Business Logic Narrative
When the process 'Release Audit Trail Creation' is invoked, and assuming that a cancel release operation is being processed, when the system creates audit trail data, the desired outcome is that the system records current machine date as unreleased date, captures acf2 user id as the user who performed cancel, saves original release date, clears release information, and sets the unrelease reason.
💻 Technical Criteria
Given A cancel release operation is being processed
When The system creates audit trail data
Then The system records current machine date as unreleased date, captures ACF2 user ID as the user who performed cancel, saves original release date, clears release information, and sets the unrelease reason
R-GCCCCREL-cbl-00021 Create Audit Trail Information
Process Rules
📊 Business Logic Narrative
When the process 'Create Audit Trail Information' is invoked, and assuming that a manifest cancel release is being processed, when the status has been determined, the desired outcome is that the system must record the current machine date as unreleased date, current user id as unreleasing user, and preserve the original release date.
💻 Technical Criteria
Given A manifest cancel release is being processed
When The status has been determined
Then The system must record the current machine date as unreleased date, current user ID as unreleasing user, and preserve the original release date
R-GCCCCREL-cbl-00022 Clear Release Information
Process Rules
📊 Business Logic Narrative
When the process 'Clear Release Information' is invoked, and assuming that a manifest cancel release is being processed, when audit trail information has been created, the desired outcome is that the system must clear all existing release information fields.
💻 Technical Criteria
Given A manifest cancel release is being processed
When Audit trail information has been created
Then The system must clear all existing release information fields
R-GCCCCREL-cbl-00029 CSA Indicator On?
Decision Rules
📊 Business Logic Narrative
When the process 'CSA Indicator On?' is invoked, and assuming that a manifest cancel release process is being executed, when the csa indicator is on, the desired outcome is that the manifest status should be set to csa-dlv.
💻 Technical Criteria
Given A manifest cancel release process is being executed
When The CSA indicator is ON
Then The manifest status should be set to CSA-DLV
R-GCCCCREL-cbl-00032 Capture Current Date as Unreleasing Date
Process Rules
📊 Business Logic Narrative
When the process 'Capture Current Date as Unreleasing Date' is invoked, and assuming that a cancel release operation is being processed, when the system processes the cancel release request, the desired outcome is that the current machine date is captured and stored as the unreleasing date.
💻 Technical Criteria
Given A cancel release operation is being processed
When The system processes the cancel release request
Then The current machine date is captured and stored as the unreleasing date
R-GCCCCREL-cbl-00033 Capture Current User ID as Unreleasing User
Process Rules
📊 Business Logic Narrative
When the process 'Capture Current User ID as Unreleasing User' is invoked, and assuming that a cancel release operation is being processed, when the system processes the cancel release request, the desired outcome is that the current acf2 user id is captured and stored as the unreleasing user.
💻 Technical Criteria
Given A cancel release operation is being processed
When The system processes the cancel release request
Then The current ACF2 user ID is captured and stored as the unreleasing user
R-GCCCCREL-cbl-00035 Clear Previous Release Information
Process Rules
📊 Business Logic Narrative
When the process 'Clear Previous Release Information' is invoked, and assuming that a cancel release operation is being processed, when the system processes the cancel release request, the desired outcome is that all release information fields are cleared to spaces.
💻 Technical Criteria
Given A cancel release operation is being processed
When The system processes the cancel release request
Then All release information fields are cleared to spaces
R-GCCCCREL-cbl-00037 Initialize Station Lookup Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Station Lookup Parameters' is invoked, and assuming that a station lookup operation needs to be performed, when the system prepares to lookup station information, the desired outcome is that all lookup parameters are cleared and function code is set to retrieve data.
💻 Technical Criteria
Given A station lookup operation needs to be performed
When The system prepares to lookup station information
Then All lookup parameters are cleared and function code is set to retrieve data
R-GCCCCREL-cbl-00038 Set Table ID to 'MC' for Station Master
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Table ID to 'MC' for Station Master' is invoked, and assuming that a station lookup operation is being performed, when the system needs to specify which table to query, the desired outcome is that the table id is set to 'mc' to identify the station master table.
💻 Technical Criteria
Given A station lookup operation is being performed
When The system needs to specify which table to query
Then The table ID is set to 'MC' to identify the station master table
R-GCCCCREL-cbl-00040 Call Station Table Lookup Service
Action Rules
📊 Business Logic Narrative
When the process 'Call Station Table Lookup Service' is invoked, and assuming that station lookup parameters are initialized and search key is set, when the system needs to retrieve station information, the desired outcome is that the gcctbio service is called with the station lookup parameters.
💻 Technical Criteria
Given Station lookup parameters are initialized and search key is set
When The system needs to retrieve station information
Then The GCCTBIO service is called with the station lookup parameters
R-GCCCCREL-cbl-00041 Extract Station Number from Retrieved Record
Decision Rules
📊 Business Logic Narrative
When the process 'Extract Station Number from Retrieved Record' is invoked, and assuming that a station lookup has been performed, when the lookup service returns a successful result with return flag equal to '0', the desired outcome is that the station number is extracted from the retrieved station master record.
💻 Technical Criteria
Given A station lookup has been performed
When The lookup service returns a successful result with return flag equal to '0'
Then The station number is extracted from the retrieved station master record
R-GCCCCREL-cbl-00077 Initialize Lookup Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Lookup Parameters' is invoked, and assuming that a station table lookup is requested, when the system prepares to call the station lookup service, the desired outcome is that all lookup parameters are cleared and function code is set to gu (get unique).
💻 Technical Criteria
Given A station table lookup is requested
When The system prepares to call the station lookup service
Then All lookup parameters are cleared and function code is set to GU (Get Unique)
R-GCCCCREL-cbl-00078 Set Table ID to 'MC'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Table ID to 'MC'' is invoked, and assuming that station lookup parameters are being configured, when the system needs to identify which table to search, the desired outcome is that the table id is set to 'mc' to indicate station master table.
💻 Technical Criteria
Given Station lookup parameters are being configured
When The system needs to identify which table to search
Then The table ID is set to 'MC' to indicate station master table
R-GCCCCREL-cbl-00080 Call GCCTBIO Service
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCTBIO Service' is invoked, and assuming that station lookup parameters are properly initialized with table id and station name, when the system needs to retrieve station details, the desired outcome is that the gcctbio service is called with all required parameters.
💻 Technical Criteria
Given Station lookup parameters are properly initialized with table ID and station name
When The system needs to retrieve station details
Then The GCCTBIO service is called with all required parameters
R-GCCCCREL-cbl-00081 Station Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Station Found?' is invoked, and assuming that station table lookup service has been called, when the system receives a return flag from the lookup service, the desired outcome is that if return flag equals '0' then station is found, otherwise station is not found.
💻 Technical Criteria
Given Station table lookup service has been called
When The system receives a return flag from the lookup service
Then If return flag equals '0' then station is found, otherwise station is not found
R-GCCCCREL-cbl-00054 Copy Current Date to Log
Process Rules
📊 Business Logic Narrative
When the process 'Copy Current Date to Log' is invoked, and assuming that an audit log entry is being created, when the system records the date of the operation, the desired outcome is that the current machine century and date are copied to gcx105-work-century and gcx105-work-yymmdd, then formatted as gcx105-date.
💻 Technical Criteria
Given An audit log entry is being created
When The system records the date of the operation
Then The current machine century and date are copied to GCX105-WORK-CENTURY and GCX105-WORK-YYMMDD, then formatted as GCX105-DATE
R-GCCCCREL-cbl-00055 Copy Current Time to Log
Process Rules
📊 Business Logic Narrative
When the process 'Copy Current Time to Log' is invoked, and assuming that an audit log entry is being created, when the system records the time of the operation, the desired outcome is that the current machine time from cc-machine-time is copied to gcx105-time in the log entry.
💻 Technical Criteria
Given An audit log entry is being created
When The system records the time of the operation
Then The current machine time from CC-MACHINE-TIME is copied to GCX105-TIME in the log entry
R-GCCCCREL-cbl-00091 Send Message to Audit Queue
Action Rules
📊 Business Logic Narrative
When the process 'Send Message to Audit Queue' is invoked, and assuming that a formatted audit log message is ready for transmission, when the system initiates message sending, the desired outcome is that the cims program must be called with chng function to send the message to the alternate pcb queue.
💻 Technical Criteria
Given A formatted audit log message is ready for transmission
When The system initiates message sending
Then The CIMS program must be called with CHNG function to send the message to the alternate PCB queue
R-GCCCCREL-cbl-00093 Purge Message Queue
Action Rules
📊 Business Logic Narrative
When the process 'Purge Message Queue' is invoked, and assuming that an audit message has been successfully written to the log system, when the system completes message processing, the desired outcome is that the cims program must be called with purg function to purge the message from the alternate pcb queue.
💻 Technical Criteria
Given An audit message has been successfully written to the log system
When The system completes message processing
Then The CIMS program must be called with PURG function to purge the message from the alternate PCB queue
R-GCCCCREL-cbl-00059 Clear Release Quantity Field
Process Rules
📊 Business Logic Narrative
When the process 'Clear Release Quantity Field' is invoked, and assuming that a manual release notification is being prepared, when the system sets up message fields, the desired outcome is that the release quantity field is cleared to spaces.
💻 Technical Criteria
Given A manual release notification is being prepared
When The system sets up message fields
Then The release quantity field is cleared to spaces
R-GCCCCREL-cbl-00060 Copy Release Reason to Comments
Process Rules
📊 Business Logic Narrative
When the process 'Copy Release Reason to Comments' is invoked, and assuming that a release request contains a release reason, when the system prepares the notification message, the desired outcome is that the release reason is copied to the message comments field.
💻 Technical Criteria
Given A release request contains a release reason
When The system prepares the notification message
Then The release reason is copied to the message comments field
R-GCCCCREL-cbl-00095 Initialize CIMS Session
Process Rules
📊 Business Logic Narrative
When the process 'Initialize CIMS Session' is invoked, and assuming that a notification message needs to be sent, when the message sending process begins, the desired outcome is that the system calls cims with chng parameter to initialize the messaging session.
💻 Technical Criteria
Given A notification message needs to be sent
When The message sending process begins
Then The system calls CIMS with CHNG parameter to initialize the messaging session
R-GCCCCREL-cbl-00096 Prepare Message Content
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Message Content' is invoked, and assuming that a release notification needs to be sent, when the message preparation process starts, the desired outcome is that the system copies gcx123-input to gct1231e-msg and clears the accept status.
💻 Technical Criteria
Given A release notification needs to be sent
When The message preparation process starts
Then The system copies GCX123-INPUT to GCT1231E-MSG and clears the accept status
R-GCCCCREL-cbl-00097 Send Message to Queue
Action Rules
📊 Business Logic Narrative
When the process 'Send Message to Queue' is invoked, and assuming that the cims session is initialized and message content is prepared, when the actual message transmission occurs, the desired outcome is that the system calls writmsgl with message code, content, length and module name parameters.
💻 Technical Criteria
Given The CIMS session is initialized and message content is prepared
When The actual message transmission occurs
Then The system calls WRITMSGL with message code, content, length and module name parameters
R-GCCCCREL-cbl-00098 Terminate CIMS Session
Process Rules
📊 Business Logic Narrative
When the process 'Terminate CIMS Session' is invoked, and assuming that a message has been sent through cims, when the message transmission is complete, the desired outcome is that the system calls cims with purg parameter to terminate the session.
💻 Technical Criteria
Given A message has been sent through CIMS
When The message transmission is complete
Then The system calls CIMS with PURG parameter to terminate the session
R-GCCCCREL-cbl-00066 Manifest Record Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Manifest Record Found?' is invoked, and assuming that a data access service call has been executed for manifest retrieval, when the system evaluates the retrieval results, the desired outcome is that the system determines whether the manifest data is within valid range and accessible.
💻 Technical Criteria
Given A data access service call has been executed for manifest retrieval
When The system evaluates the retrieval results
Then The system determines whether the manifest data is within valid range and accessible
R-GCCCCREL-cbl-00067 Generate Error Message
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Error Message', assuming that a manifest record retrieval attempt has failed, when the manifest data is not found or not within valid range, the desired outcome is that an error message 'can not locate manifest for release/cancel release' is generated and error handling is invoked.
💻 Technical Criteria
EXCLUDING A manifest record retrieval attempt has failed
When The manifest data is not found or not within valid range
Then An error message 'CAN NOT LOCATE MANIFEST FOR RELEASE/CANCEL RELEASE' is generated and error handling is invoked
R-GCCCCREL-cbl-00068 Initialize Update Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Update Parameters' is invoked, and assuming that a manifest record needs to be updated, when the system begins the update process, the desired outcome is that all update control parameters are cleared and reset to initial state.
💻 Technical Criteria
Given A manifest record needs to be updated
When The system begins the update process
Then All update control parameters are cleared and reset to initial state

🚂 Equipment & Cargo Specs 43 logic blocks
R-GCCCCREL-cbl-00001 Action Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Action Type?' is invoked, and assuming that a cargo processing request is received with an action type, when the system evaluates the action type, the desired outcome is that the system routes to release processing if action is release, routes to cancel release processing if action is cancel-release, or continues without action for any other action type.
💻 Technical Criteria
Given A cargo processing request is received with an action type
When The system evaluates the action type
Then The system routes to release processing if action is RELEASE, routes to cancel release processing if action is CANCEL-RELEASE, or continues without action for any other action type
R-GCCCCREL-cbl-00002 Manifest Data Retrieval
Validation Rules
📊 Business Logic Narrative
When the process 'Manifest Data Retrieval' is invoked, and assuming that a container control number key is provided for cargo processing, when the system attempts to retrieve the corresponding manifest data, the desired outcome is that the system loads the manifest record if found, or displays error message 'can not locate manifest for release/cancel release' if the manifest cannot be located.
💻 Technical Criteria
Given A Container Control Number key is provided for cargo processing
When The system attempts to retrieve the corresponding manifest data
Then The system loads the manifest record if found, or displays error message 'CAN NOT LOCATE MANIFEST FOR RELEASE/CANCEL RELEASE' if the manifest cannot be located
R-GCCCCREL-cbl-00004 CSA Cargo Status Management
Decision Rules
📊 Business Logic Narrative
When the process 'CSA Cargo Status Management' is invoked, and assuming that a cancel release operation is being processed, when the csa indicator is on, the desired outcome is that the system sets the cargo status to csa-dlv (csa delivery).
💻 Technical Criteria
Given A cancel release operation is being processed
When The CSA indicator is ON
Then The system sets the cargo status to CSA-DLV (CSA Delivery)
R-GCCCCREL-cbl-00008 In-Transit Status Management
Decision Rules
📊 Business Logic Narrative
When the process 'In-Transit Status Management' is invoked, and assuming that a cancel release operation is processing cargo with in-transit status, when the in-transit status is 'z' or 'e', the desired outcome is that the system changes the in-transit status to local.
💻 Technical Criteria
Given A cancel release operation is processing cargo with in-transit status
When The in-transit status is 'Z' OR 'E'
Then The system changes the in-transit status to LOCAL
R-GCCCCREL-cbl-00011 Release Notification Generation
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Release Notification Generation', assuming that a cargo release has been processed, when the operation is not an export operation, the desired outcome is that the system generates and sends gct1231e notification message with release details.
💻 Technical Criteria
EXCLUDING A cargo release has been processed
When The operation is NOT an export operation
Then The system generates and sends GCT1231E notification message with release details
R-GCCCCREL-cbl-00012 Manifest Data Update
Process Rules
📊 Business Logic Narrative
When the process 'Manifest Data Update' is invoked, and assuming that cargo processing operations have been completed, when the system finalizes the transaction, the desired outcome is that the system updates the manifest record with all changes made during processing using repl function.
💻 Technical Criteria
Given Cargo processing operations have been completed
When The system finalizes the transaction
Then The system updates the manifest record with all changes made during processing using REPL function
R-GCCCCREL-cbl-00013 Set Manual Release Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Manual Release Flag' is invoked, and assuming that a cargo release process is being initiated, when the system processes a manual release request, the desired outcome is that the message id should be set to gcw123 and the manual release flag should be set to true.
💻 Technical Criteria
Given A cargo release process is being initiated
When The system processes a manual release request
Then The message ID should be set to GCW123 and the manual release flag should be set to true
R-GCCCCREL-cbl-00016 Copy Release Reason to Comments
Process Rules
📊 Business Logic Narrative
When the process 'Copy Release Reason to Comments' is invoked, and assuming that a cargo release request contains a release reason, when the system processes the release request, the desired outcome is that the release reason should be copied to the gcw123 comments field.
💻 Technical Criteria
Given A cargo release request contains a release reason
When The system processes the release request
Then The release reason should be copied to the GCW123 comments field
R-GCCCCREL-cbl-00017 Generate Release Notification Message
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Release Notification Message', assuming that a cargo release has been processed, when the cargo is not classified as export cargo, the desired outcome is that a release notification message (gct1231e) should be generated and sent.
💻 Technical Criteria
EXCLUDING A cargo release has been processed
When The cargo is not classified as export cargo
Then A release notification message (GCT1231E) should be generated and sent
R-GCCCCREL-cbl-00018 Is CSA Cargo?
Decision Rules
📊 Business Logic Narrative
When the process 'Is CSA Cargo?' is invoked, and assuming that a manifest cancel release is being processed, when the cargo has csa indicator turned on, the desired outcome is that the cargo status must be set to csa-dlv (csa delivery).
💻 Technical Criteria
Given A manifest cancel release is being processed
When The cargo has CSA indicator turned on
Then The cargo status must be set to CSA-DLV (CSA Delivery)
R-GCCCCREL-cbl-00023 Set Unreleasing Reason
Process Rules
📊 Business Logic Narrative
When the process 'Set Unreleasing Reason' is invoked, and assuming that a manifest cancel release is being processed, when release information has been cleared, the desired outcome is that the system must set the unrelease reason in the cargo release reason field.
💻 Technical Criteria
Given A manifest cancel release is being processed
When Release information has been cleared
Then The system must set the unrelease reason in the cargo release reason field
R-GCCCCREL-cbl-00025 In-Transit Status Z or E?
Decision Rules
📊 Business Logic Narrative
When the process 'In-Transit Status Z or E?' is invoked, and assuming that a manifest cancel release is being processed, when the cargo in-transit status is 'z' (zone) or 'e' (export), the desired outcome is that the system must update the in-transit status to local.
💻 Technical Criteria
Given A manifest cancel release is being processed
When The cargo in-transit status is 'Z' (zone) or 'E' (export)
Then The system must update the in-transit status to LOCAL
R-GCCCCREL-cbl-00027 Create Cargo Release Removal Log
Process Rules
📊 Business Logic Narrative
When the process 'Create Cargo Release Removal Log' is invoked, and assuming that a manifest cancel release has been processed, when all status updates and master manifest processing (if applicable) are complete, the desired outcome is that the system must create a cargo release removal log entry with action code log-cargo-release-removed and spawn the logging message (gct1051e).
💻 Technical Criteria
Given A manifest cancel release has been processed
When All status updates and master manifest processing (if applicable) are complete
Then The system must create a cargo release removal log entry with action code LOG-CARGO-RELEASE-REMOVED and spawn the logging message (GCT1051E)
R-GCCCCREL-cbl-00072 Capture Current Machine Date as Unrelease Date
Process Rules
📊 Business Logic Narrative
When the process 'Capture Current Machine Date as Unrelease Date' is invoked, and assuming that a cargo release is being canceled, when the cancel release process is initiated, the desired outcome is that the current machine date should be recorded as the unrelease date.
💻 Technical Criteria
Given A cargo release is being canceled
When The cancel release process is initiated
Then The current machine date should be recorded as the unrelease date
R-GCCCCREL-cbl-00073 Record Current User ID as Unreleasing User
Process Rules
📊 Business Logic Narrative
When the process 'Record Current User ID as Unreleasing User' is invoked, and assuming that a cargo release is being canceled, when the cancel release process is initiated, the desired outcome is that the current user's acf2 user id should be recorded as the unreleasing user.
💻 Technical Criteria
Given A cargo release is being canceled
When The cancel release process is initiated
Then The current user's ACF2 user ID should be recorded as the unreleasing user
R-GCCCCREL-cbl-00074 Preserve Original Release Date
Process Rules
📊 Business Logic Narrative
When the process 'Preserve Original Release Date' is invoked, and assuming that a cargo release is being canceled and has an existing release date, when the cancel release process is initiated, the desired outcome is that the original release date should be preserved in the original release date field.
💻 Technical Criteria
Given A cargo release is being canceled and has an existing release date
When The cancel release process is initiated
Then The original release date should be preserved in the original release date field
R-GCCCCREL-cbl-00075 Clear Previous Release Information
Process Rules
📊 Business Logic Narrative
When the process 'Clear Previous Release Information' is invoked, and assuming that a cargo release is being canceled, when the cancel release process is initiated, the desired outcome is that all release information fields should be cleared to spaces.
💻 Technical Criteria
Given A cargo release is being canceled
When The cancel release process is initiated
Then All release information fields should be cleared to spaces
R-GCCCCREL-cbl-00076 Set Unrelease Reason Code
Process Rules
📊 Business Logic Narrative
When the process 'Set Unrelease Reason Code' is invoked, and assuming that a cargo release is being canceled, when the cancel release process is initiated, the desired outcome is that the unrelease reason should be recorded in the release reason field.
💻 Technical Criteria
Given A cargo release is being canceled
When The cancel release process is initiated
Then The unrelease reason should be recorded in the release reason field
R-GCCCCREL-cbl-00028 Set Cargo Status to CSA-DLV
Decision Rules
📊 Business Logic Narrative
When the process 'Set Cargo Status to CSA-DLV' is invoked, and assuming that a cargo release cancellation is being processed, when the csa indicator is turned on for the cargo, the desired outcome is that the cargo status must be set to csa-dlv (csa delivery).
💻 Technical Criteria
Given A cargo release cancellation is being processed
When The CSA indicator is turned on for the cargo
Then The cargo status must be set to CSA-DLV (CSA Delivery)
R-GCCCCREL-cbl-00034 Preserve Original Release Date
Process Rules
📊 Business Logic Narrative
When the process 'Preserve Original Release Date' is invoked, and assuming that a cancel release operation is being processed and cargo has an existing release date, when the system processes the cancel release request, the desired outcome is that the original release date is preserved in a separate field before clearing current release information.
💻 Technical Criteria
Given A cancel release operation is being processed and cargo has an existing release date
When The system processes the cancel release request
Then The original release date is preserved in a separate field before clearing current release information
R-GCCCCREL-cbl-00036 Record Unreleasing Reason
Process Rules
📊 Business Logic Narrative
When the process 'Record Unreleasing Reason' is invoked, and assuming that a cancel release operation is being processed with an unreleasing reason, when the system processes the cancel release request, the desired outcome is that the unreleasing reason is stored in the cargo release reason field.
💻 Technical Criteria
Given A cancel release operation is being processed with an unreleasing reason
When The system processes the cancel release request
Then The unreleasing reason is stored in the cargo release reason field
R-GCCCCREL-cbl-00043 Initialize Empty Station Record
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Initialize Empty Station Record', assuming that a station lookup has been performed, when the lookup service fails to find the station (return flag is not '0'), the desired outcome is that the station master record structure is initialized to empty values.
💻 Technical Criteria
EXCLUDING A station lookup has been performed
When The lookup service fails to find the station (return flag is not '0')
Then The station master record structure is initialized to empty values
R-GCCCCREL-cbl-00083 Initialize Empty Station Record
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Initialize Empty Station Record', assuming that station lookup failed with return flag not equal to '0', when the system needs to handle the lookup failure, the desired outcome is that the station record is initialized to empty values and the existing destination station number is used for indexing.
💻 Technical Criteria
EXCLUDING Station lookup failed with return flag not equal to '0'
When The system needs to handle the lookup failure
Then The station record is initialized to empty values and the existing destination station number is used for indexing
R-GCCCCREL-cbl-00045 Update Status to 'L' Local
Decision Rules
📊 Business Logic Narrative
When the process 'Update Status to 'L' Local' is invoked, and assuming that a cargo release is being canceled and the cargo has an in-transit status, when the current in-transit status is 'z' (in-transit-zulu) or 'e' (in-transit-echo), the desired outcome is that the in-transit status must be updated to 'l' (local) to indicate the cargo is now considered local rather than in transit.
💻 Technical Criteria
Given A cargo release is being canceled and the cargo has an in-transit status
When The current in-transit status is 'Z' (In-Transit-Zulu) or 'E' (In-Transit-Echo)
Then The in-transit status must be updated to 'L' (Local) to indicate the cargo is now considered local rather than in transit
R-GCCCCREL-cbl-00047 Initialize Log Entry Structure
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Log Entry Structure' is invoked, and assuming that a cargo release removal operation needs to be logged, when the system begins the audit logging process, the desired outcome is that the log entry structure is initialized to clear any previous data.
💻 Technical Criteria
Given A cargo release removal operation needs to be logged
When The system begins the audit logging process
Then The log entry structure is initialized to clear any previous data
R-GCCCCREL-cbl-00048 Set Action Code to 'Cargo Release Removed'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Action Code to 'Cargo Release Removed'' is invoked, and assuming that an audit log entry is being created for cargo release removal, when the system sets the action code in the log entry, the desired outcome is that the action code is set to log-cargo-release-removed to identify the type of operation.
💻 Technical Criteria
Given An audit log entry is being created for cargo release removal
When The system sets the action code in the log entry
Then The action code is set to LOG-CARGO-RELEASE-REMOVED to identify the type of operation
R-GCCCCREL-cbl-00051 Mark as Canadian Cargo
Definitional Rules
📊 Business Logic Narrative
When the process 'Mark as Canadian Cargo' is invoked, and assuming that an audit log entry is being created for cargo release removal, when the system sets the cargo type classification, the desired outcome is that the cargo type is set to gcx105-ca-cargo to indicate canadian cargo.
💻 Technical Criteria
Given An audit log entry is being created for cargo release removal
When The system sets the cargo type classification
Then The cargo type is set to GCX105-CA-CARGO to indicate Canadian cargo
R-GCCCCREL-cbl-00052 Copy Transaction Code to Log
Process Rules
📊 Business Logic Narrative
When the process 'Copy Transaction Code to Log' is invoked, and assuming that a cargo release removal operation is being logged, when the system records the originating transaction, the desired outcome is that the transaction code from cc-trans-code is copied to gcx105-sending-transaction in the log entry.
💻 Technical Criteria
Given A cargo release removal operation is being logged
When The system records the originating transaction
Then The transaction code from CC-TRANS-CODE is copied to GCX105-SENDING-TRANSACTION in the log entry
R-GCCCCREL-cbl-00053 Copy User ID to Log
Process Rules
📊 Business Logic Narrative
When the process 'Copy User ID to Log' is invoked, and assuming that a cargo release removal is being performed by a user, when the system creates the audit log entry, the desired outcome is that the user id from cc-acf2-userid is copied to gcx105-acf2-id in the log entry.
💻 Technical Criteria
Given A cargo release removal is being performed by a user
When The system creates the audit log entry
Then The user ID from CC-ACF2-USERID is copied to GCX105-ACF2-ID in the log entry
R-GCCCCREL-cbl-00056 Send Log Message to Audit System
Action Rules
📊 Business Logic Narrative
When the process 'Send Log Message to Audit System' is invoked, and assuming that a complete audit log entry has been prepared for cargo release removal, when the system sends the log message to the audit system, the desired outcome is that the log entry is transmitted via gct1051e message to the external audit system for processing.
💻 Technical Criteria
Given A complete audit log entry has been prepared for cargo release removal
When The system sends the log message to the audit system
Then The log entry is transmitted via GCT1051E message to the external audit system for processing
R-GCCCCREL-cbl-00084 Set Security Level to High
Policy Rules
📊 Business Logic Narrative
When the process 'Set Security Level to High' is invoked, and assuming that a cargo release removal audit log message is being prepared, when the system initializes the security settings for the log message, the desired outcome is that the security byte must be set to high values to indicate maximum security level.
💻 Technical Criteria
Given A cargo release removal audit log message is being prepared
When The system initializes the security settings for the log message
Then The security byte must be set to high values to indicate maximum security level
R-GCCCCREL-cbl-00086 Set Cargo Type as Canadian
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Cargo Type as Canadian' is invoked, and assuming that an audit log message is being created for cargo release removal, when the system sets the cargo type classification, the desired outcome is that the cargo type must be set to ca-cargo to indicate canadian cargo.
💻 Technical Criteria
Given An audit log message is being created for cargo release removal
When The system sets the cargo type classification
Then The cargo type must be set to CA-CARGO to indicate Canadian cargo
R-GCCCCREL-cbl-00087 Add Transaction Code
Process Rules
📊 Business Logic Narrative
When the process 'Add Transaction Code' is invoked, and assuming that a cargo release removal audit log is being prepared, when the system captures transaction details, the desired outcome is that the transaction code from the common communication area must be copied to the sending transaction field in the audit log.
💻 Technical Criteria
Given A cargo release removal audit log is being prepared
When The system captures transaction details
Then The transaction code from the common communication area must be copied to the sending transaction field in the audit log
R-GCCCCREL-cbl-00088 Add User ID
Authorization Rules
📊 Business Logic Narrative
When the process 'Add User ID' is invoked, and assuming that a user performs a cargo release removal action, when the system creates the audit log entry, the desired outcome is that the acf2 user id from the common communication area must be recorded in the audit log acf2 id field.
💻 Technical Criteria
Given A user performs a cargo release removal action
When The system creates the audit log entry
Then The ACF2 user ID from the common communication area must be recorded in the audit log ACF2 ID field
R-GCCCCREL-cbl-00089 Add Current Date and Time
Process Rules
📊 Business Logic Narrative
When the process 'Add Current Date and Time' is invoked, and assuming that a cargo release removal action is being logged, when the system prepares timestamp information, the desired outcome is that the machine century, date, and time from the common communication area must be copied to the audit log work date and time fields.
💻 Technical Criteria
Given A cargo release removal action is being logged
When The system prepares timestamp information
Then The machine century, date, and time from the common communication area must be copied to the audit log work date and time fields
R-GCCCCREL-cbl-00057 Set Message ID to GCW123
Process Rules
📊 Business Logic Narrative
When the process 'Set Message ID to GCW123' is invoked, and assuming that a cargo release process is initiated, when the system prepares release notification message, the desired outcome is that the message id is set to gcw123 and manual release flag is set to true.
💻 Technical Criteria
Given A cargo release process is initiated
When The system prepares release notification message
Then The message ID is set to GCW123 and manual release flag is set to true
R-GCCCCREL-cbl-00061 Is Cargo Export Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Cargo Export Type?' is invoked, and assuming that a cargo release notification is being processed, when the system checks if the cargo is classified as export type, the desired outcome is that if cargo is export type, notification generation is skipped; otherwise notification is generated.
💻 Technical Criteria
Given A cargo release notification is being processed
When The system checks if the cargo is classified as export type
Then If cargo is export type, notification generation is skipped; otherwise notification is generated
R-GCCCCREL-cbl-00062 Send Message via CIMS
Action Rules
📊 Business Logic Narrative
When the process 'Send Message via CIMS' is invoked, and assuming that a non-export cargo release notification is ready to be sent, when the system processes the notification request, the desired outcome is that the gct1231e message is prepared, sent via cims, logged, and the message queue is purged.
💻 Technical Criteria
Given A non-export cargo release notification is ready to be sent
When The system processes the notification request
Then The GCT1231E message is prepared, sent via CIMS, logged, and the message queue is purged
R-GCCCCREL-cbl-00094 Send Message to Queue
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Send Message to Queue', assuming that a cargo release is being processed with message content prepared, when the release operation is not an export type, the desired outcome is that the system sends a gct1231e notification message through cims messaging system.
💻 Technical Criteria
EXCLUDING A cargo release is being processed with message content prepared
When The release operation is not an export type
Then The system sends a GCT1231E notification message through CIMS messaging system
R-GCCCCREL-cbl-00063 Setup Retrieval Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Setup Retrieval Parameters' is invoked, and assuming that a manifest data retrieval operation is initiated, when the system prepares to access manifest data, the desired outcome is that the retrieval parameters are set to target canadian manifest cargo records with get unique function and no index usage.
💻 Technical Criteria
Given A manifest data retrieval operation is initiated
When The system prepares to access manifest data
Then The retrieval parameters are set to target Canadian manifest cargo records with GET UNIQUE function and no index usage
R-GCCCCREL-cbl-00069 Set Target Segment to Canadian Manifest Cargo
Action Rules
📊 Business Logic Narrative
When the process 'Set Target Segment to Canadian Manifest Cargo' is invoked, and assuming that the system is preparing to update manifest data, when the target segment needs to be identified, the desired outcome is that the system sets the target to canadian manifest cargo segment (gcsccrt).
💻 Technical Criteria
Given The system is preparing to update manifest data
When The target segment needs to be identified
Then The system sets the target to Canadian manifest cargo segment (GCSCCRT)
R-GCCCCREL-cbl-00070 Set Function to Replace Record
Action Rules
📊 Business Logic Narrative
When the process 'Set Function to Replace Record' is invoked, and assuming that the target segment has been identified as canadian manifest cargo, when the update function type needs to be specified, the desired outcome is that the system sets the function to replace (repl) the existing record.
💻 Technical Criteria
Given The target segment has been identified as Canadian manifest cargo
When The update function type needs to be specified
Then The system sets the function to replace (REPL) the existing record
R-GCCCCREL-cbl-00071 Execute Manifest Record Update
Action Rules
📊 Business Logic Narrative
When the process 'Execute Manifest Record Update' is invoked, and assuming that update parameters are initialized and function is set to replace, when the system executes the manifest update, the desired outcome is that the canadian manifest cargo record is updated with the modified release information using the gccccio program.
💻 Technical Criteria
Given Update parameters are initialized and function is set to replace
When The system executes the manifest update
Then The Canadian manifest cargo record is updated with the modified release information using the GCCCCIO program

Module Tracker: GCCS309C

499 Validations & Rules
Module Objective: No description provided from architecture analysis.
⚙️ General Logic & Formats 21 logic blocks
R-GCCS309C-cbl-00015 32:Post-Emanifest Amendment Flag?
Decision Rules
📊 Business Logic Narrative
When the process '32:Post-Emanifest Amendment Flag?' is invoked, and assuming that a manifest is being processed, when the post-emanifest amendment flag is set to true, the desired outcome is that the system should process the m13 amendment segment.
💻 Technical Criteria
Given A manifest is being processed
When The post-emanifest amendment flag is set to true
Then The system should process the M13 amendment segment
R-GCCS309C-cbl-00049 Set Post-Emanifest Amendment Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Post-Emanifest Amendment Flag' is invoked, and assuming that a manifest qualifies for post-emanifest amendment processing, when the purpose code is set to 'co', the desired outcome is that the post-emanifest amendment flag should be set to true.
💻 Technical Criteria
Given A manifest qualifies for post-emanifest amendment processing
When The purpose code is set to 'CO'
Then The post-emanifest amendment flag should be set to true
R-GCCS309C-cbl-00051 Consignee CHOP and Commodity Code present?
Validation Rules
📊 Business Logic Narrative
When the process 'Consignee CHOP and Commodity Code present?' is invoked, and assuming that a shipment manifest with consignee chop and commodity code fields, when the system checks for automotive release eligibility, the desired outcome is that the system should only proceed with au table lookup if both consignee chop and commodity code are not spaces.
💻 Technical Criteria
Given A shipment manifest with consignee CHOP and commodity code fields
When The system checks for automotive release eligibility
Then The system should only proceed with AU table lookup if both consignee CHOP and commodity code are not spaces
R-GCCS309C-cbl-00052 Access AU Table with CHOP and Commodity Code
Action Rules
📊 Business Logic Narrative
When the process 'Access AU Table with CHOP and Commodity Code' is invoked, and assuming that valid consignee chop and commodity code are present, when the system performs au table lookup, the desired outcome is that the system should query the au table with table id 'au', chop as key-chop, and commodity code as key-commodity.
💻 Technical Criteria
Given Valid consignee CHOP and commodity code are present
When The system performs AU table lookup
Then The system should query the AU table with table ID 'AU', CHOP as key-chop, and commodity code as key-commodity
R-GCCS309C-cbl-00054 Origin Country is US, CA, or blank?
Decision Rules
📊 Business Logic Narrative
When the process 'Origin Country is US, CA, or blank?' is invoked, and assuming that a valid au table entry exists for the shipment, when the system evaluates origin country for automotive eligibility, the desired outcome is that the system should consider the shipment eligible for automotive processing if origin country is 'us', 'ca', or blank spaces.
💻 Technical Criteria
Given A valid AU table entry exists for the shipment
When The system evaluates origin country for automotive eligibility
Then The system should consider the shipment eligible for automotive processing if origin country is 'US', 'CA', or blank spaces
R-GCCS309C-cbl-00055 Origin Country is MX and AU Type 2nd char is 'C'?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Origin Country is MX and AU Type 2nd char is 'C'?', assuming that a valid au table entry exists and origin country is not us, ca, or blank, when the system evaluates mexican origin shipments, the desired outcome is that the system should consider the shipment eligible for automotive processing if origin country is 'mx' and the second character of au type is 'c'.
💻 Technical Criteria
EXCLUDING A valid AU table entry exists and origin country is not US, CA, or blank
When The system evaluates Mexican origin shipments
Then The system should consider the shipment eligible for automotive processing if origin country is 'MX' and the second character of AU type is 'C'
R-GCCS309C-cbl-00089 Arrival indicator or specific program?
Decision Rules
📊 Business Logic Narrative
When the process 'Arrival indicator or specific program?' is invoked, and assuming that a manifest is being processed, when the manifest type code needs to be determined, the desired outcome is that if arrival indicator is 'y' or the calling program is 'gcx148', set manifest type to 'a' for arrival.
💻 Technical Criteria
Given A manifest is being processed
When The manifest type code needs to be determined
Then If arrival indicator is 'Y' or the calling program is 'GCX148', set manifest type to 'A' for Arrival
R-GCCS309C-cbl-00090 Set manifest type to 'A' for Arrival
Definitional Rules
📊 Business Logic Narrative
When the process 'Set manifest type to 'A' for Arrival' is invoked, and assuming that the arrival indicator is 'y' or the calling program is 'gcx148', when the manifest type code is being set, the desired outcome is that the manifest type code is set to 'a' indicating an arrival manifest.
💻 Technical Criteria
Given The arrival indicator is 'Y' or the calling program is 'GCX148'
When The manifest type code is being set
Then The manifest type code is set to 'A' indicating an arrival manifest
R-GCCS309C-cbl-00112 Set quantity to 1
Definitional Rules
📊 Business Logic Narrative
When the process 'Set quantity to 1' is invoked, and assuming that a p4 segment is being processed, when the system sets the quantity field, the desired outcome is that the p4 quantity field is set to 1.
💻 Technical Criteria
Given A P4 segment is being processed
When The system sets the quantity field
Then The P4 quantity field is set to 1
R-GCCS309C-cbl-00121 Set assigned number to '000001'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set assigned number to '000001'' is invoked, and assuming that an lx segment with identifier set, when the system assigns the line number for shipment grouping, the desired outcome is that the assigned number is set to '000001' as the first and only shipment group.
💻 Technical Criteria
Given An LX segment with identifier set
When The system assigns the line number for shipment grouping
Then The assigned number is set to '000001' as the first and only shipment group
R-GCCS309C-cbl-00127 Set segment identifier to 'M13'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set segment identifier to 'M13'' is invoked, and assuming that an m13 segment is being created for manifest amendment, when the segment identifier needs to be set, the desired outcome is that the segment identifier should be set to 'm13'.
💻 Technical Criteria
Given An M13 segment is being created for manifest amendment
When The segment identifier needs to be set
Then The segment identifier should be set to 'M13'
R-GCCS309C-cbl-00146 Shipment is consolidated?
Decision Rules
📊 Business Logic Narrative
When the process 'Shipment is consolidated?' is invoked, and assuming that a manifest has a consolidated indicator, when the consolidated indicator is 'y', the desired outcome is that the bol type code should be set to 'y', otherwise it should be left as spaces.
💻 Technical Criteria
Given A manifest has a consolidated indicator
When The consolidated indicator is 'Y'
Then The BOL type code should be set to 'Y', otherwise it should be left as spaces
R-GCCS309C-cbl-00148 Set SCAC code to 'CPRS'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set SCAC code to 'CPRS'' is invoked, and assuming that an m11 segment requires a scac code, when setting the primary scac code, the desired outcome is that the scac code should be set to 'cprs'.
💻 Technical Criteria
Given An M11 segment requires a SCAC code
When Setting the primary SCAC code
Then The SCAC code should be set to 'CPRS'
R-GCCS309C-cbl-00176 Create CPR address segment
Process Rules
📊 Business Logic Narrative
When the process 'Create CPR address segment' is invoked, and assuming that the canadian pacific railway entity segment has been created, when the system creates the cpr address segment, the desired outcome is that the system creates an n3 segment with identifier 'n3' and address '7550 ogdendale rd s.e.'.
💻 Technical Criteria
Given The Canadian Pacific Railway entity segment has been created
When The system creates the CPR address segment
Then The system creates an N3 segment with identifier 'N3' and address '7550 OGDENDALE RD S.E.'
R-GCCS309C-cbl-00412 Complete Address Available?
Validation Rules
📊 Business Logic Narrative
When the process 'Complete Address Available?' is invoked, and assuming that entity has valid 5040 entity code, when address completeness is evaluated, the desired outcome is that check that city name and country code are not spaces, and for us/ca countries, postal code and state/province code are not spaces.
💻 Technical Criteria
Given Entity has valid 5040 entity code
When Address completeness is evaluated
Then Check that city name AND country code are not SPACES, AND for US/CA countries, postal code AND state/province code are not SPACES
R-GCCS309C-cbl-00420 Add Railway Entity - Canadian Pacific
Process Rules
📊 Business Logic Narrative
When the process 'Add Railway Entity - Canadian Pacific' is invoked, and assuming that all manifest entities have been processed, when standard railway entity needs to be added, the desired outcome is that create n1 segment with entity id 'rr' and name 'canadian pacific railway'.
💻 Technical Criteria
Given All manifest entities have been processed
When Standard railway entity needs to be added
Then Create N1 segment with entity ID 'RR' and name 'CANADIAN PACIFIC RAILWAY'
R-GCCS309C-cbl-00483 Consignee CHOP and Commodity Code exist?
Validation Rules
📊 Business Logic Narrative
When the process 'Consignee CHOP and Commodity Code exist?' is invoked, and assuming that a manifest with consignee chop and commodity code fields, when the system checks for automotive release eligibility, the desired outcome is that the system should verify both consignee chop and commodity code are not spaces before accessing the au table.
💻 Technical Criteria
Given A manifest with consignee CHOP and commodity code fields
When The system checks for automotive release eligibility
Then The system should verify both consignee CHOP and commodity code are not spaces before accessing the AU table
R-GCCS309C-cbl-00485 AU Table Entry Found?
Validation Rules
📊 Business Logic Narrative
When the process 'AU Table Entry Found?' is invoked, and assuming that an au table lookup has been performed, when the system evaluates the lookup result, the desired outcome is that the system should check if the return flag indicates successful retrieval of au table data.
💻 Technical Criteria
Given An AU table lookup has been performed
When The system evaluates the lookup result
Then The system should check if the return flag indicates successful retrieval of AU table data
R-GCCS309C-cbl-00282 Set Century to '20'
Computation Rules
📊 Business Logic Narrative
When the process 'Set Century to '20'' is invoked, and assuming that a two-digit year less than 90, when building complete gregorian date, the desired outcome is that set century component to '20'.
💻 Technical Criteria
Given A two-digit year less than 90
When Building complete Gregorian date
Then Set century component to '20'
R-GCCS309C-cbl-00283 Set Century to '19'
Computation Rules
📊 Business Logic Narrative
When the process 'Set Century to '19'' is invoked, and assuming that a two-digit year greater than or equal to 90, when building complete gregorian date, the desired outcome is that set century component to '19'.
💻 Technical Criteria
Given A two-digit year greater than or equal to 90
When Building complete Gregorian date
Then Set century component to '19'
R-GCCS309C-cbl-00318 Purge Alt-PCB
Process Rules
📊 Business Logic Narrative
When the process 'Purge Alt-PCB' is invoked, and assuming that tpe environment message has been logged, when message queue cleanup is required, the desired outcome is that the alternate pcb is purged using cims call.
💻 Technical Criteria
Given TPE environment message has been logged
When Message queue cleanup is required
Then The alternate PCB is purged using CIMS call

🏷️ CCN & Waybill Identification 51 logic blocks
R-GCCS309C-cbl-00002 2:Initialize manifest data retrieval
Action Rules
📊 Business Logic Narrative
When the process '2:Initialize manifest data retrieval' is invoked, and assuming that a ccn key is provided for manifest processing, when the system initializes manifest data retrieval, the desired outcome is that the system should fetch all manifest segments and set up data structures for processing.
💻 Technical Criteria
Given A CCN key is provided for manifest processing
When The system initializes manifest data retrieval
Then The system should fetch all manifest segments and set up data structures for processing
R-GCCS309C-cbl-00013 10:P4 Segment Processing
Computation Rules
📊 Business Logic Narrative
When the process '10:P4 Segment Processing' is invoked, and assuming that a manifest requires eta date processing, when the destination is 309-destination, the desired outcome is that the system should use current machine date, otherwise use border arrival eta or calculate from waybill date plus configured days if eta is blank.
💻 Technical Criteria
Given A manifest requires ETA date processing
When The destination is 309-DESTINATION
Then The system should use current machine date, otherwise use border arrival ETA or calculate from waybill date plus configured days if ETA is blank
R-GCCS309C-cbl-00016 12:M13 Segment Processing
Process Rules
📊 Business Logic Narrative
When the process '12:M13 Segment Processing' is invoked, and assuming that a post-emanifest amendment is required, when the m13 segment is processed, the desired outcome is that the system should create m13 segment with scac 'cprs', manifest from station name, ccn key, and amendment code '60' if blank or use existing amendment code.
💻 Technical Criteria
Given A post-emanifest amendment is required
When The M13 segment is processed
Then The system should create M13 segment with SCAC 'CPRS', manifest from station name, CCN key, and amendment code '60' if blank or use existing amendment code
R-GCCS309C-cbl-00017 13:M11 Segment Processing
Decision Rules
📊 Business Logic Narrative
When the process '13:M11 Segment Processing' is invoked, and assuming that a manifest has consolidated shipment information, when the consolidated indicator is 'y', the desired outcome is that the system should set bill of lading type code to 'y', otherwise set to spaces.
💻 Technical Criteria
Given A manifest has consolidated shipment information
When The consolidated indicator is 'Y'
Then The system should set bill of lading type code to 'Y', otherwise set to spaces
R-GCCS309C-cbl-00036 Set CCN Key from Input Parameter
Process Rules
📊 Business Logic Narrative
When the process 'Set CCN Key from Input Parameter' is invoked, and assuming that a manifest processing request is initiated with input parameters containing a ccn key, when the initialization process begins, the desired outcome is that the system sets the ccn key from the input parameter to enable manifest data retrieval.
💻 Technical Criteria
Given A manifest processing request is initiated with input parameters containing a CCN key
When The initialization process begins
Then The system sets the CCN key from the input parameter to enable manifest data retrieval
R-GCCS309C-cbl-00039 Call Database Access Module GCCCCIO2
Action Rules
📊 Business Logic Narrative
When the process 'Call Database Access Module GCCCCIO2' is invoked, and assuming that database access parameters are configured and ccn key is set, when the system needs to retrieve manifest data, the desired outcome is that the system calls the gccccio2 module with all required parameters including cccom, gcwccio2, manifest segments, and working storage arrays.
💻 Technical Criteria
Given Database access parameters are configured and CCN key is set
When The system needs to retrieve manifest data
Then The system calls the GCCCCIO2 module with all required parameters including CCCOM, GCWCCIO2, manifest segments, and working storage arrays
R-GCCS309C-cbl-00372 Set CCN Key from Input
Process Rules
📊 Business Logic Narrative
When the process 'Set CCN Key from Input' is invoked, and assuming that a manifest processing request is initiated with input ccn key, when the system prepares to retrieve manifest data from the database, the desired outcome is that the ccn key from input is assigned to the database query key field.
💻 Technical Criteria
Given A manifest processing request is initiated with input CCN key
When The system prepares to retrieve manifest data from the database
Then The CCN key from input is assigned to the database query key field
R-GCCS309C-cbl-00376 Set Index Not Used Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Index Not Used Flag' is invoked, and assuming that a manifest lookup is performed using a specific ccn key, when the system configures the database access method, the desired outcome is that the index not used flag is set to true to perform direct key access.
💻 Technical Criteria
Given A manifest lookup is performed using a specific CCN key
When The system configures the database access method
Then The index not used flag is set to true to perform direct key access
R-GCCS309C-cbl-00076 Initialize ST segment structure
Process Rules
📊 Business Logic Narrative
When the process 'Initialize ST segment structure' is invoked, and assuming that a new st segment needs to be created for edi transmission, when the st segment processing begins, the desired outcome is that the st segment structure is initialized, sequence number is incremented by 1, and st identifier is set to 'st '.
💻 Technical Criteria
Given A new ST segment needs to be created for EDI transmission
When The ST segment processing begins
Then The ST segment structure is initialized, sequence number is incremented by 1, and ST identifier is set to 'ST '
R-GCCS309C-cbl-00081 Create ST segment in transmission
Action Rules
📊 Business Logic Narrative
When the process 'Create ST segment in transmission' is invoked, and assuming that the st segment data has been populated with destination and transaction type, when the segment needs to be added to the transmission, the desired outcome is that the st segment is moved to transmission data, sequence number is assigned, and the segment is created in the transmission via c200-create-trans-dept.
💻 Technical Criteria
Given The ST segment data has been populated with destination and transaction type
When The segment needs to be added to the transmission
Then The ST segment is moved to transmission data, sequence number is assigned, and the segment is created in the transmission via C200-CREATE-TRANS-DEPT
R-GCCS309C-cbl-00086 CCN creation date valid?
Validation Rules
📊 Business Logic Narrative
When the process 'CCN creation date valid?' is invoked, and assuming that a manifest has a ccn creation date field, when the flight voyage number needs to be determined, the desired outcome is that if the ccn creation date is not numeric or equals zero, use machine date; otherwise use the ccn creation date.
💻 Technical Criteria
Given A manifest has a CCN creation date field
When The flight voyage number needs to be determined
Then If the CCN creation date is not numeric or equals zero, use machine date; otherwise use the CCN creation date
R-GCCS309C-cbl-00087 Use machine date for flight/voyage number
Computation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use machine date for flight/voyage number', assuming that the ccn creation date is not numeric or equals zero, when the flight voyage number is being calculated, the desired outcome is that the machine century and machine date are concatenated and used as the flight voyage number.
💻 Technical Criteria
EXCLUDING The CCN creation date is not numeric or equals zero
When The flight voyage number is being calculated
Then The machine century and machine date are concatenated and used as the flight voyage number
R-GCCS309C-cbl-00088 Convert CCN creation date to flight/voyage number
Computation Rules
📊 Business Logic Narrative
When the process 'Convert CCN creation date to flight/voyage number' is invoked, and assuming that the ccn creation date is numeric and non-zero, when the flight voyage number is being calculated, the desired outcome is that if the year is less than 90, prefix with '20'; otherwise prefix with '19', then convert to julian format.
💻 Technical Criteria
Given The CCN creation date is numeric and non-zero
When The flight voyage number is being calculated
Then If the year is less than 90, prefix with '20'; otherwise prefix with '19', then convert to Julian format
R-GCCS309C-cbl-00096 Set reference number to CCN key
Definitional Rules
📊 Business Logic Narrative
When the process 'Set reference number to CCN key' is invoked, and assuming that a manifest has a ccn key, when the m10 segment reference number is being set, the desired outcome is that the reference number is set to the ccn key value.
💻 Technical Criteria
Given A manifest has a CCN key
When The M10 segment reference number is being set
Then The reference number is set to the CCN key value
R-GCCS309C-cbl-00104 Add segment to EDI transmission
Process Rules
📊 Business Logic Narrative
When the process 'Add segment to EDI transmission' is invoked, and assuming that the m10 segment has been formatted and populated, when the segment is ready for transmission, the desired outcome is that the segment is added to the edi transmission with an incremented sequence number.
💻 Technical Criteria
Given The M10 segment has been formatted and populated
When The segment is ready for transmission
Then The segment is added to the EDI transmission with an incremented sequence number
R-GCCS309C-cbl-00110 Calculate ETA by adding days to waybill date
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate ETA by adding days to waybill date' is invoked, and assuming that a p4 segment is being processed and border arrival eta is empty, when the system calculates a new eta date, the desired outcome is that the system adds ws-days-for-eta to the waybill date using date calculation service and updates the border arrival eta if successful.
💻 Technical Criteria
Given A P4 segment is being processed and border arrival ETA is empty
When The system calculates a new ETA date
Then The system adds WS-DAYS-FOR-ETA to the waybill date using date calculation service and updates the border arrival ETA if successful
R-GCCS309C-cbl-00114 Add sequence number
Process Rules
📊 Business Logic Narrative
When the process 'Add sequence number' is invoked, and assuming that a p4 segment is ready for transmission, when the system assigns sequence numbering, the desired outcome is that the sequence number is incremented by 1 and assigned to the p4 segment.
💻 Technical Criteria
Given A P4 segment is ready for transmission
When The system assigns sequence numbering
Then The sequence number is incremented by 1 and assigned to the P4 segment
R-GCCS309C-cbl-00122 Increment sequence number
Process Rules
📊 Business Logic Narrative
When the process 'Increment sequence number' is invoked, and assuming that lx segment data is prepared for transmission, when the system processes the segment for transmission, the desired outcome is that the transmission sequence number is incremented by 1 and assigned to the segment.
💻 Technical Criteria
Given LX segment data is prepared for transmission
When The system processes the segment for transmission
Then The transmission sequence number is incremented by 1 and assigned to the segment
R-GCCS309C-cbl-00124 Move LX segment to transmission data
Process Rules
📊 Business Logic Narrative
When the process 'Move LX segment to transmission data' is invoked, and assuming that a properly formatted lx segment with sequence number assigned, when the system prepares the segment for transmission, the desired outcome is that the lx segment data is moved to the transmission data structure.
💻 Technical Criteria
Given A properly formatted LX segment with sequence number assigned
When The system prepares the segment for transmission
Then The LX segment data is moved to the transmission data structure
R-GCCS309C-cbl-00130 Set BOL/WB number from CCN key
Definitional Rules
📊 Business Logic Narrative
When the process 'Set BOL/WB number from CCN key' is invoked, and assuming that a manifest has a valid ccn key, when creating an m13 amendment segment, the desired outcome is that the bol/wb number should be set to the ccn key value.
💻 Technical Criteria
Given A manifest has a valid CCN key
When Creating an M13 amendment segment
Then The BOL/WB number should be set to the CCN key value
R-GCCS309C-cbl-00134 Increment sequence number
Process Rules
📊 Business Logic Narrative
When the process 'Increment sequence number' is invoked, and assuming that an m13 segment is ready for transmission, when the segment needs to be sequenced, the desired outcome is that the sequence number should be incremented by 1.
💻 Technical Criteria
Given An M13 segment is ready for transmission
When The segment needs to be sequenced
Then The sequence number should be incremented by 1
R-GCCS309C-cbl-00138 Initialize M11 segment structure
Process Rules
📊 Business Logic Narrative
When the process 'Initialize M11 segment structure' is invoked, and assuming that the system needs to create an m11 segment for bill of lading information, when m11 segment processing begins, the desired outcome is that the m11 segment structure should be initialized to clear any previous data.
💻 Technical Criteria
Given The system needs to create an M11 segment for bill of lading information
When M11 segment processing begins
Then The M11 segment structure should be initialized to clear any previous data
R-GCCS309C-cbl-00139 Set segment identifier to 'M11'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set segment identifier to 'M11'' is invoked, and assuming that an m11 segment is being created for bill of lading information, when the segment identifier needs to be set, the desired outcome is that the segment identifier should be set to 'm11'.
💻 Technical Criteria
Given An M11 segment is being created for bill of lading information
When The segment identifier needs to be set
Then The segment identifier should be set to 'M11'
R-GCCS309C-cbl-00140 Set BOL/Waybill number from CCN key
Definitional Rules
📊 Business Logic Narrative
When the process 'Set BOL/Waybill number from CCN key' is invoked, and assuming that a manifest has a ccn key identifier, when creating the m11 segment for bill of lading information, the desired outcome is that the ccn key should be assigned as the bol/waybill number.
💻 Technical Criteria
Given A manifest has a CCN key identifier
When Creating the M11 segment for bill of lading information
Then The CCN key should be assigned as the BOL/Waybill number
R-GCCS309C-cbl-00150 Add sequence number
Process Rules
📊 Business Logic Narrative
When the process 'Add sequence number' is invoked, and assuming that an m11 segment is being prepared for transmission, when the segment needs a sequence number, the desired outcome is that the sequence number should be incremented by 1 and assigned to the segment.
💻 Technical Criteria
Given An M11 segment is being prepared for transmission
When The segment needs a sequence number
Then The sequence number should be incremented by 1 and assigned to the segment
R-GCCS309C-cbl-00153 Create transmission department record
Action Rules
📊 Business Logic Narrative
When the process 'Create transmission department record' is invoked, and assuming that an m11 segment is stored in transmission data with a sequence number, when the segment is ready for transmission, the desired outcome is that a transmission department record should be created through the c200-create-trans-dept procedure.
💻 Technical Criteria
Given An M11 segment is stored in transmission data with a sequence number
When The segment is ready for transmission
Then A transmission department record should be created through the C200-CREATE-TRANS-DEPT procedure
R-GCCS309C-cbl-00154 Destination Type Check
Decision Rules
📊 Business Logic Narrative
When the process 'Destination Type Check' is invoked, and assuming that a manifest is being processed for n9 reference segments, when the destination type is 309-destination-5040, the desired outcome is that skip eta and csa indicator n9 segment creation and proceed directly to previous ccn processing.
💻 Technical Criteria
Given A manifest is being processed for N9 reference segments
When The destination type is 309-DESTINATION-5040
Then Skip ETA and CSA indicator N9 segment creation and proceed directly to previous CCN processing
R-GCCS309C-cbl-00159 Previous CCN Exists?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Previous CCN Exists?', assuming that a manifest is being processed for n9 reference segments, when previous ccn (gccc-prev-ccn) is not spaces, the desired outcome is that create n9 segment with identifier 'n9', reference qualifier 'xp', and previous ccn as reference number.
💻 Technical Criteria
EXCLUDING A manifest is being processed for N9 reference segments
When Previous CCN (GCCC-PREV-CCN) is not spaces
Then Create N9 segment with identifier 'N9', reference qualifier 'XP', and previous CCN as reference number
R-GCCS309C-cbl-00160 Loop Through Additional Previous CCNs
Process Rules
📊 Business Logic Narrative
When the process 'Loop Through Additional Previous CCNs' is invoked, and assuming that a manifest has additional previous ccns stored in array gccc-prev-add-ccns, when processing additional previous ccns from index 1 to 4, the desired outcome is that for each non-space ccn, create n9 segment with same reference qualifier 'xp' and the ccn as reference number.
💻 Technical Criteria
Given A manifest has additional previous CCNs stored in array GCCC-PREV-ADD-CCNS
When Processing additional previous CCNs from index 1 to 4
Then For each non-space CCN, create N9 segment with same reference qualifier 'XP' and the CCN as reference number
R-GCCS309C-cbl-00162 Loop through entity records from database
Process Rules
📊 Business Logic Narrative
When the process 'Loop through entity records from database' is invoked, and assuming that entity records exist in the database with a maximum sequence of gcsccs99-s55-max-seq, when the system processes entity records sequentially from position 1, the desired outcome is that the system continues processing until it reaches the maximum sequence number or encounters an empty record (spaces or low-values).
💻 Technical Criteria
Given Entity records exist in the database with a maximum sequence of GCSCCS99-S55-MAX-SEQ
When The system processes entity records sequentially from position 1
Then The system continues processing until it reaches the maximum sequence number or encounters an empty record (spaces or low-values)
R-GCCS309C-cbl-00178 Get Entity Record from Database
Action Rules
📊 Business Logic Narrative
When the process 'Get Entity Record from Database' is invoked, and assuming that a manifest requires entity address processing, when the system processes entity records for n1-n3-n4 segment creation, the desired outcome is that entity records are retrieved from gcsccs55 cargo data array up to maximum sequence number.
💻 Technical Criteria
Given A manifest requires entity address processing
When The system processes entity records for N1-N3-N4 segment creation
Then Entity records are retrieved from GCSCCS55 cargo data array up to maximum sequence number
R-GCCS309C-cbl-00202 Increment sequence number
Process Rules
📊 Business Logic Narrative
When the process 'Increment sequence number' is invoked, and assuming that m12 segment is ready for transmission, when the system assigns sequence numbering, the desired outcome is that the sequence number is incremented by 1 and assigned to the m12 segment.
💻 Technical Criteria
Given M12 segment is ready for transmission
When The system assigns sequence numbering
Then The sequence number is incremented by 1 and assigned to the M12 segment
R-GCCS309C-cbl-00203 Create M12 segment for customs processing
Action Rules
📊 Business Logic Narrative
When the process 'Create M12 segment for customs processing' is invoked, and assuming that m12 segment is prepared with all required data and sequence number, when the system creates the segment for transmission, the desired outcome is that the m12 segment is created in the transmission system for customs processing.
💻 Technical Criteria
Given M12 segment is prepared with all required data and sequence number
When The system creates the segment for transmission
Then The M12 segment is created in the transmission system for customs processing
R-GCCS309C-cbl-00225 Create M7 transmission segment
Action Rules
📊 Business Logic Narrative
When the process 'Create M7 transmission segment' is invoked, and assuming that a formatted m7 segment with seal numbers and sequence number incremented, when the system creates the transmission segment, the desired outcome is that move the m7 segment to transmission data, set accept status to spaces, and perform transmission creation.
💻 Technical Criteria
Given A formatted M7 segment with seal numbers and sequence number incremented
When The system creates the transmission segment
Then Move the M7 segment to transmission data, set accept status to spaces, and perform transmission creation
R-GCCS309C-cbl-00236 Create primary N10 segment
Process Rules
📊 Business Logic Narrative
When the process 'Create primary N10 segment' is invoked, and assuming that all n10 segment fields have been populated with manifest data, when creating the primary n10 transmission segment, the desired outcome is that the n10 segment is created and added to the transmission with incremented sequence number.
💻 Technical Criteria
Given All N10 segment fields have been populated with manifest data
When Creating the primary N10 transmission segment
Then The N10 segment is created and added to the transmission with incremented sequence number
R-GCCS309C-cbl-00243 Create description N10 segment
Process Rules
📊 Business Logic Narrative
When the process 'Create description N10 segment' is invoked, and assuming that an n10 segment with description text and zero quantity is prepared, when creating the description n10 transmission segment, the desired outcome is that the n10 segment is created and added to the transmission with incremented sequence number.
💻 Technical Criteria
Given An N10 segment with description text and zero quantity is prepared
When Creating the description N10 transmission segment
Then The N10 segment is created and added to the transmission with incremented sequence number
R-GCCS309C-cbl-00251 Increment sequence number
Process Rules
📊 Business Logic Narrative
When the process 'Increment sequence number' is invoked, and assuming that a new n10 segment has been created for description content, when the segment needs to be assigned a sequence number, the desired outcome is that the sequence number is incremented by 1 to maintain proper edi transmission ordering.
💻 Technical Criteria
Given A new N10 segment has been created for description content
When The segment needs to be assigned a sequence number
Then The sequence number is incremented by 1 to maintain proper EDI transmission ordering
R-GCCS309C-cbl-00252 Create dependent segment in transmission
Action Rules
📊 Business Logic Narrative
When the process 'Create dependent segment in transmission' is invoked, and assuming that an n10 segment has been fully populated with description data and sequence number, when the segment is ready for transmission, the desired outcome is that the segment is created as a dependent segment in the edi transmission structure.
💻 Technical Criteria
Given An N10 segment has been fully populated with description data and sequence number
When The segment is ready for transmission
Then The segment is created as a dependent segment in the EDI transmission structure
R-GCCS309C-cbl-00262 Set CCN Key for Follower Search
Process Rules
📊 Business Logic Narrative
When the process 'Set CCN Key for Follower Search' is invoked, and assuming that initialized follower processing environment, when the system prepares to search for follower cars, the desired outcome is that the system assigns the main manifest ccn key (gccc-ccn-key) to the follower search key (gcb0rt-ccn-key).
💻 Technical Criteria
Given Initialized follower processing environment
When The system prepares to search for follower cars
Then The system assigns the main manifest CCN key (GCCC-CCN-KEY) to the follower search key (GCB0RT-CCN-KEY)
R-GCCS309C-cbl-00432 Initialize End-of-Followers Flag
Process Rules
📊 Business Logic Narrative
When the process 'Initialize End-of-Followers Flag' is invoked, and assuming that a manifest contains idler shipment indicator and customs notification is required, when the system begins processing follower cars, the desired outcome is that the end-of-followers flag is cleared and ccn key is set for database retrieval.
💻 Technical Criteria
Given A manifest contains idler shipment indicator and customs notification is required
When The system begins processing follower cars
Then The end-of-followers flag is cleared and CCN key is set for database retrieval
R-GCCS309C-cbl-00433 Set CCN Key for Database Query
Process Rules
📊 Business Logic Narrative
When the process 'Set CCN Key for Database Query' is invoked, and assuming that idler car processing has been initiated, when the system prepares to query the database for follower cars, the desired outcome is that the ccn key is set to the main manifest ccn and database function is set to get unique.
💻 Technical Criteria
Given Idler car processing has been initiated
When The system prepares to query the database for follower cars
Then The CCN key is set to the main manifest CCN and database function is set to Get Unique
R-GCCS309C-cbl-00472 Set CCN Key for Database Search
Process Rules
📊 Business Logic Narrative
When the process 'Set CCN Key for Database Search' is invoked, and assuming that a manifest ccn key exists for the current shipment, when the system needs to search for associated follower cars, the desired outcome is that the ccn key is set as the database search parameter for follower car retrieval.
💻 Technical Criteria
Given A manifest CCN key exists for the current shipment
When The system needs to search for associated follower cars
Then The CCN key is set as the database search parameter for follower car retrieval
R-GCCS309C-cbl-00278 Is CCN Creation Date Numeric and Not Zero?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is CCN Creation Date Numeric and Not Zero?', assuming that a manifest record with ccn creation date field, when the ccn creation date is not numeric or equals zero, the desired outcome is that use current machine century and date for edi processing.
💻 Technical Criteria
EXCLUDING A manifest record with CCN creation date field
When The CCN creation date is not numeric or equals zero
Then Use current machine century and date for EDI processing
R-GCCS309C-cbl-00279 Use Current Machine Date
Computation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Current Machine Date', assuming that ccn creation date is not numeric or equals zero, when date conversion process requires a valid date, the desired outcome is that concatenate machine century and machine date into gregorian format for input date.
💻 Technical Criteria
EXCLUDING CCN creation date is not numeric or equals zero
When Date conversion process requires a valid date
Then Concatenate machine century and machine date into Gregorian format for input date
R-GCCS309C-cbl-00280 Extract Year from CCN Creation Date
Computation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Extract Year from CCN Creation Date', assuming that a valid numeric ccn creation date that is not zero, when processing date for edi transmission, the desired outcome is that move ccn creation date to year-month-day format for century determination.
💻 Technical Criteria
EXCLUDING A valid numeric CCN creation date that is not zero
When Processing date for EDI transmission
Then Move CCN creation date to year-month-day format for century determination
R-GCCS309C-cbl-00281 Year < 90?
Decision Rules
📊 Business Logic Narrative
When the process 'Year < 90?' is invoked, and assuming that a two-digit year extracted from ccn creation date, when the year value is less than 90, the desired outcome is that assign century as '20' for years 00-89, otherwise assign '19' for years 90-99.
💻 Technical Criteria
Given A two-digit year extracted from CCN creation date
When The year value is less than 90
Then Assign century as '20' for years 00-89, otherwise assign '19' for years 90-99
R-GCCS309C-cbl-00291 Extract waybill date from manifest
Process Rules
📊 Business Logic Narrative
When the process 'Extract waybill date from manifest' is invoked, and assuming that border arrival eta needs to be calculated and waybill date is available, when the system processes eta calculation, the desired outcome is that extract gccc-waybill-date-index and move it to dtcal-orig-date positions 3 through 6.
💻 Technical Criteria
Given Border arrival ETA needs to be calculated and waybill date is available
When The system processes ETA calculation
Then Extract GCCC-WAYBILL-DATE-INDEX and move it to DTCAL-ORIG-DATE positions 3 through 6
R-GCCS309C-cbl-00292 Get current machine century
Process Rules
📊 Business Logic Narrative
When the process 'Get current machine century' is invoked, and assuming that waybill date has been extracted for eta calculation, when the system prepares date calculation parameters, the desired outcome is that move cc-machine-century from cccom to dtcal-orig-date-yr positions 1 through 2.
💻 Technical Criteria
Given Waybill date has been extracted for ETA calculation
When The system prepares date calculation parameters
Then Move CC-MACHINE-CENTURY from CCCOM to DTCAL-ORIG-DATE-YR positions 1 through 2
R-GCCS309C-cbl-00331 Set Security and CCN Key
Action Rules
📊 Business Logic Narrative
When the process 'Set Security and CCN Key' is invoked, and assuming that broker notification processing is initiated, when the system initializes the gcx105 input structure, the desired outcome is that the system should set high-values to gcx105-security-byte, assign gccc-ccn-key to gcx105-train-or-us-ccn, and set gcx105-ca-cargo to true.
💻 Technical Criteria
Given Broker notification processing is initiated
When The system initializes the GCX105 input structure
Then The system should set HIGH-VALUES to GCX105-SECURITY-BYTE, assign GCCC-CCN-KEY to GCX105-TRAIN-OR-US-CCN, and set GCX105-CA-CARGO to TRUE
R-GCCS309C-cbl-00357 Create N9 Segment for Broker
Action Rules
📊 Business Logic Narrative
When the process 'Create N9 Segment for Broker' is invoked, and assuming that a fully populated n9 segment with reference qualifier and number for broker notifications, when the system needs to add this segment to the transmission, the desired outcome is that the segment is added to the transmission queue with an incremented sequence number and proper status code.
💻 Technical Criteria
Given A fully populated N9 segment with reference qualifier and number for broker notifications
When The system needs to add this segment to the transmission
Then The segment is added to the transmission queue with an incremented sequence number and proper status code
R-GCCS309C-cbl-00371 Create M7 segment with validated seal numbers
Process Rules
📊 Business Logic Narrative
When the process 'Create M7 segment with validated seal numbers' is invoked, and assuming that m7 segment has been populated with validated seal numbers, when the system creates the segment for transmission, the desired outcome is that replace underscores with spaces, increment sequence number, and create transmission department record.
💻 Technical Criteria
Given M7 segment has been populated with validated seal numbers
When The system creates the segment for transmission
Then Replace underscores with spaces, increment sequence number, and create transmission department record

💰 Bond & Financial Auth 21 logic blocks
R-GCCS309C-cbl-00022 18:M12 Segment Processing
Process Rules
📊 Business Logic Narrative
When the process '18:M12 Segment Processing' is invoked, and assuming that a manifest requires in-bond processing, when the m12 segment is created, the desired outcome is that the system should set in-bond type code to '61'.
💻 Technical Criteria
Given A manifest requires in-bond processing
When The M12 segment is created
Then The system should set in-bond type code to '61'
R-GCCS309C-cbl-00385 Access AU Table with CHOP and Commodity Code
Action Rules
📊 Business Logic Narrative
When the process 'Access AU Table with CHOP and Commodity Code' is invoked, and assuming that valid consignee chop and commodity code exist, when the system accesses the au table with these values as keys, the desired outcome is that retrieve the au table entry if it exists for further automotive determination.
💻 Technical Criteria
Given Valid consignee CHOP and commodity code exist
When The system accesses the AU table with these values as keys
Then Retrieve the AU table entry if it exists for further automotive determination
R-GCCS309C-cbl-00080 Move destination to ST-01 field
Process Rules
📊 Business Logic Narrative
When the process 'Move destination to ST-01 field' is invoked, and assuming that the destination and transaction type have been determined, when the st segment fields need to be populated, the desired outcome is that the work-destination value is moved to st-01-destination field and '309' is moved to st-02-transaction field.
💻 Technical Criteria
Given The destination and transaction type have been determined
When The ST segment fields need to be populated
Then The WORK-DESTINATION value is moved to ST-01-DESTINATION field and '309' is moved to ST-02-TRANSACTION field
R-GCCS309C-cbl-00084 Set country code from manifest origin country
Definitional Rules
📊 Business Logic Narrative
When the process 'Set country code from manifest origin country' is invoked, and assuming that a manifest has an origin country specified, when the m10 segment country code is being set, the desired outcome is that the country code is set to the value from the manifest origin country field.
💻 Technical Criteria
Given A manifest has an origin country specified
When The M10 segment country code is being set
Then The country code is set to the value from the manifest origin country field
R-GCCS309C-cbl-00099 Set purpose code to action code
Definitional Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set purpose code to action code', assuming that the conditions for post-emanifest amendment are not met, when the transaction purpose code is being set, the desired outcome is that the purpose code is set to the original action code value.
💻 Technical Criteria
EXCLUDING The conditions for post-emanifest amendment are not met
When The transaction purpose code is being set
Then The purpose code is set to the original action code value
R-GCCS309C-cbl-00109 Border arrival ETA exists?
Validation Rules
📊 Business Logic Narrative
When the process 'Border arrival ETA exists?' is invoked, and assuming that a p4 segment is being processed for non-309-destination type, when the system checks for existing border arrival eta, the desired outcome is that if border arrival eta is spaces or low-values, calculate new eta; otherwise, use existing eta.
💻 Technical Criteria
Given A P4 segment is being processed for non-309-DESTINATION type
When The system checks for existing border arrival ETA
Then If border arrival ETA is spaces or low-values, calculate new ETA; otherwise, use existing ETA
R-GCCS309C-cbl-00111 Use existing border arrival ETA
Definitional Rules
📊 Business Logic Narrative
When the process 'Use existing border arrival ETA' is invoked, and assuming that a p4 segment is being processed and border arrival eta contains valid data, when the system assigns the eta date, the desired outcome is that the p4 eta date is set to the existing border arrival eta value.
💻 Technical Criteria
Given A P4 segment is being processed and border arrival ETA contains valid data
When The system assigns the ETA date
Then The P4 ETA date is set to the existing border arrival ETA value
R-GCCS309C-cbl-00131 Amendment code exists?
Decision Rules
📊 Business Logic Narrative
When the process 'Amendment code exists?' is invoked, and assuming that an m13 amendment segment is being created, when the amendment code needs to be determined, the desired outcome is that if amendment code exists and is not spaces or low-values, use the existing code; otherwise use default code '60'.
💻 Technical Criteria
Given An M13 amendment segment is being created
When The amendment code needs to be determined
Then If amendment code exists and is not spaces or low-values, use the existing code; otherwise use default code '60'
R-GCCS309C-cbl-00132 Use existing amendment code from manifest
Definitional Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use existing amendment code from manifest', assuming that a manifest contains an amendment code that is not spaces or low-values, when creating an m13 amendment segment, the desired outcome is that the existing amendment code from the manifest should be used.
💻 Technical Criteria
EXCLUDING A manifest contains an amendment code that is not spaces or low-values
When Creating an M13 amendment segment
Then The existing amendment code from the manifest should be used
R-GCCS309C-cbl-00133 Set default amendment code to '60'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set default amendment code to '60'' is invoked, and assuming that a manifest amendment code is spaces or low-values, when creating an m13 amendment segment, the desired outcome is that the amendment code should be set to default value '60'.
💻 Technical Criteria
Given A manifest amendment code is spaces or low-values
When Creating an M13 amendment segment
Then The amendment code should be set to default value '60'
R-GCCS309C-cbl-00161 Loop Through Stored N9 References
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Loop Through Stored N9 References', assuming that a manifest has stored n9 reference data in arrays gccc-n901-ref-num-qual and gccc-n902-ref-num, when processing stored references from index 1 to 10 and reference qualifier is not spaces, high-values, or low-values, the desired outcome is that create n9 segment with identifier 'n9', stored reference qualifier, and stored reference number.
💻 Technical Criteria
EXCLUDING A manifest has stored N9 reference data in arrays GCCC-N901-REF-NUM-QUAL and GCCC-N902-REF-NUM
When Processing stored references from index 1 to 10 and reference qualifier is not spaces, high-values, or low-values
Then Create N9 segment with identifier 'N9', stored reference qualifier, and stored reference number
R-GCCS309C-cbl-00179 Entity Record Exists?
Validation Rules
📊 Business Logic Narrative
When the process 'Entity Record Exists?' is invoked, and assuming that an entity record is being processed for address validation, when the system checks if the entity record contains valid data, the desired outcome is that processing continues only if the record is not spaces or low-values, otherwise the record is skipped.
💻 Technical Criteria
Given An entity record is being processed for address validation
When The system checks if the entity record contains valid data
Then Processing continues only if the record is not spaces or low-values, otherwise the record is skipped
R-GCCS309C-cbl-00198 Set in-bond type code to '61'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set in-bond type code to '61'' is invoked, and assuming that a manifest requires m12 segment processing for customs, when the system creates the m12 segment, the desired outcome is that the in-bond type code is set to '61'.
💻 Technical Criteria
Given A manifest requires M12 segment processing for customs
When The system creates the M12 segment
Then The in-bond type code is set to '61'
R-GCCS309C-cbl-00199 Initialize M12 segment structure
Process Rules
📊 Business Logic Narrative
When the process 'Initialize M12 segment structure' is invoked, and assuming that m12 segment processing is required, when the system begins m12 segment creation, the desired outcome is that the m12 segment structure is initialized to clear any previous values.
💻 Technical Criteria
Given M12 segment processing is required
When The system begins M12 segment creation
Then The M12 segment structure is initialized to clear any previous values
R-GCCS309C-cbl-00200 Set segment identifier to 'M12'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set segment identifier to 'M12'' is invoked, and assuming that m12 segment structure is initialized, when the system populates the segment identifier, the desired outcome is that the segment identifier is set to 'm12'.
💻 Technical Criteria
Given M12 segment structure is initialized
When The system populates the segment identifier
Then The segment identifier is set to 'M12'
R-GCCS309C-cbl-00201 Prepare transmission data
Process Rules
📊 Business Logic Narrative
When the process 'Prepare transmission data' is invoked, and assuming that m12 segment is populated with required data, when the system prepares the segment for transmission, the desired outcome is that the m12 segment data is moved to the transmission data structure.
💻 Technical Criteria
Given M12 segment is populated with required data
When The system prepares the segment for transmission
Then The M12 segment data is moved to the transmission data structure
R-GCCS309C-cbl-00277 Store Export Destination Information
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Store Export Destination Information', assuming that transit status and origin country information are available, when transit status is 't' or (transit status is 'l' and origin country is not ca and export destination lookup is successful) or (transit status is 'e' and origin country is not ca), the desired outcome is that add reference segment with qualifier 'kd' and value 'in-transit'.
💻 Technical Criteria
EXCLUDING Transit status and origin country information are available
When Transit status is 'T' OR (transit status is 'L' and origin country is not CA and export destination lookup is successful) OR (transit status is 'E' and origin country is not CA)
Then Add reference segment with qualifier 'KD' and value 'IN-TRANSIT'
R-GCCS309C-cbl-00302 Initialize GCX121 Input Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize GCX121 Input Parameters' is invoked, and assuming that a completed edi transmission processing session, when the system begins transaction completion finalization, the desired outcome is that the gcx121 input parameters are initialized to default values.
💻 Technical Criteria
Given A completed EDI transmission processing session
When The system begins transaction completion finalization
Then The GCX121 input parameters are initialized to default values
R-GCCS309C-cbl-00303 Set Security Byte to High Values
Authorization Rules
📊 Business Logic Narrative
When the process 'Set Security Byte to High Values' is invoked, and assuming that transaction completion parameters are being initialized, when security authorization needs to be established, the desired outcome is that the security byte is set to high values indicating maximum authorization level.
💻 Technical Criteria
Given Transaction completion parameters are being initialized
When Security authorization needs to be established
Then The security byte is set to high values indicating maximum authorization level
R-GCCS309C-cbl-00338 EDI Transmission Finalized
Process Rules
📊 Business Logic Narrative
When the process 'EDI Transmission Finalized' is invoked, and assuming that edi transmission processing has been completed, when the system needs to send completion notification, the desired outcome is that initialize gcx121 input parameters and set security byte to high values.
💻 Technical Criteria
Given EDI transmission processing has been completed
When the system needs to send completion notification
Then initialize GCX121 input parameters and set security byte to high values
R-GCCS309C-cbl-00352 Reference Number Qualifier Available?
Validation Rules
📊 Business Logic Narrative
When the process 'Reference Number Qualifier Available?' is invoked, and assuming that a reference number qualifier from the manifest data array at the current n9 counter position, when the qualifier is spaces, high-values, or low-values, the desired outcome is that the system skips processing this reference number and continues to the next one.
💻 Technical Criteria
Given A reference number qualifier from the manifest data array at the current N9 counter position
When The qualifier is spaces, high-values, or low-values
Then The system skips processing this reference number and continues to the next one

📍 Routing, Border & Port 120 logic blocks
R-GCCS309C-cbl-00007 6:Destination Address Setup
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '6:Destination Address Setup', assuming that a manifest requires customs notification, when the notify customs flag is true and the manifest is not a pre-emanifest, the desired outcome is that the system should set destination to 309-destination-5040, otherwise set to 309-destination.
💻 Technical Criteria
EXCLUDING A manifest requires customs notification
When The notify customs flag is true AND the manifest is not a pre-emanifest
Then The system should set destination to 309-DESTINATION-5040, otherwise set to 309-DESTINATION
R-GCCS309C-cbl-00009 8:ST Segment Processing
Process Rules
📊 Business Logic Narrative
When the process '8:ST Segment Processing' is invoked, and assuming that a transaction is being processed, when the st segment is created, the desired outcome is that the system should create st segment with identifier 'st', destination address, and transaction code '309'.
💻 Technical Criteria
Given A transaction is being processed
When The ST segment is created
Then The system should create ST segment with identifier 'ST', destination address, and transaction code '309'
R-GCCS309C-cbl-00010 9:M10 Segment Processing
Decision Rules
📊 Business Logic Narrative
When the process '9:M10 Segment Processing' is invoked, and assuming that a manifest is being processed with arrival and program information, when the arrival indicator is 'y' or program name is 'gcx148', the desired outcome is that the system should set manifest type code to 'a' for arrival, otherwise evaluate canadian customs train id and program name to set 'c' for customs or 'p' for pre-manifest, with special case of spaces for 5040 destination.
💻 Technical Criteria
Given A manifest is being processed with arrival and program information
When The arrival indicator is 'Y' OR program name is 'GCX148'
Then The system should set manifest type code to 'A' for arrival, otherwise evaluate Canadian customs train ID and program name to set 'C' for customs or 'P' for pre-manifest, with special case of spaces for 5040 destination
R-GCCS309C-cbl-00011 9:M10 Segment Processing
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '9:M10 Segment Processing', assuming that a manifest has an action code and border arrival information, when the action code is '04', '05', or '06' and border arrival date is not blank and manifest is not pre-emanifest, the desired outcome is that the system should set transaction purpose code to 'co' and set post-emanifest amendment flag to true, otherwise use the action code as transaction purpose code.
💻 Technical Criteria
EXCLUDING A manifest has an action code and border arrival information
When The action code is '04', '05', or '06' AND border arrival date is not blank AND manifest is not pre-emanifest
Then The system should set transaction purpose code to 'CO' and set post-emanifest amendment flag to true, otherwise use the action code as transaction purpose code
R-GCCS309C-cbl-00012 9:M10 Segment Processing
Decision Rules
📊 Business Logic Narrative
When the process '9:M10 Segment Processing' is invoked, and assuming that a manifest has an in-transit status, when the in-transit status is 't', the desired outcome is that the system should set application type to '29', otherwise set to '27'.
💻 Technical Criteria
Given A manifest has an in-transit status
When The in-transit status is 'T'
Then The system should set application type to '29', otherwise set to '27'
R-GCCS309C-cbl-00020 14:N9 Reference Processing
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process '14:N9 Reference Processing', assuming that a manifest has in-transit status and origin country information, when the in-transit status is 't' or (status is 'l' and origin country is not 'ca' and table lookup is successful) or (status is 'e' and origin country is not 'ca'), the desired outcome is that the system should create n9 segment with qualifier 'kd' and reference number 'in-transit'.
💻 Technical Criteria
EXCLUDING A manifest has in-transit status and origin country information
When The in-transit status is 'T' OR (status is 'L' AND origin country is not 'CA' AND table lookup is successful) OR (status is 'E' AND origin country is not 'CA')
Then The system should create N9 segment with qualifier 'KD' and reference number 'IN-TRANSIT'
R-GCCS309C-cbl-00021 15:N1-N3-N4 Entity Processing
Validation Rules
📊 Business Logic Narrative
When the process '15:N1-N3-N4 Entity Processing' is invoked, and assuming that entity information is being processed for a specific destination type, when the destination is 309-destination, the desired outcome is that the system should validate n1 codes against 4040 table, otherwise validate against 5040 table and require city name, country code, and postal/state codes for us/ca addresses.
💻 Technical Criteria
Given Entity information is being processed for a specific destination type
When The destination is 309-DESTINATION
Then The system should validate N1 codes against 4040 table, otherwise validate against 5040 table and require city name, country code, and postal/state codes for US/CA addresses
R-GCCS309C-cbl-00023 19:R4 Port Processing
Decision Rules
📊 Business Logic Narrative
When the process '19:R4 Port Processing' is invoked, and assuming that port information is being processed for different locations, when multiple r4 segments are created for origin, border crossing, and destination, the desired outcome is that the system should assign function codes 'o'/'j' for origin (based on destination type), '3' for border crossing, '4' for destination border, and 'e'/'r' for final destination (based on destination type).
💻 Technical Criteria
Given Port information is being processed for different locations
When Multiple R4 segments are created for origin, border crossing, and destination
Then The system should assign function codes 'O'/'J' for origin (based on destination type), '3' for border crossing, '4' for destination border, and 'E'/'R' for final destination (based on destination type)
R-GCCS309C-cbl-00029 24:H1-H2 Hazardous Material Processing
Decision Rules
📊 Business Logic Narrative
When the process '24:H1-H2 Hazardous Material Processing' is invoked, and assuming that hazardous material information is being processed, when the destination is 309-destination, the desired outcome is that the system should use the full un number, otherwise use positions 3-4 of the un number.
💻 Technical Criteria
Given Hazardous material information is being processed
When The destination is 309-DESTINATION
Then The system should use the full UN number, otherwise use positions 3-4 of the UN number
R-GCCS309C-cbl-00046 Action Code = '04', '05', or '06'?
Decision Rules
📊 Business Logic Narrative
When the process 'Action Code = '04', '05', or '06'?' is invoked, and assuming that a manifest transaction is being processed with an action code, when the action code is '04', '05', or '06', the desired outcome is that the system should evaluate border arrival date and pre-emanifest status for amendment processing.
💻 Technical Criteria
Given A manifest transaction is being processed with an action code
When The action code is '04', '05', or '06'
Then The system should evaluate border arrival date and pre-emanifest status for amendment processing
R-GCCS309C-cbl-00048 Set Purpose Code to 'CO'
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Purpose Code to 'CO'', assuming that a manifest has action code '04', '05', or '06' and has border arrival date and is not pre-emanifest, when post-emanifest amendment processing is triggered, the desired outcome is that the transaction purpose code should be set to 'co'.
💻 Technical Criteria
EXCLUDING A manifest has action code '04', '05', or '06' AND has border arrival date AND is not pre-emanifest
When Post-emanifest amendment processing is triggered
Then The transaction purpose code should be set to 'CO'
R-GCCS309C-cbl-00389 Origin Country is US, CA, or blank?
Decision Rules
📊 Business Logic Narrative
When the process 'Origin Country is US, CA, or blank?' is invoked, and assuming that a shipment with an origin country code, when the system evaluates country-based automotive eligibility, the desired outcome is that if origin country is 'us', 'ca', or blank, proceed to csa indicator check, otherwise check mexico-specific rules.
💻 Technical Criteria
Given A shipment with an origin country code
When The system evaluates country-based automotive eligibility
Then If origin country is 'US', 'CA', or blank, proceed to CSA indicator check, otherwise check Mexico-specific rules
R-GCCS309C-cbl-00390 Origin Country is MX AND AU Type 2nd char is 'C'?
Decision Rules
📊 Business Logic Narrative
When the process 'Origin Country is MX AND AU Type 2nd char is 'C'?' is invoked, and assuming that a shipment with origin country 'mx' and an au table entry with au type field, when the system evaluates mexico-specific automotive eligibility, the desired outcome is that if origin country is 'mx' and the second character of au type is 'c', proceed to csa indicator check, otherwise keep non-automotive flag.
💻 Technical Criteria
Given A shipment with origin country 'MX' and an AU table entry with AU type field
When The system evaluates Mexico-specific automotive eligibility
Then If origin country is 'MX' and the second character of AU type is 'C', proceed to CSA indicator check, otherwise keep non-automotive flag
R-GCCS309C-cbl-00066 Set Broker EDI Address as Destination
Decision Rules
📊 Business Logic Narrative
When the process 'Set Broker EDI Address as Destination' is invoked, and assuming that a manifest processing request is received, when the broker notification flag (gcws309c-notify-broker) is set to true, the desired outcome is that the system should set the broker edi address (gcws309c-x12-broker) as the work destination and log edi address.
💻 Technical Criteria
Given A manifest processing request is received
When The broker notification flag (GCWS309C-NOTIFY-BROKER) is set to true
Then The system should set the broker EDI address (GCWS309C-X12-BROKER) as the work destination and log EDI address
R-GCCS309C-cbl-00067 Pre-Emanifest Status?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Pre-Emanifest Status?', assuming that a manifest processing request requires customs notification, when the customs notification flag (gcws309c-notify-customs) is true and the manifest is not a pre-emanifest (gccc-not-pre-emanifest), the desired outcome is that the system should set the destination to 309-destination-5040, otherwise set it to 309-destination.
💻 Technical Criteria
EXCLUDING A manifest processing request requires customs notification
When The customs notification flag (GCWS309C-NOTIFY-CUSTOMS) is true and the manifest is not a pre-emanifest (GCCC-NOT-PRE-EMANIFEST)
Then The system should set the destination to 309-DESTINATION-5040, otherwise set it to 309-DESTINATION
R-GCCS309C-cbl-00068 Move Destination to ST Segment
Process Rules
📊 Business Logic Narrative
When the process 'Move Destination to ST Segment' is invoked, and assuming that a destination address has been determined for the manifest, when processing the st segment for edi transmission, the desired outcome is that the system should move the work destination to the st-01-destination field.
💻 Technical Criteria
Given A destination address has been determined for the manifest
When Processing the ST segment for EDI transmission
Then The system should move the work destination to the ST-01-DESTINATION field
R-GCCS309C-cbl-00077 Notify Customs?
Decision Rules
📊 Business Logic Narrative
When the process 'Notify Customs?' is invoked, and assuming that a manifest transaction is being processed, when the system checks if gcws309c-notify-customs flag is set, the desired outcome is that if customs notification is required, proceed to emanifest type check, otherwise skip to transaction type setting.
💻 Technical Criteria
Given A manifest transaction is being processed
When The system checks if GCWS309C-NOTIFY-CUSTOMS flag is set
Then If customs notification is required, proceed to emanifest type check, otherwise skip to transaction type setting
R-GCCS309C-cbl-00078 Pre-Emanifest or Post-Emanifest?
Decision Rules
📊 Business Logic Narrative
When the process 'Pre-Emanifest or Post-Emanifest?' is invoked, and assuming that customs notification is required for the manifest, when the system evaluates gccc-not-pre-emanifest flag, the desired outcome is that if gccc-not-pre-emanifest is true, set destination to 5040 (309-destination-5040), otherwise set destination to standard (309-destination).
💻 Technical Criteria
Given Customs notification is required for the manifest
When The system evaluates GCCC-NOT-PRE-EMANIFEST flag
Then If GCCC-NOT-PRE-EMANIFEST is true, set destination to 5040 (309-DESTINATION-5040), otherwise set destination to standard (309-DESTINATION)
R-GCCS309C-cbl-00083 Set transport type code to 'R' for Rail
Definitional Rules
📊 Business Logic Narrative
When the process 'Set transport type code to 'R' for Rail' is invoked, and assuming that a manifest is being processed for edi transmission, when the m10 segment transport type is being set, the desired outcome is that the transport type code is set to 'r' indicating rail transportation.
💻 Technical Criteria
Given A manifest is being processed for EDI transmission
When The M10 segment transport type is being set
Then The transport type code is set to 'R' indicating rail transportation
R-GCCS309C-cbl-00085 Set vessel name to 'TRAIN'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set vessel name to 'TRAIN'' is invoked, and assuming that a manifest is being processed for rail transportation, when the m10 segment vessel name is being set, the desired outcome is that the vessel name is set to 'train'.
💻 Technical Criteria
Given A manifest is being processed for rail transportation
When The M10 segment vessel name is being set
Then The vessel name is set to 'TRAIN'
R-GCCS309C-cbl-00091 Canadian customs north train ID exists?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Canadian customs north train ID exists?', assuming that the manifest is not for arrival and not processed by gcx148, when the manifest type code needs to be determined, the desired outcome is that if canadian customs north train id is spaces, check for specific programs; otherwise set to customs type.
💻 Technical Criteria
EXCLUDING The manifest is not for arrival and not processed by GCX148
When The manifest type code needs to be determined
Then If Canadian customs north train ID is spaces, check for specific programs; otherwise set to customs type
R-GCCS309C-cbl-00092 Specific program GCX146 or GCX147?
Decision Rules
📊 Business Logic Narrative
When the process 'Specific program GCX146 or GCX147?' is invoked, and assuming that the canadian customs north train id is spaces, when the manifest type code needs to be determined, the desired outcome is that if the calling program is 'gcx146' or 'gcx147', set to customs type; otherwise set to pre-manifest type.
💻 Technical Criteria
Given The Canadian customs north train ID is spaces
When The manifest type code needs to be determined
Then If the calling program is 'GCX146' or 'GCX147', set to customs type; otherwise set to pre-manifest type
R-GCCS309C-cbl-00093 Set manifest type to 'C' for Customs
Definitional Rules
📊 Business Logic Narrative
When the process 'Set manifest type to 'C' for Customs' is invoked, and assuming that either the canadian customs north train id exists or the calling program is 'gcx146' or 'gcx147', when the manifest type code is being set, the desired outcome is that the manifest type code is set to 'c' indicating a customs manifest.
💻 Technical Criteria
Given Either the Canadian customs north train ID exists or the calling program is 'GCX146' or 'GCX147'
When The manifest type code is being set
Then The manifest type code is set to 'C' indicating a customs manifest
R-GCCS309C-cbl-00094 Set manifest type to 'P' for Pre-manifest
Definitional Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set manifest type to 'P' for Pre-manifest', assuming that the manifest is not for arrival, not processed by specific customs programs, and has no canadian customs north train id, when the manifest type code is being set, the desired outcome is that the manifest type code is set to 'p' indicating a pre-manifest.
💻 Technical Criteria
EXCLUDING The manifest is not for arrival, not processed by specific customs programs, and has no Canadian customs north train ID
When The manifest type code is being set
Then The manifest type code is set to 'P' indicating a pre-manifest
R-GCCS309C-cbl-00097 Post-emanifest amendment conditions?
Decision Rules
📊 Business Logic Narrative
When the process 'Post-emanifest amendment conditions?' is invoked, and assuming that a manifest is being processed, when the transaction purpose code needs to be determined, the desired outcome is that if action code is '04', '05', or '06' and border arrival date exists and not pre-emanifest, set purpose to 'co'; otherwise use the action code.
💻 Technical Criteria
Given A manifest is being processed
When The transaction purpose code needs to be determined
Then If action code is '04', '05', or '06' AND border arrival date exists AND not pre-emanifest, set purpose to 'CO'; otherwise use the action code
R-GCCS309C-cbl-00098 Set purpose code to 'CO' for amendment
Definitional Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set purpose code to 'CO' for amendment', assuming that the action code is '04', '05', or '06' and border arrival date is not spaces and the manifest is not pre-emanifest, when the transaction purpose code is being set, the desired outcome is that the purpose code is set to 'co' and the post-emanifest amendment flag is set to true.
💻 Technical Criteria
EXCLUDING The action code is '04', '05', or '06' AND border arrival date is not spaces AND the manifest is not pre-emanifest
When The transaction purpose code is being set
Then The purpose code is set to 'CO' and the post-emanifest amendment flag is set to true
R-GCCS309C-cbl-00100 In-transit status is 'T'?
Decision Rules
📊 Business Logic Narrative
When the process 'In-transit status is 'T'?' is invoked, and assuming that a manifest has an in-transit status, when the application type needs to be determined, the desired outcome is that if in-transit status is 't', set application type to '29'; otherwise set to '27'.
💻 Technical Criteria
Given A manifest has an in-transit status
When The application type needs to be determined
Then If in-transit status is 'T', set application type to '29'; otherwise set to '27'
R-GCCS309C-cbl-00101 Set application type to '29'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set application type to '29'' is invoked, and assuming that the in-transit status is 't', when the application type is being set, the desired outcome is that the application type is set to '29'.
💻 Technical Criteria
Given The in-transit status is 'T'
When The application type is being set
Then The application type is set to '29'
R-GCCS309C-cbl-00102 Set application type to '27'
Definitional Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set application type to '27'', assuming that the in-transit status is not 't', when the application type is being set, the desired outcome is that the application type is set to '27'.
💻 Technical Criteria
EXCLUDING The in-transit status is not 'T'
When The application type is being set
Then The application type is set to '27'
R-GCCS309C-cbl-00395 Canadian Customs North Train ID exists?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Canadian Customs North Train ID exists?', assuming that a manifest is being processed and arrival conditions are not met, when the canadian customs north train id field contains data (not spaces), the desired outcome is that the manifest type code should be set to 'c' indicating a customs manifest.
💻 Technical Criteria
EXCLUDING A manifest is being processed and arrival conditions are not met
When The Canadian customs north train ID field contains data (not spaces)
Then The manifest type code should be set to 'C' indicating a Customs manifest
R-GCCS309C-cbl-00398 Destination Type = 5040?
Decision Rules
📊 Business Logic Narrative
When the process 'Destination Type = 5040?' is invoked, and assuming that a manifest type has been determined through the standard logic flow, when the destination type is 309-destination-5040, the desired outcome is that the manifest type code should be cleared and set to spaces.
💻 Technical Criteria
Given A manifest type has been determined through the standard logic flow
When The destination type is 309-DESTINATION-5040
Then The manifest type code should be cleared and set to spaces
R-GCCS309C-cbl-00106 Set location ID from manifest from-station name
Definitional Rules
📊 Business Logic Narrative
When the process 'Set location ID from manifest from-station name' is invoked, and assuming that a p4 segment is being processed with manifest data available, when the system sets the location identifier, the desired outcome is that the p4 location id field is populated with the manifest from-station name.
💻 Technical Criteria
Given A P4 segment is being processed with manifest data available
When The system sets the location identifier
Then The P4 location ID field is populated with the manifest from-station name
R-GCCS309C-cbl-00107 Check destination type
Decision Rules
📊 Business Logic Narrative
When the process 'Check destination type' is invoked, and assuming that a p4 segment is being processed with destination type information, when the system evaluates the destination type for eta date assignment, the desired outcome is that if destination is 309-destination, use current machine date; otherwise, use border arrival eta logic.
💻 Technical Criteria
Given A P4 segment is being processed with destination type information
When The system evaluates the destination type for ETA date assignment
Then If destination is 309-DESTINATION, use current machine date; otherwise, use border arrival ETA logic
R-GCCS309C-cbl-00108 Set ETA date to current machine date
Definitional Rules
📊 Business Logic Narrative
When the process 'Set ETA date to current machine date' is invoked, and assuming that a p4 segment is being processed and destination type is 309-destination, when the system assigns the eta date, the desired outcome is that the p4 eta date is set to the concatenation of current machine century and machine date.
💻 Technical Criteria
Given A P4 segment is being processed and destination type is 309-DESTINATION
When The system assigns the ETA date
Then The P4 ETA date is set to the concatenation of current machine century and machine date
R-GCCS309C-cbl-00129 Set location ID from manifest from-station name
Definitional Rules
📊 Business Logic Narrative
When the process 'Set location ID from manifest from-station name' is invoked, and assuming that a manifest has an originating station name, when creating an m13 amendment segment, the desired outcome is that the location id should be populated with the manifest from-station name.
💻 Technical Criteria
Given A manifest has an originating station name
When Creating an M13 amendment segment
Then The location ID should be populated with the manifest from-station name
R-GCCS309C-cbl-00141 Set location ID from manifest from-station name
Definitional Rules
📊 Business Logic Narrative
When the process 'Set location ID from manifest from-station name' is invoked, and assuming that a manifest has an originating station name, when creating the m11 segment location information, the desired outcome is that the manifest from-station name should be assigned as the location identifier.
💻 Technical Criteria
Given A manifest has an originating station name
When Creating the M11 segment location information
Then The manifest from-station name should be assigned as the location identifier
R-GCCS309C-cbl-00155 Create ETA Reference N9 Segment
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Create ETA Reference N9 Segment', assuming that a manifest is being processed and destination type is not 309-destination-5040, when processing n9 reference segments, the desired outcome is that create n9 segment with identifier 'n9', reference qualifier '76', reference number 'etd', and border arrival eta date.
💻 Technical Criteria
EXCLUDING A manifest is being processed and destination type is not 309-DESTINATION-5040
When Processing N9 reference segments
Then Create N9 segment with identifier 'N9', reference qualifier '76', reference number 'ETD', and border arrival ETA date
R-GCCS309C-cbl-00156 CSA Indicator Status
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'CSA Indicator Status', assuming that a manifest is being processed for csa indicator n9 segment and destination type is not 309-destination-5040, when the csa indicator is on (gccc-csa-ind-on is true), the desired outcome is that set n9 reference number to '01', otherwise set to '00'.
💻 Technical Criteria
EXCLUDING A manifest is being processed for CSA indicator N9 segment and destination type is not 309-DESTINATION-5040
When The CSA indicator is on (GCCC-CSA-IND-ON is true)
Then Set N9 reference number to '01', otherwise set to '00'
R-GCCS309C-cbl-00157 Access Export Destination Table
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Access Export Destination Table', assuming that a manifest has in-transit status 'l' and destination type is not 309-destination-5040, when processing in-transit status validation, the desired outcome is that access table with function code 'gu', table id 'ex', and destination station number as sequence id.
💻 Technical Criteria
EXCLUDING A manifest has in-transit status 'L' and destination type is not 309-DESTINATION-5040
When Processing in-transit status validation
Then Access table with function code 'GU', table ID 'EX', and destination station number as sequence ID
R-GCCS309C-cbl-00158 Transit Status Validation
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Transit Status Validation', assuming that a manifest is being processed for in-transit status and destination type is not 309-destination-5040, when in-transit status is 't', or (status is 'l' and origin country is not 'ca' and table lookup is successful), or (status is 'e' and origin country is not 'ca'), the desired outcome is that create n9 segment with identifier 'n9', reference qualifier 'kd', and reference number 'in-transit'.
💻 Technical Criteria
EXCLUDING A manifest is being processed for in-transit status and destination type is not 309-DESTINATION-5040
When In-transit status is 'T', or (status is 'L' and origin country is not 'CA' and table lookup is successful), or (status is 'E' and origin country is not 'CA')
Then Create N9 segment with identifier 'N9', reference qualifier 'KD', and reference number 'IN-TRANSIT'
R-GCCS309C-cbl-00399 Access Export Destination Table EX
Action Rules
📊 Business Logic Narrative
When the process 'Access Export Destination Table EX' is invoked, and assuming that a manifest has in-transit status of 'l' (local), when the system processes the manifest for customs notification, the desired outcome is that the system accesses the export destination table using table id 'ex' and the destination station number as the key.
💻 Technical Criteria
Given A manifest has in-transit status of 'L' (Local)
When The system processes the manifest for customs notification
Then The system accesses the export destination table using table ID 'EX' and the destination station number as the key
R-GCCS309C-cbl-00400 In-Transit Status = 'T'?
Decision Rules
📊 Business Logic Narrative
When the process 'In-Transit Status = 'T'?' is invoked, and assuming that a manifest has in-transit status of 't' (transit), when the system processes n9 reference segments, the desired outcome is that the system creates an n9 segment with reference qualifier 'kd' and reference number 'in-transit'.
💻 Technical Criteria
Given A manifest has in-transit status of 'T' (Transit)
When The system processes N9 reference segments
Then The system creates an N9 segment with reference qualifier 'KD' and reference number 'IN-TRANSIT'
R-GCCS309C-cbl-00401 Status = 'L' AND Origin Country ≠ 'CA' AND Table Found?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Status = 'L' AND Origin Country ≠ 'CA' AND Table Found?', assuming that a manifest has in-transit status 'l' and origin country is not 'ca' and export destination table lookup was successful, when the system processes n9 reference segments, the desired outcome is that the system creates an n9 segment with reference qualifier 'kd' and reference number 'in-transit'.
💻 Technical Criteria
EXCLUDING A manifest has in-transit status 'L' and origin country is not 'CA' and export destination table lookup was successful
When The system processes N9 reference segments
Then The system creates an N9 segment with reference qualifier 'KD' and reference number 'IN-TRANSIT'
R-GCCS309C-cbl-00402 Status = 'E' AND Origin Country ≠ 'CA'?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Status = 'E' AND Origin Country ≠ 'CA'?', assuming that a manifest has in-transit status 'e' (export) and origin country is not 'ca', when the system processes n9 reference segments, the desired outcome is that the system creates an n9 segment with reference qualifier 'kd' and reference number 'in-transit'.
💻 Technical Criteria
EXCLUDING A manifest has in-transit status 'E' (Export) and origin country is not 'CA'
When The system processes N9 reference segments
Then The system creates an N9 segment with reference qualifier 'KD' and reference number 'IN-TRANSIT'
R-GCCS309C-cbl-00164 Destination type check
Decision Rules
📊 Business Logic Narrative
When the process 'Destination type check' is invoked, and assuming that a manifest with customs notification requirements, when the system evaluates the destination type, the desired outcome is that the system classifies as 4040 destination if 309-destination is true, otherwise as 5040 destination.
💻 Technical Criteria
Given A manifest with customs notification requirements
When The system evaluates the destination type
Then The system classifies as 4040 destination if 309-DESTINATION is true, otherwise as 5040 destination
R-GCCS309C-cbl-00165 Validate entity code for 4040 destination
Validation Rules
📊 Business Logic Narrative
When the process 'Validate entity code for 4040 destination' is invoked, and assuming that an entity record with a 4040 destination type, when the system validates the entity id code (gccs-n101-entity-id-cde) against the valid 4040 n1 code table, the desired outcome is that the system proceeds with processing if the code is valid, otherwise skips the entity record.
💻 Technical Criteria
Given An entity record with a 4040 destination type
When The system validates the entity ID code (GCCS-N101-ENTITY-ID-CDE) against the valid 4040 N1 code table
Then The system proceeds with processing if the code is valid, otherwise skips the entity record
R-GCCS309C-cbl-00166 Check consignee-importer address mapping
Action Rules
📊 Business Logic Narrative
When the process 'Check consignee-importer address mapping' is invoked, and assuming that an entity record with a 5040 destination type, when the system processes the entity for consignee-importer address mapping, the desired outcome is that the system executes the canadian importer check procedure (n20625-check-cn-importer).
💻 Technical Criteria
Given An entity record with a 5040 destination type
When The system processes the entity for consignee-importer address mapping
Then The system executes the Canadian importer check procedure (N20625-CHECK-CN-IMPORTER)
R-GCCS309C-cbl-00167 Validate entity code for 5040 destination
Validation Rules
📊 Business Logic Narrative
When the process 'Validate entity code for 5040 destination' is invoked, and assuming that an entity record with a 5040 destination type after consignee-importer mapping, when the system validates the entity id code (gccs-n101-entity-id-cde) against the valid 5040 n1 code table, the desired outcome is that the system proceeds with address validation if the code is valid, otherwise skips the entity record.
💻 Technical Criteria
Given An entity record with a 5040 destination type after consignee-importer mapping
When The system validates the entity ID code (GCCS-N101-ENTITY-ID-CDE) against the valid 5040 N1 code table
Then The system proceeds with address validation if the code is valid, otherwise skips the entity record
R-GCCS309C-cbl-00168 Complete address available?
Validation Rules
📊 Business Logic Narrative
When the process 'Complete address available?' is invoked, and assuming that an entity record with valid entity code for 5040 destination, when the system checks address completeness for us or canadian entities, the desired outcome is that the system requires city name, country code, postal code (for us/ca), and state/province code (for us/ca) to be present, otherwise the entity is considered incomplete.
💻 Technical Criteria
Given An entity record with valid entity code for 5040 destination
When The system checks address completeness for US or Canadian entities
Then The system requires city name, country code, postal code (for US/CA), and state/province code (for US/CA) to be present, otherwise the entity is considered incomplete
R-GCCS309C-cbl-00169 Copy consignee address to importer if incomplete
Process Rules
📊 Business Logic Narrative
When the process 'Copy consignee address to importer if incomplete' is invoked, and assuming that an entity record with incomplete address information for 5040 destination, when the address validation fails due to missing required components, the desired outcome is that the system initializes (clears) the entity record (gcsccs55) to spaces.
💻 Technical Criteria
Given An entity record with incomplete address information for 5040 destination
When The address validation fails due to missing required components
Then The system initializes (clears) the entity record (GCSCCS55) to spaces
R-GCCS309C-cbl-00173 N4 city/state data exists?
Decision Rules
📊 Business Logic Narrative
When the process 'N4 city/state data exists?' is invoked, and assuming that an entity record with n1 and optionally n3 segments created, when the system checks for n4 location data availability, the desired outcome is that the system proceeds to create n4 segment if location information (gcsccs55-n4-data) is not spaces, otherwise continues to next entity.
💻 Technical Criteria
Given An entity record with N1 and optionally N3 segments created
When The system checks for N4 location data availability
Then The system proceeds to create N4 segment if location information (GCSCCS55-N4-DATA) is not spaces, otherwise continues to next entity
R-GCCS309C-cbl-00174 Create N4 location segment with city, state, postal code, country
Process Rules
📊 Business Logic Narrative
When the process 'Create N4 location segment with city, state, postal code, country' is invoked, and assuming that an entity record with available n4 location data, when the system creates the n4 location segment, the desired outcome is that the system populates city name, postal code, and country code in standard positions, but maps state/province code to position 2 for 309-destination or position 7 for other destinations.
💻 Technical Criteria
Given An entity record with available N4 location data
When The system creates the N4 location segment
Then The system populates city name, postal code, and country code in standard positions, but maps state/province code to position 2 for 309-DESTINATION or position 7 for other destinations
R-GCCS309C-cbl-00177 Create CPR location segment
Process Rules
📊 Business Logic Narrative
When the process 'Create CPR location segment' is invoked, and assuming that the canadian pacific railway address segment has been created, when the system creates the cpr location segment, the desired outcome is that the system creates an n4 segment with city 'calgary', country 'ca', postal code 't2c 4x9', and maps province code 'ab' to position 2 for 309-destination or position 7 for other destinations.
💻 Technical Criteria
Given The Canadian Pacific Railway address segment has been created
When The system creates the CPR location segment
Then The system creates an N4 segment with city 'CALGARY', country 'CA', postal code 'T2C 4X9', and maps province code 'AB' to position 2 for 309-DESTINATION or position 7 for other destinations
R-GCCS309C-cbl-00406 Destination Type Check
Decision Rules
📊 Business Logic Narrative
When the process 'Destination Type Check' is invoked, and assuming that an entity record is being processed, when the system needs to validate entity information, the desired outcome is that check if 309-destination flag is set to determine validation path - 4040 validation for 309-destination or 5040 validation for other destinations.
💻 Technical Criteria
Given An entity record is being processed
When The system needs to validate entity information
Then Check if 309-DESTINATION flag is set to determine validation path - 4040 validation for 309-DESTINATION or 5040 validation for other destinations
R-GCCS309C-cbl-00407 Set Entity Code for 4040 Validation
Validation Rules
📊 Business Logic Narrative
When the process 'Set Entity Code for 4040 Validation' is invoked, and assuming that the destination type is 309-destination, when entity validation is required, the desired outcome is that move gccs-n101-entity-id-cde to ws-4040-n1-code for validation.
💻 Technical Criteria
Given The destination type is 309-DESTINATION
When Entity validation is required
Then Move GCCS-N101-ENTITY-ID-CDE to WS-4040-N1-CODE for validation
R-GCCS309C-cbl-00408 Valid 4040 Entity Code?
Validation Rules
📊 Business Logic Narrative
When the process 'Valid 4040 Entity Code?' is invoked, and assuming that entity code has been set for 4040 validation, when the system validates the entity code, the desired outcome is that check if ws-valid-4040-n1 condition is true to determine if entity code is valid for 4040 destination.
💻 Technical Criteria
Given Entity code has been set for 4040 validation
When The system validates the entity code
Then Check if WS-VALID-4040-N1 condition is true to determine if entity code is valid for 4040 destination
R-GCCS309C-cbl-00409 Set Entity Code for 5040 Validation
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Entity Code for 5040 Validation', assuming that the destination type is not 309-destination, when entity validation is required, the desired outcome is that move gccs-n101-entity-id-cde to ws-4040-n1-code for 5040 validation processing.
💻 Technical Criteria
EXCLUDING The destination type is not 309-DESTINATION
When Entity validation is required
Then Move GCCS-N101-ENTITY-ID-CDE to WS-4040-N1-CODE for 5040 validation processing
R-GCCS309C-cbl-00410 Perform Consignee-Importer Address Check
Action Rules
📊 Business Logic Narrative
When the process 'Perform Consignee-Importer Address Check' is invoked, and assuming that entity is being processed for 5040 destination, when address validation is required, the desired outcome is that perform n20625-check-cn-importer procedure to validate consignee-importer specific address requirements.
💻 Technical Criteria
Given Entity is being processed for 5040 destination
When Address validation is required
Then Perform N20625-CHECK-CN-IMPORTER procedure to validate consignee-importer specific address requirements
R-GCCS309C-cbl-00411 Valid 5040 Entity Code?
Validation Rules
📊 Business Logic Narrative
When the process 'Valid 5040 Entity Code?' is invoked, and assuming that entity code has been prepared for 5040 validation, when the system validates the entity code, the desired outcome is that check if ws-valid-5040-n1 condition is true to determine if entity code is valid for 5040 destination.
💻 Technical Criteria
Given Entity code has been prepared for 5040 validation
When The system validates the entity code
Then Check if WS-VALID-5040-N1 condition is true to determine if entity code is valid for 5040 destination
R-GCCS309C-cbl-00422 Create Railway N4 Location Segment
Process Rules
📊 Business Logic Narrative
When the process 'Create Railway N4 Location Segment' is invoked, and assuming that railway n3 address segment has been created, when railway location information is added, the desired outcome is that create n4 segment with city 'calgary', country 'ca', postal code 't2c 4x9', and state/province 'ab' in position 02 for 309-destination or position 07 for other destinations.
💻 Technical Criteria
Given Railway N3 address segment has been created
When Railway location information is added
Then Create N4 segment with city 'CALGARY', country 'CA', postal code 'T2C 4X9', and state/province 'AB' in position 02 for 309-DESTINATION or position 07 for other destinations
R-GCCS309C-cbl-00453 Destination Type Check
Decision Rules
📊 Business Logic Narrative
When the process 'Destination Type Check' is invoked, and assuming that a valid entity record needs to be processed, when the system checks the destination flag 309-destination, the desired outcome is that if 309-destination is true, apply 4040 validation rules, otherwise apply 5040 validation rules.
💻 Technical Criteria
Given A valid entity record needs to be processed
When The system checks the destination flag 309-DESTINATION
Then If 309-DESTINATION is true, apply 4040 validation rules, otherwise apply 5040 validation rules
R-GCCS309C-cbl-00454 Check Entity Code for 4040 Validity
Validation Rules
📊 Business Logic Narrative
When the process 'Check Entity Code for 4040 Validity' is invoked, and assuming that the destination type is 4040 and an entity record contains an entity id code, when the entity id code gccs-n101-entity-id-cde is checked against ws-valid-4040-n1 validation table, the desired outcome is that the entity is marked as valid if the code exists in the 4040 validation table.
💻 Technical Criteria
Given The destination type is 4040 and an entity record contains an entity ID code
When The entity ID code GCCS-N101-ENTITY-ID-CDE is checked against WS-VALID-4040-N1 validation table
Then The entity is marked as valid if the code exists in the 4040 validation table
R-GCCS309C-cbl-00455 Check Entity Code for 5040 Validity
Validation Rules
📊 Business Logic Narrative
When the process 'Check Entity Code for 5040 Validity' is invoked, and assuming that the destination type is 5040 and an entity record contains an entity id code, when the entity id code gccs-n101-entity-id-cde is checked against ws-valid-5040-n1 validation table, the desired outcome is that the entity is marked as valid if the code exists in the 5040 validation table.
💻 Technical Criteria
Given The destination type is 5040 and an entity record contains an entity ID code
When The entity ID code GCCS-N101-ENTITY-ID-CDE is checked against WS-VALID-5040-N1 validation table
Then The entity is marked as valid if the code exists in the 5040 validation table
R-GCCS309C-cbl-00457 Perform Consignee-Importer Check
Action Rules
📊 Business Logic Narrative
When the process 'Perform Consignee-Importer Check' is invoked, and assuming that an entity record requires consignee-importer address validation, when the system calls n20625-check-cn-importer procedure, the desired outcome is that address mapping and validation logic is applied to ensure complete address information.
💻 Technical Criteria
Given An entity record requires consignee-importer address validation
When The system calls N20625-CHECK-CN-IMPORTER procedure
Then Address mapping and validation logic is applied to ensure complete address information
R-GCCS309C-cbl-00458 Process Entity Segments
Action Rules
📊 Business Logic Narrative
When the process 'Process Entity Segments' is invoked, and assuming that an entity record has passed validation checks, when the entity contains valid data and meets destination requirements, the desired outcome is that the system calls n2063-each-n1-n3-n4-per to create transmission segments.
💻 Technical Criteria
Given An entity record has passed validation checks
When The entity contains valid data and meets destination requirements
Then The system calls N2063-EACH-N1-N3-N4-PER to create transmission segments
R-GCCS309C-cbl-00459 Skip Invalid Entity
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Skip Invalid Entity', assuming that an entity record fails validation checks, when the entity code is not valid for the destination type or address is incomplete, the desired outcome is that the system initializes gcsccs55 to clear the record and continues to the next entity.
💻 Technical Criteria
EXCLUDING An entity record fails validation checks
When The entity code is not valid for the destination type or address is incomplete
Then The system initializes GCSCCS55 to clear the record and continues to the next entity
R-GCCS309C-cbl-00460 Check 4040 N1 Code Validity
Validation Rules
📊 Business Logic Narrative
When the process 'Check 4040 N1 Code Validity' is invoked, and assuming that an entity with identification code exists in the manifest data, when the destination type is 4040, the desired outcome is that the system validates the entity code against the 4040 n1 code validity table.
💻 Technical Criteria
Given An entity with identification code exists in the manifest data
When The destination type is 4040
Then The system validates the entity code against the 4040 N1 code validity table
R-GCCS309C-cbl-00461 Check 5040 N1 Code Validity
Validation Rules
📊 Business Logic Narrative
When the process 'Check 5040 N1 Code Validity' is invoked, and assuming that an entity with identification code exists in the manifest data, when the destination type is 5040, the desired outcome is that the system validates the entity code against the 5040 n1 code validity table.
💻 Technical Criteria
Given An entity with identification code exists in the manifest data
When The destination type is 5040
Then The system validates the entity code against the 5040 N1 code validity table
R-GCCS309C-cbl-00180 Destination Type Check
Decision Rules
📊 Business Logic Narrative
When the process 'Destination Type Check' is invoked, and assuming that an entity record exists and needs address processing, when the system evaluates the destination configuration, the desired outcome is that if 309-destination flag is set, apply 4040 validation rules, otherwise apply 5040 validation rules.
💻 Technical Criteria
Given An entity record exists and needs address processing
When The system evaluates the destination configuration
Then If 309-DESTINATION flag is set, apply 4040 validation rules, otherwise apply 5040 validation rules
R-GCCS309C-cbl-00181 Check 4040 Valid N1 Code
Validation Rules
📊 Business Logic Narrative
When the process 'Check 4040 Valid N1 Code' is invoked, and assuming that the destination type is 4040 and an entity record exists, when the system validates the entity identification code, the desired outcome is that the entity code is checked against ws-valid-4040-n1 validation table.
💻 Technical Criteria
Given The destination type is 4040 and an entity record exists
When The system validates the entity identification code
Then The entity code is checked against WS-VALID-4040-N1 validation table
R-GCCS309C-cbl-00182 Check 5040 Valid N1 Code
Validation Rules
📊 Business Logic Narrative
When the process 'Check 5040 Valid N1 Code' is invoked, and assuming that the destination type is 5040 and an entity record exists, when the system validates the entity identification code, the desired outcome is that the entity code is checked against ws-valid-5040-n1 validation table.
💻 Technical Criteria
Given The destination type is 5040 and an entity record exists
When The system validates the entity identification code
Then The entity code is checked against WS-VALID-5040-N1 validation table
R-GCCS309C-cbl-00183 Valid N1 Code for 4040?
Decision Rules
📊 Business Logic Narrative
When the process 'Valid N1 Code for 4040?' is invoked, and assuming that an entity code has been validated against 4040 requirements, when the system evaluates the validation result, the desired outcome is that if the entity code is valid for 4040 destination, proceed to create segments, otherwise skip the entity.
💻 Technical Criteria
Given An entity code has been validated against 4040 requirements
When The system evaluates the validation result
Then If the entity code is valid for 4040 destination, proceed to create segments, otherwise skip the entity
R-GCCS309C-cbl-00184 Valid N1 Code for 5040?
Decision Rules
📊 Business Logic Narrative
When the process 'Valid N1 Code for 5040?' is invoked, and assuming that an entity code has been validated against 5040 requirements, when the system evaluates the validation result, the desired outcome is that if the entity code is valid for 5040 destination, proceed to additional address validation, otherwise skip the entity.
💻 Technical Criteria
Given An entity code has been validated against 5040 requirements
When The system evaluates the validation result
Then If the entity code is valid for 5040 destination, proceed to additional address validation, otherwise skip the entity
R-GCCS309C-cbl-00186 Country Code Present?
Validation Rules
📊 Business Logic Narrative
When the process 'Country Code Present?' is invoked, and assuming that an entity has city name present for 5040 destination, when the system checks country code completeness, the desired outcome is that if country code (gccs-n404-country-cde) is spaces, the entity is skipped, otherwise validation continues.
💻 Technical Criteria
Given An entity has city name present for 5040 destination
When The system checks country code completeness
Then If country code (GCCS-N404-COUNTRY-CDE) is spaces, the entity is skipped, otherwise validation continues
R-GCCS309C-cbl-00187 Postal Code Present for US/CA?
Validation Rules
📊 Business Logic Narrative
When the process 'Postal Code Present for US/CA?' is invoked, and assuming that an entity has country code present for 5040 destination, when the system checks postal code requirements based on country, the desired outcome is that if country is us or ca and postal code (gccs-n403-postal-cde) is spaces, the entity is skipped, otherwise validation continues.
💻 Technical Criteria
Given An entity has country code present for 5040 destination
When The system checks postal code requirements based on country
Then If country is US or CA and postal code (GCCS-N403-POSTAL-CDE) is spaces, the entity is skipped, otherwise validation continues
R-GCCS309C-cbl-00188 State/Province Code Present for US/CA?
Validation Rules
📊 Business Logic Narrative
When the process 'State/Province Code Present for US/CA?' is invoked, and assuming that an entity has passed postal code validation for 5040 destination, when the system checks state/province code requirements based on country, the desired outcome is that if country is us or ca and state/province code (gccs-n402-state-prov-cde) is spaces, the entity is skipped, otherwise proceed to address mapping check.
💻 Technical Criteria
Given An entity has passed postal code validation for 5040 destination
When The system checks state/province code requirements based on country
Then If country is US or CA and state/province code (GCCS-N402-STATE-PROV-CDE) is spaces, the entity is skipped, otherwise proceed to address mapping check
R-GCCS309C-cbl-00189 Check Consignee-Importer Address Mapping
Action Rules
📊 Business Logic Narrative
When the process 'Check Consignee-Importer Address Mapping' is invoked, and assuming that an entity has passed all address validation checks for 5040 destination, when the system performs consignee-importer address mapping, the desired outcome is that the n20625-check-cn-importer procedure is executed to validate address mapping relationships.
💻 Technical Criteria
Given An entity has passed all address validation checks for 5040 destination
When The system performs consignee-importer address mapping
Then The N20625-CHECK-CN-IMPORTER procedure is executed to validate address mapping relationships
R-GCCS309C-cbl-00194 Is Entity Code 'CN' - Consignee?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Entity Code 'CN' - Consignee?' is invoked, and assuming that an entity record is being processed from gcsccs55, when the entity identification code is 'cn', the desired outcome is that the entity is identified as a consignee and its address data is stored for potential use in importer address mapping.
💻 Technical Criteria
Given An entity record is being processed from GCSCCS55
When The entity identification code is 'CN'
Then The entity is identified as a consignee and its address data is stored for potential use in importer address mapping
R-GCCS309C-cbl-00195 Is Entity Code 'IM' - Importer?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Entity Code 'IM' - Importer?' is invoked, and assuming that an entity record is being processed from gcsccs55, when the entity identification code is 'im', the desired outcome is that the entity is identified as an importer and proceeds to address completeness validation.
💻 Technical Criteria
Given An entity record is being processed from GCSCCS55
When The entity identification code is 'IM'
Then The entity is identified as an importer and proceeds to address completeness validation
R-GCCS309C-cbl-00196 Is Importer Address Complete?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is Importer Address Complete?', assuming that an importer entity record is being processed, when the system validates address completeness by checking city name is not spaces and country code is not spaces and for us or ca countries postal code is not spaces and state/province code is not spaces, the desired outcome is that if all required fields are present the original importer address is used, otherwise consignee address is copied to replace incomplete importer address.
💻 Technical Criteria
EXCLUDING An importer entity record is being processed
When The system validates address completeness by checking city name is not spaces AND country code is not spaces AND for US or CA countries postal code is not spaces AND state/province code is not spaces
Then If all required fields are present the original importer address is used, otherwise consignee address is copied to replace incomplete importer address
R-GCCS309C-cbl-00204 Set Port Function Code 'O' for Origin / Set Port Function Code 'J' for Junction
Decision Rules
📊 Business Logic Narrative
When the process 'Set Port Function Code 'O' for Origin / Set Port Function Code 'J' for Junction' is invoked, and assuming that a manifest is being processed for r4 origin port segment creation, when the system checks the destination type (309-destination vs other), the desired outcome is that if destination type is 309-destination, set port function code to 'o' (origin), otherwise set port function code to 'j' (junction).
💻 Technical Criteria
Given A manifest is being processed for R4 origin port segment creation
When The system checks the destination type (309-DESTINATION vs other)
Then If destination type is 309-DESTINATION, set port function code to 'O' (Origin), otherwise set port function code to 'J' (Junction)
R-GCCS309C-cbl-00205 Override Country Code to 'CA'
Decision Rules
📊 Business Logic Narrative
When the process 'Override Country Code to 'CA'' is invoked, and assuming that a manifest is being processed with origin country code and in-transit status, when the in-transit status equals 'r' (return status), the desired outcome is that override the country code to 'ca' regardless of the original origin country.
💻 Technical Criteria
Given A manifest is being processed with origin country code and in-transit status
When The in-transit status equals 'R' (return status)
Then Override the country code to 'CA' regardless of the original origin country
R-GCCS309C-cbl-00206 Use Manifest From Trans Code / Use Manifest To Trans Code
Decision Rules
📊 Business Logic Narrative
When the process 'Use Manifest From Trans Code / Use Manifest To Trans Code' is invoked, and assuming that a manifest is being processed for customs district r4 segment with port function code '4', when the system checks the csa indicator status, the desired outcome is that if csa indicator is on, use manifest from transaction code as location identifier, otherwise use manifest to transaction code as location identifier.
💻 Technical Criteria
Given A manifest is being processed for customs district R4 segment with port function code '4'
When The system checks the CSA indicator status
Then If CSA indicator is ON, use manifest from transaction code as location identifier, otherwise use manifest to transaction code as location identifier
R-GCCS309C-cbl-00207 Set Sub-Location Code as Terminal Name
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Sub-Location Code as Terminal Name', assuming that a manifest is being processed for destination port r4 segment, when the destination type is not 309-destination, the desired outcome is that set the sub-location code as the terminal name in the r4 segment.
💻 Technical Criteria
EXCLUDING A manifest is being processed for destination port R4 segment
When The destination type is NOT 309-DESTINATION
Then Set the sub-location code as the terminal name in the R4 segment
R-GCCS309C-cbl-00208 Set Port Function Code 'E' for Export / Set Port Function Code 'R' for Rail
Decision Rules
📊 Business Logic Narrative
When the process 'Set Port Function Code 'E' for Export / Set Port Function Code 'R' for Rail' is invoked, and assuming that a manifest is being processed for final destination r4 segment creation, when the system checks the destination type (309-destination vs other), the desired outcome is that if destination type is 309-destination, set port function code to 'e' (export), otherwise set port function code to 'r' (rail destination).
💻 Technical Criteria
Given A manifest is being processed for final destination R4 segment creation
When The system checks the destination type (309-DESTINATION vs other)
Then If destination type is 309-DESTINATION, set port function code to 'E' (Export), otherwise set port function code to 'R' (Rail destination)
R-GCCS309C-cbl-00209 Set Destination Station State Code
Decision Rules
📊 Business Logic Narrative
When the process 'Set Destination Station State Code' is invoked, and assuming that a manifest is being processed for origin and final destination r4 segments, when the system processes state/province codes for different destination types, the desired outcome is that for 309-destination, assign origin station state code to r4-08-prov-state-code for origin segment, and for non-309 destinations, assign origin station state code to r4-08-prov-state-code for origin segment and destination station state code to r4-08-prov-state-code for final destination segment.
💻 Technical Criteria
Given A manifest is being processed for origin and final destination R4 segments
When The system processes state/province codes for different destination types
Then For 309-DESTINATION, assign origin station state code to R4-08-PROV-STATE-CODE for origin segment, and for non-309 destinations, assign origin station state code to R4-08-PROV-STATE-CODE for origin segment and destination station state code to R4-08-PROV-STATE-CODE for final destination segment
R-GCCS309C-cbl-00423 Set Port Function Code 'O' for Origin
Decision Rules
📊 Business Logic Narrative
When the process 'Set Port Function Code 'O' for Origin' is invoked, and assuming that a manifest is being processed for port function code assignment, when the destination type is 309-destination, the desired outcome is that the port function code should be set to 'o' for origin.
💻 Technical Criteria
Given A manifest is being processed for port function code assignment
When The destination type is 309-destination
Then The port function code should be set to 'O' for origin
R-GCCS309C-cbl-00424 Set Port Function Code 'J' for Junction
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Port Function Code 'J' for Junction', assuming that a manifest is being processed for port function code assignment, when the destination type is not 309-destination, the desired outcome is that the port function code should be set to 'j' for junction and the origin station state code should be added to province/state code field.
💻 Technical Criteria
EXCLUDING A manifest is being processed for port function code assignment
When The destination type is not 309-destination
Then The port function code should be set to 'J' for junction and the origin station state code should be added to province/state code field
R-GCCS309C-cbl-00425 Set Port Function Code '3' for Customs District
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Port Function Code '3' for Customs District' is invoked, and assuming that the first r4 segment for origin port has been created, when processing the second r4 segment for customs district, the desired outcome is that the port function code should be set to '3' and location qualifier should be set to 'cd'.
💻 Technical Criteria
Given The first R4 segment for origin port has been created
When Processing the second R4 segment for customs district
Then The port function code should be set to '3' and location qualifier should be set to 'CD'
R-GCCS309C-cbl-00426 Use From-Station Trans Code
Decision Rules
📊 Business Logic Narrative
When the process 'Use From-Station Trans Code' is invoked, and assuming that processing the third r4 segment for destination port, when the csa indicator is on, the desired outcome is that the location identifier should use the manifest from-station transaction code.
💻 Technical Criteria
Given Processing the third R4 segment for destination port
When The CSA indicator is on
Then The location identifier should use the manifest from-station transaction code
R-GCCS309C-cbl-00427 Use To-Station Trans Code
Decision Rules
📊 Business Logic Narrative
When the process 'Use To-Station Trans Code' is invoked, and assuming that processing the third r4 segment for destination port, when the csa indicator is off, the desired outcome is that the location identifier should use the manifest to-station transaction code.
💻 Technical Criteria
Given Processing the third R4 segment for destination port
When The CSA indicator is off
Then The location identifier should use the manifest to-station transaction code
R-GCCS309C-cbl-00428 Set Port Function Code '4' for Destination
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Port Function Code '4' for Destination' is invoked, and assuming that the second r4 segment for customs district has been created, when processing the third r4 segment for destination port, the desired outcome is that the port function code should be set to '4' and location qualifier should be set to 'cd'.
💻 Technical Criteria
Given The second R4 segment for customs district has been created
When Processing the third R4 segment for destination port
Then The port function code should be set to '4' and location qualifier should be set to 'CD'
R-GCCS309C-cbl-00429 Add Terminal Name if Not 309-Destination
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Add Terminal Name if Not 309-Destination', assuming that processing the third r4 segment for destination port, when the destination type is not 309-destination, the desired outcome is that the sub-location code should be added to the terminal name field.
💻 Technical Criteria
EXCLUDING Processing the third R4 segment for destination port
When The destination type is not 309-destination
Then The sub-location code should be added to the terminal name field
R-GCCS309C-cbl-00430 Set Port Function Code 'E' for Export
Decision Rules
📊 Business Logic Narrative
When the process 'Set Port Function Code 'E' for Export' is invoked, and assuming that processing the fourth r4 segment for final destination, when the destination type is 309-destination, the desired outcome is that the port function code should be set to 'e' for export.
💻 Technical Criteria
Given Processing the fourth R4 segment for final destination
When The destination type is 309-destination
Then The port function code should be set to 'E' for export
R-GCCS309C-cbl-00431 Set Port Function Code 'R' for Rail
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Port Function Code 'R' for Rail', assuming that processing the fourth r4 segment for final destination, when the destination type is not 309-destination, the desired outcome is that the port function code should be set to 'r' for rail and the destination station state code should be added to province/state code field.
💻 Technical Criteria
EXCLUDING Processing the fourth R4 segment for final destination
When The destination type is not 309-destination
Then The port function code should be set to 'R' for rail and the destination station state code should be added to province/state code field
R-GCCS309C-cbl-00470 CSA Indicator Processing
Decision Rules
📊 Business Logic Narrative
When the process 'CSA Indicator Processing' is invoked, and assuming that a manifest record with csa indicator status and both from-station and to-station transaction codes available, when the system processes r4 port function code 4 segment for destination border crossing, the desired outcome is that if csa indicator is on, use the from-station transaction code as the location identifier, otherwise use the to-station transaction code as the location identifier.
💻 Technical Criteria
Given A manifest record with CSA indicator status and both from-station and to-station transaction codes available
When The system processes R4 port function code 4 segment for destination border crossing
Then If CSA indicator is ON, use the from-station transaction code as the location identifier, otherwise use the to-station transaction code as the location identifier
R-GCCS309C-cbl-00255 Destination Type Check
Decision Rules
📊 Business Logic Narrative
When the process 'Destination Type Check' is invoked, and assuming that a manifest has valid hazardous material information and destination type is determined, when the system processes h1 hazardous material segment, the desired outcome is that if destination is 309-destination, use full un number in h1-01 field, otherwise use only last 4 digits of un number.
💻 Technical Criteria
Given A manifest has valid hazardous material information and destination type is determined
When The system processes H1 hazardous material segment
Then If destination is 309-DESTINATION, use full UN number in H1-01 field, otherwise use only last 4 digits of UN number
R-GCCS309C-cbl-00256 Initialize H1 Segment AND Set Full UN Number in H1-01 AND Set Last 4 Digits of UN Number in H1-01 AND Set Commodity Danger Description in H1-04 AND Clear Contact and Packing Group Fields
Process Rules
📊 Business Logic Narrative
When the process 'Initialize H1 Segment AND Set Full UN Number in H1-01 AND Set Last 4 Digits of UN Number in H1-01 AND Set Commodity Danger Description in H1-04 AND Clear Contact and Packing Group Fields' is invoked, and assuming that valid hazardous material information exists and destination type is determined, when the system creates h1 hazardous material segment, the desired outcome is that initialize h1 segment, set appropriate un number format in h1-01, set commodity danger description in h1-04, and clear contact and packing group fields to spaces.
💻 Technical Criteria
Given Valid hazardous material information exists and destination type is determined
When The system creates H1 hazardous material segment
Then Initialize H1 segment, set appropriate UN number format in H1-01, set commodity danger description in H1-04, and clear contact and packing group fields to spaces
R-GCCS309C-cbl-00276 Access EX Table for Export Destination
Decision Rules
📊 Business Logic Narrative
When the process 'Access EX Table for Export Destination' is invoked, and assuming that a shipment with in-transit status of 'l' (local), when export destination lookup is performed using destination station number, the desired outcome is that retrieve export destination entry from ex table if available.
💻 Technical Criteria
Given A shipment with in-transit status of 'L' (Local)
When Export destination lookup is performed using destination station number
Then Retrieve export destination entry from EX table if available
R-GCCS309C-cbl-00446 Access SC Table for Station Codes
Action Rules
📊 Business Logic Narrative
When the process 'Access SC Table for Station Codes' is invoked, and assuming that a manifest with from-station transportation code, when processing station information lookup, the desired outcome is that the system should query sc table using the from-station code as search criteria.
💻 Technical Criteria
Given A manifest with from-station transportation code
When Processing station information lookup
Then The system should query SC table using the from-station code as search criteria
R-GCCS309C-cbl-00449 Access EX Table for Export Destination
Decision Rules
📊 Business Logic Narrative
When the process 'Access EX Table for Export Destination' is invoked, and assuming that a manifest with in-transit status information, when in-transit status equals 'l' (local), the desired outcome is that the system should initiate ex table lookup using destination station number.
💻 Technical Criteria
Given A manifest with in-transit status information
When In-transit status equals 'L' (Local)
Then The system should initiate EX table lookup using destination station number
R-GCCS309C-cbl-00450 Set Export Destination Flag
Decision Rules
📊 Business Logic Narrative
When the process 'Set Export Destination Flag' is invoked, and assuming that an ex table lookup for destination station, when ex table record is successfully found, the desired outcome is that the system should set the export destination flag for subsequent processing.
💻 Technical Criteria
Given An EX table lookup for destination station
When EX table record is successfully found
Then The system should set the export destination flag for subsequent processing
R-GCCS309C-cbl-00489 Origin Country is MX AND AU Type Code 2nd position is 'C'?
Decision Rules
📊 Business Logic Narrative
When the process 'Origin Country is MX AND AU Type Code 2nd position is 'C'?' is invoked, and assuming that a shipment originating from mexico with au table data, when the system evaluates automotive eligibility for mexican origin, the desired outcome is that the system should check if origin country is mx and the second position of au type code is 'c' to determine eligibility.
💻 Technical Criteria
Given A shipment originating from Mexico with AU table data
When The system evaluates automotive eligibility for Mexican origin
Then The system should check if origin country is MX and the second position of AU type code is 'C' to determine eligibility
R-GCCS309C-cbl-00496 AU Type second character is 'C'?
Validation Rules
📊 Business Logic Narrative
When the process 'AU Type second character is 'C'?' is invoked, and assuming that a mexico origin shipment with automotive type code information, when the second character of the automotive type code is 'c', the desired outcome is that the mexico shipment meets the automotive type qualification criteria.
💻 Technical Criteria
Given A Mexico origin shipment with automotive type code information
When The second character of the automotive type code is 'C'
Then The Mexico shipment meets the automotive type qualification criteria
R-GCCS309C-cbl-00295 Date calculation successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Date calculation successful?' is invoked, and assuming that date calculation service has been invoked, when the system checks the calculation result status, the desired outcome is that if dtcal-success is true, move dtcal-new-date to gccc-border-arrival-eta, otherwise continue with existing processing.
💻 Technical Criteria
Given Date calculation service has been invoked
When The system checks the calculation result status
Then If DTCAL-SUCCESS is true, move DTCAL-NEW-DATE to GCCC-BORDER-ARRIVAL-ETA, otherwise continue with existing processing
R-GCCS309C-cbl-00296 Use calculated ETA date
Process Rules
📊 Business Logic Narrative
When the process 'Use calculated ETA date' is invoked, and assuming that date calculation service completed successfully, when the system processes the calculated result, the desired outcome is that move dtcal-new-date to gccc-border-arrival-eta for use in p4 segment.
💻 Technical Criteria
Given Date calculation service completed successfully
When The system processes the calculated result
Then Move DTCAL-NEW-DATE to GCCC-BORDER-ARRIVAL-ETA for use in P4 segment
R-GCCS309C-cbl-00297 Set ETA date in P4 segment
Process Rules
📊 Business Logic Narrative
When the process 'Set ETA date in P4 segment' is invoked, and assuming that eta date has been determined (either calculated or existing gccc-border-arrival-eta), when the system builds the p4 segment for transmission, the desired outcome is that move gccc-border-arrival-eta to p4-02-eta-date.
💻 Technical Criteria
Given ETA date has been determined (either calculated or existing GCCC-BORDER-ARRIVAL-ETA)
When The system builds the P4 segment for transmission
Then Move GCCC-BORDER-ARRIVAL-ETA to P4-02-ETA-DATE
R-GCCS309C-cbl-00298 Set Application Type to '29' for Transit
Decision Rules
📊 Business Logic Narrative
When the process 'Set Application Type to '29' for Transit' is invoked, and assuming that a manifest record with in-transit status indicator, when the in-transit status equals 't' (transit), the desired outcome is that the application type should be set to '29' for transit shipments.
💻 Technical Criteria
Given A manifest record with in-transit status indicator
When The in-transit status equals 'T' (Transit)
Then The application type should be set to '29' for transit shipments
R-GCCS309C-cbl-00299 Set Application Type to '27' for Non-Transit
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Application Type to '27' for Non-Transit', assuming that a manifest record with in-transit status indicator, when the in-transit status is not equal to 't' (transit), the desired outcome is that the application type should be set to '27' for regular shipments.
💻 Technical Criteria
EXCLUDING A manifest record with in-transit status indicator
When The in-transit status is not equal to 'T' (Transit)
Then The application type should be set to '27' for regular shipments
R-GCCS309C-cbl-00300 Override Country Code to 'CA'
Decision Rules
📊 Business Logic Narrative
When the process 'Override Country Code to 'CA'' is invoked, and assuming that a manifest record with in-transit status and original country code, when the in-transit status equals the return status indicator, the desired outcome is that the country code should be overridden to 'ca' (canada) in the r4 segment.
💻 Technical Criteria
Given A manifest record with in-transit status and original country code
When The in-transit status equals the return status indicator
Then The country code should be overridden to 'CA' (Canada) in the R4 segment
R-GCCS309C-cbl-00301 Keep Original Country Code
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Keep Original Country Code', assuming that a manifest record with in-transit status and original country code, when the in-transit status does not equal the return status indicator, the desired outcome is that the original country code from the manifest should be preserved in the r4 segment.
💻 Technical Criteria
EXCLUDING A manifest record with in-transit status and original country code
When The in-transit status does not equal the return status indicator
Then The original country code from the manifest should be preserved in the R4 segment
R-GCCS309C-cbl-00305 Running Environment?
Decision Rules
📊 Business Logic Narrative
When the process 'Running Environment?' is invoked, and assuming that transaction completion processing is ready to execute, when the system needs to determine the execution environment, the desired outcome is that the system routes to bpe environment processing if running in bpe, otherwise routes to tpe environment processing.
💻 Technical Criteria
Given Transaction completion processing is ready to execute
When The system needs to determine the execution environment
Then The system routes to BPE environment processing if running in BPE, otherwise routes to TPE environment processing
R-GCCS309C-cbl-00320 Action Code = 04, 05, or 06?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Action Code = 04, 05, or 06?', assuming that a manifest with an action code and border arrival information, when the action code is 04, 05, or 06 and the border arrival date exists and the manifest is not a pre-emanifest, the desired outcome is that set the transaction purpose code to 'co' and mark as post-emanifest amendment.
💻 Technical Criteria
EXCLUDING A manifest with an action code and border arrival information
When The action code is 04, 05, or 06 AND the border arrival date exists AND the manifest is not a pre-emanifest
Then Set the transaction purpose code to 'CO' and mark as post-emanifest amendment
R-GCCS309C-cbl-00321 Use Original Action Code as Transaction Purpose Code
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Original Action Code as Transaction Purpose Code', assuming that a manifest with an action code, when the action code is not 04, 05, or 06 or the border arrival date does not exist or the manifest is a pre-emanifest, the desired outcome is that use the original action code as the transaction purpose code.
💻 Technical Criteria
EXCLUDING A manifest with an action code
When The action code is not 04, 05, or 06 OR the border arrival date does not exist OR the manifest is a pre-emanifest
Then Use the original action code as the transaction purpose code
R-GCCS309C-cbl-00322 Set Post-Emanifest Amendment Flag to TRUE
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Post-Emanifest Amendment Flag to TRUE', assuming that a manifest meeting post-emanifest amendment criteria, when the action code is 04, 05, or 06 and the border arrival date exists and the manifest is not a pre-emanifest, the desired outcome is that set the post-emanifest amendment flag to true for subsequent processing.
💻 Technical Criteria
EXCLUDING A manifest meeting post-emanifest amendment criteria
When The action code is 04, 05, or 06 AND the border arrival date exists AND the manifest is not a pre-emanifest
Then Set the post-emanifest amendment flag to TRUE for subsequent processing
R-GCCS309C-cbl-00326 Set purpose code to 'CO'
Definitional Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set purpose code to 'CO'', assuming that a manifest transaction with action code 04, 05, or 06 and border arrival date exists and not pre-emanifest, when the amendment conditions are met, the desired outcome is that the transaction set purpose code should be set to 'co'.
💻 Technical Criteria
EXCLUDING A manifest transaction with action code 04, 05, or 06 AND border arrival date exists AND not pre-emanifest
When The amendment conditions are met
Then The transaction set purpose code should be set to 'CO'
R-GCCS309C-cbl-00327 Set post-emanifest amendment flag to TRUE
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set post-emanifest amendment flag to TRUE', assuming that a manifest transaction with action code 04, 05, or 06 and border arrival date exists and not pre-emanifest, when the amendment conditions are met, the desired outcome is that the post-emanifest amendment flag should be set to true.
💻 Technical Criteria
EXCLUDING A manifest transaction with action code 04, 05, or 06 AND border arrival date exists AND not pre-emanifest
When The amendment conditions are met
Then The post-emanifest amendment flag should be set to TRUE
R-GCCS309C-cbl-00330 Set Broker as Destination Address
Action Rules
📊 Business Logic Narrative
When the process 'Set Broker as Destination Address' is invoked, and assuming that broker notification is required, when the system processes the broker notification setup, the desired outcome is that the system should set gcws309c-x12-broker as both work-destination and log-edi-address.
💻 Technical Criteria
Given Broker notification is required
When The system processes the broker notification setup
Then The system should set GCWS309C-X12-BROKER as both WORK-DESTINATION and LOG-EDI-ADDRESS
R-GCCS309C-cbl-00358 Access SC table with station code
Action Rules
📊 Business Logic Narrative
When the process 'Access SC table with station code' is invoked, and assuming that a manifest with from-station transport code exists, when the system needs to validate station information, the desired outcome is that the system accesses the sc table using the from-station code as the key.
💻 Technical Criteria
Given A manifest with from-station transport code exists
When The system needs to validate station information
Then The system accesses the SC table using the from-station code as the key
R-GCCS309C-cbl-00360 Generate station not found error message
Action Rules
📊 Business Logic Narrative
When the process 'Generate station not found error message' is invoked, and assuming that a station code lookup has failed or returned invalid data, when the system needs to report the validation failure, the desired outcome is that the system generates an error message indicating the sc table entry for the station was not found.
💻 Technical Criteria
Given A station code lookup has failed or returned invalid data
When The system needs to report the validation failure
Then The system generates an error message indicating the SC table entry for the station was not found

🔁 EDI, Status & Database 188 logic blocks
R-GCCS309C-cbl-00001 1:Manifest from 66MASTER station?
Decision Rules
📊 Business Logic Narrative
When the process '1:Manifest from 66MASTER station?' is invoked, and assuming that a manifest is being processed, when the manifest from station equals '66master', the desired outcome is that the system should exit processing immediately without performing any manifest operations.
💻 Technical Criteria
Given A manifest is being processed
When The manifest from station equals '66MASTER'
Then The system should exit processing immediately without performing any manifest operations
R-GCCS309C-cbl-00003 3:Action Code Processing
Process Rules
📊 Business Logic Narrative
When the process '3:Action Code Processing' is invoked, and assuming that an action code is provided in the input parameters, when the system processes the action code, the desired outcome is that the system should store the action code for use in subsequent manifest processing steps.
💻 Technical Criteria
Given An action code is provided in the input parameters
When The system processes the action code
Then The system should store the action code for use in subsequent manifest processing steps
R-GCCS309C-cbl-00004 4:Automotive Release Check
Decision Rules
📊 Business Logic Narrative
When the process '4:Automotive Release Check' is invoked, and assuming that a manifest has commodity and origin country information, when the origin country is us, ca, or blank or the origin country is mx with automotive type code 'c' in position 2, and the csa indicator is off, the desired outcome is that the system should set the automotive flag to true.
💻 Technical Criteria
Given A manifest has commodity and origin country information
When The origin country is US, CA, or blank OR the origin country is MX with automotive type code 'C' in position 2, AND the CSA indicator is off
Then The system should set the automotive flag to true
R-GCCS309C-cbl-00005 33:Broker Notification Processing
Action Rules
📊 Business Logic Narrative
When the process '33:Broker Notification Processing' is invoked, and assuming that a manifest is being processed with broker notification enabled, when the notify broker flag is set to true, the desired outcome is that the system should prepare broker message with action code 'zzz' and spawn gct1051e transaction.
💻 Technical Criteria
Given A manifest is being processed with broker notification enabled
When The notify broker flag is set to true
Then The system should prepare broker message with action code 'ZZZ' and spawn GCT1051E transaction
R-GCCS309C-cbl-00006 5:Transmission Number Generation
Decision Rules
📊 Business Logic Narrative
When the process '5:Transmission Number Generation' is invoked, and assuming that a transaction type is specified for processing, when the transaction type is 'gct036', 'gct0021e', 'gct1251e', 'gct0111e', or other, the desired outcome is that the system should assign transmission prefix 036, 002, 125, 011, or 901 respectively.
💻 Technical Criteria
Given A transaction type is specified for processing
When The transaction type is 'GCT036', 'GCT0021E', 'GCT1251E', 'GCT0111E', or other
Then The system should assign transmission prefix 036, 002, 125, 011, or 901 respectively
R-GCCS309C-cbl-00008 7:Root Transaction Creation
Action Rules
📊 Business Logic Narrative
When the process '7:Root Transaction Creation' is invoked, and assuming that a transmission number is generated, when the system creates the root transaction, the desired outcome is that the system should create transaction root with transmission number, transaction set '309', and handle duplicate transmission numbers by incrementing.
💻 Technical Criteria
Given A transmission number is generated
When The system creates the root transaction
Then The system should create transaction root with transmission number, transaction set '309', and handle duplicate transmission numbers by incrementing
R-GCCS309C-cbl-00014 11:LX Segment Processing
Process Rules
📊 Business Logic Narrative
When the process '11:LX Segment Processing' is invoked, and assuming that a transaction requires line number identification, when the lx segment is processed, the desired outcome is that the system should create lx segment with identifier 'lx' and assigned number '000001'.
💻 Technical Criteria
Given A transaction requires line number identification
When The LX segment is processed
Then The system should create LX segment with identifier 'LX' and assigned number '000001'
R-GCCS309C-cbl-00019 14:N9 Reference Processing
Decision Rules
📊 Business Logic Narrative
When the process '14:N9 Reference Processing' is invoked, and assuming that a manifest has csa indicator information, when the csa indicator is on, the desired outcome is that the system should set reference number to '01', otherwise set to '00'.
💻 Technical Criteria
Given A manifest has CSA indicator information
When The CSA indicator is on
Then The system should set reference number to '01', otherwise set to '00'
R-GCCS309C-cbl-00028 Hazardous Material?
Decision Rules
📊 Business Logic Narrative
When the process 'Hazardous Material?' is invoked, and assuming that a manifest has commodity information, when the un number is blank or starts with 'na' or commodity description danger field is blank, the desired outcome is that the system should skip hazardous material processing, otherwise process h1-h2 segments.
💻 Technical Criteria
Given A manifest has commodity information
When The UN number is blank OR starts with 'NA' OR commodity description danger field is blank
Then The system should skip hazardous material processing, otherwise process H1-H2 segments
R-GCCS309C-cbl-00032 30:Transaction Completion
Process Rules
📊 Business Logic Narrative
When the process '30:Transaction Completion' is invoked, and assuming that all required segments have been processed, when the transaction completion phase is reached, the desired outcome is that the system should finalize the edi transaction structure.
💻 Technical Criteria
Given All required segments have been processed
When The transaction completion phase is reached
Then The system should finalize the EDI transaction structure
R-GCCS309C-cbl-00033 34:Transaction Completion Notification
Action Rules
📊 Business Logic Narrative
When the process '34:Transaction Completion Notification' is invoked, and assuming that a transaction has been completed, when the transaction completion notification is triggered, the desired outcome is that the system should spawn gct1211e transaction with the transmission number.
💻 Technical Criteria
Given A transaction has been completed
When The transaction completion notification is triggered
Then The system should spawn GCT1211E transaction with the transmission number
R-GCCS309C-cbl-00034 Check if manifest is from 66MASTER station and exit if true
Decision Rules
📊 Business Logic Narrative
When the process 'Check if manifest is from 66MASTER station and exit if true' is invoked, and assuming that a manifest is being processed for transmission, when the manifest origin station is '66master', the desired outcome is that the system should immediately exit without performing any manifest processing or transmission activities.
💻 Technical Criteria
Given A manifest is being processed for transmission
When The manifest origin station is '66MASTER'
Then The system should immediately exit without performing any manifest processing or transmission activities
R-GCCS309C-cbl-00035 Continue to next process
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Continue to next process', assuming that a manifest is being processed for transmission, when the manifest origin station is not '66master', the desired outcome is that the system should continue with initialization and subsequent manifest processing steps.
💻 Technical Criteria
EXCLUDING A manifest is being processed for transmission
When The manifest origin station is not '66MASTER'
Then The system should continue with initialization and subsequent manifest processing steps
R-GCCS309C-cbl-00037 Set Database Access Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Set Database Access Parameters' is invoked, and assuming that the system needs to retrieve manifest data from the database, when database access parameters are being configured, the desired outcome is that the system sets accept status to 'ge', clears the database interface structure, sets fetch-all flag to true, sets function to gu (get unique), and sets index-not-used flag to true.
💻 Technical Criteria
Given The system needs to retrieve manifest data from the database
When Database access parameters are being configured
Then The system sets accept status to 'GE', clears the database interface structure, sets fetch-all flag to true, sets function to GU (Get Unique), and sets index-not-used flag to true
R-GCCS309C-cbl-00040 Database Access Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Database Access Successful?' is invoked, and assuming that the database access module gccccio2 has been called, when the system checks the result of the database operation, the desired outcome is that if the error number field is spaces, the operation is considered successful; otherwise it is considered an error.
💻 Technical Criteria
Given The database access module GCCCCIO2 has been called
When The system checks the result of the database operation
Then If the error number field is spaces, the operation is considered successful; otherwise it is considered an error
R-GCCS309C-cbl-00041 Move Retrieved Manifest Data to Working Storage
Process Rules
📊 Business Logic Narrative
When the process 'Move Retrieved Manifest Data to Working Storage' is invoked, and assuming that database access completed successfully with no error number, when manifest data needs to be loaded into working storage, the desired outcome is that the system moves the first occurrence of gcsccs53 data from the working storage array to the gcsccs53 segment.
💻 Technical Criteria
Given Database access completed successfully with no error number
When Manifest data needs to be loaded into working storage
Then The system moves the first occurrence of GCSCCS53 data from the working storage array to the GCSCCS53 segment
R-GCCS309C-cbl-00042 Move Additional Segment Data to Working Storage
Process Rules
📊 Business Logic Narrative
When the process 'Move Additional Segment Data to Working Storage' is invoked, and assuming that database access completed successfully with no error number, when additional segment data needs to be loaded into working storage, the desired outcome is that the system moves the first occurrence of gcsccs55 data from the working storage array to the gcsccs55 segment.
💻 Technical Criteria
Given Database access completed successfully with no error number
When Additional segment data needs to be loaded into working storage
Then The system moves the first occurrence of GCSCCS55 data from the working storage array to the GCSCCS55 segment
R-GCCS309C-cbl-00043 Display Database Error Message
Validation Rules
📊 Business Logic Narrative
When the process 'Display Database Error Message' is invoked, and assuming that database access operation failed with an error number greater than spaces, when the system needs to handle the database error, the desired outcome is that the system sets the error message to 'unable to locate manifest in database' and calls the error handler 'cerr'.
💻 Technical Criteria
Given Database access operation failed with an error number greater than spaces
When The system needs to handle the database error
Then The system sets the error message to 'UNABLE TO LOCATE MANIFEST IN DATABASE' and calls the error handler 'CERR'
R-GCCS309C-cbl-00044 Set Action Code from Input
Process Rules
📊 Business Logic Narrative
When the process 'Set Action Code from Input' is invoked, and assuming that manifest data has been successfully retrieved and loaded, when the system needs to set the action code for processing, the desired outcome is that the system moves the action code from the input parameter gcws309c-act-cde to the working storage action field ws-action.
💻 Technical Criteria
Given Manifest data has been successfully retrieved and loaded
When The system needs to set the action code for processing
Then The system moves the action code from the input parameter GCWS309C-ACT-CDE to the working storage action field WS-ACTION
R-GCCS309C-cbl-00045 Check Automotive Release Requirements
Action Rules
📊 Business Logic Narrative
When the process 'Check Automotive Release Requirements' is invoked, and assuming that the action code has been set and manifest data is loaded, when the initialization process needs to complete, the desired outcome is that the system performs the d210-check-automotive-release procedure to validate automotive release requirements.
💻 Technical Criteria
Given The action code has been set and manifest data is loaded
When The initialization process needs to complete
Then The system performs the D210-CHECK-AUTOMOTIVE-RELEASE procedure to validate automotive release requirements
R-GCCS309C-cbl-00373 Initialize GCWCCIO2 Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Initialize GCWCCIO2 Parameters' is invoked, and assuming that a database query is about to be executed, when the system prepares the query parameters, the desired outcome is that all gcwccio2 parameters are initialized to spaces to ensure clean state.
💻 Technical Criteria
Given A database query is about to be executed
When The system prepares the query parameters
Then All GCWCCIO2 parameters are initialized to spaces to ensure clean state
R-GCCS309C-cbl-00374 Set Fetch All Segments Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Fetch All Segments Flag' is invoked, and assuming that a manifest data retrieval request is processed, when the system configures the database query scope, the desired outcome is that the fetch all segments flag is set to true to retrieve complete manifest information.
💻 Technical Criteria
Given A manifest data retrieval request is processed
When The system configures the database query scope
Then The fetch all segments flag is set to true to retrieve complete manifest information
R-GCCS309C-cbl-00375 Set Function to GU - Get Unique
Process Rules
📊 Business Logic Narrative
When the process 'Set Function to GU - Get Unique' is invoked, and assuming that a specific manifest needs to be retrieved from the database, when the system sets the database access function, the desired outcome is that the function is set to gu (get unique) to retrieve a single manifest record.
💻 Technical Criteria
Given A specific manifest needs to be retrieved from the database
When The system sets the database access function
Then The function is set to GU (Get Unique) to retrieve a single manifest record
R-GCCS309C-cbl-00377 Call GCCCCIO2 Module
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCCCIO2 Module' is invoked, and assuming that all database query parameters are properly configured, when the system needs to retrieve manifest data from the database, the desired outcome is that the gccccio2 module is called with all required parameters including cccom, gcwccio2, and all segment arrays.
💻 Technical Criteria
Given All database query parameters are properly configured
When The system needs to retrieve manifest data from the database
Then The GCCCCIO2 module is called with all required parameters including CCCOM, GCWCCIO2, and all segment arrays
R-GCCS309C-cbl-00378 Error Number Present?
Validation Rules
📊 Business Logic Narrative
When the process 'Error Number Present?' is invoked, and assuming that a database retrieval operation has been executed, when the system checks the operation result, the desired outcome is that if gcwccio2-error-num equals spaces, the operation is considered successful.
💻 Technical Criteria
Given A database retrieval operation has been executed
When The system checks the operation result
Then If GCWCCIO2-ERROR-NUM equals spaces, the operation is considered successful
R-GCCS309C-cbl-00379 Move GCSCCS53 Data from Array
Process Rules
📊 Business Logic Narrative
When the process 'Move GCSCCS53 Data from Array' is invoked, and assuming that database retrieval operation completed successfully with no error number, when the system processes the retrieved segment arrays, the desired outcome is that the first element of ws-gcsccs53-data array is moved to gcsccs53 segment.
💻 Technical Criteria
Given Database retrieval operation completed successfully with no error number
When The system processes the retrieved segment arrays
Then The first element of WS-GCSCCS53-DATA array is moved to GCSCCS53 segment
R-GCCS309C-cbl-00380 Move GCSCCS55 Data from Array
Process Rules
📊 Business Logic Narrative
When the process 'Move GCSCCS55 Data from Array' is invoked, and assuming that database retrieval operation completed successfully with no error number, when the system processes the retrieved segment arrays, the desired outcome is that the first element of ws-gcsccs55-data array is moved to gcsccs55 segment.
💻 Technical Criteria
Given Database retrieval operation completed successfully with no error number
When The system processes the retrieved segment arrays
Then The first element of WS-GCSCCS55-DATA array is moved to GCSCCS55 segment
R-GCCS309C-cbl-00381 Database Error?
Validation Rules
📊 Business Logic Narrative
When the process 'Database Error?' is invoked, and assuming that a database retrieval operation has been attempted, when the system evaluates the operation outcome, the desired outcome is that if gcwccio2-error-num is greater than spaces, a database error is detected.
💻 Technical Criteria
Given A database retrieval operation has been attempted
When The system evaluates the operation outcome
Then If GCWCCIO2-ERROR-NUM is greater than spaces, a database error is detected
R-GCCS309C-cbl-00382 Set Error Message: Unable to Locate Manifest
Process Rules
📊 Business Logic Narrative
When the process 'Set Error Message: Unable to Locate Manifest' is invoked, and assuming that a database error has been detected during manifest retrieval, when the system prepares error information for the user, the desired outcome is that the error message is set to 'unable to locate manifest in database'.
💻 Technical Criteria
Given A database error has been detected during manifest retrieval
When The system prepares error information for the user
Then The error message is set to 'UNABLE TO LOCATE MANIFEST IN DATABASE'
R-GCCS309C-cbl-00383 Call Error Handler CERR
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Call Error Handler CERR', assuming that a manifest not found error message has been set, when the system needs to handle the error condition, the desired outcome is that the cerr error handler is called with cccom parameter.
💻 Technical Criteria
EXCLUDING A manifest not found error message has been set
When The system needs to handle the error condition
Then The CERR error handler is called with CCCOM parameter
R-GCCS309C-cbl-00053 AU Table entry found?
Validation Rules
📊 Business Logic Narrative
When the process 'AU Table entry found?' is invoked, and assuming that au table lookup has been performed with consignee chop and commodity code, when the system checks the lookup result, the desired outcome is that the system should set non-automotive flag if no matching au table entry is found, otherwise proceed with automotive type evaluation.
💻 Technical Criteria
Given AU table lookup has been performed with consignee CHOP and commodity code
When The system checks the lookup result
Then The system should set NON-AUTOMOTIVE flag if no matching AU table entry is found, otherwise proceed with automotive type evaluation
R-GCCS309C-cbl-00056 CSA Indicator is OFF?
Policy Rules
📊 Business Logic Narrative
When the process 'CSA Indicator is OFF?' is invoked, and assuming that the shipment meets origin country requirements for automotive processing, when the system checks csa indicator status, the desired outcome is that the system should only set automotive flag to true if csa indicator is off, otherwise set non-automotive flag.
💻 Technical Criteria
Given The shipment meets origin country requirements for automotive processing
When The system checks CSA indicator status
Then The system should only set AUTOMOTIVE flag to TRUE if CSA indicator is OFF, otherwise set NON-AUTOMOTIVE flag
R-GCCS309C-cbl-00057 Set AUTOMOTIVE flag to TRUE
Action Rules
📊 Business Logic Narrative
When the process 'Set AUTOMOTIVE flag to TRUE' is invoked, and assuming that all automotive eligibility criteria are satisfied (valid au entry, eligible origin country, csa indicator off), when the system finalizes automotive classification, the desired outcome is that the system should set the automotive flag to true to enable automotive-specific processing.
💻 Technical Criteria
Given All automotive eligibility criteria are satisfied (valid AU entry, eligible origin country, CSA indicator OFF)
When The system finalizes automotive classification
Then The system should set the AUTOMOTIVE flag to TRUE to enable automotive-specific processing
R-GCCS309C-cbl-00058 Set NON-AUTOMOTIVE flag to TRUE
Action Rules
📊 Business Logic Narrative
When the process 'Set NON-AUTOMOTIVE flag to TRUE' is invoked, and assuming that any automotive eligibility criteria fails (missing chop/commodity, no au entry, ineligible origin country, or csa indicator on), when the system finalizes automotive classification, the desired outcome is that the system should set the non-automotive flag to true as the default processing mode.
💻 Technical Criteria
Given Any automotive eligibility criteria fails (missing CHOP/commodity, no AU entry, ineligible origin country, or CSA indicator ON)
When The system finalizes automotive classification
Then The system should set the NON-AUTOMOTIVE flag to TRUE as the default processing mode
R-GCCS309C-cbl-00386 AU Table Entry Found?
Validation Rules
📊 Business Logic Narrative
When the process 'AU Table Entry Found?' is invoked, and assuming that an au table lookup has been performed, when the system checks the lookup result, the desired outcome is that if no matching entry is found, set non-automotive flag, otherwise proceed with automotive evaluation.
💻 Technical Criteria
Given An AU table lookup has been performed
When The system checks the lookup result
Then If no matching entry is found, set non-automotive flag, otherwise proceed with automotive evaluation
R-GCCS309C-cbl-00387 Set Non-Automotive Flag
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Non-Automotive Flag', assuming that either consignee chop/commodity code are missing or au table entry is not found, when the automotive determination process encounters missing data, the desired outcome is that set the shipment classification to non-automotive.
💻 Technical Criteria
EXCLUDING Either consignee CHOP/commodity code are missing or AU table entry is not found
When The automotive determination process encounters missing data
Then Set the shipment classification to non-automotive
R-GCCS309C-cbl-00388 Evaluate Country and CSA Status
Process Rules
📊 Business Logic Narrative
When the process 'Evaluate Country and CSA Status' is invoked, and assuming that a valid au table entry exists for the shipment, when the system evaluates automotive eligibility criteria, the desired outcome is that check origin country and csa indicator status according to automotive business rules.
💻 Technical Criteria
Given A valid AU table entry exists for the shipment
When The system evaluates automotive eligibility criteria
Then Check origin country and CSA indicator status according to automotive business rules
R-GCCS309C-cbl-00391 CSA Indicator is OFF?
Decision Rules
📊 Business Logic Narrative
When the process 'CSA Indicator is OFF?' is invoked, and assuming that a shipment that meets country-based automotive eligibility criteria, when the system checks the csa indicator status, the desired outcome is that if csa indicator is off, set automotive flag, otherwise keep non-automotive flag.
💻 Technical Criteria
Given A shipment that meets country-based automotive eligibility criteria
When The system checks the CSA indicator status
Then If CSA indicator is OFF, set automotive flag, otherwise keep non-automotive flag
R-GCCS309C-cbl-00392 Set Automotive Flag
Decision Rules
📊 Business Logic Narrative
When the process 'Set Automotive Flag' is invoked, and assuming that a shipment that meets all automotive eligibility criteria (valid au entry, appropriate country, csa indicator off), when the system finalizes the automotive classification, the desired outcome is that set the shipment classification to automotive.
💻 Technical Criteria
Given A shipment that meets all automotive eligibility criteria (valid AU entry, appropriate country, CSA indicator OFF)
When The system finalizes the automotive classification
Then Set the shipment classification to automotive
R-GCCS309C-cbl-00393 Keep Non-Automotive Flag
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Keep Non-Automotive Flag', assuming that a shipment that does not meet all automotive eligibility criteria, when the system completes the automotive determination process, the desired outcome is that maintain the non-automotive classification flag.
💻 Technical Criteria
EXCLUDING A shipment that does not meet all automotive eligibility criteria
When The system completes the automotive determination process
Then Maintain the non-automotive classification flag
R-GCCS309C-cbl-00059 Set Prefix to 036 for GCT036
Decision Rules
📊 Business Logic Narrative
When the process 'Set Prefix to 036 for GCT036' is invoked, and assuming that a transaction is being processed, when the transaction type is 'gct036', the desired outcome is that the transmission prefix should be set to 036.
💻 Technical Criteria
Given A transaction is being processed
When The transaction type is 'GCT036'
Then The transmission prefix should be set to 036
R-GCCS309C-cbl-00060 Set Prefix to 002 for GCT0021E
Decision Rules
📊 Business Logic Narrative
When the process 'Set Prefix to 002 for GCT0021E' is invoked, and assuming that a transaction is being processed, when the transaction type is 'gct0021e', the desired outcome is that the transmission prefix should be set to 002.
💻 Technical Criteria
Given A transaction is being processed
When The transaction type is 'GCT0021E'
Then The transmission prefix should be set to 002
R-GCCS309C-cbl-00061 Set Prefix to 125 for GCT1251E
Decision Rules
📊 Business Logic Narrative
When the process 'Set Prefix to 125 for GCT1251E' is invoked, and assuming that a transaction is being processed, when the transaction type is 'gct1251e', the desired outcome is that the transmission prefix should be set to 125.
💻 Technical Criteria
Given A transaction is being processed
When The transaction type is 'GCT1251E'
Then The transmission prefix should be set to 125
R-GCCS309C-cbl-00062 Set Prefix to 011 for GCT0111E
Decision Rules
📊 Business Logic Narrative
When the process 'Set Prefix to 011 for GCT0111E' is invoked, and assuming that a transaction is being processed, when the transaction type is 'gct0111e', the desired outcome is that the transmission prefix should be set to 011.
💻 Technical Criteria
Given A transaction is being processed
When The transaction type is 'GCT0111E'
Then The transmission prefix should be set to 011
R-GCCS309C-cbl-00063 Set Prefix to 901 for Other Transactions
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Prefix to 901 for Other Transactions', assuming that a transaction is being processed, when the transaction type is not 'gct036', 'gct0021e', 'gct1251e', or 'gct0111e', the desired outcome is that the transmission prefix should be set to 901.
💻 Technical Criteria
EXCLUDING A transaction is being processed
When The transaction type is not 'GCT036', 'GCT0021E', 'GCT1251E', or 'GCT0111E'
Then The transmission prefix should be set to 901
R-GCCS309C-cbl-00064 Get Machine Time from System
Computation Rules
📊 Business Logic Narrative
When the process 'Get Machine Time from System' is invoked, and assuming that a transmission prefix has been determined, when the system needs to generate a unique transmission number, the desired outcome is that the current machine time should be retrieved from the system.
💻 Technical Criteria
Given A transmission prefix has been determined
When The system needs to generate a unique transmission number
Then The current machine time should be retrieved from the system
R-GCCS309C-cbl-00065 Combine Prefix with Machine Time
Computation Rules
📊 Business Logic Narrative
When the process 'Combine Prefix with Machine Time' is invoked, and assuming that a transmission prefix has been determined and machine time has been retrieved, when the system generates the transmission number, the desired outcome is that the transmission number should be created by combining the prefix with the machine time.
💻 Technical Criteria
Given A transmission prefix has been determined and machine time has been retrieved
When The system generates the transmission number
Then The transmission number should be created by combining the prefix with the machine time
R-GCCS309C-cbl-00069 Evaluate Transaction Type
Decision Rules
📊 Business Logic Narrative
When the process 'Evaluate Transaction Type' is invoked, and assuming that a manifest transaction needs to be processed, when the system evaluates the transaction type from gcws309c-transaction, the desired outcome is that the system assigns transmission prefix 036 for gct036, 002 for gct0021e, 125 for gct1251e, 011 for gct0111e, or 901 for any other transaction type.
💻 Technical Criteria
Given A manifest transaction needs to be processed
When The system evaluates the transaction type from GCWS309C-TRANSACTION
Then The system assigns transmission prefix 036 for GCT036, 002 for GCT0021E, 125 for GCT1251E, 011 for GCT0111E, or 901 for any other transaction type
R-GCCS309C-cbl-00070 Use Machine Time as Base Transmission Number
Computation Rules
📊 Business Logic Narrative
When the process 'Use Machine Time as Base Transmission Number' is invoked, and assuming that a transmission number needs to be generated, when the system creates a new transmission, the desired outcome is that the system uses the current machine time from cccom as the transmission number.
💻 Technical Criteria
Given A transmission number needs to be generated
When The system creates a new transmission
Then The system uses the current machine time from CCCOM as the transmission number
R-GCCS309C-cbl-00071 Initialize Root Transmission Segment
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Root Transmission Segment' is invoked, and assuming that a new transmission needs to be created, when the system prepares the root transmission segment, the desired outcome is that the system initializes a9rt-transmission-segment to clear any previous data.
💻 Technical Criteria
Given A new transmission needs to be created
When The system prepares the root transmission segment
Then The system initializes A9RT-TRANSMISSION-SEGMENT to clear any previous data
R-GCCS309C-cbl-00072 Set Transaction Set to '309'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Transaction Set to '309'' is invoked, and assuming that a root transmission segment is being configured, when the system sets up the transaction details, the desired outcome is that the system assigns '309' as the transaction set type in a9rt-transaction-set.
💻 Technical Criteria
Given A root transmission segment is being configured
When The system sets up the transaction details
Then The system assigns '309' as the transaction set type in A9RT-TRANSACTION-SET
R-GCCS309C-cbl-00073 Clear Read and Delete Flag
Process Rules
📊 Business Logic Narrative
When the process 'Clear Read and Delete Flag' is invoked, and assuming that a root transmission segment is being prepared, when the system configures transmission properties, the desired outcome is that the system sets a9rt-read-and-delete-flag to spaces to prevent automatic deletion.
💻 Technical Criteria
Given A root transmission segment is being prepared
When The system configures transmission properties
Then The system sets A9RT-READ-AND-DELETE-FLAG to spaces to prevent automatic deletion
R-GCCS309C-cbl-00074 Creation Successful?
Process Rules
📊 Business Logic Narrative
When the process 'Creation Successful?' is invoked, and assuming that a transmission creation attempt fails due to duplicate transmission number, when the system receives a non-space status code from cccom indicating failure, the desired outcome is that the system increments transmission-numb by 1 and retries the creation process until successful.
💻 Technical Criteria
Given A transmission creation attempt fails due to duplicate transmission number
When The system receives a non-space status code from CCCOM indicating failure
Then The system increments TRANSMISSION-NUMB by 1 and retries the creation process until successful
R-GCCS309C-cbl-00075 Attempt to Create Root Transaction
Action Rules
📊 Business Logic Narrative
When the process 'Attempt to Create Root Transaction' is invoked, and assuming that a root transmission segment is fully configured with transmission number and transaction set, when the system needs to create the root transaction, the desired outcome is that the system calls a200-create-trans-root to persist the transmission segment.
💻 Technical Criteria
Given A root transmission segment is fully configured with transmission number and transaction set
When The system needs to create the root transaction
Then The system calls A200-CREATE-TRANS-ROOT to persist the transmission segment
R-GCCS309C-cbl-00079 Set transaction type to '309'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set transaction type to '309'' is invoked, and assuming that an st segment is being created for manifest transmission, when the transaction type needs to be assigned, the desired outcome is that the transaction type is set to '309' in the st-02-transaction field.
💻 Technical Criteria
Given An ST segment is being created for manifest transmission
When The transaction type needs to be assigned
Then The transaction type is set to '309' in the ST-02-TRANSACTION field
R-GCCS309C-cbl-00082 Set SCAC code to 'CPRS'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set SCAC code to 'CPRS'' is invoked, and assuming that a manifest is being processed for edi transmission, when the m10 segment is being created, the desired outcome is that the scac code field is set to 'cprs'.
💻 Technical Criteria
Given A manifest is being processed for EDI transmission
When The M10 segment is being created
Then The SCAC code field is set to 'CPRS'
R-GCCS309C-cbl-00095 Set quantity to 1
Definitional Rules
📊 Business Logic Narrative
When the process 'Set quantity to 1' is invoked, and assuming that a manifest is being processed for edi transmission, when the m10 segment quantity is being set, the desired outcome is that the quantity is set to 1.
💻 Technical Criteria
Given A manifest is being processed for EDI transmission
When The M10 segment quantity is being set
Then The quantity is set to 1
R-GCCS309C-cbl-00103 Replace underscores with spaces in segment
Process Rules
📊 Business Logic Narrative
When the process 'Replace underscores with spaces in segment' is invoked, and assuming that the m10 segment has been populated with data, when the segment is being prepared for transmission, the desired outcome is that all underscore characters in the segment are replaced with spaces.
💻 Technical Criteria
Given The M10 segment has been populated with data
When The segment is being prepared for transmission
Then All underscore characters in the segment are replaced with spaces
R-GCCS309C-cbl-00394 Arrival Indicator = 'Y' OR Program = 'GCX148'?
Decision Rules
📊 Business Logic Narrative
When the process 'Arrival Indicator = 'Y' OR Program = 'GCX148'?' is invoked, and assuming that a manifest is being processed for type determination, when the arrival indicator equals 'y' or the calling program name is 'gcx148', the desired outcome is that the manifest type code should be set to 'a' indicating an arrival manifest.
💻 Technical Criteria
Given A manifest is being processed for type determination
When The arrival indicator equals 'Y' OR the calling program name is 'GCX148'
Then The manifest type code should be set to 'A' indicating an Arrival manifest
R-GCCS309C-cbl-00113 Clear ID code and time fields
Definitional Rules
📊 Business Logic Narrative
When the process 'Clear ID code and time fields' is invoked, and assuming that a p4 segment is being processed, when the system sets optional fields, the desired outcome is that the p4 id code and time fields are set to spaces.
💻 Technical Criteria
Given A P4 segment is being processed
When The system sets optional fields
Then The P4 ID code and time fields are set to spaces
R-GCCS309C-cbl-00115 Replace underscores with spaces
Process Rules
📊 Business Logic Narrative
When the process 'Replace underscores with spaces' is invoked, and assuming that a p4 segment contains underscore characters, when the system formats the segment for transmission, the desired outcome is that all underscore characters in the p4 segment are replaced with spaces.
💻 Technical Criteria
Given A P4 segment contains underscore characters
When The system formats the segment for transmission
Then All underscore characters in the P4 segment are replaced with spaces
R-GCCS309C-cbl-00116 Store P4 segment data
Process Rules
📊 Business Logic Narrative
When the process 'Store P4 segment data' is invoked, and assuming that a p4 segment has been formatted and sequenced, when the system prepares for transmission, the desired outcome is that the p4 segment data is moved to the transmission data field.
💻 Technical Criteria
Given A P4 segment has been formatted and sequenced
When The system prepares for transmission
Then The P4 segment data is moved to the transmission data field
R-GCCS309C-cbl-00117 Create transmission department record
Action Rules
📊 Business Logic Narrative
When the process 'Create transmission department record' is invoked, and assuming that a p4 segment is ready with transmission data, when the system creates the transmission record, the desired outcome is that the system calls the transmission department creation process with proper status code.
💻 Technical Criteria
Given A P4 segment is ready with transmission data
When The system creates the transmission record
Then The system calls the transmission department creation process with proper status code
R-GCCS309C-cbl-00118 Create assigned number segment for shipment grouping
Definitional Rules
📊 Business Logic Narrative
When the process 'Create assigned number segment for shipment grouping' is invoked, and assuming that a shipment manifest requires edi transmission processing, when the system processes the lx segment for shipment grouping, the desired outcome is that an lx segment is created with segment identifier 'lx' and assigned number '000001'.
💻 Technical Criteria
Given A shipment manifest requires EDI transmission processing
When The system processes the LX segment for shipment grouping
Then An LX segment is created with segment identifier 'LX' and assigned number '000001'
R-GCCS309C-cbl-00119 Initialize LX segment structure
Process Rules
📊 Business Logic Narrative
When the process 'Initialize LX segment structure' is invoked, and assuming that lx segment processing is initiated, when the system begins lx segment creation, the desired outcome is that the lx segment structure is initialized to clear any previous data.
💻 Technical Criteria
Given LX segment processing is initiated
When The system begins LX segment creation
Then The LX segment structure is initialized to clear any previous data
R-GCCS309C-cbl-00120 Set segment identifier to 'LX'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set segment identifier to 'LX'' is invoked, and assuming that an initialized lx segment structure exists, when the system sets the segment identifier, the desired outcome is that the segment identifier is set to 'lx' to comply with edi standards.
💻 Technical Criteria
Given An initialized LX segment structure exists
When The system sets the segment identifier
Then The segment identifier is set to 'LX' to comply with EDI standards
R-GCCS309C-cbl-00123 Replace underscores with spaces in segment
Validation Rules
📊 Business Logic Narrative
When the process 'Replace underscores with spaces in segment' is invoked, and assuming that lx segment contains underscore placeholder characters, when the system prepares the segment for edi transmission, the desired outcome is that all underscore characters in the lx segment are replaced with spaces.
💻 Technical Criteria
Given LX segment contains underscore placeholder characters
When The system prepares the segment for EDI transmission
Then All underscore characters in the LX segment are replaced with spaces
R-GCCS309C-cbl-00125 Create transmission department record
Action Rules
📊 Business Logic Narrative
When the process 'Create transmission department record' is invoked, and assuming that lx segment data is prepared in the transmission structure, when the system creates the transmission record, the desired outcome is that a transmission department record is created for the lx segment.
💻 Technical Criteria
Given LX segment data is prepared in the transmission structure
When The system creates the transmission record
Then A transmission department record is created for the LX segment
R-GCCS309C-cbl-00126 Initialize M13 segment structure
Process Rules
📊 Business Logic Narrative
When the process 'Initialize M13 segment structure' is invoked, and assuming that a manifest amendment processing request is initiated, when the m13 segment processing begins, the desired outcome is that the m13 segment structure should be initialized to clear any previous data.
💻 Technical Criteria
Given A manifest amendment processing request is initiated
When The M13 segment processing begins
Then The M13 segment structure should be initialized to clear any previous data
R-GCCS309C-cbl-00128 Set SCAC code to 'CPRS'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set SCAC code to 'CPRS'' is invoked, and assuming that an m13 manifest amendment segment is being created, when the carrier identification needs to be specified, the desired outcome is that the scac code should be set to 'cprs' for canadian pacific railway.
💻 Technical Criteria
Given An M13 manifest amendment segment is being created
When The carrier identification needs to be specified
Then The SCAC code should be set to 'CPRS' for Canadian Pacific Railway
R-GCCS309C-cbl-00135 Replace underscores with spaces in segment
Validation Rules
📊 Business Logic Narrative
When the process 'Replace underscores with spaces in segment' is invoked, and assuming that an m13 segment contains underscore characters, when preparing the segment for transmission, the desired outcome is that all underscore characters should be replaced with spaces.
💻 Technical Criteria
Given An M13 segment contains underscore characters
When Preparing the segment for transmission
Then All underscore characters should be replaced with spaces
R-GCCS309C-cbl-00136 Store M13 segment in transmission data
Process Rules
📊 Business Logic Narrative
When the process 'Store M13 segment in transmission data' is invoked, and assuming that an m13 segment has been formatted and sequenced, when the segment is ready for transmission, the desired outcome is that the m13 segment should be stored in the transmission data structure.
💻 Technical Criteria
Given An M13 segment has been formatted and sequenced
When The segment is ready for transmission
Then The M13 segment should be stored in the transmission data structure
R-GCCS309C-cbl-00137 Create transmission department record
Action Rules
📊 Business Logic Narrative
When the process 'Create transmission department record' is invoked, and assuming that an m13 segment is stored in transmission data, when the segment needs to be processed through the transmission system, the desired outcome is that a transmission department record should be created.
💻 Technical Criteria
Given An M13 segment is stored in transmission data
When The segment needs to be processed through the transmission system
Then A transmission department record should be created
R-GCCS309C-cbl-00142 Set lading quantity from manifest data
Definitional Rules
📊 Business Logic Narrative
When the process 'Set lading quantity from manifest data' is invoked, and assuming that a manifest contains lading quantity information, when creating the m11 segment quantity information, the desired outcome is that the manifest lading quantity should be assigned to the m11 segment.
💻 Technical Criteria
Given A manifest contains lading quantity information
When Creating the M11 segment quantity information
Then The manifest lading quantity should be assigned to the M11 segment
R-GCCS309C-cbl-00143 Set manifest unit code from quantity qualifier
Definitional Rules
📊 Business Logic Narrative
When the process 'Set manifest unit code from quantity qualifier' is invoked, and assuming that a manifest has a lading quantity qualifier, when creating the m11 segment unit information, the desired outcome is that the lading quantity qualifier should be assigned as the manifest unit code.
💻 Technical Criteria
Given A manifest has a lading quantity qualifier
When Creating the M11 segment unit information
Then The lading quantity qualifier should be assigned as the manifest unit code
R-GCCS309C-cbl-00147 Set place of receipt from origin station name
Definitional Rules
📊 Business Logic Narrative
When the process 'Set place of receipt from origin station name' is invoked, and assuming that a manifest has an origin station name, when creating the m11 segment place of receipt information, the desired outcome is that the origin station name should be assigned as the place of receipt.
💻 Technical Criteria
Given A manifest has an origin station name
When Creating the M11 segment place of receipt information
Then The origin station name should be assigned as the place of receipt
R-GCCS309C-cbl-00149 Clear additional SCAC fields
Process Rules
📊 Business Logic Narrative
When the process 'Clear additional SCAC fields' is invoked, and assuming that an m11 segment has additional scac fields, when processing the m11 segment, the desired outcome is that the additional scac fields should be set to spaces.
💻 Technical Criteria
Given An M11 segment has additional SCAC fields
When Processing the M11 segment
Then The additional SCAC fields should be set to spaces
R-GCCS309C-cbl-00151 Replace underscores with spaces in segment
Process Rules
📊 Business Logic Narrative
When the process 'Replace underscores with spaces in segment' is invoked, and assuming that an m11 segment contains underscore characters, when preparing the segment for transmission, the desired outcome is that all underscore characters should be replaced with spaces.
💻 Technical Criteria
Given An M11 segment contains underscore characters
When Preparing the segment for transmission
Then All underscore characters should be replaced with spaces
R-GCCS309C-cbl-00152 Store M11 segment in transmission data
Process Rules
📊 Business Logic Narrative
When the process 'Store M11 segment in transmission data' is invoked, and assuming that a formatted m11 segment is ready for transmission, when storing the segment data, the desired outcome is that the m11 segment should be moved to the transmission data field.
💻 Technical Criteria
Given A formatted M11 segment is ready for transmission
When Storing the segment data
Then The M11 segment should be moved to the transmission data field
R-GCCS309C-cbl-00170 Create N1 entity segment with ID and name
Process Rules
📊 Business Logic Narrative
When the process 'Create N1 entity segment with ID and name' is invoked, and assuming that a validated entity record with complete address information, when the system creates the n1 entity segment, the desired outcome is that the system populates the n1 segment with identifier 'n1', entity id code, entity name, id code qualifier, and id code from the entity record.
💻 Technical Criteria
Given A validated entity record with complete address information
When The system creates the N1 entity segment
Then The system populates the N1 segment with identifier 'N1', entity ID code, entity name, ID code qualifier, and ID code from the entity record
R-GCCS309C-cbl-00171 N3 address data exists?
Decision Rules
📊 Business Logic Narrative
When the process 'N3 address data exists?' is invoked, and assuming that an entity record with n1 segment created, when the system checks for n3 address data availability, the desired outcome is that the system proceeds to create n3 segment if address information (gcsccs55-n3-data) is not spaces, otherwise skips to n4 processing.
💻 Technical Criteria
Given An entity record with N1 segment created
When The system checks for N3 address data availability
Then The system proceeds to create N3 segment if address information (GCSCCS55-N3-DATA) is not spaces, otherwise skips to N4 processing
R-GCCS309C-cbl-00172 Create N3 address segment
Process Rules
📊 Business Logic Narrative
When the process 'Create N3 address segment' is invoked, and assuming that an entity record with available n3 address data, when the system creates the n3 address segment, the desired outcome is that the system populates the n3 segment with identifier 'n3', primary address line, and secondary address line from the entity record.
💻 Technical Criteria
Given An entity record with available N3 address data
When The system creates the N3 address segment
Then The system populates the N3 segment with identifier 'N3', primary address line, and secondary address line from the entity record
R-GCCS309C-cbl-00175 Create Canadian Pacific Railway entity
Process Rules
📊 Business Logic Narrative
When the process 'Create Canadian Pacific Railway entity' is invoked, and assuming that all entity records have been processed, when the system creates the railway entity segment, the desired outcome is that the system creates an n1 segment with identifier 'n1', entity id code 'rr', and name 'canadian pacific railway'.
💻 Technical Criteria
Given All entity records have been processed
When The system creates the railway entity segment
Then The system creates an N1 segment with identifier 'N1', entity ID code 'RR', and name 'CANADIAN PACIFIC RAILWAY'
R-GCCS309C-cbl-00403 Initialize Loop Counter WS-SUB-REC = 1
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Loop Counter WS-SUB-REC = 1' is invoked, and assuming that entity processing is about to begin, when the system starts processing entity records, the desired outcome is that the loop counter ws-sub-rec is set to 1 to start from the first entity record.
💻 Technical Criteria
Given Entity processing is about to begin
When The system starts processing entity records
Then The loop counter WS-SUB-REC is set to 1 to start from the first entity record
R-GCCS309C-cbl-00405 Get Next Entity Record from GCSCCS55
Action Rules
📊 Business Logic Narrative
When the process 'Get Next Entity Record from GCSCCS55' is invoked, and assuming that a valid entity record exists at the current loop position, when the system retrieves entity data for processing, the desired outcome is that move the entity data from ws-gcsccs55-data array at current ws-sub-rec position to gcsccs55 working structure.
💻 Technical Criteria
Given A valid entity record exists at the current loop position
When The system retrieves entity data for processing
Then Move the entity data from WS-GCSCCS55-DATA array at current WS-SUB-REC position to GCSCCS55 working structure
R-GCCS309C-cbl-00413 City Name Present?
Validation Rules
📊 Business Logic Narrative
When the process 'City Name Present?' is invoked, and assuming that address validation is being performed, when city name is checked, the desired outcome is that verify that gccs-n401-city-name is not equal to spaces.
💻 Technical Criteria
Given Address validation is being performed
When City name is checked
Then Verify that GCCS-N401-CITY-NAME is not equal to SPACES
R-GCCS309C-cbl-00414 Country Code Present?
Validation Rules
📊 Business Logic Narrative
When the process 'Country Code Present?' is invoked, and assuming that address validation is being performed, when country code is checked, the desired outcome is that verify that gccs-n404-country-cde is not equal to spaces.
💻 Technical Criteria
Given Address validation is being performed
When Country code is checked
Then Verify that GCCS-N404-COUNTRY-CDE is not equal to SPACES
R-GCCS309C-cbl-00415 Postal Code Present for US/CA?
Validation Rules
📊 Business Logic Narrative
When the process 'Postal Code Present for US/CA?' is invoked, and assuming that address has valid city name and country code, when postal code validation is performed, the desired outcome is that if gccs-n404-country-cde equals 'us' or 'ca', then gccs-n403-postal-cde must not equal spaces.
💻 Technical Criteria
Given Address has valid city name and country code
When Postal code validation is performed
Then If GCCS-N404-COUNTRY-CDE equals 'US' OR 'CA', then GCCS-N403-POSTAL-CDE must not equal SPACES
R-GCCS309C-cbl-00416 State/Province Code Present for US/CA?
Validation Rules
📊 Business Logic Narrative
When the process 'State/Province Code Present for US/CA?' is invoked, and assuming that address has valid postal code for us/ca or is non-us/ca country, when state/province code validation is performed, the desired outcome is that if gccs-n404-country-cde equals 'us' or 'ca', then gccs-n402-state-prov-cde must not equal spaces.
💻 Technical Criteria
Given Address has valid postal code for US/CA or is non-US/CA country
When State/province code validation is performed
Then If GCCS-N404-COUNTRY-CDE equals 'US' OR 'CA', then GCCS-N402-STATE-PROV-CDE must not equal SPACES
R-GCCS309C-cbl-00417 Process N1-N3-N4-PER Segments
Action Rules
📊 Business Logic Narrative
When the process 'Process N1-N3-N4-PER Segments' is invoked, and assuming that entity record has passed all validation checks, when entity processing is executed, the desired outcome is that perform n2063-each-n1-n3-n4-per procedure to create n1, n3, n4, and per edi segments for the entity.
💻 Technical Criteria
Given Entity record has passed all validation checks
When Entity processing is executed
Then Perform N2063-EACH-N1-N3-N4-PER procedure to create N1, N3, N4, and PER EDI segments for the entity
R-GCCS309C-cbl-00418 Clear Entity Record - Invalid Address
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Clear Entity Record - Invalid Address', assuming that entity record fails validation checks, when invalid entity data is detected, the desired outcome is that initialize gcsccs55 to clear the invalid entity record data.
💻 Technical Criteria
EXCLUDING Entity record fails validation checks
When Invalid entity data is detected
Then Initialize GCSCCS55 to clear the invalid entity record data
R-GCCS309C-cbl-00419 Increment Loop Counter
Process Rules
📊 Business Logic Narrative
When the process 'Increment Loop Counter' is invoked, and assuming that current entity record processing is complete, when moving to next entity record, the desired outcome is that increment ws-sub-rec by 1 to advance to the next entity position.
💻 Technical Criteria
Given Current entity record processing is complete
When Moving to next entity record
Then Increment WS-SUB-REC by 1 to advance to the next entity position
R-GCCS309C-cbl-00421 Create Railway N3 Address Segment
Process Rules
📊 Business Logic Narrative
When the process 'Create Railway N3 Address Segment' is invoked, and assuming that railway n1 segment has been created, when railway address information is added, the desired outcome is that create n3 segment with address '7550 ogdendale rd s.e.'.
💻 Technical Criteria
Given Railway N1 segment has been created
When Railway address information is added
Then Create N3 segment with address '7550 OGDENDALE RD S.E.'
R-GCCS309C-cbl-00456 Address Complete?
Validation Rules
📊 Business Logic Narrative
When the process 'Address Complete?' is invoked, and assuming that a valid 5040 entity record with address information, when the system checks city name, country code, postal code, and state/province code fields, the desired outcome is that address is complete if city name and country code are present, and for us/ca countries, postal code and state/province code are also present.
💻 Technical Criteria
Given A valid 5040 entity record with address information
When The system checks city name, country code, postal code, and state/province code fields
Then Address is complete if city name and country code are present, and for US/CA countries, postal code and state/province code are also present
R-GCCS309C-cbl-00462 Valid N1 Code?
Decision Rules
📊 Business Logic Narrative
When the process 'Valid N1 Code?' is invoked, and assuming that an entity identification code has been checked against the appropriate validation table, when the code validation is performed, the desired outcome is that the system either accepts the code as valid or rejects it as invalid.
💻 Technical Criteria
Given An entity identification code has been checked against the appropriate validation table
When The code validation is performed
Then The system either accepts the code as valid or rejects it as invalid
R-GCCS309C-cbl-00465 Country is US or CA?
Decision Rules
📊 Business Logic Narrative
When the process 'Country is US or CA?' is invoked, and assuming that an entity address with a country code, when the country code is either 'us' or 'ca', the desired outcome is that the system applies stricter validation rules requiring postal code and state/province code.
💻 Technical Criteria
Given An entity address with a country code
When The country code is either 'US' or 'CA'
Then The system applies stricter validation rules requiring postal code and state/province code
R-GCCS309C-cbl-00468 Accept Complete Address
Process Rules
📊 Business Logic Narrative
When the process 'Accept Complete Address' is invoked, and assuming that an entity address that has passed all required validations, when all validation checks are successful, the desired outcome is that the system processes the entity address data for transmission.
💻 Technical Criteria
Given An entity address that has passed all required validations
When All validation checks are successful
Then The system processes the entity address data for transmission
R-GCCS309C-cbl-00185 City Name Present?
Validation Rules
📊 Business Logic Narrative
When the process 'City Name Present?' is invoked, and assuming that an entity has passed 5040 code validation, when the system checks address completeness, the desired outcome is that if city name (gccs-n401-city-name) is spaces, the entity is skipped, otherwise validation continues.
💻 Technical Criteria
Given An entity has passed 5040 code validation
When The system checks address completeness
Then If city name (GCCS-N401-CITY-NAME) is spaces, the entity is skipped, otherwise validation continues
R-GCCS309C-cbl-00190 Create N1-N3-N4 Segments
Action Rules
📊 Business Logic Narrative
When the process 'Create N1-N3-N4 Segments' is invoked, and assuming that an entity has passed all validation checks, when the system creates address segments, the desired outcome is that n1, n3, n4, and per segments are created through n2063-each-n1-n3-n4-per procedure.
💻 Technical Criteria
Given An entity has passed all validation checks
When The system creates address segments
Then N1, N3, N4, and PER segments are created through N2063-EACH-N1-N3-N4-PER procedure
R-GCCS309C-cbl-00191 Skip Entity - Initialize Record
Process Rules
📊 Business Logic Narrative
When the process 'Skip Entity - Initialize Record' is invoked, and assuming that an entity has failed validation checks, when the system determines the entity should be skipped, the desired outcome is that the gcsccs55 entity record is initialized to spaces to skip further processing.
💻 Technical Criteria
Given An entity has failed validation checks
When The system determines the entity should be skipped
Then The GCSCCS55 entity record is initialized to spaces to skip further processing
R-GCCS309C-cbl-00192 Continue to Next Entity
Process Rules
📊 Business Logic Narrative
When the process 'Continue to Next Entity' is invoked, and assuming that current entity processing is complete (either created segments or skipped), when the system moves to process the next entity, the desired outcome is that processing continues with the next entity record in the gcsccs55 array until maximum sequence is reached.
💻 Technical Criteria
Given Current entity processing is complete (either created segments or skipped)
When The system moves to process the next entity
Then Processing continues with the next entity record in the GCSCCS55 array until maximum sequence is reached
R-GCCS309C-cbl-00197 Continue with Address Processing
Process Rules
📊 Business Logic Narrative
When the process 'Continue with Address Processing' is invoked, and assuming that address validation and potential mapping has been completed for an entity, when the system has determined the final address to use, the desired outcome is that the entity record proceeds to the address processing workflow with either the original or mapped address data.
💻 Technical Criteria
Given Address validation and potential mapping has been completed for an entity
When The system has determined the final address to use
Then The entity record proceeds to the address processing workflow with either the original or mapped address data
R-GCCS309C-cbl-00227 Set lading quantity from manifest
Definitional Rules
📊 Business Logic Narrative
When the process 'Set lading quantity from manifest' is invoked, and assuming that a manifest contains lading quantity information, when processing the n10 segment for quantity data, the desired outcome is that the manifest lading quantity is assigned to the n10 quantity field.
💻 Technical Criteria
Given A manifest contains lading quantity information
When Processing the N10 segment for quantity data
Then The manifest lading quantity is assigned to the N10 quantity field
R-GCCS309C-cbl-00228 Set shipper load and count description
Definitional Rules
📊 Business Logic Narrative
When the process 'Set shipper load and count description' is invoked, and assuming that a manifest contains shipper load and count information, when processing the n10 segment description field, the desired outcome is that the shipper load and count data is assigned to the n10 free form description field.
💻 Technical Criteria
Given A manifest contains shipper load and count information
When Processing the N10 segment description field
Then The shipper load and count data is assigned to the N10 free form description field
R-GCCS309C-cbl-00235 Set manifest unit code
Definitional Rules
📊 Business Logic Narrative
When the process 'Set manifest unit code' is invoked, and assuming that a manifest contains lading quantity qualifier information, when processing the n10 segment unit code field, the desired outcome is that the lading quantity qualifier is assigned to the n10 manifest unit code field.
💻 Technical Criteria
Given A manifest contains lading quantity qualifier information
When Processing the N10 segment unit code field
Then The lading quantity qualifier is assigned to the N10 manifest unit code field
R-GCCS309C-cbl-00237 Extract lading description from manifest
Process Rules
📊 Business Logic Narrative
When the process 'Extract lading description from manifest' is invoked, and assuming that a manifest contains lading description information, when processing description data for additional n10 segments, the desired outcome is that the lading description is extracted and prepared for segment creation.
💻 Technical Criteria
Given A manifest contains lading description information
When Processing description data for additional N10 segments
Then The lading description is extracted and prepared for segment creation
R-GCCS309C-cbl-00240 Create additional N10 segment
Process Rules
📊 Business Logic Narrative
When the process 'Create additional N10 segment' is invoked, and assuming that additional description lines exist for processing, when creating additional n10 segments for description data, the desired outcome is that a new n10 segment structure is initialized for description-only content.
💻 Technical Criteria
Given Additional description lines exist for processing
When Creating additional N10 segments for description data
Then A new N10 segment structure is initialized for description-only content
R-GCCS309C-cbl-00241 Set quantity to zero for description
Decision Rules
📊 Business Logic Narrative
When the process 'Set quantity to zero for description' is invoked, and assuming that an n10 segment is being created for description-only content, when setting the quantity field for the description n10 segment, the desired outcome is that the quantity is set to zero since this segment contains only descriptive text.
💻 Technical Criteria
Given An N10 segment is being created for description-only content
When Setting the quantity field for the description N10 segment
Then The quantity is set to zero since this segment contains only descriptive text
R-GCCS309C-cbl-00242 Set description text
Definitional Rules
📊 Business Logic Narrative
When the process 'Set description text' is invoked, and assuming that a specific description line from the description array is being processed, when setting the description field for an n10 segment, the desired outcome is that the description line text is assigned to the n10 free form description field.
💻 Technical Criteria
Given A specific description line from the description array is being processed
When Setting the description field for an N10 segment
Then The description line text is assigned to the N10 free form description field
R-GCCS309C-cbl-00244 Start Lading Description Expansion
Process Rules
📊 Business Logic Narrative
When the process 'Start Lading Description Expansion' is invoked, and assuming that a lading description expansion process needs to be started, when the system begins processing extended lading descriptions, the desired outcome is that the description index is initialized to position 1 to begin sequential processing.
💻 Technical Criteria
Given A lading description expansion process needs to be started
When The system begins processing extended lading descriptions
Then The description index is initialized to position 1 to begin sequential processing
R-GCCS309C-cbl-00245 Description index > 500?
Validation Rules
📊 Business Logic Narrative
When the process 'Description index > 500?' is invoked, and assuming that the system is processing lading descriptions sequentially, when the description index reaches or exceeds position 500, the desired outcome is that the description expansion process terminates to prevent exceeding system limits.
💻 Technical Criteria
Given The system is processing lading descriptions sequentially
When The description index reaches or exceeds position 500
Then The description expansion process terminates to prevent exceeding system limits
R-GCCS309C-cbl-00247 Create N10 segment for description
Action Rules
📊 Business Logic Narrative
When the process 'Create N10 segment for description' is invoked, and assuming that a valid description exists at the current index position, when the system processes the description content, the desired outcome is that a new n10 segment is created to hold the description data.
💻 Technical Criteria
Given A valid description exists at the current index position
When The system processes the description content
Then A new N10 segment is created to hold the description data
R-GCCS309C-cbl-00248 Set segment identifier to 'N10'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set segment identifier to 'N10'' is invoked, and assuming that an n10 segment is being created for description content, when the segment identifier field needs to be populated, the desired outcome is that the segment identifier is set to 'n10' to comply with edi standards.
💻 Technical Criteria
Given An N10 segment is being created for description content
When The segment identifier field needs to be populated
Then The segment identifier is set to 'N10' to comply with EDI standards
R-GCCS309C-cbl-00249 Set quantity to zero
Definitional Rules
📊 Business Logic Narrative
When the process 'Set quantity to zero' is invoked, and assuming that an n10 segment is being created specifically for description text, when the quantity field needs to be populated, the desired outcome is that the quantity is set to zero since this segment contains only descriptive information.
💻 Technical Criteria
Given An N10 segment is being created specifically for description text
When The quantity field needs to be populated
Then The quantity is set to zero since this segment contains only descriptive information
R-GCCS309C-cbl-00250 Move description text to free form description field
Process Rules
📊 Business Logic Narrative
When the process 'Move description text to free form description field' is invoked, and assuming that valid description text exists at the current index position, when the n10 segment is being populated with content, the desired outcome is that the description text is moved to the free form description field of the n10 segment.
💻 Technical Criteria
Given Valid description text exists at the current index position
When The N10 segment is being populated with content
Then The description text is moved to the free form description field of the N10 segment
R-GCCS309C-cbl-00253 Increment description index
Process Rules
📊 Business Logic Narrative
When the process 'Increment description index' is invoked, and assuming that the current description position has been processed or skipped, when the system needs to continue with the next description position, the desired outcome is that the description index is incremented by 1 to move to the next position.
💻 Technical Criteria
Given The current description position has been processed or skipped
When The system needs to continue with the next description position
Then The description index is incremented by 1 to move to the next position
R-GCCS309C-cbl-00254 UN Number exists and not 'NA'? AND Commodity danger description exists?
Validation Rules
📊 Business Logic Narrative
When the process 'UN Number exists and not 'NA'? AND Commodity danger description exists?' is invoked, and assuming that a manifest contains commodity information, when the system checks for hazardous material processing requirements, the desired outcome is that processing continues only if un number exists, is not 'na', and commodity danger description is present, otherwise hazmat processing is skipped.
💻 Technical Criteria
Given A manifest contains commodity information
When The system checks for hazardous material processing requirements
Then Processing continues only if UN number exists, is not 'NA', and commodity danger description is present, otherwise hazmat processing is skipped
R-GCCS309C-cbl-00257 Process H2 Description Segments AND Initialize H2 Segment AND Description Line Available? AND Set Description in H2-01
Process Rules
📊 Business Logic Narrative
When the process 'Process H2 Description Segments AND Initialize H2 Segment AND Description Line Available? AND Set Description in H2-01' is invoked, and assuming that h1 segment has been created and description lines are available for processing, when the system processes h2 description segments, the desired outcome is that for each available description line up to 8 lines, initialize h2 segment and set description text in h2-01 field.
💻 Technical Criteria
Given H1 segment has been created and description lines are available for processing
When The system processes H2 description segments
Then For each available description line up to 8 lines, initialize H2 segment and set description text in H2-01 field
R-GCCS309C-cbl-00258 Format Single Character Descriptions
Computation Rules
📊 Business Logic Narrative
When the process 'Format Single Character Descriptions' is invoked, and assuming that an h2 description segment contains a single character in the first position and spaces in positions 2-29, when the system formats the h2 description field, the desired outcome is that append a period after the single character to create proper formatting (e.g., 'a' becomes 'a.').
💻 Technical Criteria
Given An H2 description segment contains a single character in the first position and spaces in positions 2-29
When The system formats the H2 description field
Then Append a period after the single character to create proper formatting (e.g., 'A' becomes 'A.')
R-GCCS309C-cbl-00475 Database Status OK?
Decision Rules
📊 Business Logic Narrative
When the process 'Database Status OK?' is invoked, and assuming that a database access operation has been executed for follower cars, when the database operation fails or reaches end of file, the desired outcome is that the end-of-followers flag is set to 'y' to terminate processing.
💻 Technical Criteria
Given A database access operation has been executed for follower cars
When The database operation fails or reaches end of file
Then The end-of-followers flag is set to 'Y' to terminate processing
R-GCCS309C-cbl-00273 Set Automotive Flag Based on Country and CSA Status
Decision Rules
📊 Business Logic Narrative
When the process 'Set Automotive Flag Based on Country and CSA Status' is invoked, and assuming that an au table entry is successfully retrieved and origin country and csa indicator are available, when origin country is us, ca, or blank or origin country is mx and au type second character is c, and csa indicator is off, the desired outcome is that set automotive flag to true, otherwise set to false.
💻 Technical Criteria
Given An AU table entry is successfully retrieved and origin country and CSA indicator are available
When Origin country is US, CA, or blank OR origin country is MX and AU type second character is C, AND CSA indicator is off
Then Set automotive flag to true, otherwise set to false
R-GCCS309C-cbl-00274 Access SC Table for Station Codes
Action Rules
📊 Business Logic Narrative
When the process 'Access SC Table for Station Codes' is invoked, and assuming that a manifest with from-station information, when station code lookup is performed using from-station as key, the desired outcome is that retrieve corresponding station code entry from sc table.
💻 Technical Criteria
Given A manifest with from-station information
When Station code lookup is performed using from-station as key
Then Retrieve corresponding station code entry from SC table
R-GCCS309C-cbl-00275 Retrieve Station Code Entry for From-Station
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Retrieve Station Code Entry for From-Station', assuming that a station code lookup has been performed, when sc table entry is not found or canadian station code is '0000', the desired outcome is that generate error message indicating sc table entry not found for the station.
💻 Technical Criteria
EXCLUDING A station code lookup has been performed
When SC table entry is not found OR Canadian station code is '0000'
Then Generate error message indicating SC table entry not found for the station
R-GCCS309C-cbl-00444 Set Automotive Release Flag Based on Country and CSA Status
Decision Rules
📊 Business Logic Narrative
When the process 'Set Automotive Release Flag Based on Country and CSA Status' is invoked, and assuming that an au table record is successfully found and origin country and csa indicator are available, when origin country is us, ca, or blank, or origin country is mx with au type second character as c, and csa indicator is off, the desired outcome is that the system should set the automotive flag to true, otherwise set to non-automotive.
💻 Technical Criteria
Given An AU table record is successfully found and origin country and CSA indicator are available
When Origin country is US, CA, or blank, OR origin country is MX with AU type second character as C, AND CSA indicator is OFF
Then The system should set the automotive flag to TRUE, otherwise set to non-automotive
R-GCCS309C-cbl-00447 Retrieve Station Name and State Code
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Retrieve Station Name and State Code', assuming that an sc table lookup request, when sc table record is found and canadian station code is not 0000, the desired outcome is that the system should retrieve and store the station segment information.
💻 Technical Criteria
EXCLUDING An SC table lookup request
When SC table record is found and Canadian station code is not 0000
Then The system should retrieve and store the station segment information
R-GCCS309C-cbl-00448 Generate Station Code Error Message
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Generate Station Code Error Message', assuming that an sc table lookup request, when sc table record is not found or canadian station code equals 0000, the desired outcome is that the system should generate an error message indicating sc table entry not found for the station.
💻 Technical Criteria
EXCLUDING An SC table lookup request
When SC table record is not found OR Canadian station code equals 0000
Then The system should generate an error message indicating SC table entry not found for the station
R-GCCS309C-cbl-00484 Access AU Table with CHOP and Commodity Code
Action Rules
📊 Business Logic Narrative
When the process 'Access AU Table with CHOP and Commodity Code' is invoked, and assuming that valid consignee chop and commodity code exist, when the system needs to determine automotive classification, the desired outcome is that the system should access the au table using 'au' as table id, consignee chop as key chop, and commodity code as key commodity.
💻 Technical Criteria
Given Valid consignee CHOP and commodity code exist
When The system needs to determine automotive classification
Then The system should access the AU table using 'AU' as table ID, consignee CHOP as key CHOP, and commodity code as key commodity
R-GCCS309C-cbl-00486 Set Non-Automotive Flag
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Non-Automotive Flag', assuming that either consignee chop or commodity code is missing, or au table entry is not found, when the system determines automotive classification, the desired outcome is that the system should set the automotive flag to non-automotive as the default classification.
💻 Technical Criteria
EXCLUDING Either consignee CHOP or commodity code is missing, or AU table entry is not found
When The system determines automotive classification
Then The system should set the automotive flag to non-automotive as the default classification
R-GCCS309C-cbl-00487 Evaluate Country and CSA Criteria
Decision Rules
📊 Business Logic Narrative
When the process 'Evaluate Country and CSA Criteria' is invoked, and assuming that a valid au table entry exists for the consignee and commodity combination, when the system determines final automotive classification, the desired outcome is that the system should evaluate origin country codes and csa indicator status according to automotive release business rules.
💻 Technical Criteria
Given A valid AU table entry exists for the consignee and commodity combination
When The system determines final automotive classification
Then The system should evaluate origin country codes and CSA indicator status according to automotive release business rules
R-GCCS309C-cbl-00488 Origin Country is US, CA, or blank?
Decision Rules
📊 Business Logic Narrative
When the process 'Origin Country is US, CA, or blank?' is invoked, and assuming that a shipment with an origin country code, when the system evaluates automotive eligibility based on origin country, the desired outcome is that the system should consider shipments from us, ca, or blank origin country as potentially eligible for automotive classification.
💻 Technical Criteria
Given A shipment with an origin country code
When The system evaluates automotive eligibility based on origin country
Then The system should consider shipments from US, CA, or blank origin country as potentially eligible for automotive classification
R-GCCS309C-cbl-00490 CSA Indicator is OFF?
Validation Rules
📊 Business Logic Narrative
When the process 'CSA Indicator is OFF?' is invoked, and assuming that a shipment that meets country origin criteria for automotive classification, when the system performs final automotive eligibility validation, the desired outcome is that the system should verify that the csa indicator is off before setting automotive classification.
💻 Technical Criteria
Given A shipment that meets country origin criteria for automotive classification
When The system performs final automotive eligibility validation
Then The system should verify that the CSA indicator is OFF before setting automotive classification
R-GCCS309C-cbl-00491 Set Automotive Flag
Decision Rules
📊 Business Logic Narrative
When the process 'Set Automotive Flag' is invoked, and assuming that a shipment that meets all automotive eligibility criteria including country origin and csa indicator status, when the system finalizes automotive classification, the desired outcome is that the system should set the automotive flag to true indicating the shipment qualifies for automotive processing.
💻 Technical Criteria
Given A shipment that meets all automotive eligibility criteria including country origin and CSA indicator status
When The system finalizes automotive classification
Then The system should set the automotive flag to TRUE indicating the shipment qualifies for automotive processing
R-GCCS309C-cbl-00492 Keep Non-Automotive Flag
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Keep Non-Automotive Flag', assuming that a shipment that does not meet all automotive eligibility criteria, when the system finalizes automotive classification, the desired outcome is that the system should retain the non-automotive flag indicating the shipment does not qualify for automotive processing.
💻 Technical Criteria
EXCLUDING A shipment that does not meet all automotive eligibility criteria
When The system finalizes automotive classification
Then The system should retain the non-automotive flag indicating the shipment does not qualify for automotive processing
R-GCCS309C-cbl-00493 Evaluate Country and CSA Criteria
Decision Rules
📊 Business Logic Narrative
When the process 'Evaluate Country and CSA Criteria' is invoked, and assuming that a shipment with origin country, csa indicator status, and automotive type information available, when the system evaluates automotive classification criteria where origin country is us, ca, or blank, or origin country is mx with automotive type second character as 'c', and csa indicator is off, the desired outcome is that the shipment is classified as automotive, otherwise it remains non-automotive.
💻 Technical Criteria
Given A shipment with origin country, CSA indicator status, and automotive type information available
When The system evaluates automotive classification criteria where origin country is US, CA, or blank, OR origin country is MX with automotive type second character as 'C', AND CSA indicator is OFF
Then The shipment is classified as AUTOMOTIVE, otherwise it remains NON-AUTOMOTIVE
R-GCCS309C-cbl-00494 Origin Country is US, CA, or blank?
Validation Rules
📊 Business Logic Narrative
When the process 'Origin Country is US, CA, or blank?' is invoked, and assuming that a shipment with an origin country code, when the origin country is 'us', 'ca', or blank spaces, the desired outcome is that the shipment meets the primary automotive country qualification criteria.
💻 Technical Criteria
Given A shipment with an origin country code
When The origin country is 'US', 'CA', or blank spaces
Then The shipment meets the primary automotive country qualification criteria
R-GCCS309C-cbl-00495 Origin Country is MX?
Validation Rules
📊 Business Logic Narrative
When the process 'Origin Country is MX?' is invoked, and assuming that a shipment with an origin country code, when the origin country is 'mx', the desired outcome is that the shipment requires automotive type code validation for automotive qualification.
💻 Technical Criteria
Given A shipment with an origin country code
When The origin country is 'MX'
Then The shipment requires automotive type code validation for automotive qualification
R-GCCS309C-cbl-00497 CSA Indicator is OFF?
Validation Rules
📊 Business Logic Narrative
When the process 'CSA Indicator is OFF?' is invoked, and assuming that a shipment that meets country and type qualifications with csa indicator information, when the csa indicator is off, the desired outcome is that the shipment meets all criteria for automotive classification.
💻 Technical Criteria
Given A shipment that meets country and type qualifications with CSA indicator information
When The CSA indicator is OFF
Then The shipment meets all criteria for automotive classification
R-GCCS309C-cbl-00498 Set AUTOMOTIVE flag to TRUE
Action Rules
📊 Business Logic Narrative
When the process 'Set AUTOMOTIVE flag to TRUE' is invoked, and assuming that a shipment that meets all automotive qualification criteria, when country, type, and csa validations are successful, the desired outcome is that the shipment is flagged as automotive for processing.
💻 Technical Criteria
Given A shipment that meets all automotive qualification criteria
When Country, type, and CSA validations are successful
Then The shipment is flagged as AUTOMOTIVE for processing
R-GCCS309C-cbl-00499 Keep NON-AUTOMOTIVE flag
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Keep NON-AUTOMOTIVE flag', assuming that a shipment that does not meet automotive qualification criteria, when any of the country, type, or csa validations fail, the desired outcome is that the shipment remains classified as non-automotive.
💻 Technical Criteria
EXCLUDING A shipment that does not meet automotive qualification criteria
When Any of the country, type, or CSA validations fail
Then The shipment remains classified as NON-AUTOMOTIVE
R-GCCS309C-cbl-00284 Build Complete Gregorian Date with Century
Computation Rules
📊 Business Logic Narrative
When the process 'Build Complete Gregorian Date with Century' is invoked, and assuming that century component and year-month-day components are determined, when preparing date for conversion module, the desired outcome is that move complete gregorian date to input date field for conversion processing.
💻 Technical Criteria
Given Century component and year-month-day components are determined
When Preparing date for conversion module
Then Move complete Gregorian date to input date field for conversion processing
R-GCCS309C-cbl-00285 Call ISCDATCV Date Conversion Module
Action Rules
📊 Business Logic Narrative
When the process 'Call ISCDATCV Date Conversion Module' is invoked, and assuming that input date in gregorian format is prepared, when date conversion is required for edi transmission, the desired outcome is that call iscdatcv module with function codes 2 for input and 1 for output format.
💻 Technical Criteria
Given Input date in Gregorian format is prepared
When Date conversion is required for EDI transmission
Then Call ISCDATCV module with function codes 2 for input and 1 for output format
R-GCCS309C-cbl-00286 Date Conversion Successful?
Decision Rules
📊 Business Logic Narrative
When the process 'Date Conversion Successful?' is invoked, and assuming that date conversion module has been called, when conversion module returns success status, the desired outcome is that use converted output date for edi flight voyage number field.
💻 Technical Criteria
Given Date conversion module has been called
When Conversion module returns success status
Then Use converted output date for EDI flight voyage number field
R-GCCS309C-cbl-00287 Use Converted Date for EDI Format
Computation Rules
📊 Business Logic Narrative
When the process 'Use Converted Date for EDI Format' is invoked, and assuming that date conversion module returned success status, when populating edi m10 segment, the desired outcome is that move conversion output to m10-06-flight-voyage-num field.
💻 Technical Criteria
Given Date conversion module returned success status
When Populating EDI M10 segment
Then Move conversion output to M10-06-FLIGHT-VOYAGE-NUM field
R-GCCS309C-cbl-00288 Set Error Message for Invalid Date
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Error Message for Invalid Date', assuming that date conversion module did not return success status, when date conversion fails, the desired outcome is that set error message 'module iscdatcv said input date is invalid' in common communication area.
💻 Technical Criteria
EXCLUDING Date conversion module did not return success status
When Date conversion fails
Then Set error message 'MODULE ISCDATCV SAID INPUT DATE IS INVALID' in common communication area
R-GCCS309C-cbl-00289 Clear Date Field
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Clear Date Field', assuming that date conversion has failed and error message is set, when preparing edi segment with invalid date, the desired outcome is that move spaces to m10-06-flight-voyage-num field.
💻 Technical Criteria
EXCLUDING Date conversion has failed and error message is set
When Preparing EDI segment with invalid date
Then Move spaces to M10-06-FLIGHT-VOYAGE-NUM field
R-GCCS309C-cbl-00293 Set calculation parameters for adding days
Process Rules
📊 Business Logic Narrative
When the process 'Set calculation parameters for adding days' is invoked, and assuming that base date components have been prepared for eta calculation, when the system sets up date calculation parameters, the desired outcome is that set dtcal-add to true, set dtcal-days to true, and move ws-days-for-eta to dtcal-amount.
💻 Technical Criteria
Given Base date components have been prepared for ETA calculation
When The system sets up date calculation parameters
Then Set DTCAL-ADD to TRUE, set DTCAL-DAYS to TRUE, and move WS-DAYS-FOR-ETA to DTCAL-AMOUNT
R-GCCS309C-cbl-00294 Call date calculation service
Action Rules
📊 Business Logic Narrative
When the process 'Call date calculation service' is invoked, and assuming that date calculation parameters have been properly configured, when the system needs to calculate the estimated arrival date, the desired outcome is that call 'iscdtcal' using dtcal-parameter-list to perform the date arithmetic.
💻 Technical Criteria
Given Date calculation parameters have been properly configured
When The system needs to calculate the estimated arrival date
Then Call 'ISCDTCAL' using DTCAL-PARAMETER-LIST to perform the date arithmetic
R-GCCS309C-cbl-00304 Move Transmission Number to GCX121
Process Rules
📊 Business Logic Narrative
When the process 'Move Transmission Number to GCX121' is invoked, and assuming that a transmission has been processed with a unique transmission number, when transaction completion notification is being prepared, the desired outcome is that the transmission number is associated with the completion request parameters.
💻 Technical Criteria
Given A transmission has been processed with a unique transmission number
When Transaction completion notification is being prepared
Then The transmission number is associated with the completion request parameters
R-GCCS309C-cbl-00306 BPE Environment: Use CSIEXCI Call
Action Rules
📊 Business Logic Narrative
When the process 'BPE Environment: Use CSIEXCI Call' is invoked, and assuming that the system is running in bpe environment, when transaction completion needs to be executed, the desired outcome is that the system uses csiexci call mechanism for processing the completion notification.
💻 Technical Criteria
Given The system is running in BPE environment
When Transaction completion needs to be executed
Then The system uses CSIEXCI call mechanism for processing the completion notification
R-GCCS309C-cbl-00307 TPE Environment: Use CIMS Call
Action Rules
📊 Business Logic Narrative
When the process 'TPE Environment: Use CIMS Call' is invoked, and assuming that the system is running in tpe environment, when transaction completion needs to be executed, the desired outcome is that the system uses cims call mechanism with message logging and purging operations.
💻 Technical Criteria
Given The system is running in TPE environment
When Transaction completion needs to be executed
Then The system uses CIMS call mechanism with message logging and purging operations
R-GCCS309C-cbl-00308 Set Transaction Name to GCT1211E
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Transaction Name to GCT1211E' is invoked, and assuming that bpe environment processing is selected for transaction completion, when the external transaction service needs to be identified, the desired outcome is that the transaction name is set to gct1211e for completion processing.
💻 Technical Criteria
Given BPE environment processing is selected for transaction completion
When The external transaction service needs to be identified
Then The transaction name is set to GCT1211E for completion processing
R-GCCS309C-cbl-00309 Calculate Communication Length
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Communication Length' is invoked, and assuming that bpe environment transaction completion is being prepared, when communication parameters need to be sized, the desired outcome is that the communication length is calculated as message length plus 4 bytes for header.
💻 Technical Criteria
Given BPE environment transaction completion is being prepared
When Communication parameters need to be sized
Then The communication length is calculated as message length plus 4 bytes for header
R-GCCS309C-cbl-00310 Move Message Data to Communication Area
Process Rules
📊 Business Logic Narrative
When the process 'Move Message Data to Communication Area' is invoked, and assuming that bpe environment external call parameters are being prepared, when message data needs to be transferred for external processing, the desired outcome is that the message data is moved to the communication area for the external call.
💻 Technical Criteria
Given BPE environment external call parameters are being prepared
When Message data needs to be transferred for external processing
Then The message data is moved to the communication area for the external call
R-GCCS309C-cbl-00311 Execute CSIEXCI Call
Action Rules
📊 Business Logic Narrative
When the process 'Execute CSIEXCI Call' is invoked, and assuming that all bpe environment call parameters are prepared, when the external transaction completion service needs to be invoked, the desired outcome is that the csiexci call is executed with the prepared parameters.
💻 Technical Criteria
Given All BPE environment call parameters are prepared
When The external transaction completion service needs to be invoked
Then The CSIEXCI call is executed with the prepared parameters
R-GCCS309C-cbl-00312 EXCI Call Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'EXCI Call Successful?' is invoked, and assuming that an external transaction completion call has been executed, when the system needs to determine call success, the desired outcome is that the call is considered successful if response code is zero, response2 is zero, abort code is space, and message length is zero.
💻 Technical Criteria
Given An external transaction completion call has been executed
When The system needs to determine call success
Then The call is considered successful if response code is zero, response2 is zero, abort code is space, and message length is zero
R-GCCS309C-cbl-00313 Set Success Return Code
Process Rules
📊 Business Logic Narrative
When the process 'Set Success Return Code' is invoked, and assuming that external transaction completion call executed successfully, when the system needs to record the successful completion, the desired outcome is that the return code is set to success status.
💻 Technical Criteria
Given External transaction completion call executed successfully
When The system needs to record the successful completion
Then The return code is set to success status
R-GCCS309C-cbl-00314 Set Failure Return Code
Process Rules
📊 Business Logic Narrative
When the process 'Set Failure Return Code' is invoked, and assuming that external transaction completion call failed, when the system needs to record the failed completion, the desired outcome is that the return code is set to failure status and error message pointer is processed if available.
💻 Technical Criteria
Given External transaction completion call failed
When The system needs to record the failed completion
Then The return code is set to failure status and error message pointer is processed if available
R-GCCS309C-cbl-00315 Move GCX121 Input to GCT1211E Message
Process Rules
📊 Business Logic Narrative
When the process 'Move GCX121 Input to GCT1211E Message' is invoked, and assuming that tpe environment processing is selected for transaction completion, when message content needs to be prepared for internal processing, the desired outcome is that the gcx121 input parameters are moved to the gct1211e message structure.
💻 Technical Criteria
Given TPE environment processing is selected for transaction completion
When Message content needs to be prepared for internal processing
Then The GCX121 input parameters are moved to the GCT1211E message structure
R-GCCS309C-cbl-00316 Change Alt-PCB Status
Process Rules
📊 Business Logic Narrative
When the process 'Change Alt-PCB Status' is invoked, and assuming that tpe environment message is prepared for processing, when message queue status needs to be updated, the desired outcome is that the alternate pcb status is changed using cims call.
💻 Technical Criteria
Given TPE environment message is prepared for processing
When Message queue status needs to be updated
Then The alternate PCB status is changed using CIMS call
R-GCCS309C-cbl-00317 Write Message Log Entry
Process Rules
📊 Business Logic Narrative
When the process 'Write Message Log Entry' is invoked, and assuming that tpe environment message processing is active, when transaction completion needs to be logged, the desired outcome is that a message log entry is written with completion details including message code, content, length, and module name.
💻 Technical Criteria
Given TPE environment message processing is active
When Transaction completion needs to be logged
Then A message log entry is written with completion details including message code, content, length, and module name
R-GCCS309C-cbl-00319 Transaction Completion Finalized
Process Rules
📊 Business Logic Narrative
When the process 'Transaction Completion Finalized' is invoked, and assuming that either bpe or tpe environment processing has completed, when all completion processing steps are finished, the desired outcome is that the transaction completion is finalized and control returns to the calling process.
💻 Technical Criteria
Given Either BPE or TPE environment processing has completed
When All completion processing steps are finished
Then The transaction completion is finalized and control returns to the calling process
R-GCCS309C-cbl-00323 Initialize amendment flag to SPACES
Process Rules
📊 Business Logic Narrative
When the process 'Initialize amendment flag to SPACES' is invoked, and assuming that a manifest transaction is being processed, when the post-emanifest amendment processing begins, the desired outcome is that the post-emanifest amendment flag should be initialized to spaces.
💻 Technical Criteria
Given A manifest transaction is being processed
When The post-emanifest amendment processing begins
Then The post-emanifest amendment flag should be initialized to SPACES
R-GCCS309C-cbl-00324 Action code is 04, 05, or 06?
Decision Rules
📊 Business Logic Narrative
When the process 'Action code is 04, 05, or 06?' is invoked, and assuming that a manifest transaction with a specific action code, when the action code is evaluated for amendment eligibility, the desired outcome is that the system should identify if the action code is 04, 05, or 06 to proceed with amendment logic.
💻 Technical Criteria
Given A manifest transaction with a specific action code
When The action code is evaluated for amendment eligibility
Then The system should identify if the action code is 04, 05, or 06 to proceed with amendment logic
R-GCCS309C-cbl-00329 Check if Broker Notification Required
Decision Rules
📊 Business Logic Narrative
When the process 'Check if Broker Notification Required' is invoked, and assuming that a manifest processing request is received, when the system checks the broker notification flag gcws309c-notify-broker, the desired outcome is that the system should proceed to broker notification processing if the flag is true, otherwise skip broker notification.
💻 Technical Criteria
Given A manifest processing request is received
When The system checks the broker notification flag GCWS309C-NOTIFY-BROKER
Then The system should proceed to broker notification processing if the flag is true, otherwise skip broker notification
R-GCCS309C-cbl-00332 Set Action Code to ZZZ
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Action Code to ZZZ' is invoked, and assuming that broker message parameters are being configured, when the system sets up the action code for the broker message, the desired outcome is that the system should assign 'zzz' to gcx105-action-code.
💻 Technical Criteria
Given Broker message parameters are being configured
When The system sets up the action code for the broker message
Then The system should assign 'ZZZ' to GCX105-ACTION-CODE
R-GCCS309C-cbl-00333 Set Message Content
Action Rules
📊 Business Logic Narrative
When the process 'Set Message Content' is invoked, and assuming that broker message structure is being populated, when the system assigns message content, the desired outcome is that the system should move log-edi-message to gcx105-message.
💻 Technical Criteria
Given Broker message structure is being populated
When The system assigns message content
Then The system should move LOG-EDI-MESSAGE to GCX105-MESSAGE
R-GCCS309C-cbl-00334 Set Sending Transaction ID
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Sending Transaction ID' is invoked, and assuming that broker message metadata is being configured, when the system sets the sending transaction identifier, the desired outcome is that the system should assign 'gccs309c' to gcx105-sending-transaction.
💻 Technical Criteria
Given Broker message metadata is being configured
When The system sets the sending transaction identifier
Then The system should assign 'GCCS309C' to GCX105-SENDING-TRANSACTION
R-GCCS309C-cbl-00335 Set User ID and Timestamp
Action Rules
📊 Business Logic Narrative
When the process 'Set User ID and Timestamp' is invoked, and assuming that broker message audit information is being recorded, when the system captures user and timing information, the desired outcome is that the system should assign cc-acf2-userid from cccom to gcx105-acf2-id.
💻 Technical Criteria
Given Broker message audit information is being recorded
When The system captures user and timing information
Then The system should assign CC-ACF2-USERID from CCCOM to GCX105-ACF2-ID
R-GCCS309C-cbl-00336 Set Date and Time Information
Action Rules
📊 Business Logic Narrative
When the process 'Set Date and Time Information' is invoked, and assuming that broker message timing information is being set, when the system processes date and time configuration, the desired outcome is that the system should move cc-machine-century and cc-machine-date from cccom to ws-gcx105-cc and ws-gcx105-yymmdd respectively, then move ws-gcx105-ccyymmdd to gcx105-date and cc-machine-time to gcx105-time.
💻 Technical Criteria
Given Broker message timing information is being set
When The system processes date and time configuration
Then The system should move CC-MACHINE-CENTURY and CC-MACHINE-DATE from CCCOM to WS-GCX105-CC and WS-GCX105-YYMMDD respectively, then move WS-GCX105-CCYYMMDD to GCX105-DATE and CC-MACHINE-TIME to GCX105-TIME
R-GCCS309C-cbl-00337 Spawn GCT1051E Transaction
Action Rules
📊 Business Logic Narrative
When the process 'Spawn GCT1051E Transaction' is invoked, and assuming that all broker message parameters are configured, when the system initiates broker notification transmission, the desired outcome is that the system should perform z600-spawn-gct1051e to execute the broker edi transaction.
💻 Technical Criteria
Given All broker message parameters are configured
When The system initiates broker notification transmission
Then The system should perform Z600-SPAWN-GCT1051E to execute the broker EDI transaction
R-GCCS309C-cbl-00339 Move Transmission Number to GCX121
Action Rules
📊 Business Logic Narrative
When the process 'Move Transmission Number to GCX121' is invoked, and assuming that a completed edi transmission with transmission number, when preparing completion notification, the desired outcome is that move the transmission number from a9rt-transmission-number to gcx121-transmission-number.
💻 Technical Criteria
Given a completed EDI transmission with transmission number
When preparing completion notification
Then move the transmission number from A9RT-TRANSMISSION-NUMBER to GCX121-TRANSMISSION-NUMBER
R-GCCS309C-cbl-00340 Running Environment?
Decision Rules
📊 Business Logic Narrative
When the process 'Running Environment?' is invoked, and assuming that a completion notification needs to be sent, when the system checks the runtime environment, the desired outcome is that if running in bpe environment use external transaction call, otherwise use tpe environment processing.
💻 Technical Criteria
Given a completion notification needs to be sent
When the system checks the runtime environment
Then if running in BPE environment use external transaction call, otherwise use TPE environment processing
R-GCCS309C-cbl-00341 Set Transaction Name to GCT1211E
Action Rules
📊 Business Logic Narrative
When the process 'Set Transaction Name to GCT1211E' is invoked, and assuming that the system is running in bpe environment, when setting up completion notification, the desired outcome is that set transaction name to gct1211e and configure exci parameters.
💻 Technical Criteria
Given the system is running in BPE environment
When setting up completion notification
Then set transaction name to GCT1211E and configure EXCI parameters
R-GCCS309C-cbl-00342 Calculate Communication Length
Computation Rules
📊 Business Logic Narrative
When the process 'Calculate Communication Length' is invoked, and assuming that bpe environment completion notification setup, when preparing external transaction call, the desired outcome is that compute exci-comm-ll as gct1211e-msg-lgth plus 4 and compute exci-call-data-len as length of exci-commarea-hdr plus gct1211e-msg-lgth.
💻 Technical Criteria
Given BPE environment completion notification setup
When preparing external transaction call
Then compute EXCI-COMM-LL as GCT1211E-MSG-LGTH plus 4 and compute EXCI-CALL-DATA-LEN as length of EXCI-COMMAREA-HDR plus GCT1211E-MSG-LGTH
R-GCCS309C-cbl-00343 Call External Transaction via CSIEXCI
Action Rules
📊 Business Logic Narrative
When the process 'Call External Transaction via CSIEXCI' is invoked, and assuming that bpe environment with configured exci parameters, when executing completion notification, the desired outcome is that call csiexci with configured parameters including program, return code, call data length, application id, and communication area.
💻 Technical Criteria
Given BPE environment with configured EXCI parameters
When executing completion notification
Then call CSIEXCI with configured parameters including program, return code, call data length, application ID, and communication area
R-GCCS309C-cbl-00344 External Call Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'External Call Successful?' is invoked, and assuming that an external transaction call has been executed, when checking the call results, the desired outcome is that if exci-rc-resp equals zero and exci-rc-resp2 equals zero and exci-rc-abcode equals space and exci-rc-msglen equals zero then call is successful, otherwise call failed.
💻 Technical Criteria
Given an external transaction call has been executed
When checking the call results
Then if EXCI-RC-RESP equals zero and EXCI-RC-RESP2 equals zero and EXCI-RC-ABCODE equals space and EXCI-RC-MSGLEN equals zero then call is successful, otherwise call failed
R-GCCS309C-cbl-00345 Set Success Return Code
Action Rules
📊 Business Logic Narrative
When the process 'Set Success Return Code' is invoked, and assuming that external transaction call completed successfully, when setting completion status, the desired outcome is that move rc-sucs to cc-return-code of cccom.
💻 Technical Criteria
Given external transaction call completed successfully
When setting completion status
Then move RC-SUCS to CC-RETURN-CODE of CCCOM
R-GCCS309C-cbl-00346 Set Failure Return Code
Action Rules
📊 Business Logic Narrative
When the process 'Set Failure Return Code' is invoked, and assuming that external transaction call failed, when setting completion status, the desired outcome is that if exci-rc-msgptr is not null then set address of exci-error-msg to exci-rc-msgptr, and move rc-fail to cc-return-code of cccom.
💻 Technical Criteria
Given external transaction call failed
When setting completion status
Then if EXCI-RC-MSGPTR is not null then set address of EXCI-ERROR-MSG to EXCI-RC-MSGPTR, and move RC-FAIL to CC-RETURN-CODE of CCCOM
R-GCCS309C-cbl-00347 Move Input to GCT1211E Message
Action Rules
📊 Business Logic Narrative
When the process 'Move Input to GCT1211E Message' is invoked, and assuming that the system is running in tpe environment, when processing completion notification, the desired outcome is that move gcx121-input to gct1211e-msg and set cc-accept-status to spaces.
💻 Technical Criteria
Given the system is running in TPE environment
When processing completion notification
Then move GCX121-INPUT to GCT1211E-MSG and set CC-ACCEPT-STATUS to spaces
R-GCCS309C-cbl-00348 Change Message Status
Action Rules
📊 Business Logic Narrative
When the process 'Change Message Status' is invoked, and assuming that tpe environment completion notification processing, when updating message status, the desired outcome is that call cims using cccom, chng, alt-pcb, and gct1211e.
💻 Technical Criteria
Given TPE environment completion notification processing
When updating message status
Then call CIMS using CCCOM, CHNG, ALT-PCB, and GCT1211E
R-GCCS309C-cbl-00349 Write Message to Log
Action Rules
📊 Business Logic Narrative
When the process 'Write Message to Log' is invoked, and assuming that tpe environment with message status changed, when logging the completion notification, the desired outcome is that call writmsgl using cccom, alt-pcb, gct1211e-msg-code, gct1211e-message, gct1211e-msg-lgth, and gct1211e-mod-name.
💻 Technical Criteria
Given TPE environment with message status changed
When logging the completion notification
Then call WRITMSGL using CCCOM, ALT-PCB, GCT1211E-MSG-CODE, GCT1211E-MESSAGE, GCT1211E-MSG-LGTH, and GCT1211E-MOD-NAME
R-GCCS309C-cbl-00350 Purge Message Queue
Action Rules
📊 Business Logic Narrative
When the process 'Purge Message Queue' is invoked, and assuming that tpe environment with message logged, when finalizing completion notification, the desired outcome is that call cims using cccom, purg, and alt-pcb.
💻 Technical Criteria
Given TPE environment with message logged
When finalizing completion notification
Then call CIMS using CCCOM, PURG, and ALT-PCB
R-GCCS309C-cbl-00351 Increment N9 Counter
Process Rules
📊 Business Logic Narrative
When the process 'Increment N9 Counter' is invoked, and assuming that broker reference number processing is initiated, when the system begins processing reference numbers for broker notifications, the desired outcome is that the n9 counter is incremented by 1 to point to the next reference number position.
💻 Technical Criteria
Given Broker reference number processing is initiated
When The system begins processing reference numbers for broker notifications
Then The N9 counter is incremented by 1 to point to the next reference number position
R-GCCS309C-cbl-00353 Initialize N9 Segment
Process Rules
📊 Business Logic Narrative
When the process 'Initialize N9 Segment' is invoked, and assuming that a valid reference number qualifier exists for broker processing, when the system needs to create an n9 reference segment, the desired outcome is that the n9 segment structure is initialized to clear any previous data.
💻 Technical Criteria
Given A valid reference number qualifier exists for broker processing
When The system needs to create an N9 reference segment
Then The N9 segment structure is initialized to clear any previous data
R-GCCS309C-cbl-00354 Set N9 Identifier
Definitional Rules
📊 Business Logic Narrative
When the process 'Set N9 Identifier' is invoked, and assuming that an initialized n9 segment structure for broker notifications, when the system prepares the segment for transmission, the desired outcome is that the segment identifier is set to 'n9' to comply with edi standards.
💻 Technical Criteria
Given An initialized N9 segment structure for broker notifications
When The system prepares the segment for transmission
Then The segment identifier is set to 'N9' to comply with EDI standards
R-GCCS309C-cbl-00355 Move Reference Number Qualifier to N9-01
Process Rules
📊 Business Logic Narrative
When the process 'Move Reference Number Qualifier to N9-01' is invoked, and assuming that a valid reference number qualifier from the manifest data array at the current counter position, when the system builds the n9 segment for broker transmission, the desired outcome is that the reference number qualifier is moved to the n9-01 field of the segment.
💻 Technical Criteria
Given A valid reference number qualifier from the manifest data array at the current counter position
When The system builds the N9 segment for broker transmission
Then The reference number qualifier is moved to the N9-01 field of the segment
R-GCCS309C-cbl-00356 Move Reference Number to N9-02
Process Rules
📊 Business Logic Narrative
When the process 'Move Reference Number to N9-02' is invoked, and assuming that a valid reference number from the manifest data array at the current counter position, when the system builds the n9 segment for broker transmission, the desired outcome is that the reference number is moved to the n9-02 field of the segment.
💻 Technical Criteria
Given A valid reference number from the manifest data array at the current counter position
When The system builds the N9 segment for broker transmission
Then The reference number is moved to the N9-02 field of the segment
R-GCCS309C-cbl-00359 Station code found in SC table?
Validation Rules
📊 Business Logic Narrative
When the process 'Station code found in SC table?' is invoked, and assuming that a station code lookup has been performed against the sc table, when the system evaluates the lookup result, the desired outcome is that if the lookup was not successful or the canadian station code is '0000', then the station is considered invalid.
💻 Technical Criteria
Given A station code lookup has been performed against the SC table
When The system evaluates the lookup result
Then If the lookup was not successful OR the Canadian station code is '0000', then the station is considered invalid

🚂 Equipment & Cargo Specs 98 logic blocks
R-GCCS309C-cbl-00018 13:M11 Segment Processing
Decision Rules
📊 Business Logic Narrative
When the process '13:M11 Segment Processing' is invoked, and assuming that a manifest has weight unit qualifier information, when the weight unit qualifier is 'kg ' or ' kg', the desired outcome is that the system should set weight unit code to 'k', otherwise set to 'l'.
💻 Technical Criteria
Given A manifest has weight unit qualifier information
When The weight unit qualifier is 'KG ' or ' KG'
Then The system should set weight unit code to 'K', otherwise set to 'L'
R-GCCS309C-cbl-00024 20:VID Equipment Processing
Decision Rules
📊 Business Logic Narrative
When the process '20:VID Equipment Processing' is invoked, and assuming that equipment information is being processed, when the conveying car field is blank, the desired outcome is that the system should set equipment description code to 'rr' for railroad, otherwise set to 'cn' for container.
💻 Technical Criteria
Given Equipment information is being processed
When The conveying car field is blank
Then The system should set equipment description code to 'RR' for railroad, otherwise set to 'CN' for container
R-GCCS309C-cbl-00025 Destination Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Destination Type?' is invoked, and assuming that a manifest is being processed with a specific destination type, when the destination type is 5040, the desired outcome is that the system should skip m7 seal processing and proceed to n10 description processing, otherwise process m7 seals first.
💻 Technical Criteria
Given A manifest is being processed with a specific destination type
When The destination type is 5040
Then The system should skip M7 seal processing and proceed to N10 description processing, otherwise process M7 seals first
R-GCCS309C-cbl-00026 21:M7 Seal Processing
Process Rules
📊 Business Logic Narrative
When the process '21:M7 Seal Processing' is invoked, and assuming that a manifest has seal number information, when seal numbers are available in the manifest data, the desired outcome is that the system should create m7 segments with up to 4 seal numbers per segment, processing up to 20 total seal numbers.
💻 Technical Criteria
Given A manifest has seal number information
When Seal numbers are available in the manifest data
Then The system should create M7 segments with up to 4 seal numbers per segment, processing up to 20 total seal numbers
R-GCCS309C-cbl-00027 22:N10 Description Processing
Decision Rules
📊 Business Logic Narrative
When the process '22:N10 Description Processing' is invoked, and assuming that a manifest is being processed with equipment information, when an idler car is found in the shipment, the desired outcome is that the system should set quantity to zero for the n10 segment, otherwise use the lading quantity from the manifest.
💻 Technical Criteria
Given A manifest is being processed with equipment information
When An idler car is found in the shipment
Then The system should set quantity to zero for the N10 segment, otherwise use the lading quantity from the manifest
R-GCCS309C-cbl-00030 Idler Shipment?
Decision Rules
📊 Business Logic Narrative
When the process 'Idler Shipment?' is invoked, and assuming that a manifest is classified as an idler shipment, when the manifest is an idler shipment and customs notification is required, the desired outcome is that the system should process additional idler cars in the consist.
💻 Technical Criteria
Given A manifest is classified as an idler shipment
When The manifest is an idler shipment AND customs notification is required
Then The system should process additional idler cars in the consist
R-GCCS309C-cbl-00031 25:Idler Car Processing
Process Rules
📊 Business Logic Narrative
When the process '25:Idler Car Processing' is invoked, and assuming that an idler shipment requires processing of follower cars, when additional idler cars are found in the consist, the desired outcome is that the system should process vid segments for each idler car and include n10 and h1-h2 segments based on destination type and hazardous material presence.
💻 Technical Criteria
Given An idler shipment requires processing of follower cars
When Additional idler cars are found in the consist
Then The system should process VID segments for each idler car and include N10 and H1-H2 segments based on destination type and hazardous material presence
R-GCCS309C-cbl-00038 Set Idler Car Not Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Idler Car Not Found Flag' is invoked, and assuming that the manifest processing initialization is starting, when system flags are being initialized, the desired outcome is that the system sets the idler car not found flag to true.
💻 Technical Criteria
Given The manifest processing initialization is starting
When System flags are being initialized
Then The system sets the idler car not found flag to true
R-GCCS309C-cbl-00047 Border Arrival Date exists AND Not Pre-Emanifest?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Border Arrival Date exists AND Not Pre-Emanifest?', assuming that a manifest transaction has action code '04', '05', or '06', when the border arrival date is not empty and the manifest is not a pre-emanifest, the desired outcome is that the system should apply post-emanifest amendment processing rules.
💻 Technical Criteria
EXCLUDING A manifest transaction has action code '04', '05', or '06'
When The border arrival date is not empty AND the manifest is not a pre-emanifest
Then The system should apply post-emanifest amendment processing rules
R-GCCS309C-cbl-00050 Use Original Action Code as Purpose Code
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Original Action Code as Purpose Code', assuming that a manifest transaction is being processed, when the action code is not '04', '05', or '06' or border arrival date is empty or it is a pre-emanifest, the desired outcome is that the original action code should be used as the transaction purpose code.
💻 Technical Criteria
EXCLUDING A manifest transaction is being processed
When The action code is not '04', '05', or '06' OR border arrival date is empty OR it is a pre-emanifest
Then The original action code should be used as the transaction purpose code
R-GCCS309C-cbl-00384 Consignee CHOP and Commodity Code exist?
Validation Rules
📊 Business Logic Narrative
When the process 'Consignee CHOP and Commodity Code exist?' is invoked, and assuming that a manifest record with consignee chop and commodity code fields, when the system checks for automotive release eligibility, the desired outcome is that if both consignee chop and commodity code are not empty, proceed to au table lookup, otherwise set non-automotive flag.
💻 Technical Criteria
Given A manifest record with consignee CHOP and commodity code fields
When The system checks for automotive release eligibility
Then If both consignee CHOP and commodity code are not empty, proceed to AU table lookup, otherwise set non-automotive flag
R-GCCS309C-cbl-00396 Program = 'GCX146' OR 'GCX147'?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Program = 'GCX146' OR 'GCX147'?', assuming that a manifest is being processed, arrival conditions are not met, and canadian customs north train id is empty, when the calling program name is 'gcx146' or 'gcx147', the desired outcome is that the manifest type code should be set to 'c' indicating a customs manifest.
💻 Technical Criteria
EXCLUDING A manifest is being processed, arrival conditions are not met, and Canadian customs north train ID is empty
When The calling program name is 'GCX146' OR 'GCX147'
Then The manifest type code should be set to 'C' indicating a Customs manifest
R-GCCS309C-cbl-00397 Set Manifest Type = 'P' - Pre-manifest
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Manifest Type = 'P' - Pre-manifest', assuming that a manifest is being processed, arrival conditions are not met, canadian customs north train id is empty, and the program is not a customs-specific program, when none of the arrival or customs conditions are satisfied, the desired outcome is that the manifest type code should be set to 'p' indicating a pre-manifest.
💻 Technical Criteria
EXCLUDING A manifest is being processed, arrival conditions are not met, Canadian customs north train ID is empty, and the program is not a customs-specific program
When None of the arrival or customs conditions are satisfied
Then The manifest type code should be set to 'P' indicating a Pre-manifest
R-GCCS309C-cbl-00105 Initialize P4 segment structure
Process Rules
📊 Business Logic Narrative
When the process 'Initialize P4 segment structure' is invoked, and assuming that a p4 segment processing request is initiated, when the system begins p4 segment creation, the desired outcome is that the p4 segment structure is initialized to empty values and the segment identifier is set to 'p4'.
💻 Technical Criteria
Given A P4 segment processing request is initiated
When The system begins P4 segment creation
Then The P4 segment structure is initialized to empty values and the segment identifier is set to 'P4'
R-GCCS309C-cbl-00144 Set weight from manifest data
Definitional Rules
📊 Business Logic Narrative
When the process 'Set weight from manifest data' is invoked, and assuming that a manifest contains weight information, when creating the m11 segment weight information, the desired outcome is that the manifest weight should be assigned to the m11 segment.
💻 Technical Criteria
Given A manifest contains weight information
When Creating the M11 segment weight information
Then The manifest weight should be assigned to the M11 segment
R-GCCS309C-cbl-00145 Weight unit is KG?
Decision Rules
📊 Business Logic Narrative
When the process 'Weight unit is KG?' is invoked, and assuming that a manifest has a weight unit qualifier, when the weight unit qualifier is 'kg ' or ' kg', the desired outcome is that the weight unit code should be set to 'k' for kilograms, otherwise set to 'l' for pounds.
💻 Technical Criteria
Given A manifest has a weight unit qualifier
When The weight unit qualifier is 'KG ' or ' KG'
Then The weight unit code should be set to 'K' for kilograms, otherwise set to 'L' for pounds
R-GCCS309C-cbl-00163 Entity record exists?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Entity record exists?', assuming that an entity record at a specific sequence position, when the system checks if the entity cargo data is not equal to spaces, the desired outcome is that the system proceeds with entity processing if data exists, otherwise skips to the next record.
💻 Technical Criteria
EXCLUDING An entity record at a specific sequence position
When The system checks if the entity cargo data is not equal to spaces
Then The system proceeds with entity processing if data exists, otherwise skips to the next record
R-GCCS309C-cbl-00404 Loop Counter <= Max Entities AND Entity Data Not Empty?
Decision Rules
📊 Business Logic Narrative
When the process 'Loop Counter <= Max Entities AND Entity Data Not Empty?' is invoked, and assuming that entity records are being processed in a loop, when the system checks if more entities need processing, the desired outcome is that continue processing if ws-sub-rec is less than or equal to gcsccs99-s55-max-seq and the entity data at current position is not spaces or low-values.
💻 Technical Criteria
Given Entity records are being processed in a loop
When The system checks if more entities need processing
Then Continue processing if WS-SUB-REC is less than or equal to GCSCCS99-S55-MAX-SEQ AND the entity data at current position is not SPACES or LOW-VALUES
R-GCCS309C-cbl-00451 Get Next Entity Record from GCSCCS55
Process Rules
📊 Business Logic Narrative
When the process 'Get Next Entity Record from GCSCCS55' is invoked, and assuming that a cargo data array gcsccs55 with multiple entity records exists, when the system iterates through entity records using ws-sub-rec counter from 1 to maximum sequence gcsccs99-s55-max-seq, the desired outcome is that each non-empty entity record is retrieved and processed sequentially.
💻 Technical Criteria
Given A cargo data array GCSCCS55 with multiple entity records exists
When The system iterates through entity records using WS-SUB-REC counter from 1 to maximum sequence GCSCCS99-S55-MAX-SEQ
Then Each non-empty entity record is retrieved and processed sequentially
R-GCCS309C-cbl-00452 Entity Record Empty?
Validation Rules
📊 Business Logic Narrative
When the process 'Entity Record Empty?' is invoked, and assuming that an entity record from the cargo data array is being evaluated, when the entity record data equals spaces or low-values, the desired outcome is that the record is considered empty and processing for that record is skipped.
💻 Technical Criteria
Given An entity record from the cargo data array is being evaluated
When The entity record data equals SPACES or LOW-VALUES
Then The record is considered empty and processing for that record is skipped
R-GCCS309C-cbl-00463 City Name Present?
Validation Rules
📊 Business Logic Narrative
When the process 'City Name Present?' is invoked, and assuming that an entity address record with city name field, when the address validation is performed, the desired outcome is that the system checks if the city name field contains a non-empty value.
💻 Technical Criteria
Given An entity address record with city name field
When The address validation is performed
Then The system checks if the city name field contains a non-empty value
R-GCCS309C-cbl-00464 Country Code Present?
Validation Rules
📊 Business Logic Narrative
When the process 'Country Code Present?' is invoked, and assuming that an entity address record with country code field, when the address validation is performed, the desired outcome is that the system checks if the country code field contains a non-empty value.
💻 Technical Criteria
Given An entity address record with country code field
When The address validation is performed
Then The system checks if the country code field contains a non-empty value
R-GCCS309C-cbl-00466 Postal Code Present?
Validation Rules
📊 Business Logic Narrative
When the process 'Postal Code Present?' is invoked, and assuming that an entity address in the united states or canada, when the postal code validation is performed, the desired outcome is that the system requires a non-empty postal code value.
💻 Technical Criteria
Given An entity address in the United States or Canada
When The postal code validation is performed
Then The system requires a non-empty postal code value
R-GCCS309C-cbl-00467 State/Province Code Present?
Validation Rules
📊 Business Logic Narrative
When the process 'State/Province Code Present?' is invoked, and assuming that an entity address in the united states or canada, when the state/province code validation is performed, the desired outcome is that the system requires a non-empty state or province code value.
💻 Technical Criteria
Given An entity address in the United States or Canada
When The state/province code validation is performed
Then The system requires a non-empty state or province code value
R-GCCS309C-cbl-00469 Reject Incomplete Address
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Reject Incomplete Address', assuming that an entity address that fails one or more validation checks, when any required field is missing or invalid, the desired outcome is that the system initializes the address data to empty values and excludes it from processing.
💻 Technical Criteria
EXCLUDING An entity address that fails one or more validation checks
When Any required field is missing or invalid
Then The system initializes the address data to empty values and excludes it from processing
R-GCCS309C-cbl-00193 Read Entity Record from GCSCCS55
Process Rules
📊 Business Logic Narrative
When the process 'Read Entity Record from GCSCCS55' is invoked, and assuming that a cargo data array gcsccs55 exists with multiple entity records, when the system processes entity records sequentially, the desired outcome is that each non-empty record is loaded into gcsccs55 structure for further processing and empty or low-value records terminate the loop.
💻 Technical Criteria
Given A cargo data array GCSCCS55 exists with multiple entity records
When The system processes entity records sequentially
Then Each non-empty record is loaded into GCSCCS55 structure for further processing and empty or low-value records terminate the loop
R-GCCS309C-cbl-00210 Set Equipment Description to 'CN' - Container / Set Equipment Description to 'RR' - Rail Car
Decision Rules
📊 Business Logic Narrative
When the process 'Set Equipment Description to 'CN' - Container / Set Equipment Description to 'RR' - Rail Car' is invoked, and assuming that a manifest record with equipment information is being processed for vid segment creation, when the system checks the conveying car field in the manifest data, the desired outcome is that if conveying car field contains data, set equipment description code to 'cn' for container, otherwise set to 'rr' for rail car.
💻 Technical Criteria
Given A manifest record with equipment information is being processed for VID segment creation
When The system checks the conveying car field in the manifest data
Then If conveying car field contains data, set equipment description code to 'CN' for container, otherwise set to 'RR' for rail car
R-GCCS309C-cbl-00211 Set Equipment Initial from Manifest
Process Rules
📊 Business Logic Narrative
When the process 'Set Equipment Initial from Manifest' is invoked, and assuming that a vid segment is being created for equipment identification, when the equipment initial field is populated from manifest data, the desired outcome is that the equipment car initial from manifest is assigned to the vid equipment initial field.
💻 Technical Criteria
Given A VID segment is being created for equipment identification
When The equipment initial field is populated from manifest data
Then The equipment car initial from manifest is assigned to the VID equipment initial field
R-GCCS309C-cbl-00212 Set Equipment Number from Manifest
Process Rules
📊 Business Logic Narrative
When the process 'Set Equipment Number from Manifest' is invoked, and assuming that a vid segment is being created for equipment identification, when the equipment number field is populated from manifest data, the desired outcome is that the equipment car number from manifest is assigned to the vid equipment number field.
💻 Technical Criteria
Given A VID segment is being created for equipment identification
When The equipment number field is populated from manifest data
Then The equipment car number from manifest is assigned to the VID equipment number field
R-GCCS309C-cbl-00213 Default Equipment Initial to 'NONZ'
Validation Rules
📊 Business Logic Narrative
When the process 'Default Equipment Initial to 'NONZ'' is invoked, and assuming that a vid segment requires an equipment initial identifier, when the equipment car initial field in manifest data is empty or spaces, the desired outcome is that set the equipment initial to default value 'nonz'.
💻 Technical Criteria
Given A VID segment requires an equipment initial identifier
When The equipment car initial field in manifest data is empty or spaces
Then Set the equipment initial to default value 'NONZ'
R-GCCS309C-cbl-00214 Default Equipment Number to '00000000'
Validation Rules
📊 Business Logic Narrative
When the process 'Default Equipment Number to '00000000'' is invoked, and assuming that a vid segment requires an equipment number identifier, when the equipment car number field in manifest data is empty, spaces, or contains zeros, the desired outcome is that set the equipment number to default value '00000000'.
💻 Technical Criteria
Given A VID segment requires an equipment number identifier
When The equipment car number field in manifest data is empty, spaces, or contains zeros
Then Set the equipment number to default value '00000000'
R-GCCS309C-cbl-00215 Set Load/Empty Status from Manifest
Process Rules
📊 Business Logic Narrative
When the process 'Set Load/Empty Status from Manifest' is invoked, and assuming that a vid segment is being created with equipment status information, when the load empty status field is populated from manifest data, the desired outcome is that the load empty status from manifest is assigned to the vid load empty status code field.
💻 Technical Criteria
Given A VID segment is being created with equipment status information
When The load empty status field is populated from manifest data
Then The load empty status from manifest is assigned to the VID load empty status code field
R-GCCS309C-cbl-00216 Clear Seal Number Fields
Process Rules
📊 Business Logic Narrative
When the process 'Clear Seal Number Fields' is invoked, and assuming that a vid segment is being prepared for equipment identification, when seal number fields need to be initialized, the desired outcome is that set both seal number fields to spaces as seal data is processed in separate segments.
💻 Technical Criteria
Given A VID segment is being prepared for equipment identification
When Seal number fields need to be initialized
Then Set both seal number fields to spaces as seal data is processed in separate segments
R-GCCS309C-cbl-00217 Seal counter ≤ 20 AND seal number exists?
Process Rules
📊 Business Logic Narrative
When the process 'Seal counter ≤ 20 AND seal number exists?' is invoked, and assuming that a seal processing operation is in progress with a current seal counter position, when the system checks if more seals need to be processed, the desired outcome is that continue processing if seal counter is 20 or less and the seal number at current position is not empty or low-values, otherwise stop processing.
💻 Technical Criteria
Given A seal processing operation is in progress with a current seal counter position
When The system checks if more seals need to be processed
Then Continue processing if seal counter is 20 or less AND the seal number at current position is not empty or low-values, otherwise stop processing
R-GCCS309C-cbl-00218 Initialize M7 segment
Process Rules
📊 Business Logic Narrative
When the process 'Initialize M7 segment' is invoked, and assuming that a new m7 segment needs to be created for seal numbers, when the system starts processing a group of up to 4 seals, the desired outcome is that initialize the m7 segment structure to clear any previous data.
💻 Technical Criteria
Given A new M7 segment needs to be created for seal numbers
When The system starts processing a group of up to 4 seals
Then Initialize the M7 segment structure to clear any previous data
R-GCCS309C-cbl-00219 Set M7 identifier
Definitional Rules
📊 Business Logic Narrative
When the process 'Set M7 identifier' is invoked, and assuming that an initialized m7 segment structure, when the system needs to identify the segment type, the desired outcome is that set the m7 identifier to 'm7 ' to indicate this is a seal number segment.
💻 Technical Criteria
Given An initialized M7 segment structure
When The system needs to identify the segment type
Then Set the M7 identifier to 'M7 ' to indicate this is a seal number segment
R-GCCS309C-cbl-00220 First seal number valid?
Validation Rules
📊 Business Logic Narrative
When the process 'First seal number valid?' is invoked, and assuming that a seal counter position pointing to a potential seal number, when the system checks if the first seal number is valid (not spaces or low-values), the desired outcome is that if valid, move the seal number to m7-01-seal-number field.
💻 Technical Criteria
Given A seal counter position pointing to a potential seal number
When The system checks if the first seal number is valid (not spaces or low-values)
Then If valid, move the seal number to M7-01-SEAL-NUMBER field
R-GCCS309C-cbl-00221 Second seal number valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Second seal number valid?' is invoked, and assuming that a seal counter incremented to the next position after processing first seal, when the system checks if the second seal number is valid (not spaces or low-values), the desired outcome is that if valid, move the seal number to m7-02-seal-number field.
💻 Technical Criteria
Given A seal counter incremented to the next position after processing first seal
When The system checks if the second seal number is valid (not spaces or low-values)
Then If valid, move the seal number to M7-02-SEAL-NUMBER field
R-GCCS309C-cbl-00222 Third seal number valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Third seal number valid?' is invoked, and assuming that a seal counter incremented to the next position after processing second seal, when the system checks if the third seal number is valid (not spaces or low-values), the desired outcome is that if valid, move the seal number to m7-03-seal-number field.
💻 Technical Criteria
Given A seal counter incremented to the next position after processing second seal
When The system checks if the third seal number is valid (not spaces or low-values)
Then If valid, move the seal number to M7-03-SEAL-NUMBER field
R-GCCS309C-cbl-00223 Fourth seal number valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Fourth seal number valid?' is invoked, and assuming that a seal counter incremented to the next position after processing third seal, when the system checks if the fourth seal number is valid (not spaces or low-values), the desired outcome is that if valid, move the seal number to m7-04-seal-number field.
💻 Technical Criteria
Given A seal counter incremented to the next position after processing third seal
When The system checks if the fourth seal number is valid (not spaces or low-values)
Then If valid, move the seal number to M7-04-SEAL-NUMBER field
R-GCCS309C-cbl-00224 Format M7 segment
Process Rules
📊 Business Logic Narrative
When the process 'Format M7 segment' is invoked, and assuming that a populated m7 segment with seal numbers, when the system prepares the segment for transmission, the desired outcome is that replace all underscore characters with spaces in the m7 segment.
💻 Technical Criteria
Given A populated M7 segment with seal numbers
When The system prepares the segment for transmission
Then Replace all underscore characters with spaces in the M7 segment
R-GCCS309C-cbl-00226 Initialize N10 segment
Process Rules
📊 Business Logic Narrative
When the process 'Initialize N10 segment' is invoked, and assuming that a manifest record requires n10 segment processing, when the n10 processing begins, the desired outcome is that the n10 segment structure is initialized to empty values.
💻 Technical Criteria
Given A manifest record requires N10 segment processing
When The N10 processing begins
Then The N10 segment structure is initialized to empty values
R-GCCS309C-cbl-00229 Set weight unit code to 'K' for KG
Decision Rules
📊 Business Logic Narrative
When the process 'Set weight unit code to 'K' for KG' is invoked, and assuming that a manifest has weight unit qualifier of 'kg ' or ' kg', when determining the weight unit code for n10 segment, the desired outcome is that the weight unit code is set to 'k'.
💻 Technical Criteria
Given A manifest has weight unit qualifier of 'KG ' or ' KG'
When Determining the weight unit code for N10 segment
Then The weight unit code is set to 'K'
R-GCCS309C-cbl-00230 Set weight unit code to 'L' for LB
Decision Rules
📊 Business Logic Narrative
When the process 'Set weight unit code to 'L' for LB' is invoked, and assuming that a manifest has weight unit qualifier of 'lb ' or ' lb', when determining the weight unit code for n10 segment, the desired outcome is that the weight unit code is set to 'l'.
💻 Technical Criteria
Given A manifest has weight unit qualifier of 'LB ' or ' LB'
When Determining the weight unit code for N10 segment
Then The weight unit code is set to 'L'
R-GCCS309C-cbl-00231 Set weight unit code to 'E' for other
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set weight unit code to 'E' for other', assuming that a manifest has weight unit qualifier that is not 'kg', ' kg', 'lb', or ' lb', when determining the weight unit code for n10 segment, the desired outcome is that the weight unit code is set to 'e'.
💻 Technical Criteria
EXCLUDING A manifest has weight unit qualifier that is not 'KG', ' KG', 'LB', or ' LB'
When Determining the weight unit code for N10 segment
Then The weight unit code is set to 'E'
R-GCCS309C-cbl-00232 Set weight from manifest
Definitional Rules
📊 Business Logic Narrative
When the process 'Set weight from manifest' is invoked, and assuming that a manifest contains weight information, when processing the n10 segment weight field, the desired outcome is that the manifest weight value is assigned to the n10 weight field.
💻 Technical Criteria
Given A manifest contains weight information
When Processing the N10 segment weight field
Then The manifest weight value is assigned to the N10 weight field
R-GCCS309C-cbl-00233 Set quantity to zero for idler
Decision Rules
📊 Business Logic Narrative
When the process 'Set quantity to zero for idler' is invoked, and assuming that a manifest record represents an idler car (ws-idler-car-found is true), when setting the quantity for the n10 segment, the desired outcome is that the quantity is set to zero regardless of the original lading quantity.
💻 Technical Criteria
Given A manifest record represents an idler car (WS-IDLER-CAR-FOUND is true)
When Setting the quantity for the N10 segment
Then The quantity is set to zero regardless of the original lading quantity
R-GCCS309C-cbl-00234 Keep original lading quantity
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Keep original lading quantity', assuming that a manifest record is not an idler car (ws-idler-car-found is false), when setting the quantity for the n10 segment, the desired outcome is that the original lading quantity from the manifest is retained.
💻 Technical Criteria
EXCLUDING A manifest record is not an idler car (WS-IDLER-CAR-FOUND is false)
When Setting the quantity for the N10 segment
Then The original lading quantity from the manifest is retained
R-GCCS309C-cbl-00238 Process description array
Process Rules
📊 Business Logic Narrative
When the process 'Process description array' is invoked, and assuming that lading description data exists in an array format, when processing the description array for n10 segments, the desired outcome is that each non-empty description line is identified for individual n10 segment creation.
💻 Technical Criteria
Given Lading description data exists in an array format
When Processing the description array for N10 segments
Then Each non-empty description line is identified for individual N10 segment creation
R-GCCS309C-cbl-00239 More description lines?
Decision Rules
📊 Business Logic Narrative
When the process 'More description lines?' is invoked, and assuming that description processing is in progress with a current description index, when checking for additional description lines to process, the desired outcome is that continue processing if description index is within bounds and description line is not empty, otherwise end processing.
💻 Technical Criteria
Given Description processing is in progress with a current description index
When Checking for additional description lines to process
Then Continue processing if description index is within bounds and description line is not empty, otherwise end processing
R-GCCS309C-cbl-00246 Current description position empty?
Decision Rules
📊 Business Logic Narrative
When the process 'Current description position empty?' is invoked, and assuming that the system is at a specific description index position, when the description content at the current position is empty or contains only spaces, the desired outcome is that the system skips processing for this position and moves to the next index.
💻 Technical Criteria
Given The system is at a specific description index position
When The description content at the current position is empty or contains only spaces
Then The system skips processing for this position and moves to the next index
R-GCCS309C-cbl-00259 Is Idler Shipment?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Idler Shipment?' is invoked, and assuming that a manifest record with shipment classification data, when the system evaluates the shipment type for idler car processing, the desired outcome is that the system identifies whether the shipment is an idler shipment based on the gccc-idler-shipment flag.
💻 Technical Criteria
Given A manifest record with shipment classification data
When The system evaluates the shipment type for idler car processing
Then The system identifies whether the shipment is an idler shipment based on the GCCC-IDLER-SHIPMENT flag
R-GCCS309C-cbl-00260 Notify Customs?
Decision Rules
📊 Business Logic Narrative
When the process 'Notify Customs?' is invoked, and assuming that an idler shipment that requires follower car processing, when the system checks notification requirements, the desired outcome is that the system verifies that customs notification flag gcws309c-notify-customs is enabled.
💻 Technical Criteria
Given An idler shipment that requires follower car processing
When The system checks notification requirements
Then The system verifies that customs notification flag GCWS309C-NOTIFY-CUSTOMS is enabled
R-GCCS309C-cbl-00261 Initialize Follower Processing
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Follower Processing' is invoked, and assuming that an idler shipment requiring customs notification, when the system begins follower car processing, the desired outcome is that the system initializes the end-of-followers flag to spaces and sets the database function to gu (get unique).
💻 Technical Criteria
Given An idler shipment requiring customs notification
When The system begins follower car processing
Then The system initializes the end-of-followers flag to SPACES and sets the database function to GU (Get Unique)
R-GCCS309C-cbl-00263 Get Next Idler Car
Action Rules
📊 Business Logic Narrative
When the process 'Get Next Idler Car' is invoked, and assuming that a search key established for follower cars, when the system requests the next idler car record, the desired outcome is that the system calls the database interface to retrieve the next follower car using the current function code.
💻 Technical Criteria
Given A search key established for follower cars
When The system requests the next idler car record
Then The system calls the database interface to retrieve the next follower car using the current function code
R-GCCS309C-cbl-00264 End of Followers?
Decision Rules
📊 Business Logic Narrative
When the process 'End of Followers?' is invoked, and assuming that a database call to retrieve the next follower car, when the system evaluates the database response, the desired outcome is that if the database status code is not spaces, the system sets the end-of-followers flag to 'y', otherwise continues processing.
💻 Technical Criteria
Given A database call to retrieve the next follower car
When The system evaluates the database response
Then If the database status code is not SPACES, the system sets the end-of-followers flag to 'Y', otherwise continues processing
R-GCCS309C-cbl-00265 Is Follower Manifest?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Follower Manifest?' is invoked, and assuming that a successfully retrieved follower car record, when the system validates the follower car data, the desired outcome is that the system checks if gccc-follower-mfst flag indicates a valid manifest entry.
💻 Technical Criteria
Given A successfully retrieved follower car record
When The system validates the follower car data
Then The system checks if GCCC-FOLLOWER-MFST flag indicates a valid manifest entry
R-GCCS309C-cbl-00266 Create VID Segment for Follower
Action Rules
📊 Business Logic Narrative
When the process 'Create VID Segment for Follower' is invoked, and assuming that a valid follower manifest record, when the system processes the follower car equipment information, the desired outcome is that the system creates a vid (vehicle identification) segment containing the follower car details.
💻 Technical Criteria
Given A valid follower manifest record
When The system processes the follower car equipment information
Then The system creates a VID (Vehicle Identification) segment containing the follower car details
R-GCCS309C-cbl-00267 Destination Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Destination Type?' is invoked, and assuming that a follower car with vid segment created, when the system evaluates the destination configuration, the desired outcome is that if the destination is 309-destination type, the system proceeds with n10 description processing, otherwise skips to next follower.
💻 Technical Criteria
Given A follower car with VID segment created
When The system evaluates the destination configuration
Then If the destination is 309-DESTINATION type, the system proceeds with N10 description processing, otherwise skips to next follower
R-GCCS309C-cbl-00268 Create N10 Description Segment
Action Rules
📊 Business Logic Narrative
When the process 'Create N10 Description Segment' is invoked, and assuming that a follower car with 309 destination type, when the system processes the follower car cargo description, the desired outcome is that the system creates an n10 segment containing quantity and description information for the follower car.
💻 Technical Criteria
Given A follower car with 309 destination type
When The system processes the follower car cargo description
Then The system creates an N10 segment containing quantity and description information for the follower car
R-GCCS309C-cbl-00269 Has Hazardous Material?
Decision Rules
📊 Business Logic Narrative
When the process 'Has Hazardous Material?' is invoked, and assuming that a follower car with n10 description segment created, when the system checks for hazardous material indicators, the desired outcome is that if un-number is not spaces and not starting with 'na' and commodity danger description is not spaces, the system identifies hazardous material presence.
💻 Technical Criteria
Given A follower car with N10 description segment created
When The system checks for hazardous material indicators
Then If UN-NUMBER is not SPACES and not starting with 'NA' and commodity danger description is not SPACES, the system identifies hazardous material presence
R-GCCS309C-cbl-00270 Create H1-H2 Hazmat Segments
Action Rules
📊 Business Logic Narrative
When the process 'Create H1-H2 Hazmat Segments' is invoked, and assuming that a follower car identified as containing hazardous materials, when the system processes the hazardous material information, the desired outcome is that the system creates h1 and h2 segments containing the un number, hazard class, and danger descriptions for the follower car.
💻 Technical Criteria
Given A follower car identified as containing hazardous materials
When The system processes the hazardous material information
Then The system creates H1 and H2 segments containing the UN number, hazard class, and danger descriptions for the follower car
R-GCCS309C-cbl-00271 Continue to Next Follower
Process Rules
📊 Business Logic Narrative
When the process 'Continue to Next Follower' is invoked, and assuming that completion of current follower car processing (with or without additional segments), when the system prepares for the next iteration, the desired outcome is that the system changes the database function to gn (get next) and returns to retrieve the next follower car.
💻 Technical Criteria
Given Completion of current follower car processing (with or without additional segments)
When The system prepares for the next iteration
Then The system changes the database function to GN (Get Next) and returns to retrieve the next follower car
R-GCCS309C-cbl-00434 Retrieve Next Idler Car from Database
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Next Idler Car from Database' is invoked, and assuming that database query parameters are configured for idler car retrieval, when the system executes the database call to get the next idler car, the desired outcome is that the next idler car record is retrieved or end-of-data condition is detected.
💻 Technical Criteria
Given Database query parameters are configured for idler car retrieval
When The system executes the database call to get the next idler car
Then The next idler car record is retrieved or end-of-data condition is detected
R-GCCS309C-cbl-00435 End of Followers Reached?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'End of Followers Reached?', assuming that a database call has been made to retrieve the next idler car, when the database status code is not spaces (indicating no more records), the desired outcome is that the end-of-followers flag is set to 'y' and processing terminates.
💻 Technical Criteria
EXCLUDING A database call has been made to retrieve the next idler car
When The database status code is not spaces (indicating no more records)
Then The end-of-followers flag is set to 'Y' and processing terminates
R-GCCS309C-cbl-00436 Is Follower Manifested?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Follower Manifested?' is invoked, and assuming that an idler car record has been successfully retrieved from the database, when the system checks the follower manifest indicator, the desired outcome is that if gccc-follower-mfst is true, the car is processed for edi segments, otherwise it is skipped.
💻 Technical Criteria
Given An idler car record has been successfully retrieved from the database
When The system checks the follower manifest indicator
Then If GCCC-FOLLOWER-MFST is true, the car is processed for EDI segments, otherwise it is skipped
R-GCCS309C-cbl-00437 Create VID Equipment Segment for Follower Car
Action Rules
📊 Business Logic Narrative
When the process 'Create VID Equipment Segment for Follower Car' is invoked, and assuming that a follower car is confirmed as manifested, when the system processes the follower car for edi transmission, the desired outcome is that a vid segment is created with the follower car's equipment information including car initial, number, and load status.
💻 Technical Criteria
Given A follower car is confirmed as manifested
When The system processes the follower car for EDI transmission
Then A VID segment is created with the follower car's equipment information including car initial, number, and load status
R-GCCS309C-cbl-00438 Destination Type Check
Decision Rules
📊 Business Logic Narrative
When the process 'Destination Type Check' is invoked, and assuming that a vid segment has been created for a follower car, when the system checks if the destination is 309-destination type, the desired outcome is that if 309-destination, additional n10 and hazmat segments are processed; otherwise only basic vid segment is created.
💻 Technical Criteria
Given A VID segment has been created for a follower car
When The system checks if the destination is 309-DESTINATION type
Then If 309-DESTINATION, additional N10 and hazmat segments are processed; otherwise only basic VID segment is created
R-GCCS309C-cbl-00439 Create N10 Description Segment for Follower
Action Rules
📊 Business Logic Narrative
When the process 'Create N10 Description Segment for Follower' is invoked, and assuming that a follower car is being processed and destination type is 309-destination, when the system creates commodity description segments, the desired outcome is that an n10 segment is generated with quantity set to zero for follower cars and commodity description details.
💻 Technical Criteria
Given A follower car is being processed and destination type is 309-DESTINATION
When The system creates commodity description segments
Then An N10 segment is generated with quantity set to zero for follower cars and commodity description details
R-GCCS309C-cbl-00440 Follower Has Hazardous Material?
Validation Rules
📊 Business Logic Narrative
When the process 'Follower Has Hazardous Material?' is invoked, and assuming that an n10 segment has been created for a follower car, when the system checks for hazardous material indicators, the desired outcome is that if un number is not spaces, not 'na', and commodity danger description exists, hazmat segments are created.
💻 Technical Criteria
Given An N10 segment has been created for a follower car
When The system checks for hazardous material indicators
Then If UN number is not spaces, not 'NA', and commodity danger description exists, hazmat segments are created
R-GCCS309C-cbl-00441 Create H1-H2 Hazardous Material Segments for Follower
Action Rules
📊 Business Logic Narrative
When the process 'Create H1-H2 Hazardous Material Segments for Follower' is invoked, and assuming that a follower car contains valid hazardous material information, when the system processes hazardous material data, the desired outcome is that h1 segment is created with un number and hazmat description, followed by h2 segments for additional hazmat details.
💻 Technical Criteria
Given A follower car contains valid hazardous material information
When The system processes hazardous material data
Then H1 segment is created with UN number and hazmat description, followed by H2 segments for additional hazmat details
R-GCCS309C-cbl-00442 Set Database Function to GN - Get Next
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Database Function to GN - Get Next', assuming that current idler car processing is complete or the car was not manifested, when the system prepares to retrieve the next idler car, the desired outcome is that database function is set to gn (get next) to continue sequential processing.
💻 Technical Criteria
EXCLUDING Current idler car processing is complete or the car was not manifested
When The system prepares to retrieve the next idler car
Then Database function is set to GN (Get Next) to continue sequential processing
R-GCCS309C-cbl-00471 Initialize End-of-Followers Flag to Spaces
Process Rules
📊 Business Logic Narrative
When the process 'Initialize End-of-Followers Flag to Spaces' is invoked, and assuming that a manifest contains idler shipment cars that need to be processed, when the system begins follower car iteration processing, the desired outcome is that the end-of-followers flag is set to spaces to indicate processing has not completed.
💻 Technical Criteria
Given A manifest contains idler shipment cars that need to be processed
When The system begins follower car iteration processing
Then The end-of-followers flag is set to spaces to indicate processing has not completed
R-GCCS309C-cbl-00473 Set Database Function to GU - Get Unique
Process Rules
📊 Business Logic Narrative
When the process 'Set Database Function to GU - Get Unique' is invoked, and assuming that the system is ready to begin follower car database access, when starting the follower car retrieval process, the desired outcome is that the database function is set to gu (get unique) to retrieve the first matching record.
💻 Technical Criteria
Given The system is ready to begin follower car database access
When Starting the follower car retrieval process
Then The database function is set to GU (Get Unique) to retrieve the first matching record
R-GCCS309C-cbl-00474 Call Database Access Function
Action Rules
📊 Business Logic Narrative
When the process 'Call Database Access Function' is invoked, and assuming that database search parameters and function are properly set, when the system executes the database access call, the desired outcome is that the database operation is performed to retrieve follower car data.
💻 Technical Criteria
Given Database search parameters and function are properly set
When The system executes the database access call
Then The database operation is performed to retrieve follower car data
R-GCCS309C-cbl-00476 Change Function to GN - Get Next
Process Rules
📊 Business Logic Narrative
When the process 'Change Function to GN - Get Next' is invoked, and assuming that the first follower car record has been successfully retrieved, when the system needs to continue processing additional follower cars, the desired outcome is that the database function is changed to gn (get next) for sequential record retrieval.
💻 Technical Criteria
Given The first follower car record has been successfully retrieved
When The system needs to continue processing additional follower cars
Then The database function is changed to GN (Get Next) for sequential record retrieval
R-GCCS309C-cbl-00477 End of Followers?
Decision Rules
📊 Business Logic Narrative
When the process 'End of Followers?' is invoked, and assuming that the system is in the middle of follower car processing, when checking if more follower cars need to be processed, the desired outcome is that processing terminates if the end-of-followers flag indicates completion, otherwise continues.
💻 Technical Criteria
Given The system is in the middle of follower car processing
When Checking if more follower cars need to be processed
Then Processing terminates if the end-of-followers flag indicates completion, otherwise continues
R-GCCS309C-cbl-00478 Is Follower Manifest Car?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Follower Manifest Car?' is invoked, and assuming that a follower car record has been retrieved from the database, when the system evaluates if the car should be included in manifest processing, the desired outcome is that the car is processed for manifest segments if it qualifies as a follower manifest car, otherwise it is skipped.
💻 Technical Criteria
Given A follower car record has been retrieved from the database
When The system evaluates if the car should be included in manifest processing
Then The car is processed for manifest segments if it qualifies as a follower manifest car, otherwise it is skipped
R-GCCS309C-cbl-00479 Process VID Segment for Follower
Action Rules
📊 Business Logic Narrative
When the process 'Process VID Segment for Follower' is invoked, and assuming that a follower car qualifies for manifest processing, when the system processes vehicle information for the follower car, the desired outcome is that a vid segment is generated containing the follower car's equipment details.
💻 Technical Criteria
Given A follower car qualifies for manifest processing
When The system processes vehicle information for the follower car
Then A VID segment is generated containing the follower car's equipment details
R-GCCS309C-cbl-00480 Process N10 Description for Follower
Action Rules
📊 Business Logic Narrative
When the process 'Process N10 Description for Follower' is invoked, and assuming that a follower car has been processed for vehicle information, when the system processes description and quantity information for the follower car, the desired outcome is that an n10 segment is generated containing the follower car's cargo description and quantity details.
💻 Technical Criteria
Given A follower car has been processed for vehicle information
When The system processes description and quantity information for the follower car
Then An N10 segment is generated containing the follower car's cargo description and quantity details
R-GCCS309C-cbl-00481 Hazardous Material Present?
Decision Rules
📊 Business Logic Narrative
When the process 'Hazardous Material Present?' is invoked, and assuming that a follower car has been processed for basic manifest information, when the system checks for hazardous material indicators, the desired outcome is that hazmat processing is performed if un number exists and is not 'na', and commodity danger description is present, otherwise hazmat processing is skipped.
💻 Technical Criteria
Given A follower car has been processed for basic manifest information
When The system checks for hazardous material indicators
Then Hazmat processing is performed if UN number exists and is not 'NA', and commodity danger description is present, otherwise hazmat processing is skipped
R-GCCS309C-cbl-00482 Process H1-H2 Hazmat for Follower
Action Rules
📊 Business Logic Narrative
When the process 'Process H1-H2 Hazmat for Follower' is invoked, and assuming that a follower car contains hazardous materials, when the system processes hazardous material information for the follower car, the desired outcome is that h1 and h2 segments are generated containing the follower car's hazardous material classification and description.
💻 Technical Criteria
Given A follower car contains hazardous materials
When The system processes hazardous material information for the follower car
Then H1 and H2 segments are generated containing the follower car's hazardous material classification and description
R-GCCS309C-cbl-00272 Access AU Table for Automotive Check
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Access AU Table for Automotive Check', assuming that a manifest with consignee chop and commodity code information, when both consignee chop and commodity code are not empty, the desired outcome is that retrieve automotive type information from au table using chop and commodity code as lookup keys.
💻 Technical Criteria
EXCLUDING A manifest with consignee CHOP and commodity code information
When Both consignee CHOP and commodity code are not empty
Then Retrieve automotive type information from AU table using CHOP and commodity code as lookup keys
R-GCCS309C-cbl-00443 Access AU Table for Automotive Check
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Access AU Table for Automotive Check', assuming that a manifest with consignee chop and commodity code information, when both consignee chop and commodity code are not empty, the desired outcome is that the system should lookup the au table using chop and commodity code as search criteria.
💻 Technical Criteria
EXCLUDING A manifest with consignee CHOP and commodity code information
When Both consignee CHOP and commodity code are not empty
Then The system should lookup the AU table using CHOP and commodity code as search criteria
R-GCCS309C-cbl-00445 Set Non-Automotive Flag
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Non-Automotive Flag', assuming that a manifest processing request, when either consignee chop or commodity code is empty, or au table record is not found, the desired outcome is that the system should set the non-automotive flag to true.
💻 Technical Criteria
EXCLUDING A manifest processing request
When Either consignee CHOP or commodity code is empty, OR AU table record is not found
Then The system should set the non-automotive flag to TRUE
R-GCCS309C-cbl-00290 Is Border Arrival ETA empty?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Border Arrival ETA empty?' is invoked, and assuming that a manifest requires eta date processing for p4 segment, when the system checks if gccc-border-arrival-eta is empty or contains low-values, the desired outcome is that if gccc-border-arrival-eta is spaces or low-values, proceed to calculate new eta, otherwise use the existing gccc-border-arrival-eta value.
💻 Technical Criteria
Given A manifest requires ETA date processing for P4 segment
When The system checks if GCCC-BORDER-ARRIVAL-ETA is empty or contains low-values
Then If GCCC-BORDER-ARRIVAL-ETA is spaces or low-values, proceed to calculate new ETA, otherwise use the existing GCCC-BORDER-ARRIVAL-ETA value
R-GCCS309C-cbl-00325 Border arrival date exists AND not pre-emanifest?
Validation Rules
📊 Business Logic Narrative
When the process 'Border arrival date exists AND not pre-emanifest?' is invoked, and assuming that a manifest transaction with qualifying action code (04, 05, or 06), when the border arrival date and pre-emanifest status are evaluated, the desired outcome is that the system should confirm that border arrival date is not empty/spaces and the manifest is not a pre-emanifest.
💻 Technical Criteria
Given A manifest transaction with qualifying action code (04, 05, or 06)
When The border arrival date and pre-emanifest status are evaluated
Then The system should confirm that border arrival date is not empty/spaces AND the manifest is not a pre-emanifest
R-GCCS309C-cbl-00328 Use action code as purpose code
Definitional Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use action code as purpose code', assuming that a manifest transaction that does not meet post-emanifest amendment criteria, when either the action code is not 04/05/06 or border arrival date is empty or it is a pre-emanifest, the desired outcome is that the transaction set purpose code should be set to the original action code value.
💻 Technical Criteria
EXCLUDING A manifest transaction that does not meet post-emanifest amendment criteria
When Either the action code is not 04/05/06 OR border arrival date is empty OR it is a pre-emanifest
Then The transaction set purpose code should be set to the original action code value
R-GCCS309C-cbl-00361 Counter ≤ 20 AND seal number exists?
Process Rules
📊 Business Logic Narrative
When the process 'Counter ≤ 20 AND seal number exists?' is invoked, and assuming that a seal number processing operation is in progress with a counter tracking processed seals, when the system evaluates whether to continue processing seal numbers, the desired outcome is that continue processing if counter is 20 or less and current seal number is not spaces or low-values, otherwise stop processing.
💻 Technical Criteria
Given A seal number processing operation is in progress with a counter tracking processed seals
When The system evaluates whether to continue processing seal numbers
Then Continue processing if counter is 20 or less AND current seal number is not spaces or low-values, otherwise stop processing
R-GCCS309C-cbl-00362 Initialize M7 segment
Process Rules
📊 Business Logic Narrative
When the process 'Initialize M7 segment' is invoked, and assuming that seal numbers need to be processed for transmission, when a new m7 segment needs to be created, the desired outcome is that initialize m7 segment structure and set identifier to 'm7'.
💻 Technical Criteria
Given Seal numbers need to be processed for transmission
When A new M7 segment needs to be created
Then Initialize M7 segment structure and set identifier to 'M7'
R-GCCS309C-cbl-00363 Seal number 1 valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Seal number 1 valid?' is invoked, and assuming that a seal number at the current counter position exists, when the system checks if the first seal number is valid for processing, the desired outcome is that the seal number is valid if it is not spaces and not low-values.
💻 Technical Criteria
Given A seal number at the current counter position exists
When The system checks if the first seal number is valid for processing
Then The seal number is valid if it is not spaces and not low-values
R-GCCS309C-cbl-00364 Add seal number 1 to M7 segment
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Add seal number 1 to M7 segment', assuming that the first seal number has been validated as not spaces or low-values, when the system assigns the seal number to the m7 segment, the desired outcome is that move the seal number to m7-01-seal-number field.
💻 Technical Criteria
EXCLUDING The first seal number has been validated as not spaces or low-values
When The system assigns the seal number to the M7 segment
Then Move the seal number to M7-01-SEAL-NUMBER field
R-GCCS309C-cbl-00365 Seal number 2 valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Seal number 2 valid?' is invoked, and assuming that the counter has been incremented to the next seal number position, when the system checks if the second seal number is valid for processing, the desired outcome is that the seal number is valid if it is not spaces and not low-values.
💻 Technical Criteria
Given The counter has been incremented to the next seal number position
When The system checks if the second seal number is valid for processing
Then The seal number is valid if it is not spaces and not low-values
R-GCCS309C-cbl-00366 Add seal number 2 to M7 segment
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Add seal number 2 to M7 segment', assuming that the second seal number has been validated as not spaces or low-values, when the system assigns the seal number to the m7 segment, the desired outcome is that move the seal number to m7-02-seal-number field.
💻 Technical Criteria
EXCLUDING The second seal number has been validated as not spaces or low-values
When The system assigns the seal number to the M7 segment
Then Move the seal number to M7-02-SEAL-NUMBER field
R-GCCS309C-cbl-00367 Seal number 3 valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Seal number 3 valid?' is invoked, and assuming that the counter has been incremented to the third seal number position, when the system checks if the third seal number is valid for processing, the desired outcome is that the seal number is valid if it is not spaces and not low-values.
💻 Technical Criteria
Given The counter has been incremented to the third seal number position
When The system checks if the third seal number is valid for processing
Then The seal number is valid if it is not spaces and not low-values
R-GCCS309C-cbl-00368 Add seal number 3 to M7 segment
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Add seal number 3 to M7 segment', assuming that the third seal number has been validated as not spaces or low-values, when the system assigns the seal number to the m7 segment, the desired outcome is that move the seal number to m7-03-seal-number field.
💻 Technical Criteria
EXCLUDING The third seal number has been validated as not spaces or low-values
When The system assigns the seal number to the M7 segment
Then Move the seal number to M7-03-SEAL-NUMBER field
R-GCCS309C-cbl-00369 Seal number 4 valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Seal number 4 valid?' is invoked, and assuming that the counter has been incremented to the fourth seal number position, when the system checks if the fourth seal number is valid for processing, the desired outcome is that the seal number is valid if it is not spaces and not low-values.
💻 Technical Criteria
Given The counter has been incremented to the fourth seal number position
When The system checks if the fourth seal number is valid for processing
Then The seal number is valid if it is not spaces and not low-values
R-GCCS309C-cbl-00370 Add seal number 4 to M7 segment
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Add seal number 4 to M7 segment', assuming that the fourth seal number has been validated as not spaces or low-values, when the system assigns the seal number to the m7 segment, the desired outcome is that move the seal number to m7-04-seal-number field.
💻 Technical Criteria
EXCLUDING The fourth seal number has been validated as not spaces or low-values
When The system assigns the seal number to the M7 segment
Then Move the seal number to M7-04-SEAL-NUMBER field

Module Tracker: GCX122A

554 Validations & Rules
Module Objective: No description provided from architecture analysis.
⚙️ General Logic & Formats 46 logic blocks
R-GCX122A-cbl-00009 9:Process Train Errors
Process Rules
📊 Business Logic Narrative
When the process '9:Process Train Errors' is invoked, and assuming that a train error message with a reference number, when the system processes the train error, the desired outcome is that if train not found, add appropriate error message (v67 warning or general train error); if found, determine processing terminal and handle v67 warnings specially.
💻 Technical Criteria
Given A train error message with a reference number
When The system processes the train error
Then If train not found, add appropriate error message (V67 warning or general train error); if found, determine processing terminal and handle V67 warnings specially
R-GCX122A-cbl-00011 11:Retrieve Error Message Text
Decision Rules
📊 Business Logic Narrative
When the process '11:Retrieve Error Message Text' is invoked, and assuming that an error code from the message, when the system looks up the error message text in the ms table, the desired outcome is that if message found, use english text from table; if not found, use free-form message text and add 'message not found' error.
💻 Technical Criteria
Given An error code from the message
When The system looks up the error message text in the MS table
Then If message found, use English text from table; if not found, use free-form message text and add 'message not found' error
R-GCX122A-cbl-00016 15:Process Message Routing
Process Rules
📊 Business Logic Narrative
When the process '15:Process Message Routing' is invoked, and assuming that messages need to be sent to users, when the system processes message routing, the desired outcome is that get supervisor merlin id from terminal table, validate dc-p merlin ids, and prepare for sending messages to mst system and merlin users.
💻 Technical Criteria
Given Messages need to be sent to users
When The system processes message routing
Then Get supervisor Merlin ID from terminal table, validate DC-P Merlin IDs, and prepare for sending messages to MST system and Merlin users
R-GCX122A-cbl-00054 Set Default 'OM01247' as DCP Merlin ID
Decision Rules
📊 Business Logic Narrative
When the process 'Set Default 'OM01247' as DCP Merlin ID' is invoked, and assuming that the primary dc-p merlin id 1 has been validated and found to be invalid, when the system needs to establish the dcp merlin id, the desired outcome is that the system sets 'om01247' as the dcp merlin id and marks the primary id as not found.
💻 Technical Criteria
Given The primary DC-P Merlin ID 1 has been validated and found to be invalid
When The system needs to establish the DCP Merlin ID
Then The system sets 'OM01247' as the DCP Merlin ID and marks the primary ID as not found
R-GCX122A-cbl-00057 Initialize Message Indicators
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Message Indicators' is invoked, and assuming that the system is setting up message processing variables, when message indicators and counters need to be initialized, the desired outcome is that ws-ind-text is set to line-mess-min, ws-ind-mst is set to line-mess-min-mst, ws-ind-user is set to zero, mst-indx is set to zero, and ws-ind-err is set to zero.
💻 Technical Criteria
Given The system is setting up message processing variables
When Message indicators and counters need to be initialized
Then WS-IND-TEXT is set to LINE-MESS-MIN, WS-IND-MST is set to LINE-MESS-MIN-MST, WS-IND-USER is set to ZERO, MST-INDX is set to ZERO, and WS-IND-ERR is set to ZERO
R-GCX122A-cbl-00358 Capture Current Date and Time
Process Rules
📊 Business Logic Narrative
When the process 'Capture Current Date and Time' is invoked, and assuming that a train acknowledgment is being processed, when the system needs to timestamp the acknowledgment, the desired outcome is that the system captures the current machine date, century, and time from the system.
💻 Technical Criteria
Given A train acknowledgment is being processed
When The system needs to timestamp the acknowledgment
Then The system captures the current machine date, century, and time from the system
R-GCX122A-cbl-00096 Is Test Message?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Test Message?' is invoked, and assuming that a train error message is received, when the reference number equals '6105etesttrain00000000000', the desired outcome is that the message is flagged as test data and special test processing is performed.
💻 Technical Criteria
Given A train error message is received
When The reference number equals '6105ETESTTRAIN00000000000'
Then The message is flagged as test data and special test processing is performed
R-GCX122A-cbl-00103 Error Message Found in Tables?
Decision Rules
📊 Business Logic Narrative
When the process 'Error Message Found in Tables?' is invoked, and assuming that an error message needs to be processed and displayed, when the system searches for standardized message text using the error code, the desired outcome is that if found, the standardized english text is used; if not found, the original free-form message is used and a 'message not found' warning is added.
💻 Technical Criteria
Given An error message needs to be processed and displayed
When The system searches for standardized message text using the error code
Then If found, the standardized English text is used; if not found, the original free-form message is used and a 'message not found' warning is added
R-GCX122A-cbl-00110 Is Test Train Message?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Test Train Message?' is invoked, and assuming that a train error message is being processed, when the reference number equals '6105etesttrain00000000000', the desired outcome is that the message is flagged as test train data and special test processing is performed.
💻 Technical Criteria
Given A train error message is being processed
When The reference number equals '6105ETESTTRAIN00000000000'
Then The message is flagged as test train data and special test processing is performed
R-GCX122A-cbl-00111 Handle Test Train Processing
Action Rules
📊 Business Logic Narrative
When the process 'Handle Test Train Processing' is invoked, and assuming that a test train message has been identified, when the reference number matches the test train pattern, the desired outcome is that special check processing is performed and test train indicator is set to true.
💻 Technical Criteria
Given A test train message has been identified
When The reference number matches the test train pattern
Then Special check processing is performed and test train indicator is set to true
R-GCX122A-cbl-00112 Set Train Error Flag
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Train Error Flag', assuming that a train error message is being processed, when the message is not a test train message, the desired outcome is that the train error flag is set to true.
💻 Technical Criteria
EXCLUDING A train error message is being processed
When The message is not a test train message
Then The train error flag is set to true
R-GCX122A-cbl-00379 Is Test Train Reference?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Test Train Reference?' is invoked, and assuming that a train error processing request with a reference number, when the reference number equals '6105etesttrain00000000000', the desired outcome is that the system performs special test processing and sets test train indicator.
💻 Technical Criteria
Given A train error processing request with a reference number
When The reference number equals '6105ETESTTRAIN00000000000'
Then The system performs special test processing and sets test train indicator
R-GCX122A-cbl-00380 Set Train Error Flag
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Train Error Flag', assuming that a train error processing request that is not a test reference, when the system begins train error processing, the desired outcome is that the train error flag is set to true.
💻 Technical Criteria
EXCLUDING A train error processing request that is not a test reference
When The system begins train error processing
Then The train error flag is set to true
R-GCX122A-cbl-00483 Reference Number = '6105ETESTTRAIN00000000000'?
Decision Rules
📊 Business Logic Narrative
When the process 'Reference Number = '6105ETESTTRAIN00000000000'?' is invoked, and assuming that a train error message is received with a reference number, when the reference number equals '6105etesttrain00000000000', the desired outcome is that the system sets the test train indicator and initiates test processing workflow.
💻 Technical Criteria
Given A train error message is received with a reference number
When The reference number equals '6105ETESTTRAIN00000000000'
Then The system sets the test train indicator and initiates test processing workflow
R-GCX122A-cbl-00484 Set Test Train Indicator
Action Rules
📊 Business Logic Narrative
When the process 'Set Test Train Indicator' is invoked, and assuming that the train reference number matches the test train pattern '6105etesttrain00000000000', when the system confirms this is test data, the desired outcome is that the system sets test-train indicator to true and calls special test table processing.
💻 Technical Criteria
Given The train reference number matches the test train pattern '6105ETESTTRAIN00000000000'
When The system confirms this is test data
Then The system sets TEST-TRAIN indicator to true and calls special test table processing
R-GCX122A-cbl-00136 Message Number Available?
Decision Rules
📊 Business Logic Narrative
When the process 'Message Number Available?' is invoked, and assuming that an error processing request is being handled, when the system checks for availability of a custom message number in gcw122-msg-num field, the desired outcome is that if custom message number exists and is not spaces, use it for lookup, otherwise use the first 3 characters of the ted free-form message as the error code.
💻 Technical Criteria
Given An error processing request is being handled
When The system checks for availability of a custom message number in GCW122-MSG-NUM field
Then If custom message number exists and is not spaces, use it for lookup, otherwise use the first 3 characters of the TED free-form message as the error code
R-GCX122A-cbl-00137 Use Custom Message Number
Process Rules
📊 Business Logic Narrative
When the process 'Use Custom Message Number' is invoked, and assuming that a custom message number exists in gcw122-msg-num field, when the system builds the lookup key for message table query, the desired outcome is that concatenate 'b' prefix with the custom message number to form the sequence id for table lookup.
💻 Technical Criteria
Given A custom message number exists in GCW122-MSG-NUM field
When The system builds the lookup key for message table query
Then Concatenate 'B' prefix with the custom message number to form the sequence ID for table lookup
R-GCX122A-cbl-00138 Use Standard Error Code from TED Message
Process Rules
📊 Business Logic Narrative
When the process 'Use Standard Error Code from TED Message' is invoked, and assuming that no custom message number exists in gcw122-msg-num field, when the system builds the lookup key for message table query, the desired outcome is that concatenate 'b' prefix with the first 3 characters of ted-02-free-form-msg to form the sequence id for table lookup.
💻 Technical Criteria
Given No custom message number exists in GCW122-MSG-NUM field
When The system builds the lookup key for message table query
Then Concatenate 'B' prefix with the first 3 characters of TED-02-FREE-FORM-MSG to form the sequence ID for table lookup
R-GCX122A-cbl-00141 Retrieve Standardized English Text
Process Rules
📊 Business Logic Narrative
When the process 'Retrieve Standardized English Text' is invoked, and assuming that message lookup was successful and table segment is available, when the system processes the retrieved ms table segment, the desired outcome is that set message found flag to true, move table segment to ms segment structure, and extract english text to working storage.
💻 Technical Criteria
Given Message lookup was successful and table segment is available
When The system processes the retrieved MS table segment
Then Set message found flag to true, move table segment to MS segment structure, and extract English text to working storage
R-GCX122A-cbl-00142 Use Raw Error Message from TED
Process Rules
📊 Business Logic Narrative
When the process 'Use Raw Error Message from TED' is invoked, and assuming that message table lookup failed to find standardized text, when the system needs to provide error message text, the desired outcome is that set message not found flag to true and use ted-02-free-form-msg as the error message text.
💻 Technical Criteria
Given Message table lookup failed to find standardized text
When The system needs to provide error message text
Then Set message not found flag to true and use TED-02-FREE-FORM-MSG as the error message text
R-GCX122A-cbl-00404 Build Key with Predefined Message Number
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Build Key with Predefined Message Number', assuming that a predefined message number exists in gcw122-msg-num and is not spaces, when the system builds the table lookup key, the desired outcome is that concatenate 'b' prefix with the predefined message number to form the sequence id for table lookup.
💻 Technical Criteria
EXCLUDING A predefined message number exists in GCW122-MSG-NUM and is not spaces
When The system builds the table lookup key
Then Concatenate 'B' prefix with the predefined message number to form the sequence ID for table lookup
R-GCX122A-cbl-00405 Build Key with Error Code from Message
Process Rules
📊 Business Logic Narrative
When the process 'Build Key with Error Code from Message' is invoked, and assuming that no predefined message number exists or gcw122-msg-num contains spaces, when the system builds the table lookup key, the desired outcome is that extract first 3 characters from ted-02-free-form-msg and concatenate with 'b' prefix to form the sequence id for table lookup.
💻 Technical Criteria
Given No predefined message number exists or GCW122-MSG-NUM contains spaces
When The system builds the table lookup key
Then Extract first 3 characters from TED-02-FREE-FORM-MSG and concatenate with 'B' prefix to form the sequence ID for table lookup
R-GCX122A-cbl-00155 Identify as Test Train Message 6105ETESTTRAIN00000000000
Validation Rules
📊 Business Logic Narrative
When the process 'Identify as Test Train Message 6105ETESTTRAIN00000000000' is invoked, and assuming that an error message is received with a reference number, when the reference number equals '6105etesttrain00000000000', the desired outcome is that the message is identified as a train test message and test train indicator is set.
💻 Technical Criteria
Given An error message is received with a reference number
When The reference number equals '6105ETESTTRAIN00000000000'
Then The message is identified as a train test message and test train indicator is set
R-GCX122A-cbl-00178 MST Processing Required?
Decision Rules
📊 Business Logic Narrative
When the process 'MST Processing Required?' is invoked, and assuming that a message processing request is initiated, when the system checks the mst processing flag, the desired outcome is that mst processing continues if the flag indicates processing is required, otherwise mst processing is bypassed.
💻 Technical Criteria
Given A message processing request is initiated
When The system checks the MST processing flag
Then MST processing continues if the flag indicates processing is required, otherwise MST processing is bypassed
R-GCX122A-cbl-00434 Retrieve LT Segment Data
Process Rules
📊 Business Logic Narrative
When the process 'Retrieve LT Segment Data' is invoked, and assuming that a valid lt table entry exists for the lterm, when the table segment is successfully retrieved, the desired outcome is that the system moves the table segment data to the lt segment structure for processing.
💻 Technical Criteria
Given A valid LT table entry exists for the LTERM
When The table segment is successfully retrieved
Then The system moves the table segment data to the LT segment structure for processing
R-GCX122A-cbl-00199 Get DC-P Merlin ID 1 from Admin Table
Action Rules
📊 Business Logic Narrative
When the process 'Get DC-P Merlin ID 1 from Admin Table' is invoked, and assuming that the system needs to validate dc-p merlin user ids, when the system retrieves dc-p merlin id 1 from the admin table with table id 'ad' and sequence id 'adminid', the desired outcome is that the dc-p merlin id 1 is obtained from the admin table segment.
💻 Technical Criteria
Given The system needs to validate DC-P Merlin user IDs
When The system retrieves DC-P Merlin ID 1 from the admin table with table ID 'AD' and sequence ID 'ADMINID'
Then The DC-P Merlin ID 1 is obtained from the admin table segment
R-GCX122A-cbl-00215 Clear Message Recipients
Process Rules
📊 Business Logic Narrative
When the process 'Clear Message Recipients' is invoked, and assuming that a train error message needs to be sent to merlin users, when the system prepares to send the message, the desired outcome is that all message recipient fields are cleared to spaces.
💻 Technical Criteria
Given A train error message needs to be sent to Merlin users
When The system prepares to send the message
Then All message recipient fields are cleared to spaces
R-GCX122A-cbl-00216 Set Primary Recipient to Supervisor Merlin ID
Action Rules
📊 Business Logic Narrative
When the process 'Set Primary Recipient to Supervisor Merlin ID' is invoked, and assuming that a train error message is being prepared for sending, when the primary recipient needs to be determined, the desired outcome is that the supervisor merlin id is set as the first recipient in the message.
💻 Technical Criteria
Given A train error message is being prepared for sending
When The primary recipient needs to be determined
Then The supervisor Merlin ID is set as the first recipient in the message
R-GCX122A-cbl-00217 Send Message to Primary Recipient via EMCSEND2
Action Rules
📊 Business Logic Narrative
When the process 'Send Message to Primary Recipient via EMCSEND2' is invoked, and assuming that a train error message is prepared with primary recipient set, when the system attempts to send the message, the desired outcome is that the message is sent via emcsend2 service to the primary recipient.
💻 Technical Criteria
Given A train error message is prepared with primary recipient set
When The system attempts to send the message
Then The message is sent via EMCSEND2 service to the primary recipient
R-GCX122A-cbl-00220 Retry Send to Default Recipient
Action Rules
📊 Business Logic Narrative
When the process 'Retry Send to Default Recipient' is invoked, and assuming that the primary message send failed and default recipient is set to om01247, when the system retries the message send, the desired outcome is that the message is sent via emcsend2 service to the default recipient.
💻 Technical Criteria
Given The primary message send failed and default recipient is set to OM01247
When The system retries the message send
Then The message is sent via EMCSEND2 service to the default recipient
R-GCX122A-cbl-00230 Send Next Message Entry
Action Rules
📊 Business Logic Narrative
When the process 'Send Next Message Entry' is invoked, and assuming that there are more message entries to send, when processing each message entry, the desired outcome is that the system calls smstonly with the current message entry content.
💻 Technical Criteria
Given There are more message entries to send
When Processing each message entry
Then The system calls SMSTONLY with the current message entry content
R-GCX122A-cbl-00248 Initialize Error Message Variables
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Error Message Variables' is invoked, and assuming that a db2 error has been detected, when the system begins db2 error processing, the desired outcome is that the email subject and text fields are cleared to prepare for error message formatting.
💻 Technical Criteria
Given A DB2 error has been detected
When The system begins DB2 error processing
Then The email subject and text fields are cleared to prepare for error message formatting
R-GCX122A-cbl-00252 Prepare Error Message Content
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Error Message Content' is invoked, and assuming that the db2 error subject line has been formatted, when the system prepares the message content, the desired outcome is that the formatted subject line is copied to the first line of the message text.
💻 Technical Criteria
Given The DB2 error subject line has been formatted
When The system prepares the message content
Then The formatted subject line is copied to the first line of the message text
R-GCX122A-cbl-00265 Send Log Message to GCT1051E
Action Rules
📊 Business Logic Narrative
When the process 'Send Log Message to GCT1051E' is invoked, and assuming that a complete log message has been prepared, when the log message needs to be sent to the audit system, the desired outcome is that the log message is sent to the gct1051e audit logging system using the cims interface.
💻 Technical Criteria
Given A complete log message has been prepared
When The log message needs to be sent to the audit system
Then The log message is sent to the GCT1051E audit logging system using the CIMS interface
R-GCX122A-cbl-00266 Write Log Message to System
Action Rules
📊 Business Logic Narrative
When the process 'Write Log Message to System' is invoked, and assuming that a log message has been sent to the audit system, when the message needs to be written to the system log, the desired outcome is that the log message is written using writmsgl service with the message code, content, length, and module name.
💻 Technical Criteria
Given A log message has been sent to the audit system
When The message needs to be written to the system log
Then The log message is written using WRITMSGL service with the message code, content, length, and module name
R-GCX122A-cbl-00275 Set Reference Number from Input Message
Process Rules
📊 Business Logic Narrative
When the process 'Set Reference Number from Input Message' is invoked, and assuming that an input message contains a reference number in oti-03-ref-num, when the system processes the message header setup, the desired outcome is that the reference number is copied to emi-ref, mst-ref, msg-ref-key, and ws-ref-number fields for consistent message tracking.
💻 Technical Criteria
Given An input message contains a reference number in OTI-03-REF-NUM
When The system processes the message header setup
Then The reference number is copied to EMI-REF, MST-REF, MSG-REF-KEY, and WS-REF-NUMBER fields for consistent message tracking
R-GCX122A-cbl-00281 Initialize Message Indicators
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Message Indicators' is invoked, and assuming that message processing is being initialized, when the system sets up message indicators, the desired outcome is that ws-ind-text is set to line-mess-min, ws-ind-mst is set to line-mess-min-mst, ws-ind-user is set to zero, mst-indx is set to zero, and ws-ind-err is set to zero.
💻 Technical Criteria
Given Message processing is being initialized
When The system sets up message indicators
Then WS-IND-TEXT is set to LINE-MESS-MIN, WS-IND-MST is set to LINE-MESS-MIN-MST, WS-IND-USER is set to ZERO, MST-INDX is set to ZERO, and WS-IND-ERR is set to ZERO
R-GCX122A-cbl-00287 Initialize Message Indicators
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Message Indicators' is invoked, and assuming that the system is initializing reference processing, when message indicators need to be set up, the desired outcome is that ws-ind-text is set to line-mess-min and ws-ind-mst is set to line-mess-min-mst.
💻 Technical Criteria
Given The system is initializing reference processing
When Message indicators need to be set up
Then WS-IND-TEXT is set to LINE-MESS-MIN and WS-IND-MST is set to LINE-MESS-MIN-MST
R-GCX122A-cbl-00288 Clear User and Error Counters
Process Rules
📊 Business Logic Narrative
When the process 'Clear User and Error Counters' is invoked, and assuming that the system is initializing reference processing, when counters need to be reset, the desired outcome is that ws-ind-user, mst-indx, and ws-ind-err are all set to zero.
💻 Technical Criteria
Given The system is initializing reference processing
When Counters need to be reset
Then WS-IND-USER, MST-INDX, and WS-IND-ERR are all set to ZERO
R-GCX122A-cbl-00293 Get Standardized Error Text
Action Rules
📊 Business Logic Narrative
When the process 'Get Standardized Error Text' is invoked, and assuming that an error message needs to be formatted and a message number is available, when the system looks up the error code in the ms table using either gcw122-msg-num or the first 3 characters of the free-form message, the desired outcome is that the system retrieves the corresponding english text from the message table if the lookup is successful.
💻 Technical Criteria
Given An error message needs to be formatted and a message number is available
When The system looks up the error code in the MS table using either GCW122-MSG-NUM or the first 3 characters of the free-form message
Then The system retrieves the corresponding English text from the message table if the lookup is successful
R-GCX122A-cbl-00294 Use Standard Error Message
Decision Rules
📊 Business Logic Narrative
When the process 'Use Standard Error Message' is invoked, and assuming that an error message lookup has been performed in the ms table, when the table lookup returns a successful result with error text found, the desired outcome is that the system uses the english text from the message table (gcstbrt-ms-eng-text) as the error message content.
💻 Technical Criteria
Given An error message lookup has been performed in the MS table
When The table lookup returns a successful result with error text found
Then The system uses the English text from the message table (GCSTBRT-MS-ENG-TEXT) as the error message content
R-GCX122A-cbl-00306 Message Delivered Successfully
Process Rules
📊 Business Logic Narrative
When the process 'Message Delivered Successfully' is invoked, and assuming that primary message delivery has been successful, when the system confirms successful delivery, the desired outcome is that the system proceeds to purge the message queue and complete processing.
💻 Technical Criteria
Given Primary message delivery has been successful
When The system confirms successful delivery
Then The system proceeds to purge the message queue and complete processing
R-GCX122A-cbl-00307 Clear Message Recipients
Process Rules
📊 Business Logic Narrative
When the process 'Clear Message Recipients' is invoked, and assuming that primary message delivery has failed, when the system needs to attempt fallback delivery, the desired outcome is that all existing recipient fields are cleared to spaces.
💻 Technical Criteria
Given Primary message delivery has failed
When The system needs to attempt fallback delivery
Then All existing recipient fields are cleared to spaces
R-GCX122A-cbl-00308 Set Default Recipient 'OM01247'
Decision Rules
📊 Business Logic Narrative
When the process 'Set Default Recipient 'OM01247'' is invoked, and assuming that primary message delivery has failed and recipients have been cleared, when the system needs to set a fallback recipient, the desired outcome is that the recipient is set to 'om01247' as the default fallback recipient.
💻 Technical Criteria
Given Primary message delivery has failed and recipients have been cleared
When The system needs to set a fallback recipient
Then The recipient is set to 'OM01247' as the default fallback recipient
R-GCX122A-cbl-00311 Message Delivered to Default
Process Rules
📊 Business Logic Narrative
When the process 'Message Delivered to Default' is invoked, and assuming that fallback message delivery to default recipient has been successful, when the system confirms successful delivery to default recipient, the desired outcome is that the system proceeds to purge the message queue and complete processing.
💻 Technical Criteria
Given Fallback message delivery to default recipient has been successful
When The system confirms successful delivery to default recipient
Then The system proceeds to purge the message queue and complete processing
R-GCX122A-cbl-00313 End Message Processing
Process Rules
📊 Business Logic Narrative
When the process 'End Message Processing' is invoked, and assuming that all message delivery attempts have been completed and queue has been purged, when the system finishes message processing, the desired outcome is that control is returned to the calling process and message processing ends.
💻 Technical Criteria
Given All message delivery attempts have been completed and queue has been purged
When The system finishes message processing
Then Control is returned to the calling process and message processing ends

🏷️ CCN & Waybill Identification 35 logic blocks
R-GCX122A-cbl-00003 4:Initialize Reference Data
Definitional Rules
📊 Business Logic Narrative
When the process '4:Initialize Reference Data' is invoked, and assuming that a reference number and transaction type indicator are provided, when the system initializes reference data and processing flags, the desired outcome is that set message label to 'train report number :' for train transactions, 'cargo control number :' for cargo transactions, or 'reference number :' for other types.
💻 Technical Criteria
Given A reference number and transaction type indicator are provided
When The system initializes reference data and processing flags
Then Set message label to 'TRAIN REPORT NUMBER :' for train transactions, 'CARGO CONTROL NUMBER :' for cargo transactions, or 'REFERENCE NUMBER :' for other types
R-GCX122A-cbl-00023 21:Process Arrival Notifications
Process Rules
📊 Business Logic Narrative
When the process '21:Process Arrival Notifications' is invoked, and assuming that a cargo record with arrival indicator set to 'y', when the system processes the cargo acknowledgment, the desired outcome is that create arrival notification message with cargo control number, set action code to 'caa', and send to gct1481e transaction.
💻 Technical Criteria
Given A cargo record with arrival indicator set to 'Y'
When The system processes the cargo acknowledgment
Then Create arrival notification message with cargo control number, set action code to 'CAA', and send to GCT1481E transaction
R-GCX122A-cbl-00024 22:Update Iron Highway Records
Process Rules
📊 Business Logic Narrative
When the process '22:Update Iron Highway Records' is invoked, and assuming that a cargo record with status change and iron highway configuration, when the system updates the cargo record and status differs from saved status, the desired outcome is that look up iron highway configuration, populate record with cargo details including status, car id, waybill, and shipment id from n9 segments, then call iron highway update program.
💻 Technical Criteria
Given A cargo record with status change and Iron Highway configuration
When The system updates the cargo record and status differs from saved status
Then Look up Iron Highway configuration, populate record with cargo details including status, car ID, waybill, and shipment ID from N9 segments, then call Iron Highway update program
R-GCX122A-cbl-00060 Set Cargo Control Label
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Cargo Control Label' is invoked, and assuming that a message is being processed and oti-02-cargo condition is true, when the system determines the message type for labeling, the desired outcome is that msg-lib is set to 'cargo control number :'.
💻 Technical Criteria
Given A message is being processed and OTI-02-CARGO condition is true
When The system determines the message type for labeling
Then MSG-LIB is set to 'CARGO CONTROL NUMBER :'
R-GCX122A-cbl-00067 Cargo Control Number Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Cargo Control Number Found?' is invoked, and assuming that a cargo acknowledgment message with reference number oti-03-ref-num, when the system searches for the cargo control number, the desired outcome is that processing continues with cargo update if found, or error message generation if not found.
💻 Technical Criteria
Given A cargo acknowledgment message with reference number OTI-03-REF-NUM
When The system searches for the cargo control number
Then Processing continues with cargo update if found, or error message generation if not found
R-GCX122A-cbl-00068 Update Cargo Status to ACK
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Status to ACK' is invoked, and assuming that a valid cargo control number is found for acknowledgment, when the cargo acknowledgment is processed, the desired outcome is that the cargo current status is set to 'ack' if the current status is sent, and the processing terminal is determined from last modify terminal or creation terminal.
💻 Technical Criteria
Given A valid cargo control number is found for acknowledgment
When The cargo acknowledgment is processed
Then The cargo current status is set to 'ACK' if the current status is SENT, and the processing terminal is determined from last modify terminal or creation terminal
R-GCX122A-cbl-00069 Send CCN Not Found Message
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Send CCN Not Found Message', assuming that a cargo acknowledgment message is received, when the cargo control number is not found in the database, the desired outcome is that an error message 'ccn not found on customs d.b. for 824 ack' is added to the message queue and dcp interface error flag is set.
💻 Technical Criteria
EXCLUDING A cargo acknowledgment message is received
When The cargo control number is not found in the database
Then An error message 'CCN NOT FOUND ON CUSTOMS D.B. FOR 824 ACK' is added to the message queue and DCP interface error flag is set
R-GCX122A-cbl-00089 Add Error Message: CCN Not Found
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Add Error Message: CCN Not Found', assuming that a cargo acknowledgment is being processed, when the cargo control number is not found in the customs database, the desired outcome is that the system adds error message 'ccn not found on customs d.b. for 824 ack' and sets dcp interface error flag to true.
💻 Technical Criteria
EXCLUDING A cargo acknowledgment is being processed
When The cargo control number is not found in the customs database
Then The system adds error message 'CCN NOT FOUND ON CUSTOMS D.B. FOR 824 ACK' and sets DCP interface error flag to true
R-GCX122A-cbl-00370 Add Error Message: CCN Not Found
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Add Error Message: CCN Not Found', assuming that a cargo acknowledgment is being processed, when the cargo control record is not found in the database, the desired outcome is that the system adds error message 'ccn not found on customs d.b. for 824 ack' to the message text and mst entry.
💻 Technical Criteria
EXCLUDING A cargo acknowledgment is being processed
When The cargo control record is not found in the database
Then The system adds error message 'CCN NOT FOUND ON CUSTOMS D.B. FOR 824 ACK' to the message text and MST entry
R-GCX122A-cbl-00101 Cargo Control Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Cargo Control Found?' is invoked, and assuming that a cargo error message with a reference number is being processed, when the system searches for the cargo control number using the reference number, the desired outcome is that if the cargo control number is not found, an error flag is set and a 'ccn not found' message is recorded.
💻 Technical Criteria
Given A cargo error message with a reference number is being processed
When The system searches for the cargo control number using the reference number
Then If the cargo control number is not found, an error flag is set and a 'CCN not found' message is recorded
R-GCX122A-cbl-00102 Is V67 Warning - Process as Train?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is V67 Warning - Process as Train?', assuming that a cargo control number is not found in the database, when the free-form message text starts with 'v67', the desired outcome is that the message is rerouted to train error processing instead of cargo error processing.
💻 Technical Criteria
EXCLUDING A cargo control number is not found in the database
When The free-form message text starts with 'V67'
Then The message is rerouted to train error processing instead of cargo error processing
R-GCX122A-cbl-00109 Retrieve Last Modified Terminal
Decision Rules
📊 Business Logic Narrative
When the process 'Retrieve Last Modified Terminal' is invoked, and assuming that a cargo control record is found in the database, when terminal information is needed for message routing, the desired outcome is that if ccn last modify terminal is not empty, use it; otherwise use the ccn creation terminal for processing.
💻 Technical Criteria
Given A cargo control record is found in the database
When Terminal information is needed for message routing
Then If CCN last modify terminal is not empty, use it; otherwise use the CCN creation terminal for processing
R-GCX122A-cbl-00128 Add Error Message: CCN Not Found
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Add Error Message: CCN Not Found', assuming that a cargo control record search fails and the message is not a v67 warning, when the cargo record is confirmed as not found, the desired outcome is that an error message 'ccn not found on customs database' is added to the message queue.
💻 Technical Criteria
EXCLUDING A cargo control record search fails and the message is not a V67 warning
When The cargo record is confirmed as not found
Then An error message 'CCN NOT FOUND ON CUSTOMS DATABASE' is added to the message queue
R-GCX122A-cbl-00395 Record CCN Not Found Error
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Record CCN Not Found Error', assuming that a cargo control record is not found and it's not a v67 warning, when the system processes the missing cargo record, the desired outcome is that an error message 'ccn not found on customs database' is recorded for user notification.
💻 Technical Criteria
EXCLUDING A cargo control record is not found and it's not a V67 warning
When The system processes the missing cargo record
Then An error message 'CCN NOT FOUND ON CUSTOMS DATABASE' is recorded for user notification
R-GCX122A-cbl-00163 Clear Message Fields
Process Rules
📊 Business Logic Narrative
When the process 'Clear Message Fields' is invoked, and assuming that an aei message process is starting, when the system begins aei message preparation, the desired outcome is that all message fields including copy usercode, keywords, text, item sequence numbers, and return status flag are cleared to spaces or initialized.
💻 Technical Criteria
Given An AEI message process is starting
When The system begins AEI message preparation
Then All message fields including copy usercode, keywords, text, item sequence numbers, and return status flag are cleared to spaces or initialized
R-GCX122A-cbl-00168 Prepare AEI Message Content
Process Rules
📊 Business Logic Narrative
When the process 'Prepare AEI Message Content' is invoked, and assuming that email recipients have been determined, when the system prepares the aei message content, the desired outcome is that message width is set to 080 characters, sequence numbers are cleared, text content is cleared, and return status flag is initialized.
💻 Technical Criteria
Given Email recipients have been determined
When The system prepares the AEI message content
Then Message width is set to 080 characters, sequence numbers are cleared, text content is cleared, and return status flag is initialized
R-GCX122A-cbl-00235 Extract Cargo Control Number
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract Cargo Control Number' is invoked, and assuming that a cargo record with a valid cargo control number key, when the system creates arrival transaction, the desired outcome is that the system assigns the cargo control number key to the arrival transaction identifier field.
💻 Technical Criteria
Given A cargo record with a valid cargo control number key
When The system creates arrival transaction
Then The system assigns the cargo control number key to the arrival transaction identifier field
R-GCX122A-cbl-00442 Move Cargo Control Number to Transaction
Definitional Rules
📊 Business Logic Narrative
When the process 'Move Cargo Control Number to Transaction' is invoked, and assuming that a cargo record with a valid cargo control number exists, when an arrival transaction is being prepared for the cargo, the desired outcome is that the cargo control number from the cargo record is assigned to the arrival transaction.
💻 Technical Criteria
Given A cargo record with a valid cargo control number exists
When An arrival transaction is being prepared for the cargo
Then The cargo control number from the cargo record is assigned to the arrival transaction
R-GCX122A-cbl-00510 Extract Cargo Control Number
Action Rules
📊 Business Logic Narrative
When the process 'Extract Cargo Control Number' is invoked, and assuming that a cargo record exists with a valid cargo control number, when an arrival message is being prepared, the desired outcome is that the cargo control number is extracted and assigned to the message train or us ccn field.
💻 Technical Criteria
Given A cargo record exists with a valid cargo control number
When An arrival message is being prepared
Then The cargo control number is extracted and assigned to the message train or US CCN field
R-GCX122A-cbl-00549 Extract Cargo Control Number
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract Cargo Control Number' is invoked, and assuming that a cargo record exists with a valid cargo control number, when an arrival message is being prepared, the desired outcome is that the cargo control number is extracted and assigned to the message identifier field.
💻 Technical Criteria
Given A cargo record exists with a valid cargo control number
When An arrival message is being prepared
Then The cargo control number is extracted and assigned to the message identifier field
R-GCX122A-cbl-00245 Prepare Iron Highway Transaction Data
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Iron Highway Transaction Data' is invoked, and assuming that iron highway configuration has been successfully retrieved, when the system prepares transaction data for iron highway update, the desired outcome is that the system sets the record type from configuration, current cargo status, equipment id, waybill information, and cargo control number.
💻 Technical Criteria
Given Iron Highway configuration has been successfully retrieved
When The system prepares transaction data for Iron Highway update
Then The system sets the record type from configuration, current cargo status, equipment ID, waybill information, and cargo control number
R-GCX122A-cbl-00453 Map Current Cargo Status
Definitional Rules
📊 Business Logic Narrative
When the process 'Map Current Cargo Status' is invoked, and assuming that a cargo record has a current status value, when the system prepares iron highway transaction data, the desired outcome is that the cargo current status is mapped to the iron highway ccn status field.
💻 Technical Criteria
Given A cargo record has a current status value
When The system prepares Iron Highway transaction data
Then The cargo current status is mapped to the Iron Highway CCN status field
R-GCX122A-cbl-00455 Map Waybill Key First 15 Characters
Definitional Rules
📊 Business Logic Narrative
When the process 'Map Waybill Key First 15 Characters' is invoked, and assuming that a cargo record has a waybill key for indexing, when the system prepares iron highway transaction data, the desired outcome is that the first 15 characters of the waybill key are mapped to the iron highway waybill field.
💻 Technical Criteria
Given A cargo record has a waybill key for indexing
When The system prepares Iron Highway transaction data
Then The first 15 characters of the waybill key are mapped to the Iron Highway waybill field
R-GCX122A-cbl-00456 Map Cargo Control Number
Definitional Rules
📊 Business Logic Narrative
When the process 'Map Cargo Control Number' is invoked, and assuming that a cargo record has a ccn key identifier, when the system prepares iron highway transaction data, the desired outcome is that the ccn key is mapped to the iron highway ccn field.
💻 Technical Criteria
Given A cargo record has a CCN key identifier
When The system prepares Iron Highway transaction data
Then The CCN key is mapped to the Iron Highway CCN field
R-GCX122A-cbl-00522 Map Current Status to IH Format
Computation Rules
📊 Business Logic Narrative
When the process 'Map Current Status to IH Format' is invoked, and assuming that iron highway transaction data is being prepared, when the system processes the current cargo status, the desired outcome is that the current cargo status is mapped to the iron highway ccn status field.
💻 Technical Criteria
Given Iron Highway transaction data is being prepared
When The system processes the current cargo status
Then The current cargo status is mapped to the Iron Highway CCN status field
R-GCX122A-cbl-00524 Map Waybill Information
Computation Rules
📊 Business Logic Narrative
When the process 'Map Waybill Information' is invoked, and assuming that iron highway transaction data is being prepared, when the system processes cargo waybill information, the desired outcome is that the first 15 characters of the cargo waybill key for index are mapped to the iron highway waybill field.
💻 Technical Criteria
Given Iron Highway transaction data is being prepared
When The system processes cargo waybill information
Then The first 15 characters of the cargo waybill key for index are mapped to the Iron Highway waybill field
R-GCX122A-cbl-00525 Map Cargo Control Number
Computation Rules
📊 Business Logic Narrative
When the process 'Map Cargo Control Number' is invoked, and assuming that iron highway transaction data is being prepared, when the system processes cargo control information, the desired outcome is that the cargo ccn key is mapped to the iron highway ccn field.
💻 Technical Criteria
Given Iron Highway transaction data is being prepared
When The system processes cargo control information
Then The cargo CCN key is mapped to the Iron Highway CCN field
R-GCX122A-cbl-00261 Add Reference Number to Log
Process Rules
📊 Business Logic Narrative
When the process 'Add Reference Number to Log' is invoked, and assuming that a transaction with a reference number is being logged, when the reference number needs to be recorded in the log, the desired outcome is that the reference number from oti-03-ref-num is recorded in the train or ccn field of the log entry.
💻 Technical Criteria
Given A transaction with a reference number is being logged
When The reference number needs to be recorded in the log
Then The reference number from OTI-03-REF-NUM is recorded in the train or CCN field of the log entry
R-GCX122A-cbl-00279 Set Cargo Control Header Text
Definitional Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Cargo Control Header Text', assuming that the input message is identified as a cargo message (oti-02-cargo is true) and not a train message, when the system determines the message header text, the desired outcome is that msg-lib is set to 'cargo control number :'.
💻 Technical Criteria
EXCLUDING The input message is identified as a cargo message (OTI-02-CARGO is true) and not a train message
When The system determines the message header text
Then MSG-LIB is set to 'CARGO CONTROL NUMBER :'
R-GCX122A-cbl-00285 Set Cargo Control Number Label
Definitional Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Cargo Control Number Label', assuming that the incoming message is identified as a cargo message (oti-02-cargo is true) and is not a train message, when the system determines the message label, the desired outcome is that msg-lib is set to 'cargo control number :'.
💻 Technical Criteria
EXCLUDING The incoming message is identified as a cargo message (OTI-02-CARGO is true) and is not a train message
When The system determines the message label
Then MSG-LIB is set to 'CARGO CONTROL NUMBER :'
R-GCX122A-cbl-00291 Format Cargo Control Message
Definitional Rules
📊 Business Logic Narrative
When the process 'Format Cargo Control Message' is invoked, and assuming that a transaction message is being processed, when the transaction type is identified as cargo operation, the desired outcome is that the message library text is set to 'cargo control number :' to indicate cargo-specific reference numbering.
💻 Technical Criteria
Given A transaction message is being processed
When The transaction type is identified as cargo operation
Then The message library text is set to 'CARGO CONTROL NUMBER :' to indicate cargo-specific reference numbering
R-GCX122A-cbl-00301 Set Message Reference Numbers
Process Rules
📊 Business Logic Narrative
When the process 'Set Message Reference Numbers' is invoked, and assuming that message headers are being prepared, when reference number information needs to be included in the message, the desired outcome is that the system assigns the transaction reference number (oti-03-ref-num) to the train or ccn field in the message header.
💻 Technical Criteria
Given Message headers are being prepared
When Reference number information needs to be included in the message
Then The system assigns the transaction reference number (OTI-03-REF-NUM) to the train or CCN field in the message header
R-GCX122A-cbl-00329 Map Cargo Control Number Data
Process Rules
📊 Business Logic Narrative
When the process 'Map Cargo Control Number Data' is invoked, and assuming that iron highway transaction record has been initialized, when the system maps cargo data to the transaction record, the desired outcome is that the cargo control number key and current status are transferred to the iron highway record.
💻 Technical Criteria
Given Iron Highway transaction record has been initialized
When The system maps cargo data to the transaction record
Then The cargo control number key and current status are transferred to the Iron Highway record
R-GCX122A-cbl-00330 Map Equipment ID and Waybill
Process Rules
📊 Business Logic Narrative
When the process 'Map Equipment ID and Waybill' is invoked, and assuming that cargo control number data has been mapped, when the system maps equipment and waybill data, the desired outcome is that the equipment id and first 15 characters of waybill key are transferred to the iron highway record.
💻 Technical Criteria
Given Cargo control number data has been mapped
When The system maps equipment and waybill data
Then The equipment ID and first 15 characters of waybill key are transferred to the Iron Highway record
R-GCX122A-cbl-00331 Search for Shipment ID Reference
Process Rules
📊 Business Logic Narrative
When the process 'Search for Shipment ID Reference' is invoked, and assuming that equipment and waybill data has been mapped, when the system searches through up to 10 reference number entries, the desired outcome is that each reference number qualifier is checked to identify cn type references.
💻 Technical Criteria
Given Equipment and waybill data has been mapped
When The system searches through up to 10 reference number entries
Then Each reference number qualifier is checked to identify CN type references

💰 Bond & Financial Auth 24 logic blocks
R-GCX122A-cbl-00002 3:Control Merlin ID Validation
Validation Rules
📊 Business Logic Narrative
When the process '3:Control Merlin ID Validation' is invoked, and assuming that four merlin user ids are retrieved from the admin table (dc-p-merlin-1 through 4), when each merlin id is validated against the emtz segment, the desired outcome is that if dc-p-merlin-1 is invalid, use default 'om01247' and set not-found flag; for other invalid ids (2,3,4), fall back to dc-p-merlin-1 value.
💻 Technical Criteria
Given Four Merlin user IDs are retrieved from the admin table (DC-P-MERLIN-1 through 4)
When Each Merlin ID is validated against the EMTZ segment
Then If DC-P-MERLIN-1 is invalid, use default 'OM01247' and set not-found flag; for other invalid IDs (2,3,4), fall back to DC-P-MERLIN-1 value
R-GCX122A-cbl-00030 Initialize Communication Areas
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Communication Areas' is invoked, and assuming that the system is preparing for message processing operations, when communication areas need to be initialized, the desired outcome is that the system communication block (iscom) must be initialized to default values.
💻 Technical Criteria
Given The system is preparing for message processing operations
When Communication areas need to be initialized
Then The system communication block (ISCOM) must be initialized to default values
R-GCX122A-cbl-00336 Set Function Code to 'GU' - Get Unique, Clear Key Values and Flags, Set Table ID to 'AD', Set Sequence ID to 'ADMINID'
Process Rules
📊 Business Logic Narrative
When the process 'Set Function Code to 'GU' - Get Unique, Clear Key Values and Flags, Set Table ID to 'AD', Set Sequence ID to 'ADMINID'' is invoked, and assuming that the system is preparing to access the administration table, when setting up table access parameters, the desired outcome is that the function code should be set to 'gu' for unique retrieval, table id should be 'ad', sequence id should be 'adminid', and all key values and flags should be cleared.
💻 Technical Criteria
Given The system is preparing to access the administration table
When Setting up table access parameters
Then The function code should be set to 'GU' for unique retrieval, table ID should be 'AD', sequence ID should be 'ADMINID', and all key values and flags should be cleared
R-GCX122A-cbl-00464 Set IFS Merlin ID to Default First Merlin ID
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set IFS Merlin ID to Default First Merlin ID', assuming that the second dc-p merlin id validation has failed in the emtz segment, when the validation status code is not space indicating failure, the desired outcome is that the system assigns the first dc-p merlin id as the default value to the ifs merlin id.
💻 Technical Criteria
EXCLUDING The second DC-P Merlin ID validation has failed in the EMTZ segment
When The validation status code is not space indicating failure
Then The system assigns the first DC-P Merlin ID as the default value to the IFS Merlin ID
R-GCX122A-cbl-00465 Check if third Merlin ID exists in EMTZ segment and set default to first ID if invalid
Validation Rules
📊 Business Logic Narrative
When the process 'Check if third Merlin ID exists in EMTZ segment and set default to first ID if invalid' is invoked, and assuming that the system has retrieved the third dc-p merlin id from the admin table (gcstbrt-ad-dc-p-merlin-3), when the system validates the third merlin id against the emtz user segment, the desired outcome is that if the third merlin id exists in the system, assign it to ws-hhs-merlin-id; otherwise assign the first dc-p merlin id (gcstbrt-ad-dc-p-merlin-1) as the default value for hhs system.
💻 Technical Criteria
Given The system has retrieved the third DC-P Merlin ID from the admin table (GCSTBRT-AD-DC-P-MERLIN-3)
When The system validates the third Merlin ID against the EMTZ user segment
Then If the third Merlin ID exists in the system, assign it to WS-HHS-MERLIN-ID; otherwise assign the first DC-P Merlin ID (GCSTBRT-AD-DC-P-MERLIN-1) as the default value for HHS system
R-GCX122A-cbl-00466 Set HHS Merlin ID to Third Merlin ID Value
Action Rules
📊 Business Logic Narrative
When the process 'Set HHS Merlin ID to Third Merlin ID Value' is invoked, and assuming that the third dc-p merlin id has been successfully validated in the emtz segment, when the validation status indicates the merlin id exists in the system (cc-status-code is space), the desired outcome is that assign the third dc-p merlin id value to the hhs merlin id (ws-hhs-merlin-id).
💻 Technical Criteria
Given The third DC-P Merlin ID has been successfully validated in the EMTZ segment
When The validation status indicates the Merlin ID exists in the system (CC-STATUS-CODE is SPACE)
Then Assign the third DC-P Merlin ID value to the HHS Merlin ID (WS-HHS-MERLIN-ID)
R-GCX122A-cbl-00467 Set HHS Merlin ID to Default First Merlin ID
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set HHS Merlin ID to Default First Merlin ID', assuming that the third dc-p merlin id validation has failed in the emtz segment, when the validation status indicates the merlin id does not exist in the system (cc-status-code is not space), the desired outcome is that assign the first dc-p merlin id (gcstbrt-ad-dc-p-merlin-1) as the default value to the hhs merlin id (ws-hhs-merlin-id).
💻 Technical Criteria
EXCLUDING The third DC-P Merlin ID validation has failed in the EMTZ segment
When The validation status indicates the Merlin ID does not exist in the system (CC-STATUS-CODE is not SPACE)
Then Assign the first DC-P Merlin ID (GCSTBRT-AD-DC-P-MERLIN-1) as the default value to the HHS Merlin ID (WS-HHS-MERLIN-ID)
R-GCX122A-cbl-00469 Set IMS Merlin ID to Fourth ID Value
Decision Rules
📊 Business Logic Narrative
When the process 'Set IMS Merlin ID to Fourth ID Value' is invoked, and assuming that the fourth dc-p merlin id validation has been performed and the status code indicates success (space), when the validation result shows the fourth merlin id exists in the emtz segment, the desired outcome is that the system assigns the fourth dc-p merlin id value to the ims merlin id variable (ws-ims-merlin-id).
💻 Technical Criteria
Given The fourth DC-P Merlin ID validation has been performed and the status code indicates success (space)
When The validation result shows the fourth Merlin ID exists in the EMTZ segment
Then The system assigns the fourth DC-P Merlin ID value to the IMS Merlin ID variable (WS-IMS-MERLIN-ID)
R-GCX122A-cbl-00470 Set IMS Merlin ID to Default First ID
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set IMS Merlin ID to Default First ID', assuming that the fourth dc-p merlin id validation has been performed and the status code indicates failure (not space), when the validation result shows the fourth merlin id does not exist in the emtz segment, the desired outcome is that the system assigns the first dc-p merlin id value (gcstbrt-ad-dc-p-merlin-1) to the ims merlin id variable (ws-ims-merlin-id) as a fallback default.
💻 Technical Criteria
EXCLUDING The fourth DC-P Merlin ID validation has been performed and the status code indicates failure (not space)
When The validation result shows the fourth Merlin ID does not exist in the EMTZ segment
Then The system assigns the first DC-P Merlin ID value (GCSTBRT-AD-DC-P-MERLIN-1) to the IMS Merlin ID variable (WS-IMS-MERLIN-ID) as a fallback default
R-GCX122A-cbl-00344 Move Reference Number to Search Key
Process Rules
📊 Business Logic Narrative
When the process 'Move Reference Number to Search Key' is invoked, and assuming that a reference number is provided for train report lookup, when the system prepares the database search parameters, the desired outcome is that the reference number must be moved to the b4-key-value field for database access.
💻 Technical Criteria
Given A reference number is provided for train report lookup
When The system prepares the database search parameters
Then The reference number must be moved to the B4-KEY-VALUE field for database access
R-GCX122A-cbl-00359 Save ACK Timestamp to Train Record
Process Rules
📊 Business Logic Narrative
When the process 'Save ACK Timestamp to Train Record' is invoked, and assuming that current date and time have been captured for acknowledgment, when the system updates the train record, the desired outcome is that the system stores the combined date-time value as the acknowledgment timestamp in the train record.
💻 Technical Criteria
Given Current date and time have been captured for acknowledgment
When The system updates the train record
Then The system stores the combined date-time value as the acknowledgment timestamp in the train record
R-GCX122A-cbl-00435 Check for Alternate Terminal
Decision Rules
📊 Business Logic Narrative
When the process 'Check for Alternate Terminal' is invoked, and assuming that terminal configuration data has been retrieved from lt table, when the system processes the terminal configuration, the desired outcome is that the system checks if the lt-alternate field contains a non-space value.
💻 Technical Criteria
Given Terminal configuration data has been retrieved from LT table
When The system processes the terminal configuration
Then The system checks if the LT-ALTERNATE field contains a non-space value
R-GCX122A-cbl-00436 Update LTERM to Alternate
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Update LTERM to Alternate', assuming that an alternate terminal is specified in the lt-alternate field, when the alternate terminal field is not spaces, the desired outcome is that the system updates the processing lterm to the alternate terminal value and updates the mst call letters accordingly.
💻 Technical Criteria
EXCLUDING An alternate terminal is specified in the LT-ALTERNATE field
When The alternate terminal field is not spaces
Then The system updates the processing LTERM to the alternate terminal value and updates the MST call letters accordingly
R-GCX122A-cbl-00198 Clear Supervisor Merlin ID
Action Rules
📊 Business Logic Narrative
When the process 'Clear Supervisor Merlin ID' is invoked, and assuming that the supervisor merlin id validation has failed, when the system processes the validation failure, the desired outcome is that the user merlin variable is set to spaces to clear any invalid value.
💻 Technical Criteria
Given The supervisor Merlin ID validation has failed
When The system processes the validation failure
Then The user Merlin variable is set to spaces to clear any invalid value
R-GCX122A-cbl-00234 Set Security Parameters
Authorization Rules
📊 Business Logic Narrative
When the process 'Set Security Parameters' is invoked, and assuming that arrival transaction input is initialized, when the system prepares arrival transaction, the desired outcome is that the system sets security byte to high-value for transaction authorization.
💻 Technical Criteria
Given Arrival transaction input is initialized
When The system prepares arrival transaction
Then The system sets security byte to high-value for transaction authorization
R-GCX122A-cbl-00441 Set Security Byte to High-Value
Authorization Rules
📊 Business Logic Narrative
When the process 'Set Security Byte to High-Value' is invoked, and assuming that an arrival transaction is being prepared, when security parameters are being configured, the desired outcome is that the security byte is set to high-value to indicate maximum security clearance required.
💻 Technical Criteria
Given An arrival transaction is being prepared
When Security parameters are being configured
Then The security byte is set to high-value to indicate maximum security clearance required
R-GCX122A-cbl-00509 Set Security Parameters
Authorization Rules
📊 Business Logic Narrative
When the process 'Set Security Parameters' is invoked, and assuming that an arrival message structure has been initialized, when security parameters need to be set, the desired outcome is that the security byte is set to high-value to indicate secure transmission.
💻 Technical Criteria
Given An arrival message structure has been initialized
When Security parameters need to be set
Then The security byte is set to high-value to indicate secure transmission
R-GCX122A-cbl-00548 Set Security Level to High
Policy Rules
📊 Business Logic Narrative
When the process 'Set Security Level to High' is invoked, and assuming that an arrival message is being prepared for transmission, when the security level is being configured, the desired outcome is that the security byte is set to high-value to ensure maximum protection.
💻 Technical Criteria
Given An arrival message is being prepared for transmission
When The security level is being configured
Then The security byte is set to high-value to ensure maximum protection
R-GCX122A-cbl-00460 Map Reference Number to Shipment ID
Definitional Rules
📊 Business Logic Narrative
When the process 'Map Reference Number to Shipment ID' is invoked, and assuming that a reference number has been identified with 'cn' qualifier, when the system maps the reference data, the desired outcome is that the reference number value is assigned to the iron highway shipment id field.
💻 Technical Criteria
Given A reference number has been identified with 'CN' qualifier
When The system maps the reference data
Then The reference number value is assigned to the Iron Highway shipment ID field
R-GCX122A-cbl-00249 Format DB2 Error Subject Line with SQLCODE
Computation Rules
📊 Business Logic Narrative
When the process 'Format DB2 Error Subject Line with SQLCODE' is invoked, and assuming that a db2 error has occurred with a specific sqlcode, when the system formats the error notification subject, the desired outcome is that the subject line contains 'gcx122 db2 sqlcode: ' followed by the actual sqlcode value.
💻 Technical Criteria
Given A DB2 error has occurred with a specific SQLCODE
When The system formats the error notification subject
Then The subject line contains 'GCX122 DB2 SQLCODE: ' followed by the actual SQLCODE value
R-GCX122A-cbl-00258 Set Security and Transaction Details
Policy Rules
📊 Business Logic Narrative
When the process 'Set Security and Transaction Details' is invoked, and assuming that a log message structure is initialized, when security and transaction details need to be recorded, the desired outcome is that the security byte is set to high-value and sending transaction is set to 'gct1221e'.
💻 Technical Criteria
Given A log message structure is initialized
When Security and transaction details need to be recorded
Then The security byte is set to high-value and sending transaction is set to 'GCT1221E'
R-GCX122A-cbl-00300 Prepare Message Headers
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Message Headers' is invoked, and assuming that error message content has been formatted for all distribution channels, when message headers need to be prepared for transmission, the desired outcome is that the system sets security byte to high-value, sending transaction to 'gct1221e', acf2 user id from common area, and action code to 'zzz'.
💻 Technical Criteria
Given Error message content has been formatted for all distribution channels
When Message headers need to be prepared for transmission
Then The system sets security byte to HIGH-VALUE, sending transaction to 'GCT1221E', ACF2 user ID from common area, and action code to 'ZZZ'
R-GCX122A-cbl-00332 Found CN Reference Number?
Validation Rules
📊 Business Logic Narrative
When the process 'Found CN Reference Number?' is invoked, and assuming that reference number search has been performed, when the system finds a reference number with qualifier 'cn', the desired outcome is that the corresponding reference number value is identified as the shipment id.
💻 Technical Criteria
Given Reference number search has been performed
When The system finds a reference number with qualifier 'CN'
Then The corresponding reference number value is identified as the shipment ID
R-GCX122A-cbl-00333 Set Shipment ID from Reference
Process Rules
📊 Business Logic Narrative
When the process 'Set Shipment ID from Reference' is invoked, and assuming that a cn qualified reference number has been found, when the system assigns the shipment id, the desired outcome is that the reference number value associated with cn qualifier is moved to the shipment id field.
💻 Technical Criteria
Given A CN qualified reference number has been found
When The system assigns the shipment ID
Then The reference number value associated with CN qualifier is moved to the shipment ID field

📍 Routing, Border & Port 81 logic blocks
R-GCX122A-cbl-00004 Message Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Message Type?' is invoked, and assuming that an incoming message with a specific type indicator, when the system evaluates the message type, the desired outcome is that route to acknowledgment processing for ack messages, or route to error processing for error and warning messages.
💻 Technical Criteria
Given An incoming message with a specific type indicator
When The system evaluates the message type
Then Route to acknowledgment processing for ACK messages, or route to error processing for ERROR and WARNING messages
R-GCX122A-cbl-00006 6:Process Train Acknowledgment
Process Rules
📊 Business Logic Narrative
When the process '6:Process Train Acknowledgment' is invoked, and assuming that a train acknowledgment message with a reference number, when the system looks up the train report, the desired outcome is that if train not found, set error flag and add error message; if found, clear security errors for deleted records, set ack status with timestamp, and send aei notification if flag is 'y'.
💻 Technical Criteria
Given A train acknowledgment message with a reference number
When The system looks up the train report
Then If train not found, set error flag and add error message; if found, clear security errors for deleted records, set ACK status with timestamp, and send AEI notification if flag is 'Y'
R-GCX122A-cbl-00015 14:Send AEI Messages
Action Rules
📊 Business Logic Narrative
When the process '14:Send AEI Messages' is invoked, and assuming that a train record with aei send flag set to 'y' and a status change, when the system processes the train acknowledgment or status update, the desired outcome is that look up email addresses for the port code, send notification with train id and status, and fall back to default recipients if lookup fails.
💻 Technical Criteria
Given A train record with AEI send flag set to 'Y' and a status change
When The system processes the train acknowledgment or status update
Then Look up email addresses for the port code, send notification with train ID and status, and fall back to default recipients if lookup fails
R-GCX122A-cbl-00059 Set Train Report Label
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Train Report Label' is invoked, and assuming that a message is being processed and oti-02-train condition is true, when the system determines the message type for labeling, the desired outcome is that msg-lib is set to 'train report number :'.
💻 Technical Criteria
Given A message is being processed and OTI-02-TRAIN condition is true
When The system determines the message type for labeling
Then MSG-LIB is set to 'TRAIN REPORT NUMBER :'
R-GCX122A-cbl-00063 Train Report Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Train Report Found?' is invoked, and assuming that a train acknowledgment message with reference number oti-03-ref-num, when the system searches for the train report using the reference number, the desired outcome is that processing continues with train update if found, or error message generation if not found.
💻 Technical Criteria
Given A train acknowledgment message with reference number OTI-03-REF-NUM
When The system searches for the train report using the reference number
Then Processing continues with train update if found, or error message generation if not found
R-GCX122A-cbl-00064 Update Train Status to ACK
Action Rules
📊 Business Logic Narrative
When the process 'Update Train Status to ACK' is invoked, and assuming that a valid train report is found for acknowledgment, when the acknowledgment is processed, the desired outcome is that the train status is set to ack, security errors are cleared if the record is deleted or delete-pending, and acknowledgment flag is set to true.
💻 Technical Criteria
Given A valid train report is found for acknowledgment
When The acknowledgment is processed
Then The train status is set to ACK, security errors are cleared if the record is deleted or delete-pending, and acknowledgment flag is set to true
R-GCX122A-cbl-00066 Send Train Not Found Message
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Send Train Not Found Message', assuming that a train acknowledgment message is received, when the train report is not found in the database, the desired outcome is that an error message 'train report not found on customs database' is added to the message queue and train error flag is set.
💻 Technical Criteria
EXCLUDING A train acknowledgment message is received
When The train report is not found in the database
Then An error message 'TRAIN REPORT NOT FOUND ON CUSTOMS DATABASE' is added to the message queue and train error flag is set
R-GCX122A-cbl-00074 Retrieve Train Report by Reference Number
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Train Report by Reference Number' is invoked, and assuming that a train acknowledgment message with a reference number, when the system processes the acknowledgment, the desired outcome is that the system retrieves the corresponding train report from the database using the reference number.
💻 Technical Criteria
Given A train acknowledgment message with a reference number
When The system processes the acknowledgment
Then The system retrieves the corresponding train report from the database using the reference number
R-GCX122A-cbl-00075 Train Report Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Train Report Found?' is invoked, and assuming that a train report lookup has been performed, when the database query completes, the desired outcome is that the system determines if the train report exists based on the database status code being spaces or not.
💻 Technical Criteria
Given A train report lookup has been performed
When The database query completes
Then The system determines if the train report exists based on the database status code being spaces or not
R-GCX122A-cbl-00076 Set Error Message: Train Report Not Found
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Error Message: Train Report Not Found', assuming that a train report lookup has failed, when the train report is not found in the database, the desired outcome is that the system adds the message 'train report not found on customs database' to the error text and mst entry.
💻 Technical Criteria
EXCLUDING A train report lookup has failed
When The train report is not found in the database
Then The system adds the message 'TRAIN REPORT NOT FOUND ON CUSTOMS DATABASE' to the error text and MST entry
R-GCX122A-cbl-00077 Mark as Train Error for Notification
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Mark as Train Error for Notification', assuming that a train report is not found in the database, when the error message is set, the desired outcome is that the system sets the train error flag to true for subsequent notification processing.
💻 Technical Criteria
EXCLUDING A train report is not found in the database
When The error message is set
Then The system sets the train error flag to true for subsequent notification processing
R-GCX122A-cbl-00078 Clear Previous Error Status
Process Rules
📊 Business Logic Narrative
When the process 'Clear Previous Error Status' is invoked, and assuming that a train report is found in the database, when processing the acknowledgment, the desired outcome is that the system clears the security error field by moving spaces to it.
💻 Technical Criteria
Given A train report is found in the database
When Processing the acknowledgment
Then The system clears the security error field by moving spaces to it
R-GCX122A-cbl-00079 Train Deleted or Delete Pending?
Decision Rules
📊 Business Logic Narrative
When the process 'Train Deleted or Delete Pending?' is invoked, and assuming that a train report exists in the database, when processing the acknowledgment, the desired outcome is that the system checks if the train report has deleted status or delete-pending status.
💻 Technical Criteria
Given A train report exists in the database
When Processing the acknowledgment
Then The system checks if the train report has deleted status or delete-pending status
R-GCX122A-cbl-00080 Clear Position and Port Data
Process Rules
📊 Business Logic Narrative
When the process 'Clear Position and Port Data' is invoked, and assuming that a train report is marked as deleted or delete-pending, when processing the acknowledgment, the desired outcome is that the system initializes (clears) the security position and port fields.
💻 Technical Criteria
Given A train report is marked as deleted or delete-pending
When Processing the acknowledgment
Then The system initializes (clears) the security position and port fields
R-GCX122A-cbl-00081 Set Train Status to ACK
Process Rules
📊 Business Logic Narrative
When the process 'Set Train Status to ACK' is invoked, and assuming that a valid train report is being processed for acknowledgment, when the acknowledgment processing continues, the desired outcome is that the system sets the train acknowledgment flag to true and updates current status to 'ack'.
💻 Technical Criteria
Given A valid train report is being processed for acknowledgment
When The acknowledgment processing continues
Then The system sets the train acknowledgment flag to true and updates current status to 'ACK'
R-GCX122A-cbl-00084 Update Train Report in Database
Action Rules
📊 Business Logic Narrative
When the process 'Update Train Report in Database' is invoked, and assuming that train acknowledgment details have been set, when completing the acknowledgment process, the desired outcome is that the system performs a database replace operation to update the train report with acknowledgment information.
💻 Technical Criteria
Given Train acknowledgment details have been set
When Completing the acknowledgment process
Then The system performs a database replace operation to update the train report with acknowledgment information
R-GCX122A-cbl-00085 AEI Send Required?
Decision Rules
📊 Business Logic Narrative
When the process 'AEI Send Required?' is invoked, and assuming that a train report has been successfully acknowledged, when checking for additional notifications, the desired outcome is that the system checks if the aei send flag equals 'y' to determine if aei message should be sent.
💻 Technical Criteria
Given A train report has been successfully acknowledged
When Checking for additional notifications
Then The system checks if the AEI send flag equals 'Y' to determine if AEI message should be sent
R-GCX122A-cbl-00086 Prepare AEI Status Message
Process Rules
📊 Business Logic Narrative
When the process 'Prepare AEI Status Message' is invoked, and assuming that aei send is required for the train, when preparing the notification message, the desired outcome is that the system creates a message subject containing 'train: ' followed by the canadian customs train id, ' status: ' and the current status.
💻 Technical Criteria
Given AEI send is required for the train
When Preparing the notification message
Then The system creates a message subject containing 'TRAIN: ' followed by the Canadian customs train ID, ' STATUS: ' and the current status
R-GCX122A-cbl-00087 Send AEI Message to Border Points
Action Rules
📊 Business Logic Narrative
When the process 'Send AEI Message to Border Points' is invoked, and assuming that an aei status message has been prepared, when sending the notification, the desired outcome is that the system calls the aei message sending function to transmit the status update.
💻 Technical Criteria
Given An AEI status message has been prepared
When Sending the notification
Then The system calls the AEI message sending function to transmit the status update
R-GCX122A-cbl-00343 Set Database Access Status to 'GE'
Process Rules
📊 Business Logic Narrative
When the process 'Set Database Access Status to 'GE'' is invoked, and assuming that a train report retrieval operation is initiated, when the system prepares to access the train report database, the desired outcome is that the database access status must be set to 'ge' to enable exact match retrieval.
💻 Technical Criteria
Given A train report retrieval operation is initiated
When The system prepares to access the train report database
Then The database access status must be set to 'GE' to enable exact match retrieval
R-GCX122A-cbl-00345 Call Database Access Function Z220-GHU-B4-TRAIN
Action Rules
📊 Business Logic Narrative
When the process 'Call Database Access Function Z220-GHU-B4-TRAIN' is invoked, and assuming that the database access parameters are configured with reference number and access mode, when the system needs to retrieve train report data, the desired outcome is that the z220-ghu-b4-train function must be called to access the gcsb4rt database.
💻 Technical Criteria
Given The database access parameters are configured with reference number and access mode
When The system needs to retrieve train report data
Then The Z220-GHU-B4-TRAIN function must be called to access the GCSB4RT database
R-GCX122A-cbl-00346 Train Report Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Train Report Found?' is invoked, and assuming that a database access attempt has been made for a train report, when the system evaluates the database access result, the desired outcome is that if cc-status-code is spaces then train report exists, otherwise train report does not exist.
💻 Technical Criteria
Given A database access attempt has been made for a train report
When The system evaluates the database access result
Then If CC-STATUS-CODE is SPACES then train report exists, otherwise train report does not exist
R-GCX122A-cbl-00347 Set Train Report Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Train Report Found Flag' is invoked, and assuming that a train report database lookup has been successful, when the system confirms train report existence, the desired outcome is that the sw-train-report-found flag must be set to true.
💻 Technical Criteria
Given A train report database lookup has been successful
When The system confirms train report existence
Then The SW-TRAIN-REPORT-FOUND flag must be set to TRUE
R-GCX122A-cbl-00348 Set Train Report Not Found Flag
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Train Report Not Found Flag', assuming that a train report database lookup has failed, when the system confirms train report does not exist, the desired outcome is that the sw-train-report-not-found flag must be set to true.
💻 Technical Criteria
EXCLUDING A train report database lookup has failed
When The system confirms train report does not exist
Then The SW-TRAIN-REPORT-NOT-FOUND flag must be set to TRUE
R-GCX122A-cbl-00349 Get Train Last Modified Terminal
Decision Rules
📊 Business Logic Narrative
When the process 'Get Train Last Modified Terminal' is invoked, and assuming that a train report has been successfully retrieved from the database, when the system needs to determine the processing terminal, the desired outcome is that if gcb4r-last-mod-lterm is not spaces then use gcb4r-last-mod-lterm, otherwise use gcb4r-creation-lterm as ws-lterm-process.
💻 Technical Criteria
Given A train report has been successfully retrieved from the database
When The system needs to determine the processing terminal
Then If GCB4R-LAST-MOD-LTERM is not SPACES then use GCB4R-LAST-MOD-LTERM, otherwise use GCB4R-CREATION-LTERM as WS-LTERM-PROCESS
R-GCX122A-cbl-00350 Retrieve Train Report by Reference Number
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Train Report by Reference Number' is invoked, and assuming that an acknowledgment message contains a train reference number, when the system processes the train acknowledgment, the desired outcome is that the system retrieves the corresponding train report from the database using the reference number.
💻 Technical Criteria
Given An acknowledgment message contains a train reference number
When The system processes the train acknowledgment
Then The system retrieves the corresponding train report from the database using the reference number
R-GCX122A-cbl-00351 Train Report Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Train Report Found?' is invoked, and assuming that a train reference number is provided for acknowledgment, when the system attempts to retrieve the train report, the desired outcome is that the system determines if the train report exists or is not found in the database.
💻 Technical Criteria
Given A train reference number is provided for acknowledgment
When The system attempts to retrieve the train report
Then The system determines if the train report exists or is not found in the database
R-GCX122A-cbl-00352 Log Train Not Found Error
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Log Train Not Found Error', assuming that a train acknowledgment is being processed, when the train report is not found in the database, the desired outcome is that the system adds 'train report not found on customs database' message to the error log and sets train error flag.
💻 Technical Criteria
EXCLUDING A train acknowledgment is being processed
When The train report is not found in the database
Then The system adds 'TRAIN REPORT NOT FOUND ON CUSTOMS DATABASE' message to the error log and sets train error flag
R-GCX122A-cbl-00353 Clear Security Error Flags
Process Rules
📊 Business Logic Narrative
When the process 'Clear Security Error Flags' is invoked, and assuming that a train report is found for acknowledgment processing, when the system begins updating the train report, the desired outcome is that the system clears the security error flag in the train record.
💻 Technical Criteria
Given A train report is found for acknowledgment processing
When The system begins updating the train report
Then The system clears the security error flag in the train record
R-GCX122A-cbl-00354 Clear Position and Port Data
Decision Rules
📊 Business Logic Narrative
When the process 'Clear Position and Port Data' is invoked, and assuming that a train report is being acknowledged, when the train record is marked as deleted or delete-pending, the desired outcome is that the system initializes (clears) the security position and port data fields.
💻 Technical Criteria
Given A train report is being acknowledged
When The train record is marked as deleted or delete-pending
Then The system initializes (clears) the security position and port data fields
R-GCX122A-cbl-00355 Train Deleted or Delete Pending?
Validation Rules
📊 Business Logic Narrative
When the process 'Train Deleted or Delete Pending?' is invoked, and assuming that a train report exists for acknowledgment, when the system processes the acknowledgment, the desired outcome is that the system checks if the train record is marked as deleted or delete-pending.
💻 Technical Criteria
Given A train report exists for acknowledgment
When The system processes the acknowledgment
Then The system checks if the train record is marked as deleted or delete-pending
R-GCX122A-cbl-00356 Set Train Status to ACK
Process Rules
📊 Business Logic Narrative
When the process 'Set Train Status to ACK' is invoked, and assuming that a valid train report is being acknowledged, when the system processes the acknowledgment, the desired outcome is that the system sets the train record status to ack.
💻 Technical Criteria
Given A valid train report is being acknowledged
When The system processes the acknowledgment
Then The system sets the train record status to ACK
R-GCX122A-cbl-00360 Update Train Report in Database
Action Rules
📊 Business Logic Narrative
When the process 'Update Train Report in Database' is invoked, and assuming that all acknowledgment data has been prepared for a train record, when the system completes acknowledgment processing, the desired outcome is that the system updates the train record in the database with all acknowledgment information.
💻 Technical Criteria
Given All acknowledgment data has been prepared for a train record
When The system completes acknowledgment processing
Then The system updates the train record in the database with all acknowledgment information
R-GCX122A-cbl-00471 Retrieve Email Recipients by Port Code
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Email Recipients by Port Code' is invoked, and assuming that a train record requires aei status notification and has a port code, when the system looks up email recipients using the port code from the train's position port, the desired outcome is that the system retrieves the customer email list for that port code.
💻 Technical Criteria
Given A train record requires AEI status notification and has a port code
When The system looks up email recipients using the port code from the train's position port
Then The system retrieves the customer email list for that port code
R-GCX122A-cbl-00472 Recipients Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Recipients Found?' is invoked, and assuming that the system has attempted to retrieve email recipients by port code, when the email lookup returns a success status, the desired outcome is that the system uses the retrieved email recipient list for aei notification.
💻 Technical Criteria
Given The system has attempted to retrieve email recipients by port code
When The email lookup returns a success status
Then The system uses the retrieved email recipient list for AEI notification
R-GCX122A-cbl-00475 Format Status Message with Train ID and Status
Process Rules
📊 Business Logic Narrative
When the process 'Format Status Message with Train ID and Status' is invoked, and assuming that a train record requires aei status notification with valid train id and status, when the system formats the aei message, the desired outcome is that the system creates a subject line containing 'train: ' followed by the canadian customs train id, ' status: ' followed by the current train status.
💻 Technical Criteria
Given A train record requires AEI status notification with valid train ID and status
When The system formats the AEI message
Then The system creates a subject line containing 'TRAIN: ' followed by the Canadian customs train ID, ' STATUS: ' followed by the current train status
R-GCX122A-cbl-00482 Complete AEI Processing
Process Rules
📊 Business Logic Narrative
When the process 'Complete AEI Processing' is invoked, and assuming that a database error occurred during email recipient lookup, when the system completes aei processing, the desired outcome is that the system sends database error notification to support team with sql error code details.
💻 Technical Criteria
Given A database error occurred during email recipient lookup
When The system completes AEI processing
Then The system sends database error notification to support team with SQL error code details
R-GCX122A-cbl-00528 Extract Port Code from Train Record
Action Rules
📊 Business Logic Narrative
When the process 'Extract Port Code from Train Record' is invoked, and assuming that a train record exists with port information, when the system needs to send aei notification messages, the desired outcome is that the port code is extracted from the train record's port of release field and used as the lookup key.
💻 Technical Criteria
Given A train record exists with port information
When The system needs to send AEI notification messages
Then The port code is extracted from the train record's port of release field and used as the lookup key
R-GCX122A-cbl-00530 Query Database for Email Recipients
Action Rules
📊 Business Logic Narrative
When the process 'Query Database for Email Recipients' is invoked, and assuming that a port code is available and record type is set to cusemail, when the system executes the database query, the desired outcome is that the system calls the database service to retrieve email recipients for the specified port code.
💻 Technical Criteria
Given A port code is available and record type is set to CUSEMAIL
When The system executes the database query
Then The system calls the database service to retrieve email recipients for the specified port code
R-GCX122A-cbl-00099 Train Report Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Train Report Found?' is invoked, and assuming that a train error message with a reference number is being processed, when the system searches for the train report using the reference number, the desired outcome is that if the train report is not found, an error flag is set and a 'train report not found' message is recorded.
💻 Technical Criteria
Given A train error message with a reference number is being processed
When The system searches for the train report using the reference number
Then If the train report is not found, an error flag is set and a 'train report not found' message is recorded
R-GCX122A-cbl-00100 Is V67 Warning?
Decision Rules
📊 Business Logic Narrative
When the process 'Is V67 Warning?' is invoked, and assuming that a train report is found and an error message is being processed, when the free-form message text starts with 'v67', the desired outcome is that the message is classified as a v67 warning and special warning processing is applied.
💻 Technical Criteria
Given A train report is found and an error message is being processed
When The free-form message text starts with 'V67'
Then The message is classified as a V67 warning and special warning processing is applied
R-GCX122A-cbl-00106 Update Train Report Status
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Update Train Report Status', assuming that a train report exists and is not deleted or delete-pending, when an error or reject status needs to be applied, the desired outcome is that the error resend flag is set, the train key and position date are recorded in error fields, and the status is updated to either error or reject based on error type.
💻 Technical Criteria
EXCLUDING A train report exists and is not deleted or delete-pending
When An error or reject status needs to be applied
Then The error resend flag is set, the train key and position date are recorded in error fields, and the status is updated to either ERROR or REJECT based on error type
R-GCX122A-cbl-00113 Retrieve Train Report from Database
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Train Report from Database' is invoked, and assuming that a train error needs to be processed, when the system needs to update the train report, the desired outcome is that the train report is retrieved from gcsb4rt database using the reference number as key.
💻 Technical Criteria
Given A train error needs to be processed
When The system needs to update the train report
Then The train report is retrieved from GCSB4RT database using the reference number as key
R-GCX122A-cbl-00114 Is V67 Warning Message?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is V67 Warning Message?', assuming that a train report is not found in the database, when the free form message starts with 'v67', the desired outcome is that the message is identified as a v67 warning requiring special handling.
💻 Technical Criteria
EXCLUDING A train report is not found in the database
When The free form message starts with 'V67'
Then The message is identified as a V67 warning requiring special handling
R-GCX122A-cbl-00116 Add Error Message: Train Report Not Found on Database
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Add Error Message: Train Report Not Found on Database', assuming that a train report is not found and the message is not a v67 warning, when the system processes the missing train record, the desired outcome is that the message 'train report not found on customs database' is added to the error text and mst entry.
💻 Technical Criteria
EXCLUDING A train report is not found and the message is not a V67 warning
When The system processes the missing train record
Then The message 'TRAIN REPORT NOT FOUND ON CUSTOMS DATABASE' is added to the error text and MST entry
R-GCX122A-cbl-00117 Set Error Flag for DCP Interface
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Error Flag for DCP Interface', assuming that a train report is not found in the database, when an error message has been added for the missing train, the desired outcome is that the dcp interface error flag is set to true.
💻 Technical Criteria
EXCLUDING A train report is not found in the database
When An error message has been added for the missing train
Then The DCP interface error flag is set to true
R-GCX122A-cbl-00118 Is V67 Warning?
Decision Rules
📊 Business Logic Narrative
When the process 'Is V67 Warning?' is invoked, and assuming that a train report is found in the database, when the free form message starts with 'v67', the desired outcome is that the message is identified as a v67 warning and train message type is set.
💻 Technical Criteria
Given A train report is found in the database
When The free form message starts with 'V67'
Then The message is identified as a V67 warning and train message type is set
R-GCX122A-cbl-00119 Set Train Message Type
Process Rules
📊 Business Logic Narrative
When the process 'Set Train Message Type' is invoked, and assuming that a train report is found and the message is a v67 warning, when the v67 warning is being processed, the desired outcome is that the train message type indicator is set to true.
💻 Technical Criteria
Given A train report is found and the message is a V67 warning
When The V67 warning is being processed
Then The train message type indicator is set to true
R-GCX122A-cbl-00381 Access GCSB4RT Database
Action Rules
📊 Business Logic Narrative
When the process 'Access GCSB4RT Database' is invoked, and assuming that a valid train reference number for processing, when the system needs to retrieve train report data, the desired outcome is that the system accesses gcsb4rt database with ge status and the reference number as key.
💻 Technical Criteria
Given A valid train reference number for processing
When The system needs to retrieve train report data
Then The system accesses GCSB4RT database with GE status and the reference number as key
R-GCX122A-cbl-00383 Set Train Report Not Found Message
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Train Report Not Found Message', assuming that a train report lookup that returns no results and the message is not a v67 warning, when the free form message does not start with 'v67', the desired outcome is that the system adds message 'train report not found on customs database' and sets dcp interface error flag.
💻 Technical Criteria
EXCLUDING A train report lookup that returns no results and the message is not a V67 warning
When The free form message does not start with 'V67'
Then The system adds message 'TRAIN REPORT NOT FOUND ON CUSTOMS DATABASE' and sets DCP interface error flag
R-GCX122A-cbl-00384 Set Train Report Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Train Report Found Flag' is invoked, and assuming that a train report database lookup request, when the database returns a valid train report record, the desired outcome is that the system sets the train report found flag to true.
💻 Technical Criteria
Given A train report database lookup request
When The database returns a valid train report record
Then The system sets the train report found flag to true
R-GCX122A-cbl-00385 Set Train Report Found Flag
Decision Rules
📊 Business Logic Narrative
When the process 'Set Train Report Found Flag' is invoked, and assuming that a train report is found in the database and the message is a v67 warning, when the free form message starts with 'v67', the desired outcome is that the system sets the train type indicator to true.
💻 Technical Criteria
Given A train report is found in the database and the message is a V67 warning
When The free form message starts with 'V67'
Then The system sets the train type indicator to true
R-GCX122A-cbl-00485 T2 Table Found?
Validation Rules
📊 Business Logic Narrative
When the process 'T2 Table Found?' is invoked, and assuming that the system needs to update test train acknowledgment timestamps, when the t2 test table lookup is performed, the desired outcome is that if the table is not found, the system reports a configuration error and stops processing.
💻 Technical Criteria
Given The system needs to update test train acknowledgment timestamps
When The T2 test table lookup is performed
Then If the table is not found, the system reports a configuration error and stops processing
R-GCX122A-cbl-00147 Set Error Resend Flag
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Error Resend Flag', assuming that a train report is found and is not deleted or delete-pending, when processing an error message for the train, the desired outcome is that set the security error resend flag to 'y' to indicate the record needs error processing.
💻 Technical Criteria
EXCLUDING A train report is found and is not deleted or delete-pending
When Processing an error message for the train
Then Set the security error resend flag to 'Y' to indicate the record needs error processing
R-GCX122A-cbl-00413 Train Report Found in Database?
Validation Rules
📊 Business Logic Narrative
When the process 'Train Report Found in Database?' is invoked, and assuming that a train error message requires status update, when the system checks for train record existence in the database, the desired outcome is that processing continues only if the train record is found, otherwise the update process is skipped.
💻 Technical Criteria
Given A train error message requires status update
When The system checks for train record existence in the database
Then Processing continues only if the train record is found, otherwise the update process is skipped
R-GCX122A-cbl-00158 Table Entry Found?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Table Entry Found?', assuming that a request to retrieve t2 test table entry has been made, when the table lookup function returns a status indicating entry not found, the desired outcome is that an error is reported indicating test table entry is missing.
💻 Technical Criteria
EXCLUDING A request to retrieve T2 test table entry has been made
When The table lookup function returns a status indicating entry not found
Then An error is reported indicating test table entry is missing
R-GCX122A-cbl-00164 Get Port Code from Train Report
Action Rules
📊 Business Logic Narrative
When the process 'Get Port Code from Train Report' is invoked, and assuming that a train report exists with port of release information, when the system needs to determine email recipients for aei notification, the desired outcome is that the port code is extracted from the train report's port of release field and used as the lookup key.
💻 Technical Criteria
Given A train report exists with port of release information
When The system needs to determine email recipients for AEI notification
Then The port code is extracted from the train report's port of release field and used as the lookup key
R-GCX122A-cbl-00165 Call Database to Get Email Users for Port
Action Rules
📊 Business Logic Narrative
When the process 'Call Database to Get Email Users for Port' is invoked, and assuming that a port code has been extracted from the train report, when the system calls the database lookup service with the port code, the desired outcome is that the database returns email user information for that port code and sets the return code to indicate success or failure.
💻 Technical Criteria
Given A port code has been extracted from the train report
When The system calls the database lookup service with the port code
Then The database returns email user information for that port code and sets the return code to indicate success or failure
R-GCX122A-cbl-00166 Load Retrieved Email Users as Recipients
Decision Rules
📊 Business Logic Narrative
When the process 'Load Retrieved Email Users as Recipients' is invoked, and assuming that the database lookup for port email users returned successfully, when the return code indicates success, the desired outcome is that the default merlin id is set as the sender and up to 10 retrieved email user ids are loaded as recipients.
💻 Technical Criteria
Given The database lookup for port email users returned successfully
When The return code indicates success
Then The default Merlin ID is set as the sender and up to 10 retrieved email user IDs are loaded as recipients
R-GCX122A-cbl-00167 Set Default Merlin ID as Both Sender and Recipient
Decision Rules
📊 Business Logic Narrative
When the process 'Set Default Merlin ID as Both Sender and Recipient' is invoked, and assuming that the database lookup for port email users failed, when the return code indicates failure, the desired outcome is that the default merlin id is set as both the sender and the first recipient.
💻 Technical Criteria
Given The database lookup for port email users failed
When The return code indicates failure
Then The default Merlin ID is set as both the sender and the first recipient
R-GCX122A-cbl-00169 Set Message Subject with Train ID and Status
Computation Rules
📊 Business Logic Narrative
When the process 'Set Message Subject with Train ID and Status' is invoked, and assuming that a train report has a canadian customs train id and current status, when the system formats the aei message subject, the desired outcome is that the subject line is formatted as 'train: [train_id] status: [current_status]'.
💻 Technical Criteria
Given A train report has a Canadian customs train ID and current status
When The system formats the AEI message subject
Then The subject line is formatted as 'TRAIN: [train_id] STATUS: [current_status]'
R-GCX122A-cbl-00177 Send DB2 Error Notification to Support
Decision Rules
📊 Business Logic Narrative
When the process 'Send DB2 Error Notification to Support' is invoked, and assuming that a database error occurred during aei message processing, when the return code indicates a db2 error condition, the desired outcome is that an error notification containing the sql code is sent to the support team and message queue is purged.
💻 Technical Criteria
Given A database error occurred during AEI message processing
When The return code indicates a DB2 error condition
Then An error notification containing the SQL code is sent to the support team and message queue is purged
R-GCX122A-cbl-00425 Extract Port Code from Train Report
Action Rules
📊 Business Logic Narrative
When the process 'Extract Port Code from Train Report' is invoked, and assuming that a train report exists with port of release information, when the system needs to send aei notifications, the desired outcome is that the port code from the train report's port of release field is extracted and used as the lookup key.
💻 Technical Criteria
Given A train report exists with port of release information
When The system needs to send AEI notifications
Then The port code from the train report's port of release field is extracted and used as the lookup key
R-GCX122A-cbl-00426 Set Record Type to CUSEMAIL
Process Rules
📊 Business Logic Narrative
When the process 'Set Record Type to CUSEMAIL' is invoked, and assuming that the system needs to lookup email recipients for a port code, when preparing the database query parameters, the desired outcome is that the record type is set to 'cusemail' to indicate email user lookup.
💻 Technical Criteria
Given The system needs to lookup email recipients for a port code
When Preparing the database query parameters
Then The record type is set to 'CUSEMAIL' to indicate email user lookup
R-GCX122A-cbl-00427 Call Database to Get Email Users
Action Rules
📊 Business Logic Narrative
When the process 'Call Database to Get Email Users' is invoked, and assuming that a port code and record type of cusemail are specified, when the database lookup service is called, the desired outcome is that the system attempts to retrieve email user information for the port code.
💻 Technical Criteria
Given A port code and record type of CUSEMAIL are specified
When The database lookup service is called
Then The system attempts to retrieve email user information for the port code
R-GCX122A-cbl-00498 Call Database to Get Email Recipients
Action Rules
📊 Business Logic Narrative
When the process 'Call Database to Get Email Recipients' is invoked, and assuming that a train status notification needs to be sent and the aei work table is initialized, when the system calls the database with the port code from train position data, the desired outcome is that the system attempts to retrieve corresponding email recipients for that port.
💻 Technical Criteria
Given A train status notification needs to be sent and the AEI work table is initialized
When The system calls the database with the port code from train position data
Then The system attempts to retrieve corresponding email recipients for that port
R-GCX122A-cbl-00182 Add Error Message: No LTERM Found
Process Rules
📊 Business Logic Narrative
When the process 'Add Error Message: No LTERM Found' is invoked, and assuming that a reference number requires processing but no lterm is available, when the system attempts to route messages, the desired outcome is that an error message 'no lterm for this reference number' is added to the message text and mst entry.
💻 Technical Criteria
Given A reference number requires processing but no LTERM is available
When The system attempts to route messages
Then An error message 'NO LTERM FOR THIS REFERENCE NUMBER' is added to the message text and MST entry
R-GCX122A-cbl-00189 Route to Train Message Recipients
Action Rules
📊 Business Logic Narrative
When the process 'Route to Train Message Recipients' is invoked, and assuming that a train-related error message needs distribution, when the system routes the message to train recipients, the desired outcome is that the message is sent to the supervisor merlin id and additionally routed to the caerror system with om01247 as recipient.
💻 Technical Criteria
Given A train-related error message needs distribution
When The system routes the message to train recipients
Then The message is sent to the supervisor Merlin ID and additionally routed to the CAERROR system with OM01247 as recipient
R-GCX122A-cbl-00219 Set Default Recipient to OM01247
Action Rules
📊 Business Logic Narrative
When the process 'Set Default Recipient to OM01247' is invoked, and assuming that the primary train error message send has failed, when a fallback recipient needs to be established, the desired outcome is that the recipient is set to the default support id 'om01247'.
💻 Technical Criteria
Given The primary train error message send has failed
When A fallback recipient needs to be established
Then The recipient is set to the default support ID 'OM01247'
R-GCX122A-cbl-00222 Send Copy to CAERROR File
Process Rules
📊 Business Logic Narrative
When the process 'Send Copy to CAERROR File' is invoked, and assuming that a train error message has been processed, when additional logging is required, the desired outcome is that a copy of the message is sent to the caerror destination file.
💻 Technical Criteria
Given A train error message has been processed
When Additional logging is required
Then A copy of the message is sent to the CAERROR destination file
R-GCX122A-cbl-00223 Set Recipient to OM01247 for Error File
Action Rules
📊 Business Logic Narrative
When the process 'Set Recipient to OM01247 for Error File' is invoked, and assuming that a train error message copy needs to be sent to caerror file, when the error file recipient is being configured, the desired outcome is that the recipient is set to 'om01247' for the error file destination.
💻 Technical Criteria
Given A train error message copy needs to be sent to CAERROR file
When The error file recipient is being configured
Then The recipient is set to 'OM01247' for the error file destination
R-GCX122A-cbl-00224 Send to CAERROR Destination
Action Rules
📊 Business Logic Narrative
When the process 'Send to CAERROR Destination' is invoked, and assuming that a train error message copy is prepared for caerror file with recipient set to om01247, when the system sends the audit copy, the desired outcome is that the message is sent via emcsend2 service to the caerror destination.
💻 Technical Criteria
Given A train error message copy is prepared for CAERROR file with recipient set to OM01247
When The system sends the audit copy
Then The message is sent via EMCSEND2 service to the CAERROR destination
R-GCX122A-cbl-00251 Set Support Personnel as Recipient
Action Rules
📊 Business Logic Narrative
When the process 'Set Support Personnel as Recipient' is invoked, and assuming that a db2 error notification is being prepared, when the system determines the recipient, the desired outcome is that the support personnel id is set as the primary recipient.
💻 Technical Criteria
Given A DB2 error notification is being prepared
When The system determines the recipient
Then The support personnel ID is set as the primary recipient
R-GCX122A-cbl-00253 Set Message Destination to Support Inbox
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Message Destination to Support Inbox' is invoked, and assuming that a db2 error notification is ready to be sent, when the system sets the delivery destination, the desired outcome is that the destination filename is set to the support inbox constant.
💻 Technical Criteria
Given A DB2 error notification is ready to be sent
When The system sets the delivery destination
Then The destination filename is set to the support inbox constant
R-GCX122A-cbl-00254 Send Error Notification to Support
Action Rules
📊 Business Logic Narrative
When the process 'Send Error Notification to Support' is invoked, and assuming that all db2 error message components are prepared, when the system sends the notification, the desired outcome is that the messaging service is called with sender, recipient, subject, and message content.
💻 Technical Criteria
Given All DB2 error message components are prepared
When The system sends the notification
Then The messaging service is called with sender, recipient, subject, and message content
R-GCX122A-cbl-00269 Table T2 Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Table T2 Found?' is invoked, and assuming that the system is attempting to process a test message, when the test configuration table t2 lookup is performed, the desired outcome is that if the table is not found, an error message 't2 check table entry not found' is reported and processing stops.
💻 Technical Criteria
Given The system is attempting to process a test message
When The test configuration table T2 lookup is performed
Then If the table is not found, an error message 'T2 CHECK TABLE ENTRY NOT FOUND' is reported and processing stops
R-GCX122A-cbl-00270 Report Table Not Found Error
Action Rules
📊 Business Logic Narrative
When the process 'Report Table Not Found Error' is invoked, and assuming that the system is processing a test message, when the test configuration table t2 cannot be found or accessed, the desired outcome is that the system reports error message 't2 check table entry not found' and terminates processing.
💻 Technical Criteria
Given The system is processing a test message
When The test configuration table T2 cannot be found or accessed
Then The system reports error message 'T2 CHECK TABLE ENTRY NOT FOUND' and terminates processing
R-GCX122A-cbl-00278 Set Train Report Header Text
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Train Report Header Text' is invoked, and assuming that the input message is identified as a train message (oti-02-train is true), when the system determines the message header text, the desired outcome is that msg-lib is set to 'train report number :'.
💻 Technical Criteria
Given The input message is identified as a train message (OTI-02-TRAIN is true)
When The system determines the message header text
Then MSG-LIB is set to 'TRAIN REPORT NUMBER :'
R-GCX122A-cbl-00284 Set Train Report Label
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Train Report Label' is invoked, and assuming that the incoming message is identified as a train message (oti-02-train is true), when the system determines the message label, the desired outcome is that msg-lib is set to 'train report number :'.
💻 Technical Criteria
Given The incoming message is identified as a train message (OTI-02-TRAIN is true)
When The system determines the message label
Then MSG-LIB is set to 'TRAIN REPORT NUMBER :'
R-GCX122A-cbl-00290 Format Train Report Message
Definitional Rules
📊 Business Logic Narrative
When the process 'Format Train Report Message' is invoked, and assuming that a transaction message is being processed, when the transaction type is identified as train operation, the desired outcome is that the message library text is set to 'train report number :' to indicate train-specific reference numbering.
💻 Technical Criteria
Given A transaction message is being processed
When The transaction type is identified as train operation
Then The message library text is set to 'TRAIN REPORT NUMBER :' to indicate train-specific reference numbering
R-GCX122A-cbl-00323 Set Current Time to ACK Field
Computation Rules
📊 Business Logic Narrative
When the process 'Set Current Time to ACK Field' is invoked, and assuming that the date portion of the test acknowledgment field has been updated, when the system completes the timestamp update, the desired outcome is that the first 4 digits of current machine time are placed in positions 9-12 of the acknowledgment field.
💻 Technical Criteria
Given The date portion of the test acknowledgment field has been updated
When The system completes the timestamp update
Then The first 4 digits of current machine time are placed in positions 9-12 of the acknowledgment field

🔁 EDI, Status & Database 207 logic blocks
R-GCX122A-cbl-00001 2:Process Merlin Configuration
Process Rules
📊 Business Logic Narrative
When the process '2:Process Merlin Configuration' is invoked, and assuming that the program is executing and the first-time processing flag is set, when the system checks if this is the first oti processing, the desired outcome is that the system processes merlin configuration, validates merlin ids, and initializes reference data, then sets the flag to indicate subsequent processing.
💻 Technical Criteria
Given The program is executing and the first-time processing flag is set
When The system checks if this is the first OTI processing
Then The system processes Merlin configuration, validates Merlin IDs, and initializes reference data, then sets the flag to indicate subsequent processing
R-GCX122A-cbl-00017 16:Get Supervisor Merlin ID
Process Rules
📊 Business Logic Narrative
When the process '16:Get Supervisor Merlin ID' is invoked, and assuming that a processing terminal identifier, when the system looks up supervisor information in the lt table, the desired outcome is that if table entry found, use alternate terminal if specified and retrieve supervisor merlin id; if supervisor id invalid, add error message and clear user merlin id.
💻 Technical Criteria
Given A processing terminal identifier
When The system looks up supervisor information in the LT table
Then If table entry found, use alternate terminal if specified and retrieve supervisor Merlin ID; if supervisor ID invalid, add error message and clear user Merlin ID
R-GCX122A-cbl-00018 17:Validate Merlin User IDs
Validation Rules
📊 Business Logic Narrative
When the process '17:Validate Merlin User IDs' is invoked, and assuming that dc-p merlin id needs validation for message sending, when the system validates the merlin user id, the desired outcome is that if dc-p1 id not found, add error message indicating invalid dc&p merlin userid.
💻 Technical Criteria
Given DC-P Merlin ID needs validation for message sending
When The system validates the Merlin user ID
Then If DC-P1 ID not found, add error message indicating invalid DC&P Merlin userid
R-GCX122A-cbl-00021 19:Send Train Messages to Merlin
Action Rules
📊 Business Logic Narrative
When the process '19:Send Train Messages to Merlin' is invoked, and assuming that a train-related message and validated user merlin id, when the system sends the message to merlin users, the desired outcome is that send message to user merlin id with fallback to 'om01247' if failed, and additionally send a copy to 'caerror' file with 'om01247' as recipient.
💻 Technical Criteria
Given A train-related message and validated user Merlin ID
When The system sends the message to Merlin users
Then Send message to user Merlin ID with fallback to 'OM01247' if failed, and additionally send a copy to 'CAERROR' file with 'OM01247' as recipient
R-GCX122A-cbl-00022 20:Send MST Messages
Action Rules
📊 Business Logic Narrative
When the process '20:Send MST Messages' is invoked, and assuming that messages ready for distribution and mst processing flag is enabled, when the system sends messages to mst, the desired outcome is that send header message first, then send each message entry using terminal call letters, and finally send wrap-up message.
💻 Technical Criteria
Given Messages ready for distribution and MST processing flag is enabled
When The system sends messages to MST
Then Send header message first, then send each message entry using terminal call letters, and finally send wrap-up message
R-GCX122A-cbl-00027 Save Current Program Name
Process Rules
📊 Business Logic Narrative
When the process 'Save Current Program Name' is invoked, and assuming that a program is executing with an active program name in the control communication block, when the system needs to execute a specific module, the desired outcome is that the current program name must be saved before setting the new module name and restored after module completion.
💻 Technical Criteria
Given A program is executing with an active program name in the control communication block
When The system needs to execute a specific module
Then The current program name must be saved before setting the new module name and restored after module completion
R-GCX122A-cbl-00028 Set Module Name in Control Block
Process Rules
📊 Business Logic Narrative
When the process 'Set Module Name in Control Block' is invoked, and assuming that a module needs to be executed within the system, when the processing context is being established, the desired outcome is that the module name must be assigned to the program field in the control communication block.
💻 Technical Criteria
Given A module needs to be executed within the system
When The processing context is being established
Then The module name must be assigned to the program field in the control communication block
R-GCX122A-cbl-00031 First Time Processing?
Decision Rules
📊 Business Logic Narrative
When the process 'First Time Processing?' is invoked, and assuming that the system is checking processing state, when determining if merlin setup is needed, the desired outcome is that if the first-time processing switch is true, merlin configuration must be processed, otherwise skip to completion.
💻 Technical Criteria
Given The system is checking processing state
When Determining if Merlin setup is needed
Then If the first-time processing switch is true, Merlin configuration must be processed, otherwise skip to completion
R-GCX122A-cbl-00032 Process Merlin Configuration Setup
Action Rules
📊 Business Logic Narrative
When the process 'Process Merlin Configuration Setup' is invoked, and assuming that this is the first time the system is processing messages, when merlin configuration setup is required, the desired outcome is that the system must execute merlin processing routine to retrieve and validate user configurations.
💻 Technical Criteria
Given This is the first time the system is processing messages
When Merlin configuration setup is required
Then The system must execute Merlin processing routine to retrieve and validate user configurations
R-GCX122A-cbl-00033 Set Processing Flag to Not First Time
Process Rules
📊 Business Logic Narrative
When the process 'Set Processing Flag to Not First Time' is invoked, and assuming that first-time merlin configuration setup has been completed, when the processing state needs to be updated, the desired outcome is that the first-time processing switch must be set to false to indicate setup is complete.
💻 Technical Criteria
Given First-time Merlin configuration setup has been completed
When The processing state needs to be updated
Then The first-time processing switch must be set to false to indicate setup is complete
R-GCX122A-cbl-00034 Complete Initialization
Process Rules
📊 Business Logic Narrative
When the process 'Complete Initialization' is invoked, and assuming that system initialization is being completed, when smst processing needs to be enabled, the desired outcome is that the smst-only first record flag must be set to 'y' to indicate first record processing.
💻 Technical Criteria
Given System initialization is being completed
When SMST processing needs to be enabled
Then The SMST-only first record flag must be set to 'Y' to indicate first record processing
R-GCX122A-cbl-00035 Retrieve Administration Table Entry
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Administration Table Entry' is invoked, and assuming that system needs to configure merlin user ids for message routing, when administration table lookup is performed with table id 'ad' and sequence id 'adminid', the desired outcome is that administration table segment is retrieved and stored for further processing.
💻 Technical Criteria
Given System needs to configure Merlin user IDs for message routing
When Administration table lookup is performed with table ID 'AD' and sequence ID 'ADMINID'
Then Administration table segment is retrieved and stored for further processing
R-GCX122A-cbl-00036 Admin Table Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Admin Table Found?' is invoked, and assuming that administration table lookup has been performed, when table lookup return flag equals 0, the desired outcome is that administration table segment is loaded for merlin id extraction, otherwise error message is set and error handling is called.
💻 Technical Criteria
Given Administration table lookup has been performed
When Table lookup return flag equals 0
Then Administration table segment is loaded for Merlin ID extraction, otherwise error message is set and error handling is called
R-GCX122A-cbl-00037 Extract 4 Merlin User IDs from Admin Table
Process Rules
📊 Business Logic Narrative
When the process 'Extract 4 Merlin User IDs from Admin Table' is invoked, and assuming that administration table segment has been successfully retrieved, when merlin id validation process begins, the desired outcome is that four merlin user ids (dc-p-merlin-1, dc-p-merlin-2, dc-p-merlin-3, dc-p-merlin-4) are extracted from administration table for validation.
💻 Technical Criteria
Given Administration table segment has been successfully retrieved
When Merlin ID validation process begins
Then Four Merlin user IDs (DC-P-MERLIN-1, DC-P-MERLIN-2, DC-P-MERLIN-3, DC-P-MERLIN-4) are extracted from administration table for validation
R-GCX122A-cbl-00038 Validate DC-P Merlin ID #1
Validation Rules
📊 Business Logic Narrative
When the process 'Validate DC-P Merlin ID #1' is invoked, and assuming that dc-p merlin id #1 has been extracted from administration table, when user id validation is performed against user directory, the desired outcome is that user id validation status is determined for further processing.
💻 Technical Criteria
Given DC-P Merlin ID #1 has been extracted from administration table
When User ID validation is performed against user directory
Then User ID validation status is determined for further processing
R-GCX122A-cbl-00039 Set DC-P Merlin ID as Valid
Decision Rules
📊 Business Logic Narrative
When the process 'Set DC-P Merlin ID as Valid' is invoked, and assuming that dc-p merlin id #1 validation has been performed, when user directory status code is blank indicating valid user, the desired outcome is that dc-p merlin id is stored as valid and dc-p id found flag is set to true.
💻 Technical Criteria
Given DC-P Merlin ID #1 validation has been performed
When User directory status code is blank indicating valid user
Then DC-P Merlin ID is stored as valid and DC-P ID found flag is set to true
R-GCX122A-cbl-00040 Set Default ID 'OM01247' for DC-P Mark as Invalid
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Default ID 'OM01247' for DC-P Mark as Invalid', assuming that dc-p merlin id #1 validation has been performed, when user directory status code is not blank indicating invalid user, the desired outcome is that default id 'om01247' is assigned to dc-p merlin id and dc-p id not found flag is set to true.
💻 Technical Criteria
EXCLUDING DC-P Merlin ID #1 validation has been performed
When User directory status code is not blank indicating invalid user
Then Default ID 'OM01247' is assigned to DC-P Merlin ID and DC-P ID not found flag is set to true
R-GCX122A-cbl-00041 Validate IFS Merlin ID #2
Validation Rules
📊 Business Logic Narrative
When the process 'Validate IFS Merlin ID #2' is invoked, and assuming that dc-p merlin id #2 has been extracted from administration table, when user id validation is performed against user directory, the desired outcome is that user id validation status is determined for ifs system routing.
💻 Technical Criteria
Given DC-P Merlin ID #2 has been extracted from administration table
When User ID validation is performed against user directory
Then User ID validation status is determined for IFS system routing
R-GCX122A-cbl-00042 Set IFS Merlin ID as Valid
Decision Rules
📊 Business Logic Narrative
When the process 'Set IFS Merlin ID as Valid' is invoked, and assuming that dc-p merlin id #2 validation has been performed, when user directory status code is blank indicating valid user, the desired outcome is that ifs merlin id is stored as valid for ifs system message routing.
💻 Technical Criteria
Given DC-P Merlin ID #2 validation has been performed
When User directory status code is blank indicating valid user
Then IFS Merlin ID is stored as valid for IFS system message routing
R-GCX122A-cbl-00043 Use DC-P Default ID for IFS
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use DC-P Default ID for IFS', assuming that dc-p merlin id #2 validation has been performed, when user directory status code is not blank indicating invalid user, the desired outcome is that dc-p merlin id #1 is assigned to ifs merlin id as fallback.
💻 Technical Criteria
EXCLUDING DC-P Merlin ID #2 validation has been performed
When User directory status code is not blank indicating invalid user
Then DC-P Merlin ID #1 is assigned to IFS Merlin ID as fallback
R-GCX122A-cbl-00044 Validate HHS Merlin ID #3
Validation Rules
📊 Business Logic Narrative
When the process 'Validate HHS Merlin ID #3' is invoked, and assuming that dc-p merlin id #3 has been extracted from administration table, when user id validation is performed against user directory, the desired outcome is that user id validation status is determined for hhs system routing.
💻 Technical Criteria
Given DC-P Merlin ID #3 has been extracted from administration table
When User ID validation is performed against user directory
Then User ID validation status is determined for HHS system routing
R-GCX122A-cbl-00045 Set HHS Merlin ID as Valid
Decision Rules
📊 Business Logic Narrative
When the process 'Set HHS Merlin ID as Valid' is invoked, and assuming that dc-p merlin id #3 validation has been performed, when user directory status code is blank indicating valid user, the desired outcome is that hhs merlin id is stored as valid for hhs system message routing.
💻 Technical Criteria
Given DC-P Merlin ID #3 validation has been performed
When User directory status code is blank indicating valid user
Then HHS Merlin ID is stored as valid for HHS system message routing
R-GCX122A-cbl-00046 Use DC-P Default ID for HHS
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use DC-P Default ID for HHS', assuming that dc-p merlin id #3 validation has been performed, when user directory status code is not blank indicating invalid user, the desired outcome is that dc-p merlin id #1 is assigned to hhs merlin id as fallback.
💻 Technical Criteria
EXCLUDING DC-P Merlin ID #3 validation has been performed
When User directory status code is not blank indicating invalid user
Then DC-P Merlin ID #1 is assigned to HHS Merlin ID as fallback
R-GCX122A-cbl-00047 Validate IMS Merlin ID #4
Validation Rules
📊 Business Logic Narrative
When the process 'Validate IMS Merlin ID #4' is invoked, and assuming that dc-p merlin id #4 has been extracted from administration table, when user id validation is performed against user directory, the desired outcome is that user id validation status is determined for ims system routing.
💻 Technical Criteria
Given DC-P Merlin ID #4 has been extracted from administration table
When User ID validation is performed against user directory
Then User ID validation status is determined for IMS system routing
R-GCX122A-cbl-00048 Set IMS Merlin ID as Valid
Decision Rules
📊 Business Logic Narrative
When the process 'Set IMS Merlin ID as Valid' is invoked, and assuming that dc-p merlin id #4 validation has been performed, when user directory status code is blank indicating valid user, the desired outcome is that ims merlin id is stored as valid for ims system message routing.
💻 Technical Criteria
Given DC-P Merlin ID #4 validation has been performed
When User directory status code is blank indicating valid user
Then IMS Merlin ID is stored as valid for IMS system message routing
R-GCX122A-cbl-00049 Use DC-P Default ID for IMS
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use DC-P Default ID for IMS', assuming that dc-p merlin id #4 validation has been performed, when user directory status code is not blank indicating invalid user, the desired outcome is that dc-p merlin id #1 is assigned to ims merlin id as fallback.
💻 Technical Criteria
EXCLUDING DC-P Merlin ID #4 validation has been performed
When User directory status code is not blank indicating invalid user
Then DC-P Merlin ID #1 is assigned to IMS Merlin ID as fallback
R-GCX122A-cbl-00335 Retrieve Administration Table Entry - Access GCSTBRT table with 'AD' table ID and 'ADMINID' sequence to get Merlin user configuration data
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Administration Table Entry - Access GCSTBRT table with 'AD' table ID and 'ADMINID' sequence to get Merlin user configuration data' is invoked, and assuming that the system needs to access administration configuration data, when a request is made to retrieve the administration table entry with table id 'ad' and sequence id 'adminid', the desired outcome is that the system should retrieve the administration segment containing merlin user configuration data.
💻 Technical Criteria
Given The system needs to access administration configuration data
When A request is made to retrieve the administration table entry with table ID 'AD' and sequence ID 'ADMINID'
Then The system should retrieve the administration segment containing Merlin user configuration data
R-GCX122A-cbl-00337 Return Flag = 0?, Move Retrieved Segment to Administration Segment
Validation Rules
📊 Business Logic Narrative
When the process 'Return Flag = 0?, Move Retrieved Segment to Administration Segment' is invoked, and assuming that a table segment retrieval operation has been executed for administration data, when the return flag equals 0 indicating successful retrieval, the desired outcome is that the retrieved table segment should be moved to the administration segment structure for further processing.
💻 Technical Criteria
Given A table segment retrieval operation has been executed for administration data
When The return flag equals 0 indicating successful retrieval
Then The retrieved table segment should be moved to the administration segment structure for further processing
R-GCX122A-cbl-00338 Set Error Message: Admin Table Not Found, Call Error Handler
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Error Message: Admin Table Not Found, Call Error Handler', assuming that a table segment retrieval operation has been executed for administration data, when the return flag is not equal to 0 indicating retrieval failure, the desired outcome is that an error message should be set indicating admin table not found and the error handler should be called.
💻 Technical Criteria
EXCLUDING A table segment retrieval operation has been executed for administration data
When The return flag is not equal to 0 indicating retrieval failure
Then An error message should be set indicating admin table not found and the error handler should be called
R-GCX122A-cbl-00050 Validate DC-P Merlin ID 1
Validation Rules
📊 Business Logic Narrative
When the process 'Validate DC-P Merlin ID 1' is invoked, and assuming that the system has retrieved dc-p merlin id 1 from the admin configuration table, when the system validates this merlin id against the user directory, the desired outcome is that if the id is valid, it is set as the dcp merlin id and marked as found, otherwise the default 'om01247' is used as dcp merlin id and the original id is marked as not found.
💻 Technical Criteria
Given The system has retrieved DC-P Merlin ID 1 from the admin configuration table
When The system validates this Merlin ID against the user directory
Then If the ID is valid, it is set as the DCP Merlin ID and marked as found, otherwise the default 'OM01247' is used as DCP Merlin ID and the original ID is marked as not found
R-GCX122A-cbl-00051 Validate DC-P Merlin ID 2
Validation Rules
📊 Business Logic Narrative
When the process 'Validate DC-P Merlin ID 2' is invoked, and assuming that the system has the dc-p merlin id 2 from the admin configuration and the validated dcp merlin id, when the system validates dc-p merlin id 2 against the user directory, the desired outcome is that if the id is valid, it is set as the ifs merlin id, otherwise the dcp merlin id is used as the ifs merlin id.
💻 Technical Criteria
Given The system has the DC-P Merlin ID 2 from the admin configuration and the validated DCP Merlin ID
When The system validates DC-P Merlin ID 2 against the user directory
Then If the ID is valid, it is set as the IFS Merlin ID, otherwise the DCP Merlin ID is used as the IFS Merlin ID
R-GCX122A-cbl-00052 Validate DC-P Merlin ID 3
Validation Rules
📊 Business Logic Narrative
When the process 'Validate DC-P Merlin ID 3' is invoked, and assuming that the system has the dc-p merlin id 3 from the admin configuration and the validated dcp merlin id, when the system validates dc-p merlin id 3 against the user directory, the desired outcome is that if the id is valid, it is set as the hhs merlin id, otherwise the dcp merlin id is used as the hhs merlin id.
💻 Technical Criteria
Given The system has the DC-P Merlin ID 3 from the admin configuration and the validated DCP Merlin ID
When The system validates DC-P Merlin ID 3 against the user directory
Then If the ID is valid, it is set as the HHS Merlin ID, otherwise the DCP Merlin ID is used as the HHS Merlin ID
R-GCX122A-cbl-00053 Validate DC-P Merlin ID 4
Validation Rules
📊 Business Logic Narrative
When the process 'Validate DC-P Merlin ID 4' is invoked, and assuming that the system has the dc-p merlin id 4 from the admin configuration and the validated dcp merlin id, when the system validates dc-p merlin id 4 against the user directory, the desired outcome is that if the id is valid, it is set as the ims merlin id, otherwise the dcp merlin id is used as the ims merlin id.
💻 Technical Criteria
Given The system has the DC-P Merlin ID 4 from the admin configuration and the validated DCP Merlin ID
When The system validates DC-P Merlin ID 4 against the user directory
Then If the ID is valid, it is set as the IMS Merlin ID, otherwise the DCP Merlin ID is used as the IMS Merlin ID
R-GCX122A-cbl-00339 Get DC-P Merlin ID 1 from Admin Table GCSTBRT-AD-DC-P-MERLIN-1
Action Rules
📊 Business Logic Narrative
When the process 'Get DC-P Merlin ID 1 from Admin Table GCSTBRT-AD-DC-P-MERLIN-1' is invoked, and assuming that the system needs to validate dc-p merlin user ids, when the administration table lookup is performed with table id 'ad' and sequence id 'adminid', the desired outcome is that the first dc-p merlin id is retrieved from gcstbrt-ad-dc-p-merlin-1 field.
💻 Technical Criteria
Given The system needs to validate DC-P Merlin user IDs
When The administration table lookup is performed with table ID 'AD' and sequence ID 'ADMINID'
Then The first DC-P Merlin ID is retrieved from GCSTBRT-AD-DC-P-MERLIN-1 field
R-GCX122A-cbl-00340 Check ID Exists in EMTZ Segment
Validation Rules
📊 Business Logic Narrative
When the process 'Check ID Exists in EMTZ Segment' is invoked, and assuming that a dc-p merlin id 1 has been retrieved from the administration table, when the system checks the emtz segment for user existence using the merlin id as the key, the desired outcome is that the system determines if the user id exists based on the status code response.
💻 Technical Criteria
Given A DC-P Merlin ID 1 has been retrieved from the administration table
When The system checks the EMTZ segment for user existence using the Merlin ID as the key
Then The system determines if the user ID exists based on the status code response
R-GCX122A-cbl-00341 Use Original Merlin ID Set ID Found Flag
Decision Rules
📊 Business Logic Narrative
When the process 'Use Original Merlin ID Set ID Found Flag' is invoked, and assuming that dc-p merlin id 1 exists in the emtz segment, when the status code indicates successful user validation, the desired outcome is that the original merlin id is stored as ws-dcp-merlin-id and the id found flag is set to true.
💻 Technical Criteria
Given DC-P Merlin ID 1 exists in the EMTZ segment
When The status code indicates successful user validation
Then The original Merlin ID is stored as WS-DCP-MERLIN-ID and the ID found flag is set to true
R-GCX122A-cbl-00342 Set Default ID 'OM01247' Set ID Not Found Flag
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Default ID 'OM01247' Set ID Not Found Flag', assuming that dc-p merlin id 1 does not exist in the emtz segment, when the status code indicates user validation failure, the desired outcome is that the default id 'om01247' is assigned to both gcstbrt-ad-dc-p-merlin-1 and ws-dcp-merlin-id, and the id not found flag is set to true.
💻 Technical Criteria
EXCLUDING DC-P Merlin ID 1 does not exist in the EMTZ segment
When The status code indicates user validation failure
Then The default ID 'OM01247' is assigned to both GCSTBRT-AD-DC-P-MERLIN-1 and WS-DCP-MERLIN-ID, and the ID not found flag is set to true
R-GCX122A-cbl-00462 Check if Second Merlin ID Exists in EMTZ Segment
Validation Rules
📊 Business Logic Narrative
When the process 'Check if Second Merlin ID Exists in EMTZ Segment' is invoked, and assuming that the second dc-p merlin id has been retrieved from the admin table, when the system checks if the second merlin id exists in the emtz segment, the desired outcome is that if the second merlin id is valid (status code is space), assign it to ifs merlin id, otherwise assign the first dc-p merlin id as default to ifs merlin id.
💻 Technical Criteria
Given The second DC-P Merlin ID has been retrieved from the admin table
When The system checks if the second Merlin ID exists in the EMTZ segment
Then If the second Merlin ID is valid (status code is space), assign it to IFS Merlin ID, otherwise assign the first DC-P Merlin ID as default to IFS Merlin ID
R-GCX122A-cbl-00463 Set IFS Merlin ID to Second Merlin ID
Decision Rules
📊 Business Logic Narrative
When the process 'Set IFS Merlin ID to Second Merlin ID' is invoked, and assuming that the second dc-p merlin id has been validated successfully in the emtz segment, when the validation status code is space indicating success, the desired outcome is that the system assigns the second dc-p merlin id to the ifs merlin id.
💻 Technical Criteria
Given The second DC-P Merlin ID has been validated successfully in the EMTZ segment
When The validation status code is space indicating success
Then The system assigns the second DC-P Merlin ID to the IFS Merlin ID
R-GCX122A-cbl-00468 Check if Fourth Merlin ID Exists in EMTZ Segment
Validation Rules
📊 Business Logic Narrative
When the process 'Check if Fourth Merlin ID Exists in EMTZ Segment' is invoked, and assuming that the fourth dc-p merlin id has been retrieved from the admin table (gcstbrt-ad-dc-p-merlin-4), when the system checks if this fourth merlin id exists in the emtz segment, the desired outcome is that if the fourth merlin id is valid (status code is space), assign it to ws-ims-merlin-id, otherwise assign the first dc-p merlin id (gcstbrt-ad-dc-p-merlin-1) to ws-ims-merlin-id as default.
💻 Technical Criteria
Given The fourth DC-P Merlin ID has been retrieved from the admin table (GCSTBRT-AD-DC-P-MERLIN-4)
When The system checks if this fourth Merlin ID exists in the EMTZ segment
Then If the fourth Merlin ID is valid (status code is space), assign it to WS-IMS-MERLIN-ID, otherwise assign the first DC-P Merlin ID (GCSTBRT-AD-DC-P-MERLIN-1) to WS-IMS-MERLIN-ID as default
R-GCX122A-cbl-00055 Extract Reference Number from Message
Process Rules
📊 Business Logic Narrative
When the process 'Extract Reference Number from Message' is invoked, and assuming that an oti message is received with a reference number in field oti-03-ref-num, when the system processes the message for reference initialization, the desired outcome is that the reference number is copied to emi-ref, mst-ref, msg-ref-key, and ws-ref-number variables.
💻 Technical Criteria
Given An OTI message is received with a reference number in field OTI-03-REF-NUM
When The system processes the message for reference initialization
Then The reference number is copied to EMI-REF, MST-REF, MSG-REF-KEY, and WS-REF-NUMBER variables
R-GCX122A-cbl-00058 Clear Message Content Areas
Process Rules
📊 Business Logic Narrative
When the process 'Clear Message Content Areas' is invoked, and assuming that the system is preparing message storage areas for new processing, when content areas need to be cleared, the desired outcome is that emi-to-usercode, emi-copy-usercode, emi-keywords, emi-text, emi-return-status-flag, mst-table, mst-call-lettrs, and ws-lterm-process are set to spaces.
💻 Technical Criteria
Given The system is preparing message storage areas for new processing
When Content areas need to be cleared
Then EMI-TO-USERCODE, EMI-COPY-USERCODE, EMI-KEYWORDS, EMI-TEXT, EMI-RETURN-STATUS-FLAG, MST-TABLE, MST-CALL-LETTRS, and WS-LTERM-PROCESS are set to SPACES
R-GCX122A-cbl-00065 Record Acknowledgment Number
Process Rules
📊 Business Logic Narrative
When the process 'Record Acknowledgment Number' is invoked, and assuming that a train acknowledgment is being processed, when the acknowledgment details are recorded, the desired outcome is that the acknowledgment number from bgn-02-ref-num is stored and current date/time is captured for the acknowledgment timestamp.
💻 Technical Criteria
Given A train acknowledgment is being processed
When The acknowledgment details are recorded
Then The acknowledgment number from BGN-02-REF-NUM is stored and current date/time is captured for the acknowledgment timestamp
R-GCX122A-cbl-00073 Update Train Status to ACK
Action Rules
📊 Business Logic Narrative
When the process 'Update Train Status to ACK' is invoked, and assuming that a train acknowledgment has been processed successfully, when the train record has aei-send flag set to 'y', the desired outcome is that an aei notification message is sent containing train id and current status information.
💻 Technical Criteria
Given A train acknowledgment has been processed successfully
When The train record has AEI-SEND flag set to 'Y'
Then An AEI notification message is sent containing train ID and current status information
R-GCX122A-cbl-00082 Record Acknowledgment Reference Number
Process Rules
📊 Business Logic Narrative
When the process 'Record Acknowledgment Reference Number' is invoked, and assuming that a train acknowledgment is being processed, when setting acknowledgment details, the desired outcome is that the system moves the reference number from the bgn segment to the train acknowledgment number field.
💻 Technical Criteria
Given A train acknowledgment is being processed
When Setting acknowledgment details
Then The system moves the reference number from the BGN segment to the train acknowledgment number field
R-GCX122A-cbl-00083 Capture Current Date and Time
Process Rules
📊 Business Logic Narrative
When the process 'Capture Current Date and Time' is invoked, and assuming that a train acknowledgment is being processed, when recording acknowledgment details, the desired outcome is that the system captures machine century, date, and time from the common communication area and formats them into acknowledgment date-time field.
💻 Technical Criteria
Given A train acknowledgment is being processed
When Recording acknowledgment details
Then The system captures machine century, date, and time from the common communication area and formats them into acknowledgment date-time field
R-GCX122A-cbl-00357 Record Acknowledgment Number
Process Rules
📊 Business Logic Narrative
When the process 'Record Acknowledgment Number' is invoked, and assuming that a train acknowledgment is being processed, when the system updates the train record, the desired outcome is that the system records the acknowledgment reference number from the message into the train record.
💻 Technical Criteria
Given A train acknowledgment is being processed
When The system updates the train record
Then The system records the acknowledgment reference number from the message into the train record
R-GCX122A-cbl-00361 AEI Send Flag Enabled?
Decision Rules
📊 Business Logic Narrative
When the process 'AEI Send Flag Enabled?' is invoked, and assuming that a train record has been successfully acknowledged, when the system determines notification requirements, the desired outcome is that the system checks if the aei send flag is set to 'y' (yes) in the train record.
💻 Technical Criteria
Given A train record has been successfully acknowledged
When The system determines notification requirements
Then The system checks if the AEI send flag is set to 'Y' (Yes) in the train record
R-GCX122A-cbl-00362 Send AEI Status Message
Action Rules
📊 Business Logic Narrative
When the process 'Send AEI Status Message' is invoked, and assuming that a train acknowledgment has been processed and aei send flag is enabled, when the system sends notifications, the desired outcome is that the system creates and sends an aei message containing train id and current status.
💻 Technical Criteria
Given A train acknowledgment has been processed and AEI send flag is enabled
When The system sends notifications
Then The system creates and sends an AEI message containing train ID and current status
R-GCX122A-cbl-00473 Use Retrieved Email List
Process Rules
📊 Business Logic Narrative
When the process 'Use Retrieved Email List' is invoked, and assuming that email recipients were successfully retrieved from the customer email table, when the system prepares the aei notification, the desired outcome is that the system populates up to 10 email recipient addresses from the retrieved list and sets default merlin id as sender.
💻 Technical Criteria
Given Email recipients were successfully retrieved from the customer email table
When The system prepares the AEI notification
Then The system populates up to 10 email recipient addresses from the retrieved list and sets default Merlin ID as sender
R-GCX122A-cbl-00474 Use Default Merlin ID
Decision Rules
📊 Business Logic Narrative
When the process 'Use Default Merlin ID' is invoked, and assuming that email recipient lookup failed or returned no results, when the system prepares the aei notification, the desired outcome is that the system sets default merlin id as both sender and first recipient.
💻 Technical Criteria
Given Email recipient lookup failed or returned no results
When The system prepares the AEI notification
Then The system sets default Merlin ID as both sender and first recipient
R-GCX122A-cbl-00476 Send AEI Message to Recipients
Action Rules
📊 Business Logic Narrative
When the process 'Send AEI Message to Recipients' is invoked, and assuming that aei message is formatted with recipients, sender, and status information, when the system sends the aei notification, the desired outcome is that the system calls the email messaging service with formatted message details and item width of 080.
💻 Technical Criteria
Given AEI message is formatted with recipients, sender, and status information
When The system sends the AEI notification
Then The system calls the email messaging service with formatted message details and item width of 080
R-GCX122A-cbl-00477 Send Successful?
Decision Rules
📊 Business Logic Narrative
When the process 'Send Successful?' is invoked, and assuming that the system has attempted to send the primary aei notification, when the email messaging service returns a status, the desired outcome is that the system checks if the return status flag indicates successful delivery.
💻 Technical Criteria
Given The system has attempted to send the primary AEI notification
When The email messaging service returns a status
Then The system checks if the return status flag indicates successful delivery
R-GCX122A-cbl-00478 AEI Message Sent Successfully
Process Rules
📊 Business Logic Narrative
When the process 'AEI Message Sent Successfully' is invoked, and assuming that the primary aei notification was sent successfully, when the system completes aei processing, the desired outcome is that the system purges the message queue and continues normal processing.
💻 Technical Criteria
Given The primary AEI notification was sent successfully
When The system completes AEI processing
Then The system purges the message queue and continues normal processing
R-GCX122A-cbl-00479 Send to Default Recipients OM01247 and AEI9999
Decision Rules
📊 Business Logic Narrative
When the process 'Send to Default Recipients OM01247 and AEI9999' is invoked, and assuming that the primary aei notification send failed, when the system attempts fallback notification, the desired outcome is that the system clears recipient list and sends notification to om01247 as first recipient and aei9999 as second recipient.
💻 Technical Criteria
Given The primary AEI notification send failed
When The system attempts fallback notification
Then The system clears recipient list and sends notification to OM01247 as first recipient and AEI9999 as second recipient
R-GCX122A-cbl-00480 Fallback Send Successful?
Decision Rules
📊 Business Logic Narrative
When the process 'Fallback Send Successful?' is invoked, and assuming that the system has attempted to send aei notification to fallback recipients, when the email messaging service returns a status for the fallback attempt, the desired outcome is that the system checks if the return status flag indicates successful delivery.
💻 Technical Criteria
Given The system has attempted to send AEI notification to fallback recipients
When The email messaging service returns a status for the fallback attempt
Then The system checks if the return status flag indicates successful delivery
R-GCX122A-cbl-00481 Log Send Failure Error
Process Rules
📊 Business Logic Narrative
When the process 'Log Send Failure Error' is invoked, and assuming that both primary and fallback aei notification sends have failed, when the system handles the send failure, the desired outcome is that the system logs error message 'send to file of om01247 failed' and calls error handling routine.
💻 Technical Criteria
Given Both primary and fallback AEI notification sends have failed
When The system handles the send failure
Then The system logs error message 'SEND TO FILE OF OM01247 FAILED' and calls error handling routine
R-GCX122A-cbl-00529 Set Record Type to CUSEMAIL
Process Rules
📊 Business Logic Narrative
When the process 'Set Record Type to CUSEMAIL' is invoked, and assuming that the system needs to query for email recipients, when preparing to query the database for email distribution list, the desired outcome is that the record type is set to 'cusemail' to identify the correct table/record type.
💻 Technical Criteria
Given The system needs to query for email recipients
When Preparing to query the database for email distribution list
Then The record type is set to 'CUSEMAIL' to identify the correct table/record type
R-GCX122A-cbl-00531 Query Successful?
Decision Rules
📊 Business Logic Narrative
When the process 'Query Successful?' is invoked, and assuming that a database query for email recipients has been executed, when the system checks the return code from the database query, the desired outcome is that if return code equals success constant, query is considered successful, otherwise it failed.
💻 Technical Criteria
Given A database query for email recipients has been executed
When The system checks the return code from the database query
Then If return code equals success constant, query is considered successful, otherwise it failed
R-GCX122A-cbl-00532 Loop Through Retrieved Email List
Process Rules
📊 Business Logic Narrative
When the process 'Loop Through Retrieved Email List' is invoked, and assuming that the database query was successful and returned email recipients, when the system processes the retrieved email list, the desired outcome is that the system loops through email recipients from position 1 to 10 or until a blank entry is found.
💻 Technical Criteria
Given The database query was successful and returned email recipients
When The system processes the retrieved email list
Then The system loops through email recipients from position 1 to 10 or until a blank entry is found
R-GCX122A-cbl-00533 More Email Recipients?
Decision Rules
📊 Business Logic Narrative
When the process 'More Email Recipients?' is invoked, and assuming that the system is processing email recipients from the database query result, when the system checks the current email recipient entry, the desired outcome is that if the email user id is not blank and the counter is 10 or less, there are more recipients to process.
💻 Technical Criteria
Given The system is processing email recipients from the database query result
When The system checks the current email recipient entry
Then If the email user ID is not blank and the counter is 10 or less, there are more recipients to process
R-GCX122A-cbl-00534 Add Email Recipient to Distribution List
Process Rules
📊 Business Logic Narrative
When the process 'Add Email Recipient to Distribution List' is invoked, and assuming that a valid email recipient exists in the query results, when the system processes the email recipient, the desired outcome is that the email user id is moved to the corresponding position in the message distribution list.
💻 Technical Criteria
Given A valid email recipient exists in the query results
When The system processes the email recipient
Then The email user ID is moved to the corresponding position in the message distribution list
R-GCX122A-cbl-00535 Use Default Merlin ID as Recipient
Decision Rules
📊 Business Logic Narrative
When the process 'Use Default Merlin ID as Recipient' is invoked, and assuming that the database query for email recipients failed, when the system needs to set up email distribution, the desired outcome is that the default merlin id is used as the first recipient in the distribution list.
💻 Technical Criteria
Given The database query for email recipients failed
When The system needs to set up email distribution
Then The default Merlin ID is used as the first recipient in the distribution list
R-GCX122A-cbl-00536 Set Default Merlin ID as Sender
Process Rules
📊 Business Logic Narrative
When the process 'Set Default Merlin ID as Sender' is invoked, and assuming that the system is preparing to send aei notification messages, when setting up the message sender information, the desired outcome is that the default merlin id is assigned as the from-user-code for the message.
💻 Technical Criteria
Given The system is preparing to send AEI notification messages
When Setting up the message sender information
Then The default Merlin ID is assigned as the from-user-code for the message
R-GCX122A-cbl-00365 Clear GCSA2RT Data
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Clear GCSA2RT Data', assuming that the gcsa2rt segment access has been attempted, when the status code indicates the gcsa2rt record was not found (cc-status-code is not spaces), the desired outcome is that the system moves spaces to gcsccs52 to clear the segment data.
💻 Technical Criteria
EXCLUDING The GCSA2RT segment access has been attempted
When The status code indicates the GCSA2RT record was not found (CC-STATUS-CODE is not spaces)
Then The system moves spaces to GCSCCS52 to clear the segment data
R-GCX122A-cbl-00104 Error Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Error Type?' is invoked, and assuming that an error message has been processed and message text retrieved, when the error type from the message table is evaluated, the desired outcome is that status is set to info for type 'x' with warning messages, warning for type 'x' with error messages, error for other types, or reject for type 'r'.
💻 Technical Criteria
Given An error message has been processed and message text retrieved
When The error type from the message table is evaluated
Then Status is set to INFO for type 'X' with warning messages, WARNING for type 'X' with error messages, ERROR for other types, or REJECT for type 'R'
R-GCX122A-cbl-00486 Record Current Date in T2-358-ACK
Computation Rules
📊 Business Logic Narrative
When the process 'Record Current Date in T2-358-ACK' is invoked, and assuming that a test train acknowledgment is being processed and the t2 table is accessible, when the system updates the test acknowledgment timestamp, the desired outcome is that the current machine date is stored in positions 3-6 of the t2-358-ack field.
💻 Technical Criteria
Given A test train acknowledgment is being processed and the T2 table is accessible
When The system updates the test acknowledgment timestamp
Then The current machine date is stored in positions 3-6 of the T2-358-ACK field
R-GCX122A-cbl-00487 Record Current Century in T2-358-ACK
Computation Rules
📊 Business Logic Narrative
When the process 'Record Current Century in T2-358-ACK' is invoked, and assuming that a test train acknowledgment is being processed and the t2 table is accessible, when the system updates the test acknowledgment timestamp, the desired outcome is that the current machine century is stored in positions 1-2 of the t2-358-ack field.
💻 Technical Criteria
Given A test train acknowledgment is being processed and the T2 table is accessible
When The system updates the test acknowledgment timestamp
Then The current machine century is stored in positions 1-2 of the T2-358-ACK field
R-GCX122A-cbl-00488 Record Current Time in T2-358-ACK
Computation Rules
📊 Business Logic Narrative
When the process 'Record Current Time in T2-358-ACK' is invoked, and assuming that a test train acknowledgment is being processed and the t2 table is accessible, when the system updates the test acknowledgment timestamp, the desired outcome is that the first 4 digits of the current machine time are stored in positions 9-12 of the t2-358-ack field.
💻 Technical Criteria
Given A test train acknowledgment is being processed and the T2 table is accessible
When The system updates the test acknowledgment timestamp
Then The first 4 digits of the current machine time are stored in positions 9-12 of the T2-358-ACK field
R-GCX122A-cbl-00489 Save Updated Test Table
Action Rules
📊 Business Logic Narrative
When the process 'Save Updated Test Table' is invoked, and assuming that the test train acknowledgment timestamps have been updated in memory, when the system completes the timestamp recording, the desired outcome is that the updated t2 table segment is written back to the database using replace operation.
💻 Technical Criteria
Given The test train acknowledgment timestamps have been updated in memory
When The system completes the timestamp recording
Then The updated T2 table segment is written back to the database using replace operation
R-GCX122A-cbl-00537 Update Test Train Acknowledgment Timestamp - Record current system date, century, and time in T2-358-ACK field
Process Rules
📊 Business Logic Narrative
When the process 'Update Test Train Acknowledgment Timestamp - Record current system date, century, and time in T2-358-ACK field' is invoked, and assuming that a test train message is being processed and the t2 table segment has been retrieved, when the system processes the test train acknowledgment, the desired outcome is that the current system date (6 digits), century (2 digits), and time (4 digits) are recorded in the t2-358-ack field with date in positions 3-8, century in positions 1-2, and time in positions 9-12.
💻 Technical Criteria
Given A test train message is being processed and the T2 table segment has been retrieved
When The system processes the test train acknowledgment
Then The current system date (6 digits), century (2 digits), and time (4 digits) are recorded in the T2-358-ACK field with date in positions 3-8, century in positions 1-2, and time in positions 9-12
R-GCX122A-cbl-00540 Save Updated T2 Table Segment
Action Rules
📊 Business Logic Narrative
When the process 'Save Updated T2 Table Segment' is invoked, and assuming that the t2 table segment has been updated with new acknowledgment timestamps, when the timestamp updates are complete, the desired outcome is that the updated t2 table segment is saved back to the database using the repl function.
💻 Technical Criteria
Given The T2 table segment has been updated with new acknowledgment timestamps
When The timestamp updates are complete
Then The updated T2 table segment is saved back to the database using the REPL function
R-GCX122A-cbl-00133 Last Modify Terminal Available?
Decision Rules
📊 Business Logic Narrative
When the process 'Last Modify Terminal Available?' is invoked, and assuming that terminal information needs to be determined for error routing, when the last modify terminal field is evaluated, the desired outcome is that the system determines if a valid last modify terminal exists (not spaces).
💻 Technical Criteria
Given Terminal information needs to be determined for error routing
When The last modify terminal field is evaluated
Then The system determines if a valid last modify terminal exists (not spaces)
R-GCX122A-cbl-00402 Store Terminal for Processing
Process Rules
📊 Business Logic Narrative
When the process 'Store Terminal for Processing' is invoked, and assuming that a terminal has been selected for processing, when the terminal selection is completed, the desired outcome is that the selected terminal is stored in the processing context for message routing.
💻 Technical Criteria
Given A terminal has been selected for processing
When The terminal selection is completed
Then The selected terminal is stored in the processing context for message routing
R-GCX122A-cbl-00493 T2 Table Found?
Validation Rules
📊 Business Logic Narrative
When the process 'T2 Table Found?' is invoked, and assuming that the system attempts to retrieve the t2 test table, when the t2 table retrieval operation is performed, the desired outcome is that if the table is not found (return flag not equal to '0'), log an error message 't2 check table entry not found'.
💻 Technical Criteria
Given The system attempts to retrieve the T2 test table
When The T2 table retrieval operation is performed
Then If the table is not found (return flag not equal to '0'), log an error message 'T2 CHECK TABLE ENTRY NOT FOUND'
R-GCX122A-cbl-00495 Save Updated T2 Table
Action Rules
📊 Business Logic Narrative
When the process 'Save Updated T2 Table' is invoked, and assuming that the t2 table has been updated with test acknowledgment timestamp, when the timestamp update is complete, the desired outcome is that the system should save the updated t2 table segment back to the database using repl function.
💻 Technical Criteria
Given The T2 table has been updated with test acknowledgment timestamp
When The timestamp update is complete
Then The system should save the updated T2 table segment back to the database using REPL function
R-GCX122A-cbl-00542 Table Entry Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Table Entry Found?' is invoked, and assuming that the system has attempted to retrieve the t2 test table entry, when the table retrieval operation completes, the desired outcome is that if the return flag is not '0', the system should display an error message 't2 check table entry not found' and terminate processing.
💻 Technical Criteria
Given The system has attempted to retrieve the T2 test table entry
When The table retrieval operation completes
Then If the return flag is not '0', the system should display an error message 'T2 CHECK TABLE ENTRY NOT FOUND' and terminate processing
R-GCX122A-cbl-00544 Update T2-358-ACK Field for Train Test
Process Rules
📊 Business Logic Narrative
When the process 'Update T2-358-ACK Field for Train Test' is invoked, and assuming that the message type is identified as train test (oti-02-train is true) and t2 table entry is available, when the system processes the train test acknowledgment, the desired outcome is that the system should move the machine century to positions 1-2, machine date to positions 3-8, and machine time (first 4 digits) to positions 9-12 of the t2-358-ack field.
💻 Technical Criteria
Given The message type is identified as train test (OTI-02-TRAIN is true) and T2 table entry is available
When The system processes the train test acknowledgment
Then The system should move the machine century to positions 1-2, machine date to positions 3-8, and machine time (first 4 digits) to positions 9-12 of the T2-358-ACK field
R-GCX122A-cbl-00546 Save Updated T2 Table Entry
Action Rules
📊 Business Logic Narrative
When the process 'Save Updated T2 Table Entry' is invoked, and assuming that the appropriate timestamp field (t2-358-ack or t2-309-ack) has been updated with current system date and time, when the timestamp update is complete, the desired outcome is that the system should perform a repl operation to save the updated t2 table segment back to the database.
💻 Technical Criteria
Given The appropriate timestamp field (T2-358-ACK or T2-309-ACK) has been updated with current system date and time
When The timestamp update is complete
Then The system should perform a REPL operation to save the updated T2 table segment back to the database
R-GCX122A-cbl-00139 Lookup Message in MS Table
Action Rules
📊 Business Logic Narrative
When the process 'Lookup Message in MS Table' is invoked, and assuming that a lookup key has been constructed with table id 'ms' and sequence id, when the system performs a table segment retrieval using function code 'gu', the desired outcome is that query the ms table using the constructed key and return the table segment or error flag.
💻 Technical Criteria
Given A lookup key has been constructed with table ID 'MS' and sequence ID
When The system performs a table segment retrieval using function code 'GU'
Then Query the MS table using the constructed key and return the table segment or error flag
R-GCX122A-cbl-00140 Message Found in Table?
Decision Rules
📊 Business Logic Narrative
When the process 'Message Found in Table?' is invoked, and assuming that a message table lookup has been performed, when the system checks the return flag from the table lookup operation, the desired outcome is that if return flag equals 0, message was found in table, otherwise message was not found and raw error text should be used.
💻 Technical Criteria
Given A message table lookup has been performed
When The system checks the return flag from the table lookup operation
Then If return flag equals 0, message was found in table, otherwise message was not found and raw error text should be used
R-GCX122A-cbl-00143 Format Message for Display
Process Rules
📊 Business Logic Narrative
When the process 'Format Message for Display' is invoked, and assuming that message text has been determined from either table lookup or raw ted message, when the system prepares the message for display, the desired outcome is that add the message text to both emi text line array and mst entry array at current index positions, and increment the text and mst index counters.
💻 Technical Criteria
Given Message text has been determined from either table lookup or raw TED message
When The system prepares the message for display
Then Add the message text to both EMI text line array and MST entry array at current index positions, and increment the text and MST index counters
R-GCX122A-cbl-00145 Add Secondary Error Message
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Add Secondary Error Message', assuming that message was not found in the ms table during lookup, when the system processes the unfound message scenario, the desired outcome is that add a secondary message 'error message not found on table :' with the error number, format it for display and logging, and increment message counters.
💻 Technical Criteria
EXCLUDING Message was not found in the MS table during lookup
When The system processes the unfound message scenario
Then Add a secondary message 'ERROR MESSAGE NOT FOUND ON TABLE :' with the error number, format it for display and logging, and increment message counters
R-GCX122A-cbl-00403 Message Number Available?
Decision Rules
📊 Business Logic Narrative
When the process 'Message Number Available?' is invoked, and assuming that a message processing request is initiated, when the system checks for availability of a predefined message number in gcw122-msg-num, the desired outcome is that if predefined message number exists and is not spaces, use it for key construction, otherwise extract first 3 characters from free-form message text.
💻 Technical Criteria
Given A message processing request is initiated
When The system checks for availability of a predefined message number in GCW122-MSG-NUM
Then If predefined message number exists and is not spaces, use it for key construction, otherwise extract first 3 characters from free-form message text
R-GCX122A-cbl-00406 Set Table ID to 'MS'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Table ID to 'MS'' is invoked, and assuming that a message table lookup operation is required, when the system prepares table access parameters, the desired outcome is that set table identifier to 'ms' to access the message text table.
💻 Technical Criteria
Given A message table lookup operation is required
When The system prepares table access parameters
Then Set table identifier to 'MS' to access the message text table
R-GCX122A-cbl-00407 Call Table Lookup Service
Action Rules
📊 Business Logic Narrative
When the process 'Call Table Lookup Service' is invoked, and assuming that table lookup parameters are prepared with table id 'ms' and constructed sequence id, when the system needs to retrieve standardized message text, the desired outcome is that call gcctbio service with gu function code to perform table segment retrieval.
💻 Technical Criteria
Given Table lookup parameters are prepared with table ID 'MS' and constructed sequence ID
When The system needs to retrieve standardized message text
Then Call GCCTBIO service with GU function code to perform table segment retrieval
R-GCX122A-cbl-00408 Message Text Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Message Text Found?' is invoked, and assuming that table lookup service has been invoked for message text retrieval, when the system evaluates the lookup operation result, the desired outcome is that if gcctbio-return-flag equals 0, message text was found successfully, otherwise message text was not found.
💻 Technical Criteria
Given Table lookup service has been invoked for message text retrieval
When The system evaluates the lookup operation result
Then If GCCTBIO-RETURN-FLAG equals 0, message text was found successfully, otherwise message text was not found
R-GCX122A-cbl-00409 Set Message Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Message Found Flag' is invoked, and assuming that message text was successfully retrieved from the message table (gcctbio-return-flag equals 0), when the system processes the lookup result, the desired outcome is that set sw-gcstbrt-ms-found flag to true, move retrieved table segment to gcstbrt-ms-segment, and store english text in ws-gcstbrt-ms-eng-text.
💻 Technical Criteria
Given Message text was successfully retrieved from the message table (GCCTBIO-RETURN-FLAG equals 0)
When The system processes the lookup result
Then Set SW-GCSTBRT-MS-FOUND flag to true, move retrieved table segment to GCSTBRT-MS-SEGMENT, and store English text in WS-GCSTBRT-MS-ENG-TEXT
R-GCX122A-cbl-00410 Store Retrieved Message Text
Process Rules
📊 Business Logic Narrative
When the process 'Store Retrieved Message Text' is invoked, and assuming that message text was found and message found flag is set to true, when the system stores the retrieved message text, the desired outcome is that extract english text from gcstbrt-ms-eng-text and make it available for message processing operations.
💻 Technical Criteria
Given Message text was found and message found flag is set to true
When The system stores the retrieved message text
Then Extract English text from GCSTBRT-MS-ENG-TEXT and make it available for message processing operations
R-GCX122A-cbl-00411 Set Message Not Found Flag
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Message Not Found Flag', assuming that message text lookup operation failed (gcctbio-return-flag not equal to 0), when the system processes the failed lookup result, the desired outcome is that set sw-gcstbrt-ms-not-found flag to true to indicate message text was not available in the table.
💻 Technical Criteria
EXCLUDING Message text lookup operation failed (GCCTBIO-RETURN-FLAG not equal to 0)
When The system processes the failed lookup result
Then Set SW-GCSTBRT-MS-NOT-FOUND flag to true to indicate message text was not available in the table
R-GCX122A-cbl-00148 Copy Train Key to Error Fields
Process Rules
📊 Business Logic Narrative
When the process 'Copy Train Key to Error Fields' is invoked, and assuming that a train record is being updated with error information, when the error resend flag has been set, the desired outcome is that copy the train key to the security error train field and copy the position date to the security error date field.
💻 Technical Criteria
Given A train record is being updated with error information
When The error resend flag has been set
Then Copy the train key to the security error train field and copy the position date to the security error date field
R-GCX122A-cbl-00149 Error Type = 'R' Reject?
Decision Rules
📊 Business Logic Narrative
When the process 'Error Type = 'R' Reject?' is invoked, and assuming that a train record is being updated with error information, when the message table error type is 'r', the desired outcome is that set train status to 'reject' and current status to 'reject', otherwise set train status to 'error' and current status to 'error'.
💻 Technical Criteria
Given A train record is being updated with error information
When The message table error type is 'R'
Then Set train status to 'REJECT' and current status to 'REJECT', otherwise set train status to 'ERROR' and current status to 'ERROR'
R-GCX122A-cbl-00150 Update Train Record in Database
Action Rules
📊 Business Logic Narrative
When the process 'Update Train Record in Database' is invoked, and assuming that train record status and error information have been updated, when all train record modifications are complete, the desired outcome is that replace the train record in the database with the updated information.
💻 Technical Criteria
Given Train record status and error information have been updated
When All train record modifications are complete
Then Replace the train record in the database with the updated information
R-GCX122A-cbl-00151 Send AEI Message if Required
Action Rules
📊 Business Logic Narrative
When the process 'Send AEI Message if Required' is invoked, and assuming that a train record has been updated with new status information, when the train record has aei send flag set to 'y', the desired outcome is that send an aei message containing the train id and current status.
💻 Technical Criteria
Given A train record has been updated with new status information
When The train record has AEI send flag set to 'Y'
Then Send an AEI message containing the train ID and current status
R-GCX122A-cbl-00412 Error Type = 'X' Info Only?
Decision Rules
📊 Business Logic Narrative
When the process 'Error Type = 'X' Info Only?' is invoked, and assuming that a train error message is being processed, when the error type is 'x' indicating informational message only, the desired outcome is that the system sets status to warning for warning items or info for other items and exits without database updates.
💻 Technical Criteria
Given A train error message is being processed
When The error type is 'X' indicating informational message only
Then The system sets status to WARNING for warning items or INFO for other items and exits without database updates
R-GCX122A-cbl-00414 Train Deleted or Delete Pending?
Process Rules
📊 Business Logic Narrative
When the process 'Train Deleted or Delete Pending?' is invoked, and assuming that a train record exists in the database, when the train record is marked as deleted or delete pending, the desired outcome is that the system skips the status update process for this record.
💻 Technical Criteria
Given A train record exists in the database
When The train record is marked as deleted or delete pending
Then The system skips the status update process for this record
R-GCX122A-cbl-00415 Set Resend Flag to 'Y'
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Resend Flag to 'Y'', assuming that a train record requires error status update and is not deleted, when the system processes the error update, the desired outcome is that the resend flag is set to 'y', train key is copied to error train field, and position date is copied to error date field.
💻 Technical Criteria
EXCLUDING A train record requires error status update and is not deleted
When The system processes the error update
Then The resend flag is set to 'Y', train key is copied to error train field, and position date is copied to error date field
R-GCX122A-cbl-00416 Error Type = 'R' Reject?
Decision Rules
📊 Business Logic Narrative
When the process 'Error Type = 'R' Reject?' is invoked, and assuming that a train record is being updated with an error message, when the error type is 'r' indicating a rejection, the desired outcome is that the system sets reject status flag, train status to reject, and current status to 'reject'.
💻 Technical Criteria
Given A train record is being updated with an error message
When The error type is 'R' indicating a rejection
Then The system sets reject status flag, train status to REJECT, and current status to 'REJECT'
R-GCX122A-cbl-00417 Set ERROR Status
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set ERROR Status', assuming that a train record is being updated with an error message, when the error type is not 'r', the desired outcome is that the system sets error status flag, train status to error, and current status to 'error'.
💻 Technical Criteria
EXCLUDING A train record is being updated with an error message
When The error type is not 'R'
Then The system sets error status flag, train status to ERROR, and current status to 'ERROR'
R-GCX122A-cbl-00418 Save Train Root Segment
Process Rules
📊 Business Logic Narrative
When the process 'Save Train Root Segment' is invoked, and assuming that a train record status update is being performed, when the system needs to update the database record, the desired outcome is that the current train root segment is saved, the record is retrieved from database, the saved segment is restored, and the record is replaced in the database.
💻 Technical Criteria
Given A train record status update is being performed
When The system needs to update the database record
Then The current train root segment is saved, the record is retrieved from database, the saved segment is restored, and the record is replaced in the database
R-GCX122A-cbl-00419 AEI Send Flag = 'Y'?
Action Rules
📊 Business Logic Narrative
When the process 'AEI Send Flag = 'Y'?' is invoked, and assuming that a train record status has been successfully updated, when the aei send flag is set to 'y' for the train record, the desired outcome is that the system sends an aei status message containing train id and current status.
💻 Technical Criteria
Given A train record status has been successfully updated
When The AEI send flag is set to 'Y' for the train record
Then The system sends an AEI status message containing train ID and current status
R-GCX122A-cbl-00159 Update Train Test ACK Date/Time T2-358-ACK
Process Rules
📊 Business Logic Narrative
When the process 'Update Train Test ACK Date/Time T2-358-ACK' is invoked, and assuming that a train test message is being processed and t2 table entry exists, when the message type is identified as train test, the desired outcome is that the current machine date and time are stored in t2-358-ack field with century, date, and time components.
💻 Technical Criteria
Given A train test message is being processed and T2 table entry exists
When The message type is identified as train test
Then The current machine date and time are stored in T2-358-ACK field with century, date, and time components
R-GCX122A-cbl-00161 Save Updated Test Table
Action Rules
📊 Business Logic Narrative
When the process 'Save Updated Test Table' is invoked, and assuming that test acknowledgment timestamps have been updated in memory, when the timestamp updates are complete, the desired outcome is that the modified t2 table segment is saved using replace function.
💻 Technical Criteria
Given Test acknowledgment timestamps have been updated in memory
When The timestamp updates are complete
Then The modified T2 table segment is saved using replace function
R-GCX122A-cbl-00170 Call Email Service to Send Message
Action Rules
📊 Business Logic Narrative
When the process 'Call Email Service to Send Message' is invoked, and assuming that aei message content and recipients are prepared, when the system calls the email service to send the message, the desired outcome is that the email service processes the message and returns a status flag indicating success or failure.
💻 Technical Criteria
Given AEI message content and recipients are prepared
When The system calls the email service to send the message
Then The email service processes the message and returns a status flag indicating success or failure
R-GCX122A-cbl-00171 AEI Message Sent Successfully
Decision Rules
📊 Business Logic Narrative
When the process 'AEI Message Sent Successfully' is invoked, and assuming that the email service successfully sent the aei message, when the return status flag indicates successful transmission, the desired outcome is that the system continues to message queue purging without further action.
💻 Technical Criteria
Given The email service successfully sent the AEI message
When The return status flag indicates successful transmission
Then The system continues to message queue purging without further action
R-GCX122A-cbl-00172 Send to Default Recipients OM01247 and AEI9999
Decision Rules
📊 Business Logic Narrative
When the process 'Send to Default Recipients OM01247 and AEI9999' is invoked, and assuming that the primary aei message send failed, when the return status flag indicates transmission failure, the desired outcome is that the system clears recipient fields and sets om01247 as first recipient and aei9999 as second recipient.
💻 Technical Criteria
Given The primary AEI message send failed
When The return status flag indicates transmission failure
Then The system clears recipient fields and sets OM01247 as first recipient and AEI9999 as second recipient
R-GCX122A-cbl-00173 Call Email Service Again
Action Rules
📊 Business Logic Narrative
When the process 'Call Email Service Again' is invoked, and assuming that default recipients om01247 and aei9999 have been set, when the system retries the email service call, the desired outcome is that the email service processes the message to default recipients and returns a status flag.
💻 Technical Criteria
Given Default recipients OM01247 and AEI9999 have been set
When The system retries the email service call
Then The email service processes the message to default recipients and returns a status flag
R-GCX122A-cbl-00174 Second Send Successful
Decision Rules
📊 Business Logic Narrative
When the process 'Second Send Successful' is invoked, and assuming that the retry to default recipients was attempted, when the return status flag indicates successful transmission to defaults, the desired outcome is that the system continues to message queue purging.
💻 Technical Criteria
Given The retry to default recipients was attempted
When The return status flag indicates successful transmission to defaults
Then The system continues to message queue purging
R-GCX122A-cbl-00175 Log Error - Send to OM01247 Failed
Decision Rules
📊 Business Logic Narrative
When the process 'Log Error - Send to OM01247 Failed' is invoked, and assuming that both the primary message send and retry to default recipients failed, when the return status flag indicates failure for the second attempt, the desired outcome is that the system logs an error message 'send to file of om01247 failed' and calls the error handler.
💻 Technical Criteria
Given Both the primary message send and retry to default recipients failed
When The return status flag indicates failure for the second attempt
Then The system logs an error message 'SEND TO FILE OF OM01247 FAILED' and calls the error handler
R-GCX122A-cbl-00176 Purge Message Queue
Process Rules
📊 Business Logic Narrative
When the process 'Purge Message Queue' is invoked, and assuming that aei message processing has completed either successfully or with errors, when the system needs to clean up resources, the desired outcome is that the message queue is purged and communication status is initialized.
💻 Technical Criteria
Given AEI message processing has completed either successfully or with errors
When The system needs to clean up resources
Then The message queue is purged and communication status is initialized
R-GCX122A-cbl-00428 Email Users Found?
Decision Rules
📊 Business Logic Narrative
When the process 'Email Users Found?' is invoked, and assuming that a database lookup for email recipients has been performed, when the system evaluates the lookup results, the desired outcome is that if the return code indicates success, use retrieved recipients; otherwise use default recipient.
💻 Technical Criteria
Given A database lookup for email recipients has been performed
When The system evaluates the lookup results
Then If the return code indicates success, use retrieved recipients; otherwise use default recipient
R-GCX122A-cbl-00429 Use Retrieved Email Recipients
Process Rules
📊 Business Logic Narrative
When the process 'Use Retrieved Email Recipients' is invoked, and assuming that the database lookup successfully returned email recipients, when building the recipient list for aei notifications, the desired outcome is that the system iterates through up to 10 returned email addresses and adds non-blank entries to the recipient list.
💻 Technical Criteria
Given The database lookup successfully returned email recipients
When Building the recipient list for AEI notifications
Then The system iterates through up to 10 returned email addresses and adds non-blank entries to the recipient list
R-GCX122A-cbl-00430 Use Default Merlin ID as Recipient
Decision Rules
📊 Business Logic Narrative
When the process 'Use Default Merlin ID as Recipient' is invoked, and assuming that the database lookup for email recipients failed or returned no results, when building the recipient list for aei notifications, the desired outcome is that the system uses the default merlin id as both the sender and the first recipient.
💻 Technical Criteria
Given The database lookup for email recipients failed or returned no results
When Building the recipient list for AEI notifications
Then The system uses the default Merlin ID as both the sender and the first recipient
R-GCX122A-cbl-00431 Prepare Email User List for AEI Message
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Email User List for AEI Message' is invoked, and assuming that email recipients have been determined (either from database or default), when preparing to send aei notification, the desired outcome is that the system sets the default merlin id as sender, configures recipient list, clears copy and keyword fields, sets message width to 080, and initializes return status.
💻 Technical Criteria
Given Email recipients have been determined (either from database or default)
When Preparing to send AEI notification
Then The system sets the default Merlin ID as sender, configures recipient list, clears copy and keyword fields, sets message width to 080, and initializes return status
R-GCX122A-cbl-00497 Initialize AEI Work Table
Process Rules
📊 Business Logic Narrative
When the process 'Initialize AEI Work Table' is invoked, and assuming that an aei message needs to be sent for train status notification, when the system begins the aei message process, the desired outcome is that the aei work table structure is initialized to prepare for email recipient lookup.
💻 Technical Criteria
Given An AEI message needs to be sent for train status notification
When The system begins the AEI message process
Then The AEI work table structure is initialized to prepare for email recipient lookup
R-GCX122A-cbl-00499 Use Retrieved Email Recipients
Decision Rules
📊 Business Logic Narrative
When the process 'Use Retrieved Email Recipients' is invoked, and assuming that the database call to retrieve email recipients returns successfully, when the return code indicates success, the desired outcome is that the system populates the recipient list with up to 10 email addresses from the database result and sets the default merlin id as sender.
💻 Technical Criteria
Given The database call to retrieve email recipients returns successfully
When The return code indicates success
Then The system populates the recipient list with up to 10 email addresses from the database result and sets the default Merlin ID as sender
R-GCX122A-cbl-00500 Use Default Merlin ID Recipients
Decision Rules
📊 Business Logic Narrative
When the process 'Use Default Merlin ID Recipients' is invoked, and assuming that the database call to retrieve email recipients fails or returns no results, when the return code indicates failure or no recipients found, the desired outcome is that the system sets the default merlin id as both sender and first recipient in the recipient list.
💻 Technical Criteria
Given The database call to retrieve email recipients fails or returns no results
When The return code indicates failure or no recipients found
Then The system sets the default Merlin ID as both sender and first recipient in the recipient list
R-GCX122A-cbl-00501 Set Message Subject and Format
Process Rules
📊 Business Logic Narrative
When the process 'Set Message Subject and Format' is invoked, and assuming that email recipients have been determined and train status information is available, when the system prepares the aei message content, the desired outcome is that the message subject is formatted as 'train: [train_id] status: [current_status]' and message formatting parameters are set.
💻 Technical Criteria
Given Email recipients have been determined and train status information is available
When The system prepares the AEI message content
Then The message subject is formatted as 'TRAIN: [train_id] STATUS: [current_status]' and message formatting parameters are set
R-GCX122A-cbl-00502 Call Email Send Service
Action Rules
📊 Business Logic Narrative
When the process 'Call Email Send Service' is invoked, and assuming that the aei message is formatted with subject, recipients, and content, when the system calls the email send service, the desired outcome is that the email service processes the send request and returns a status indicating success or failure.
💻 Technical Criteria
Given The AEI message is formatted with subject, recipients, and content
When The system calls the email send service
Then The email service processes the send request and returns a status indicating success or failure
R-GCX122A-cbl-00503 Message Sent Successfully
Decision Rules
📊 Business Logic Narrative
When the process 'Message Sent Successfully' is invoked, and assuming that the email send service is called with the aei message, when the email send service returns a successful status, the desired outcome is that the aei message process completes successfully and no further action is required.
💻 Technical Criteria
Given The email send service is called with the AEI message
When The email send service returns a successful status
Then The AEI message process completes successfully and no further action is required
R-GCX122A-cbl-00504 Send to Backup Recipients OM01247 and AEI9999
Decision Rules
📊 Business Logic Narrative
When the process 'Send to Backup Recipients OM01247 and AEI9999' is invoked, and assuming that the primary email send operation fails, when the email send service returns a failure status, the desired outcome is that the system clears the recipient list and sets 'om01247' as first recipient and 'aei9999' as second recipient, then attempts to send the message again.
💻 Technical Criteria
Given The primary email send operation fails
When The email send service returns a failure status
Then The system clears the recipient list and sets 'OM01247' as first recipient and 'AEI9999' as second recipient, then attempts to send the message again
R-GCX122A-cbl-00505 Process Complete
Decision Rules
📊 Business Logic Narrative
When the process 'Process Complete' is invoked, and assuming that the backup email send service is called after primary send failure, when the backup email send service returns a successful status, the desired outcome is that the aei message process completes successfully using the backup recipients.
💻 Technical Criteria
Given The backup email send service is called after primary send failure
When The backup email send service returns a successful status
Then The AEI message process completes successfully using the backup recipients
R-GCX122A-cbl-00506 Log Send Failure Error
Decision Rules
📊 Business Logic Narrative
When the process 'Log Send Failure Error' is invoked, and assuming that both primary and backup email send operations fail, when the backup email send service also returns a failure status, the desired outcome is that the system logs the error message 'send to file of om01247 failed' and calls the error handling routine.
💻 Technical Criteria
Given Both primary and backup email send operations fail
When The backup email send service also returns a failure status
Then The system logs the error message 'SEND TO FILE OF OM01247 FAILED' and calls the error handling routine
R-GCX122A-cbl-00507 Process Complete
Decision Rules
📊 Business Logic Narrative
When the process 'Process Complete' is invoked, and assuming that the database call returns a db2 error condition, when the return code indicates a db2 error, the desired outcome is that the system performs db2 abend processing to handle the database error condition.
💻 Technical Criteria
Given The database call returns a DB2 error condition
When The return code indicates a DB2 error
Then The system performs DB2 abend processing to handle the database error condition
R-GCX122A-cbl-00180 Set MST Call Letters from LTERM
Action Rules
📊 Business Logic Narrative
When the process 'Set MST Call Letters from LTERM' is invoked, and assuming that a valid lterm is available for processing, when the system needs to set up mst communication parameters, the desired outcome is that the mst call letters are assigned from the lterm mst configuration.
💻 Technical Criteria
Given A valid LTERM is available for processing
When The system needs to set up MST communication parameters
Then The MST call letters are assigned from the LTERM MST configuration
R-GCX122A-cbl-00181 Get Supervisor Merlin ID from Terminal
Action Rules
📊 Business Logic Narrative
When the process 'Get Supervisor Merlin ID from Terminal' is invoked, and assuming that a valid lterm process terminal is identified, when the system looks up terminal configuration in the lt table, the desired outcome is that the supervisor merlin id is retrieved from the terminal configuration if the table entry exists, otherwise terminal segment is cleared.
💻 Technical Criteria
Given A valid LTERM process terminal is identified
When The system looks up terminal configuration in the LT table
Then The supervisor Merlin ID is retrieved from the terminal configuration if the table entry exists, otherwise terminal segment is cleared
R-GCX122A-cbl-00183 Set Flag: Don't Process MST
Process Rules
📊 Business Logic Narrative
When the process 'Set Flag: Don't Process MST' is invoked, and assuming that mst processing cannot proceed due to missing lterm or other conditions, when the system encounters a blocking condition for mst processing, the desired outcome is that the mst processing flag is set to indicate mst processing should not continue.
💻 Technical Criteria
Given MST processing cannot proceed due to missing LTERM or other conditions
When The system encounters a blocking condition for MST processing
Then The MST processing flag is set to indicate MST processing should not continue
R-GCX122A-cbl-00184 Check All Merlin User IDs
Validation Rules
📊 Business Logic Narrative
When the process 'Check All Merlin User IDs' is invoked, and assuming that merlin user ids are configured for message routing, when the system validates each merlin id against the emtz user validation system, the desired outcome is that valid merlin ids are confirmed for use, invalid ids trigger error handling.
💻 Technical Criteria
Given Merlin user IDs are configured for message routing
When The system validates each Merlin ID against the EMTZ user validation system
Then Valid Merlin IDs are confirmed for use, invalid IDs trigger error handling
R-GCX122A-cbl-00185 DC&P Merlin ID Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'DC&P Merlin ID Valid?' is invoked, and assuming that a dc&p merlin id is configured in the system, when the system validates the dc&p merlin id against the user validation system, the desired outcome is that processing continues if the id is valid, otherwise an invalid id error is generated.
💻 Technical Criteria
Given A DC&P Merlin ID is configured in the system
When The system validates the DC&P Merlin ID against the user validation system
Then Processing continues if the ID is valid, otherwise an invalid ID error is generated
R-GCX122A-cbl-00186 Add Error Message: DC&P Merlin ID Invalid
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Add Error Message: DC&P Merlin ID Invalid', assuming that the dc&p merlin id fails validation, when the system processes the invalid merlin id, the desired outcome is that an error message 'dc&p merlin userid invalid' is added with the invalid id number.
💻 Technical Criteria
EXCLUDING The DC&P Merlin ID fails validation
When The system processes the invalid Merlin ID
Then An error message 'DC&P MERLIN USERID INVALID' is added with the invalid ID number
R-GCX122A-cbl-00191 Send Messages via MST System
Action Rules
📊 Business Logic Narrative
When the process 'Send Messages via MST System' is invoked, and assuming that messages are prepared for mst transmission with valid call letters, when the system sends messages via mst using smstonly service, the desired outcome is that each message entry is transmitted sequentially until all entries are processed, followed by a wrap command to complete the transmission.
💻 Technical Criteria
Given Messages are prepared for MST transmission with valid call letters
When The system sends messages via MST using SMSTONLY service
Then Each message entry is transmitted sequentially until all entries are processed, followed by a WRAP command to complete the transmission
R-GCX122A-cbl-00432 Access LT Table with LTERM
Action Rules
📊 Business Logic Narrative
When the process 'Access LT Table with LTERM' is invoked, and assuming that a processing terminal identifier (lterm) exists, when the system needs to retrieve supervisor configuration, the desired outcome is that the system accesses the lt table using the lterm as the key to retrieve terminal configuration data.
💻 Technical Criteria
Given A processing terminal identifier (LTERM) exists
When The system needs to retrieve supervisor configuration
Then The system accesses the LT table using the LTERM as the key to retrieve terminal configuration data
R-GCX122A-cbl-00433 LT Table Entry Found?
Validation Rules
📊 Business Logic Narrative
When the process 'LT Table Entry Found?' is invoked, and assuming that a request to access lt table with a specific lterm, when the table lookup is performed, the desired outcome is that if the return flag equals 0, the terminal configuration exists, otherwise it does not exist.
💻 Technical Criteria
Given A request to access LT table with a specific LTERM
When The table lookup is performed
Then If the return flag equals 0, the terminal configuration exists, otherwise it does not exist
R-GCX122A-cbl-00437 Validate Supervisor Merlin ID
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Supervisor Merlin ID' is invoked, and assuming that a supervisor merlin id is retrieved from terminal configuration, when the system validates the supervisor id, the desired outcome is that the system performs a lookup using the supervisor merlin id as the key to verify its existence.
💻 Technical Criteria
Given A supervisor Merlin ID is retrieved from terminal configuration
When The system validates the supervisor ID
Then The system performs a lookup using the supervisor Merlin ID as the key to verify its existence
R-GCX122A-cbl-00438 Set Valid Supervisor ID
Process Rules
📊 Business Logic Narrative
When the process 'Set Valid Supervisor ID' is invoked, and assuming that the supervisor merlin id validation returns a successful status, when the status code is spaces (indicating success), the desired outcome is that the system assigns the supervisor merlin id to the user merlin field for message routing.
💻 Technical Criteria
Given The supervisor Merlin ID validation returns a successful status
When The status code is spaces (indicating success)
Then The system assigns the supervisor Merlin ID to the user Merlin field for message routing
R-GCX122A-cbl-00439 Add Invalid ID Error Message
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Add Invalid ID Error Message', assuming that the supervisor merlin id validation fails, when the status code is not spaces (indicating failure), the desired outcome is that the system adds an error message 'supervisor merlin userid invalid' with the invalid id and clears the user merlin field.
💻 Technical Criteria
EXCLUDING The supervisor Merlin ID validation fails
When The status code is not spaces (indicating failure)
Then The system adds an error message 'SUPERVISOR MERLIN USERID INVALID' with the invalid ID and clears the user Merlin field
R-GCX122A-cbl-00192 Retrieve Terminal Configuration from LT Table
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Terminal Configuration from LT Table' is invoked, and assuming that a processing terminal identifier exists in ws-lterm-process, when the system queries the lt table with the terminal identifier, the desired outcome is that the terminal configuration segment is retrieved and stored for further processing.
💻 Technical Criteria
Given A processing terminal identifier exists in WS-LTERM-PROCESS
When The system queries the LT table with the terminal identifier
Then The terminal configuration segment is retrieved and stored for further processing
R-GCX122A-cbl-00193 Terminal Configuration Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Terminal Configuration Found?' is invoked, and assuming that a query has been made to retrieve terminal configuration from the lt table, when the table lookup returns a non-zero status indicating no configuration found, the desired outcome is that the terminal configuration segment is cleared to spaces.
💻 Technical Criteria
Given A query has been made to retrieve terminal configuration from the LT table
When The table lookup returns a non-zero status indicating no configuration found
Then The terminal configuration segment is cleared to spaces
R-GCX122A-cbl-00195 Validate Supervisor Merlin ID in System
Validation Rules
📊 Business Logic Narrative
When the process 'Validate Supervisor Merlin ID in System' is invoked, and assuming that a supervisor merlin id has been extracted from terminal configuration, when the system queries the emtz segment to validate the supervisor merlin id, the desired outcome is that the validation result determines if the id is valid or invalid.
💻 Technical Criteria
Given A supervisor Merlin ID has been extracted from terminal configuration
When The system queries the EMTZ segment to validate the supervisor Merlin ID
Then The validation result determines if the ID is valid or invalid
R-GCX122A-cbl-00196 Set Valid Supervisor Merlin ID for Message Routing
Decision Rules
📊 Business Logic Narrative
When the process 'Set Valid Supervisor Merlin ID for Message Routing' is invoked, and assuming that the supervisor merlin id validation has completed successfully with no error status, when the system processes the validation result, the desired outcome is that the supervisor merlin id is assigned to the user merlin variable for message routing.
💻 Technical Criteria
Given The supervisor Merlin ID validation has completed successfully with no error status
When The system processes the validation result
Then The supervisor Merlin ID is assigned to the user Merlin variable for message routing
R-GCX122A-cbl-00197 Generate Invalid Supervisor ID Error Message
Action Rules
📊 Business Logic Narrative
When the process 'Generate Invalid Supervisor ID Error Message' is invoked, and assuming that the supervisor merlin id validation has failed with a non-space status code, when the system processes the validation failure, the desired outcome is that an error message 'supervisor merlin userid invalid' is added to both text and mst message arrays with the invalid id included.
💻 Technical Criteria
Given The supervisor Merlin ID validation has failed with a non-space status code
When The system processes the validation failure
Then An error message 'SUPERVISOR MERLIN USERID INVALID' is added to both text and MST message arrays with the invalid ID included
R-GCX122A-cbl-00200 Is DC-P Merlin ID 1 Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Is DC-P Merlin ID 1 Valid?' is invoked, and assuming that dc-p merlin id 1 has been retrieved from the admin table, when the system validates the dc-p merlin id 1 and the status code is blank (valid user found), the desired outcome is that the dc-p merlin id 1 is set as valid and the dc-p id found flag is set to true.
💻 Technical Criteria
Given DC-P Merlin ID 1 has been retrieved from the admin table
When The system validates the DC-P Merlin ID 1 and the status code is blank (valid user found)
Then The DC-P Merlin ID 1 is set as valid and the DC-P ID found flag is set to true
R-GCX122A-cbl-00201 Set Default 'OM01247' as DC-P Merlin ID 1
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Default 'OM01247' as DC-P Merlin ID 1', assuming that dc-p merlin id 1 has been retrieved from the admin table, when the system validates the dc-p merlin id 1 and the status code is not blank (invalid user), the desired outcome is that the system sets 'om01247' as the default dc-p merlin id 1 and marks the dc-p id 1 as not found.
💻 Technical Criteria
EXCLUDING DC-P Merlin ID 1 has been retrieved from the admin table
When The system validates the DC-P Merlin ID 1 and the status code is not blank (invalid user)
Then The system sets 'OM01247' as the default DC-P Merlin ID 1 and marks the DC-P ID 1 as not found
R-GCX122A-cbl-00202 Is IFS Merlin ID 2 Valid?
Decision Rules
📊 Business Logic Narrative
When the process 'Is IFS Merlin ID 2 Valid?' is invoked, and assuming that ifs merlin id 2 has been retrieved from the admin table, when the system validates the ifs merlin id 2, the desired outcome is that if the status code is blank, the ifs merlin id 2 is set as valid, otherwise dc-p merlin id 1 is used as the ifs merlin id.
💻 Technical Criteria
Given IFS Merlin ID 2 has been retrieved from the admin table
When The system validates the IFS Merlin ID 2
Then If the status code is blank, the IFS Merlin ID 2 is set as valid, otherwise DC-P Merlin ID 1 is used as the IFS Merlin ID
R-GCX122A-cbl-00203 Is HHS Merlin ID 3 Valid?
Decision Rules
📊 Business Logic Narrative
When the process 'Is HHS Merlin ID 3 Valid?' is invoked, and assuming that hhs merlin id 3 has been retrieved from the admin table, when the system validates the hhs merlin id 3, the desired outcome is that if the status code is blank, the hhs merlin id 3 is set as valid, otherwise dc-p merlin id 1 is used as the hhs merlin id.
💻 Technical Criteria
Given HHS Merlin ID 3 has been retrieved from the admin table
When The system validates the HHS Merlin ID 3
Then If the status code is blank, the HHS Merlin ID 3 is set as valid, otherwise DC-P Merlin ID 1 is used as the HHS Merlin ID
R-GCX122A-cbl-00204 Is IMS Merlin ID 4 Valid?
Decision Rules
📊 Business Logic Narrative
When the process 'Is IMS Merlin ID 4 Valid?' is invoked, and assuming that ims merlin id 4 has been retrieved from the admin table, when the system validates the ims merlin id 4, the desired outcome is that if the status code is blank, the ims merlin id 4 is set as valid, otherwise dc-p merlin id 1 is used as the ims merlin id.
💻 Technical Criteria
Given IMS Merlin ID 4 has been retrieved from the admin table
When The system validates the IMS Merlin ID 4
Then If the status code is blank, the IMS Merlin ID 4 is set as valid, otherwise DC-P Merlin ID 1 is used as the IMS Merlin ID
R-GCX122A-cbl-00205 Is Supervisor Merlin ID Valid?
Validation Rules
📊 Business Logic Narrative
When the process 'Is Supervisor Merlin ID Valid?' is invoked, and assuming that a supervisor merlin id has been retrieved from the terminal table, when the system validates the supervisor merlin id, the desired outcome is that if the status code is blank, the supervisor merlin id is set as valid, otherwise an invalid supervisor id error message is added and the supervisor merlin id is cleared.
💻 Technical Criteria
Given A supervisor Merlin ID has been retrieved from the terminal table
When The system validates the supervisor Merlin ID
Then If the status code is blank, the supervisor Merlin ID is set as valid, otherwise an invalid supervisor ID error message is added and the supervisor Merlin ID is cleared
R-GCX122A-cbl-00206 Add DC-P Invalid ID Error Message
Process Rules
📊 Business Logic Narrative
When the process 'Add DC-P Invalid ID Error Message' is invoked, and assuming that the dc-p merlin id validation has been completed, when the dc-p id found flag is set to false (not found), the desired outcome is that an error message 'dc&p merlin userid invalid' is added to the message text and mst entry.
💻 Technical Criteria
Given The DC-P Merlin ID validation has been completed
When The DC-P ID found flag is set to false (not found)
Then An error message 'DC&P MERLIN USERID INVALID' is added to the message text and MST entry
R-GCX122A-cbl-00218 Message Send Successful?
Decision Rules
📊 Business Logic Narrative
When the process 'Message Send Successful?' is invoked, and assuming that a train error message was sent to the primary recipient, when the message send operation completes, the desired outcome is that if the return status flag is not 0, the send failed and fallback processing is required.
💻 Technical Criteria
Given A train error message was sent to the primary recipient
When The message send operation completes
Then If the return status flag is not 0, the send failed and fallback processing is required
R-GCX122A-cbl-00221 Purge Message Queue
Process Rules
📊 Business Logic Narrative
When the process 'Purge Message Queue' is invoked, and assuming that a train error message send attempt has been completed, when the message processing is finished, the desired outcome is that the message queue is purged using cims purg function.
💻 Technical Criteria
Given A train error message send attempt has been completed
When The message processing is finished
Then The message queue is purged using CIMS PURG function
R-GCX122A-cbl-00225 Final Purge Message Queue
Process Rules
📊 Business Logic Narrative
When the process 'Final Purge Message Queue' is invoked, and assuming that all train error message sends including caerror copy have been completed, when the message processing workflow is finishing, the desired outcome is that the message queue is purged using cims purg function for final cleanup.
💻 Technical Criteria
Given All train error message sends including CAERROR copy have been completed
When The message processing workflow is finishing
Then The message queue is purged using CIMS PURG function for final cleanup
R-GCX122A-cbl-00226 Set MST Communication Parameters
Process Rules
📊 Business Logic Narrative
When the process 'Set MST Communication Parameters' is invoked, and assuming that the system needs to send messages through mst, when mst communication is being initialized, the desired outcome is that the system sets origin terminal to 'ists' and transaction code to 'gct122'.
💻 Technical Criteria
Given The system needs to send messages through MST
When MST communication is being initialized
Then The system sets origin terminal to 'ISTS' and transaction code to 'GCT122'
R-GCX122A-cbl-00227 Initialize MST Session
Action Rules
📊 Business Logic Narrative
When the process 'Initialize MST Session' is invoked, and assuming that mst communication parameters are configured, when starting mst message transmission, the desired outcome is that the system calls smstonly with call letters and header record to establish the session.
💻 Technical Criteria
Given MST communication parameters are configured
When Starting MST message transmission
Then The system calls SMSTONLY with call letters and header record to establish the session
R-GCX122A-cbl-00228 Send Message Header
Process Rules
📊 Business Logic Narrative
When the process 'Send Message Header' is invoked, and assuming that mst session is initialized, when beginning message transmission, the desired outcome is that the system sends the message header record as the first entry in the message text array.
💻 Technical Criteria
Given MST session is initialized
When Beginning message transmission
Then The system sends the message header record as the first entry in the message text array
R-GCX122A-cbl-00229 More Message Entries?
Decision Rules
📊 Business Logic Narrative
When the process 'More Message Entries?' is invoked, and assuming that message transmission is in progress, when processing message entries, the desired outcome is that the system continues sending entries until it encounters a blank entry indicating no more content.
💻 Technical Criteria
Given Message transmission is in progress
When Processing message entries
Then The system continues sending entries until it encounters a blank entry indicating no more content
R-GCX122A-cbl-00231 Send Wrap-Up Command
Process Rules
📊 Business Logic Narrative
When the process 'Send Wrap-Up Command' is invoked, and assuming that all message entries have been sent, when completing mst transmission, the desired outcome is that the system sets user function code to 'wrap' and calls smstonly to close the session.
💻 Technical Criteria
Given All message entries have been sent
When Completing MST transmission
Then The system sets user function code to 'WRAP' and calls SMSTONLY to close the session
R-GCX122A-cbl-00238 Prepare Arrival Message
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Arrival Message' is invoked, and assuming that all arrival transaction parameters are configured, when the system finalizes arrival processing, the desired outcome is that the system copies the complete arrival input structure to the outbound message format.
💻 Technical Criteria
Given All arrival transaction parameters are configured
When The system finalizes arrival processing
Then The system copies the complete arrival input structure to the outbound message format
R-GCX122A-cbl-00240 Write Message to Log
Process Rules
📊 Business Logic Narrative
When the process 'Write Message to Log' is invoked, and assuming that an arrival transaction has been sent to gct1481e, when the system completes arrival processing, the desired outcome is that the system writes the arrival message details to the system log for audit trail.
💻 Technical Criteria
Given An arrival transaction has been sent to GCT1481E
When The system completes arrival processing
Then The system writes the arrival message details to the system log for audit trail
R-GCX122A-cbl-00241 Purge Message Queue
Process Rules
📊 Business Logic Narrative
When the process 'Purge Message Queue' is invoked, and assuming that arrival transaction and logging are completed, when the system finalizes arrival processing, the desired outcome is that the system purges the message queue to clean up transaction resources.
💻 Technical Criteria
Given Arrival transaction and logging are completed
When The system finalizes arrival processing
Then The system purges the message queue to clean up transaction resources
R-GCX122A-cbl-00446 Prepare GCT1481E Message Structure
Process Rules
📊 Business Logic Narrative
When the process 'Prepare GCT1481E Message Structure' is invoked, and assuming that all arrival transaction parameters have been configured, when the system prepares to communicate the arrival information, the desired outcome is that the gcx148 input data is formatted into the gct1481e message structure.
💻 Technical Criteria
Given All arrival transaction parameters have been configured
When The system prepares to communicate the arrival information
Then The GCX148 input data is formatted into the GCT1481E message structure
R-GCX122A-cbl-00514 Prepare Message for Transmission
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Message for Transmission' is invoked, and assuming that all arrival message components have been populated, when the message needs to be prepared for transmission, the desired outcome is that the complete message input is formatted and prepared for the messaging system.
💻 Technical Criteria
Given All arrival message components have been populated
When The message needs to be prepared for transmission
Then The complete message input is formatted and prepared for the messaging system
R-GCX122A-cbl-00515 Send Message to Transaction Queue
Action Rules
📊 Business Logic Narrative
When the process 'Send Message to Transaction Queue' is invoked, and assuming that an arrival message has been prepared for transmission, when the message needs to be sent to the processing queue, the desired outcome is that the message is transmitted using the cims interface with chng function to the alternate pcb.
💻 Technical Criteria
Given An arrival message has been prepared for transmission
When The message needs to be sent to the processing queue
Then The message is transmitted using the CIMS interface with CHNG function to the alternate PCB
R-GCX122A-cbl-00516 Write Message to Log
Process Rules
📊 Business Logic Narrative
When the process 'Write Message to Log' is invoked, and assuming that an arrival message has been sent to the transaction queue, when logging is required for audit purposes, the desired outcome is that the message is written to the system log using writmsgl with message code, content, length and module name.
💻 Technical Criteria
Given An arrival message has been sent to the transaction queue
When Logging is required for audit purposes
Then The message is written to the system log using WRITMSGL with message code, content, length and module name
R-GCX122A-cbl-00517 Complete Message Transmission
Process Rules
📊 Business Logic Narrative
When the process 'Complete Message Transmission' is invoked, and assuming that an arrival message has been logged to the system, when the transmission process needs to be completed, the desired outcome is that the message is purged from the processing queue using cims with purg function to the alternate pcb.
💻 Technical Criteria
Given An arrival message has been logged to the system
When The transmission process needs to be completed
Then The message is purged from the processing queue using CIMS with PURG function to the alternate PCB
R-GCX122A-cbl-00553 Prepare Message for Transmission
Action Rules
📊 Business Logic Narrative
When the process 'Prepare Message for Transmission' is invoked, and assuming that an arrival message has been fully formatted with all required information, when the message is ready for transmission, the desired outcome is that the message is sent through the messaging system and the transmission queue is purged.
💻 Technical Criteria
Given An arrival message has been fully formatted with all required information
When The message is ready for transmission
Then The message is sent through the messaging system and the transmission queue is purged
R-GCX122A-cbl-00244 Iron Highway Config Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Iron Highway Config Found?' is invoked, and assuming that the system has attempted to retrieve iron highway configuration, when the configuration lookup returns a status indicating success or failure, the desired outcome is that iron highway processing continues only if configuration is found, otherwise the process terminates.
💻 Technical Criteria
Given The system has attempted to retrieve Iron Highway configuration
When The configuration lookup returns a status indicating success or failure
Then Iron Highway processing continues only if configuration is found, otherwise the process terminates
R-GCX122A-cbl-00448 Set Function Code to GU - Get Unique
Process Rules
📊 Business Logic Narrative
When the process 'Set Function Code to GU - Get Unique' is invoked, and assuming that the system needs to retrieve iron highway configuration data, when setting up table access parameters, the desired outcome is that function code is set to gu for unique record retrieval, table id is set to 'ih', and origin station number is used as the search key.
💻 Technical Criteria
Given The system needs to retrieve Iron Highway configuration data
When Setting up table access parameters
Then Function code is set to GU for unique record retrieval, table ID is set to 'IH', and origin station number is used as the search key
R-GCX122A-cbl-00449 Configuration Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Configuration Found?' is invoked, and assuming that a table lookup has been performed for iron highway configuration, when the system checks the return status from the table access, the desired outcome is that if return flag equals '0' then configuration is available, otherwise configuration is not available.
💻 Technical Criteria
Given A table lookup has been performed for Iron Highway configuration
When The system checks the return status from the table access
Then If return flag equals '0' then configuration is available, otherwise configuration is not available
R-GCX122A-cbl-00451 Configuration Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Configuration Found?' is invoked, and assuming that a lookup has been performed on the iron highway configuration table, when the system checks the lookup result, the desired outcome is that if configuration is found (return flag equals '0'), proceed with data mapping, otherwise skip iron highway processing.
💻 Technical Criteria
Given A lookup has been performed on the Iron Highway configuration table
When The system checks the lookup result
Then If configuration is found (return flag equals '0'), proceed with data mapping, otherwise skip Iron Highway processing
R-GCX122A-cbl-00452 Set Record Type from Configuration
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Record Type from Configuration' is invoked, and assuming that iron highway configuration has been successfully retrieved, when the system prepares the iron highway transaction data structure, the desired outcome is that the record type code from the configuration is assigned to the iron highway record type field.
💻 Technical Criteria
Given Iron Highway configuration has been successfully retrieved
When The system prepares the Iron Highway transaction data structure
Then The record type code from the configuration is assigned to the Iron Highway record type field
R-GCX122A-cbl-00461 Call Iron Highway Interface
Action Rules
📊 Business Logic Narrative
When the process 'Call Iron Highway Interface' is invoked, and assuming that iron highway transaction data has been completely mapped, when all required fields have been populated, the desired outcome is that the system calls the gccih program with the iron highway data structure.
💻 Technical Criteria
Given Iron Highway transaction data has been completely mapped
When All required fields have been populated
Then The system calls the GCCIH program with the Iron Highway data structure
R-GCX122A-cbl-00520 IH Config Found?
Validation Rules
📊 Business Logic Narrative
When the process 'IH Config Found?' is invoked, and assuming that a lookup for iron highway configuration has been performed, when the system checks the return flag from the table lookup, the desired outcome is that if return flag equals '0', configuration is found and processing continues, otherwise iron highway processing exits.
💻 Technical Criteria
Given A lookup for Iron Highway configuration has been performed
When The system checks the return flag from the table lookup
Then If return flag equals '0', configuration is found and processing continues, otherwise Iron Highway processing exits
R-GCX122A-cbl-00527 Call GCCIH Interface
Action Rules
📊 Business Logic Narrative
When the process 'Call GCCIH Interface' is invoked, and assuming that all iron highway transaction data has been prepared and mapped, when the system is ready to send the transaction to iron highway, the desired outcome is that the gccih program is called with the prepared iron highway transaction data.
💻 Technical Criteria
Given All Iron Highway transaction data has been prepared and mapped
When The system is ready to send the transaction to Iron Highway
Then The GCCIH program is called with the prepared Iron Highway transaction data
R-GCX122A-cbl-00250 Set Default Sender ID
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Default Sender ID' is invoked, and assuming that a db2 error notification needs to be sent, when the system sets up the sender information, the desired outcome is that the sender id is set to the default merlin id constant.
💻 Technical Criteria
Given A DB2 error notification needs to be sent
When The system sets up the sender information
Then The sender ID is set to the default Merlin ID constant
R-GCX122A-cbl-00255 Log Error Message Send Failure
Decision Rules
📊 Business Logic Narrative
When the process 'Log Error Message Send Failure' is invoked, and assuming that a db2 error notification has been attempted, when the message send operation fails, the desired outcome is that an error message 'send to file of om01247 failed' is logged and the system error handler is called.
💻 Technical Criteria
Given A DB2 error notification has been attempted
When The message send operation fails
Then An error message 'SEND TO FILE OF OM01247 FAILED' is logged and the system error handler is called
R-GCX122A-cbl-00256 Purge Message Queue
Process Rules
📊 Business Logic Narrative
When the process 'Purge Message Queue' is invoked, and assuming that db2 error notification processing is complete, when the system performs cleanup operations, the desired outcome is that the message queue is purged and system status is reset.
💻 Technical Criteria
Given DB2 error notification processing is complete
When The system performs cleanup operations
Then The message queue is purged and system status is reset
R-GCX122A-cbl-00257 Initialize Log Message Structure
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Log Message Structure' is invoked, and assuming that a transaction logging process is initiated, when the system begins to create a log entry, the desired outcome is that the log message structure is cleared and initialized with spaces.
💻 Technical Criteria
Given A transaction logging process is initiated
When The system begins to create a log entry
Then The log message structure is cleared and initialized with spaces
R-GCX122A-cbl-00259 Set Current Date and Time
Process Rules
📊 Business Logic Narrative
When the process 'Set Current Date and Time' is invoked, and assuming that a transaction log entry is being created, when date and time information needs to be recorded, the desired outcome is that the current system date from bgn-03-date is recorded in the log date field and current system time from bgn-04-time is recorded in the log time field.
💻 Technical Criteria
Given A transaction log entry is being created
When Date and time information needs to be recorded
Then The current system date from BGN-03-DATE is recorded in the log date field and current system time from BGN-04-TIME is recorded in the log time field
R-GCX122A-cbl-00260 Set Action Code to 'ZZZ'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Action Code to 'ZZZ'' is invoked, and assuming that a transaction log entry is being prepared, when an action code needs to be assigned to the log entry, the desired outcome is that the action code is set to 'zzz' to indicate standard transaction logging.
💻 Technical Criteria
Given A transaction log entry is being prepared
When An action code needs to be assigned to the log entry
Then The action code is set to 'ZZZ' to indicate standard transaction logging
R-GCX122A-cbl-00262 Add Current Status to Log Message
Process Rules
📊 Business Logic Narrative
When the process 'Add Current Status to Log Message' is invoked, and assuming that a transaction has a current status that needs to be logged, when the transaction status is being recorded in the log, the desired outcome is that the current status from ws-current-status is recorded in the log message field.
💻 Technical Criteria
Given A transaction has a current status that needs to be logged
When The transaction status is being recorded in the log
Then The current status from WS-CURRENT-STATUS is recorded in the log message field
R-GCX122A-cbl-00263 Add BGN Reference Number to Log
Decision Rules
📊 Business Logic Narrative
When the process 'Add BGN Reference Number to Log' is invoked, and assuming that a transaction with ack status is being logged, when the transaction status equals 'ack ', the desired outcome is that the bgn reference number from bgn-02-ref-num is recorded in the transaction field of the log.
💻 Technical Criteria
Given A transaction with ACK status is being logged
When The transaction status equals 'ACK '
Then The BGN reference number from BGN-02-REF-NUM is recorded in the transaction field of the log
R-GCX122A-cbl-00267 Purge Message Queue
Process Rules
📊 Business Logic Narrative
When the process 'Purge Message Queue' is invoked, and assuming that a log message has been successfully written to the system log, when the logging process is complete, the desired outcome is that the message queue is purged using cims purg function to clean up processed messages.
💻 Technical Criteria
Given A log message has been successfully written to the system log
When The logging process is complete
Then The message queue is purged using CIMS PURG function to clean up processed messages
R-GCX122A-cbl-00268 Access Test Configuration Table T2
Action Rules
📊 Business Logic Narrative
When the process 'Access Test Configuration Table T2' is invoked, and assuming that a special test message needs to be processed, when the system attempts to access the test configuration table t2, the desired outcome is that the system retrieves the t2 table segment for test processing.
💻 Technical Criteria
Given A special test message needs to be processed
When The system attempts to access the test configuration table T2
Then The system retrieves the T2 table segment for test processing
R-GCX122A-cbl-00272 Update Train Test Acknowledgment
Process Rules
📊 Business Logic Narrative
When the process 'Update Train Test Acknowledgment' is invoked, and assuming that a train test message is being processed and the t2 table is accessible, when the system processes the train test acknowledgment, the desired outcome is that the system updates the t2-358-ack field with current machine date (century and date) and current machine time (first 4 digits).
💻 Technical Criteria
Given A train test message is being processed and the T2 table is accessible
When The system processes the train test acknowledgment
Then The system updates the T2-358-ACK field with current machine date (century and date) and current machine time (first 4 digits)
R-GCX122A-cbl-00274 Save Updated Test Table
Action Rules
📊 Business Logic Narrative
When the process 'Save Updated Test Table' is invoked, and assuming that test acknowledgment timestamps have been updated in the t2 table, when the system completes the timestamp update process, the desired outcome is that the system saves the updated t2 table segment back to the database using replace function.
💻 Technical Criteria
Given Test acknowledgment timestamps have been updated in the T2 table
When The system completes the timestamp update process
Then The system saves the updated T2 table segment back to the database using replace function
R-GCX122A-cbl-00277 Clear Message Content Areas
Process Rules
📊 Business Logic Narrative
When the process 'Clear Message Content Areas' is invoked, and assuming that a message is being prepared for processing, when the system clears message content areas, the desired outcome is that emi-to-usercode, emi-copy-usercode, emi-keywords, emi-text, emi-return-status-flag, mst-table, mst-call-lettrs, and ws-lterm-process are set to spaces.
💻 Technical Criteria
Given A message is being prepared for processing
When The system clears message content areas
Then EMI-TO-USERCODE, EMI-COPY-USERCODE, EMI-KEYWORDS, EMI-TEXT, EMI-RETURN-STATUS-FLAG, MST-TABLE, MST-CALL-LETTRS, and WS-LTERM-PROCESS are set to SPACES
R-GCX122A-cbl-00282 Extract Reference Number from Message
Process Rules
📊 Business Logic Narrative
When the process 'Extract Reference Number from Message' is invoked, and assuming that an incoming message contains a reference number in field oti-03-ref-num, when the system processes the message for reference number extraction, the desired outcome is that the reference number is copied to emi-ref, mst-ref, msg-ref-key, and ws-ref-number variables.
💻 Technical Criteria
Given An incoming message contains a reference number in field OTI-03-REF-NUM
When The system processes the message for reference number extraction
Then The reference number is copied to EMI-REF, MST-REF, MSG-REF-KEY, and WS-REF-NUMBER variables
R-GCX122A-cbl-00289 Clear Message Fields
Process Rules
📊 Business Logic Narrative
When the process 'Clear Message Fields' is invoked, and assuming that the system is initializing reference processing, when message fields need to be cleared, the desired outcome is that emi-to-usercode, emi-copy-usercode, emi-keywords, emi-text, emi-return-status-flag, mst-table, mst-call-lettrs, and ws-lterm-process are all set to spaces.
💻 Technical Criteria
Given The system is initializing reference processing
When Message fields need to be cleared
Then EMI-TO-USERCODE, EMI-COPY-USERCODE, EMI-KEYWORDS, EMI-TEXT, EMI-RETURN-STATUS-FLAG, MST-TABLE, MST-CALL-LETTRS, and WS-LTERM-PROCESS are all set to SPACES
R-GCX122A-cbl-00295 Use Free-Form Error Message
Decision Rules
📊 Business Logic Narrative
When the process 'Use Free-Form Error Message' is invoked, and assuming that an error message lookup has been performed in the ms table, when the table lookup fails to find standardized error text, the desired outcome is that the system uses the original free-form message text (ted-02-free-form-msg) and adds an additional error message indicating the lookup failure.
💻 Technical Criteria
Given An error message lookup has been performed in the MS table
When The table lookup fails to find standardized error text
Then The system uses the original free-form message text (TED-02-FREE-FORM-MSG) and adds an additional error message indicating the lookup failure
R-GCX122A-cbl-00296 Add Error Context Information
Process Rules
📊 Business Logic Narrative
When the process 'Add Error Context Information' is invoked, and assuming that error message text has been determined (either standard or free-form), when the error message is being prepared for distribution, the desired outcome is that the system adds the copy of bad data element (ted-07-copy-bad-data-elmt) to provide context about what caused the error.
💻 Technical Criteria
Given Error message text has been determined (either standard or free-form)
When The error message is being prepared for distribution
Then The system adds the copy of bad data element (TED-07-COPY-BAD-DATA-ELMT) to provide context about what caused the error
R-GCX122A-cbl-00297 Format Message for EMI Channel
Process Rules
📊 Business Logic Narrative
When the process 'Format Message for EMI Channel' is invoked, and assuming that error message content has been prepared with context information, when the message needs to be distributed through electronic mail interface, the desired outcome is that the system formats the message into emi-text-line structure for email distribution.
💻 Technical Criteria
Given Error message content has been prepared with context information
When The message needs to be distributed through electronic mail interface
Then The system formats the message into EMI-TEXT-LINE structure for email distribution
R-GCX122A-cbl-00298 Format Message for MST Channel
Process Rules
📊 Business Logic Narrative
When the process 'Format Message for MST Channel' is invoked, and assuming that error message content has been prepared and formatted for emi channel, when the message needs to be distributed through message switch terminal, the desired outcome is that the system formats the message into mst-entry structure for terminal distribution.
💻 Technical Criteria
Given Error message content has been prepared and formatted for EMI channel
When The message needs to be distributed through message switch terminal
Then The system formats the message into MST-ENTRY structure for terminal distribution
R-GCX122A-cbl-00299 Format Message for Log Channel
Process Rules
📊 Business Logic Narrative
When the process 'Format Message for Log Channel' is invoked, and assuming that error message content has been prepared and formatted for emi and mst channels, when the message needs to be logged for audit and tracking purposes, the desired outcome is that the system formats the message into gcx105-message structure for logging distribution.
💻 Technical Criteria
Given Error message content has been prepared and formatted for EMI and MST channels
When The message needs to be logged for audit and tracking purposes
Then The system formats the message into GCX105-MESSAGE structure for logging distribution
R-GCX122A-cbl-00302 Add Date/Time Stamps
Process Rules
📊 Business Logic Narrative
When the process 'Add Date/Time Stamps' is invoked, and assuming that message headers are being prepared with reference numbers, when timestamp information needs to be added to the message, the desired outcome is that the system assigns the current date (bgn-03-date) and time (bgn-04-time) to the message header timestamp fields.
💻 Technical Criteria
Given Message headers are being prepared with reference numbers
When Timestamp information needs to be added to the message
Then The system assigns the current date (BGN-03-DATE) and time (BGN-04-TIME) to the message header timestamp fields
R-GCX122A-cbl-00304 Attempt Primary Message Delivery
Action Rules
📊 Business Logic Narrative
When the process 'Attempt Primary Message Delivery' is invoked, and assuming that a message needs to be sent to primary recipients, when the system calls the messaging service with primary recipient information, the desired outcome is that the message delivery is attempted and a return status is provided.
💻 Technical Criteria
Given A message needs to be sent to primary recipients
When The system calls the messaging service with primary recipient information
Then The message delivery is attempted and a return status is provided
R-GCX122A-cbl-00305 Primary Delivery Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Primary Delivery Successful?' is invoked, and assuming that a message delivery attempt has been made to primary recipients, when the system checks the return status flag from the messaging service, the desired outcome is that if return status flag equals zero or successful indicator, delivery is considered successful, otherwise it is considered failed.
💻 Technical Criteria
Given A message delivery attempt has been made to primary recipients
When The system checks the return status flag from the messaging service
Then If return status flag equals zero or successful indicator, delivery is considered successful, otherwise it is considered failed
R-GCX122A-cbl-00309 Retry Message Delivery to Default
Action Rules
📊 Business Logic Narrative
When the process 'Retry Message Delivery to Default' is invoked, and assuming that primary delivery has failed and default recipient has been set, when the system calls the messaging service with default recipient information, the desired outcome is that the message delivery is attempted to the default recipient and a return status is provided.
💻 Technical Criteria
Given Primary delivery has failed and default recipient has been set
When The system calls the messaging service with default recipient information
Then The message delivery is attempted to the default recipient and a return status is provided
R-GCX122A-cbl-00310 Default Delivery Successful?
Validation Rules
📊 Business Logic Narrative
When the process 'Default Delivery Successful?' is invoked, and assuming that a message delivery attempt has been made to the default recipient, when the system checks the return status flag from the messaging service, the desired outcome is that if return status flag equals zero or successful indicator, delivery is considered successful, otherwise it is considered failed.
💻 Technical Criteria
Given A message delivery attempt has been made to the default recipient
When The system checks the return status flag from the messaging service
Then If return status flag equals zero or successful indicator, delivery is considered successful, otherwise it is considered failed
R-GCX122A-cbl-00312 Purge Message Queue
Process Rules
📊 Business Logic Narrative
When the process 'Purge Message Queue' is invoked, and assuming that message delivery processing has completed either successfully or unsuccessfully, when the system needs to clean up the message queue, the desired outcome is that the message queue is purged using the purg function.
💻 Technical Criteria
Given Message delivery processing has completed either successfully or unsuccessfully
When The system needs to clean up the message queue
Then The message queue is purged using the PURG function
R-GCX122A-cbl-00314 Set Function Code to 'WRAP'
Process Rules
📊 Business Logic Narrative
When the process 'Set Function Code to 'WRAP'' is invoked, and assuming that all message entries have been processed and sent to the message switching terminal, when the system needs to complete the message transmission process, the desired outcome is that the system sets the user function code to 'wrap' and sends the wrap command to finalize the message transmission.
💻 Technical Criteria
Given All message entries have been processed and sent to the message switching terminal
When The system needs to complete the message transmission process
Then The system sets the user function code to 'WRAP' and sends the wrap command to finalize the message transmission
R-GCX122A-cbl-00315 Send Wrap Command to MST
Action Rules
📊 Business Logic Narrative
When the process 'Send Wrap Command to MST' is invoked, and assuming that the user function code is set to 'wrap' and message switching terminal parameters are prepared, when the system executes the wrap command transmission, the desired outcome is that the system calls the message switching terminal service with the wrap command, communication control block, alternate pcb, call letters, and message header record.
💻 Technical Criteria
Given The user function code is set to 'WRAP' and message switching terminal parameters are prepared
When The system executes the wrap command transmission
Then The system calls the message switching terminal service with the wrap command, communication control block, alternate PCB, call letters, and message header record
R-GCX122A-cbl-00318 Table Entry Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Table Entry Found?' is invoked, and assuming that the system has attempted to retrieve the t2 test table entry, when the table entry retrieval returns a non-zero status code, the desired outcome is that an error message 't2 check table entry not found' is displayed and processing terminates.
💻 Technical Criteria
Given The system has attempted to retrieve the T2 test table entry
When The table entry retrieval returns a non-zero status code
Then An error message 'T2 CHECK TABLE ENTRY NOT FOUND' is displayed and processing terminates
R-GCX122A-cbl-00319 Message Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Message Type?' is invoked, and assuming that a valid t2 test table entry has been retrieved, when the message type indicator shows train (oti-02-train is true), the desired outcome is that the system prepares to update the train test acknowledgment field (t2-358-ack).
💻 Technical Criteria
Given A valid T2 test table entry has been retrieved
When The message type indicator shows train (OTI-02-TRAIN is true)
Then The system prepares to update the train test acknowledgment field (T2-358-ACK)
R-GCX122A-cbl-00320 Update Train Test Acknowledgment Field
Process Rules
📊 Business Logic Narrative
When the process 'Update Train Test Acknowledgment Field' is invoked, and assuming that the message is identified as a train test message and t2 table entry is available, when the system processes the train test acknowledgment, the desired outcome is that the t2-358-ack field is updated with current date (century + date) and time.
💻 Technical Criteria
Given The message is identified as a train test message and T2 table entry is available
When The system processes the train test acknowledgment
Then The T2-358-ACK field is updated with current date (century + date) and time
R-GCX122A-cbl-00324 Save Updated Table Entry
Action Rules
📊 Business Logic Narrative
When the process 'Save Updated Table Entry' is invoked, and assuming that the t2 test table entry has been updated with current timestamp information, when the system saves the changes, the desired outcome is that the updated t2 table segment is written back to the database using replace function.
💻 Technical Criteria
Given The T2 test table entry has been updated with current timestamp information
When The system saves the changes
Then The updated T2 table segment is written back to the database using replace function
R-GCX122A-cbl-00327 Configuration Found?
Validation Rules
📊 Business Logic Narrative
When the process 'Configuration Found?' is invoked, and assuming that iron highway configuration lookup has been performed, when the system checks if configuration data was successfully retrieved, the desired outcome is that processing continues only if valid configuration is found, otherwise the process terminates.
💻 Technical Criteria
Given Iron Highway configuration lookup has been performed
When The system checks if configuration data was successfully retrieved
Then Processing continues only if valid configuration is found, otherwise the process terminates
R-GCX122A-cbl-00334 Call Iron Highway Interface
Action Rules
📊 Business Logic Narrative
When the process 'Call Iron Highway Interface' is invoked, and assuming that iron highway transaction record has been fully populated, when the system calls the iron highway interface program, the desired outcome is that the transaction data is submitted to the iron highway system for processing.
💻 Technical Criteria
Given Iron Highway transaction record has been fully populated
When The system calls the Iron Highway interface program
Then The transaction data is submitted to the Iron Highway system for processing

🚂 Equipment & Cargo Specs 161 logic blocks
R-GCX122A-cbl-00005 5:Process Acknowledgment Messages
Process Rules
📊 Business Logic Narrative
When the process '5:Process Acknowledgment Messages' is invoked, and assuming that an acknowledgment message is received, when the system processes the acknowledgment, the desired outcome is that set mst processing flag to false and route to train or cargo acknowledgment processing based on transaction type.
💻 Technical Criteria
Given An acknowledgment message is received
When The system processes the acknowledgment
Then Set MST processing flag to false and route to train or cargo acknowledgment processing based on transaction type
R-GCX122A-cbl-00007 7:Process Cargo Acknowledgment
Process Rules
📊 Business Logic Narrative
When the process '7:Process Cargo Acknowledgment' is invoked, and assuming that a cargo acknowledgment message with a control number, when the system looks up the cargo control record, the desired outcome is that if cargo not found, add error message and set dcp interface error flag; if found, set status to 'ack' when current status is 'sent', determine processing terminal, and process arrival if indicator is 'y'.
💻 Technical Criteria
Given A cargo acknowledgment message with a control number
When The system looks up the cargo control record
Then If cargo not found, add error message and set DCP interface error flag; if found, set status to 'ACK' when current status is 'SENT', determine processing terminal, and process arrival if indicator is 'Y'
R-GCX122A-cbl-00008 8:Process Error Messages
Process Rules
📊 Business Logic Narrative
When the process '8:Process Error Messages' is invoked, and assuming that an error or warning message is received, when the system processes the error message, the desired outcome is that check if message is test data first; if not test data, route to train or cargo error processing based on transaction type.
💻 Technical Criteria
Given An error or warning message is received
When The system processes the error message
Then Check if message is test data first; if not test data, route to train or cargo error processing based on transaction type
R-GCX122A-cbl-00010 10:Process Cargo Errors
Process Rules
📊 Business Logic Narrative
When the process '10:Process Cargo Errors' is invoked, and assuming that a cargo error message with a control number, when the system processes the cargo error, the desired outcome is that if cargo not found and message is v67, process as train error; if cargo not found and not v67, add cargo error message; if found, save current status and determine processing terminal.
💻 Technical Criteria
Given A cargo error message with a control number
When The system processes the cargo error
Then If cargo not found and message is V67, process as train error; if cargo not found and not V67, add cargo error message; if found, save current status and determine processing terminal
R-GCX122A-cbl-00012 12:Update Train/Cargo Status
Decision Rules
📊 Business Logic Narrative
When the process '12:Update Train/Cargo Status' is invoked, and assuming that an error message with error type and a found train or cargo record, when the system updates the record status, the desired outcome is that if error type is 'x', set status to 'warning' or 'info' and exit; for train records not deleted, set error resend flag and status to 'reject' for type 'r' or 'error' otherwise; for cargo records, set status to 'reject' for type 'r' or 'error' otherwise.
💻 Technical Criteria
Given An error message with error type and a found train or cargo record
When The system updates the record status
Then If error type is 'X', set status to 'WARNING' or 'INFO' and exit; for train records not deleted, set error resend flag and status to 'REJECT' for type 'R' or 'ERROR' otherwise; for cargo records, set status to 'REJECT' for type 'R' or 'ERROR' otherwise
R-GCX122A-cbl-00013 Test Message?
Validation Rules
📊 Business Logic Narrative
When the process 'Test Message?' is invoked, and assuming that a message with a reference number, when the system checks if the message is test data, the desired outcome is that identify as train test if reference equals '6105etesttrain00000000000', or cargo test if reference starts with '6105ecprstestcargo' or '6105etestcargo'.
💻 Technical Criteria
Given A message with a reference number
When The system checks if the message is test data
Then Identify as train test if reference equals '6105ETESTTRAIN00000000000', or cargo test if reference starts with '6105ECPRSTESTCARGO' or '6105ETESTCARGO'
R-GCX122A-cbl-00014 13:Handle Test Messages
Process Rules
📊 Business Logic Narrative
When the process '13:Handle Test Messages' is invoked, and assuming that a message identified as test data, when the system processes the test message, the desired outcome is that set appropriate test flags (test-train or test-cargo) and proceed to special check processing, bypassing normal error message handling.
💻 Technical Criteria
Given A message identified as test data
When The system processes the test message
Then Set appropriate test flags (TEST-TRAIN or TEST-CARGO) and proceed to special check processing, bypassing normal error message handling
R-GCX122A-cbl-00019 Train Error?
Decision Rules
📊 Business Logic Narrative
When the process 'Train Error?' is invoked, and assuming that an error message that needs to be sent to users, when the system determines the routing destination, the desired outcome is that route to train message sending if train error flag is set, otherwise route to cargo message sending.
💻 Technical Criteria
Given An error message that needs to be sent to users
When The system determines the routing destination
Then Route to train message sending if train error flag is set, otherwise route to cargo message sending
R-GCX122A-cbl-00020 18:Send Cargo Messages to Merlin
Action Rules
📊 Business Logic Narrative
When the process '18:Send Cargo Messages to Merlin' is invoked, and assuming that a cargo-related message and validated user merlin id, when the system sends the message to merlin users, the desired outcome is that send message to user merlin id; if sending fails, fall back to sending to default recipient 'om01247'.
💻 Technical Criteria
Given A cargo-related message and validated user Merlin ID
When The system sends the message to Merlin users
Then Send message to user Merlin ID; if sending fails, fall back to sending to default recipient 'OM01247'
R-GCX122A-cbl-00025 24:Log Transaction Activities
Process Rules
📊 Business Logic Narrative
When the process '24:Log Transaction Activities' is invoked, and assuming that a processed transaction with current status and reference number, when the system logs the transaction activity, the desired outcome is that create log message with current status, include transaction number for ack status, set appropriate cargo or train indicator, and send to gct1051e logging transaction.
💻 Technical Criteria
Given A processed transaction with current status and reference number
When The system logs the transaction activity
Then Create log message with current status, include transaction number for ACK status, set appropriate cargo or train indicator, and send to GCT1051E logging transaction
R-GCX122A-cbl-00026 25:Process Special Checks
Process Rules
📊 Business Logic Narrative
When the process '25:Process Special Checks' is invoked, and assuming that a test message (train or cargo) being processed, when the system performs special check processing, the desired outcome is that look up t2 table entry, update 358-ack timestamp for train test messages or 309-ack timestamp for cargo test messages with current machine date, century, and time.
💻 Technical Criteria
Given A test message (train or cargo) being processed
When The system performs special check processing
Then Look up T2 table entry, update 358-ACK timestamp for train test messages or 309-ACK timestamp for cargo test messages with current machine date, century, and time
R-GCX122A-cbl-00029 Initialize Test Message Indicators
Validation Rules
📊 Business Logic Narrative
When the process 'Initialize Test Message Indicators' is invoked, and assuming that the system is initializing for message processing, when test message indicators need to be reset, the desired outcome is that both train test indicator and cargo test indicator must be cleared to spaces.
💻 Technical Criteria
Given The system is initializing for message processing
When Test message indicators need to be reset
Then Both train test indicator and cargo test indicator must be cleared to spaces
R-GCX122A-cbl-00056 Set Processing Flags to Active
Process Rules
📊 Business Logic Narrative
When the process 'Set Processing Flags to Active' is invoked, and assuming that the system is initializing reference data processing, when processing flags need to be set to their active states, the desired outcome is that sw-process-mst is set to true, sw-process-merlin is set to true, sw-not-train-error is set to true, and sw-not-cargo-error is set to true.
💻 Technical Criteria
Given The system is initializing reference data processing
When Processing flags need to be set to their active states
Then SW-PROCESS-MST is set to TRUE, SW-PROCESS-MERLIN is set to TRUE, SW-NOT-TRAIN-ERROR is set to TRUE, and SW-NOT-CARGO-ERROR is set to TRUE
R-GCX122A-cbl-00061 Set Generic Reference Label
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Generic Reference Label' is invoked, and assuming that a message is being processed and neither oti-02-train nor oti-02-cargo conditions are true, when the system determines the message type for labeling, the desired outcome is that msg-lib is set to 'reference number :'.
💻 Technical Criteria
Given A message is being processed and neither OTI-02-TRAIN nor OTI-02-CARGO conditions are true
When The system determines the message type for labeling
Then MSG-LIB is set to 'REFERENCE NUMBER :'
R-GCX122A-cbl-00062 Message Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Message Type?' is invoked, and assuming that an acknowledgment message is received, when the system evaluates the message type indicator, the desired outcome is that the message is routed to train processing if oti-02-train is true, cargo processing if oti-02-cargo is true, or other reference processing for all other cases.
💻 Technical Criteria
Given An acknowledgment message is received
When The system evaluates the message type indicator
Then The message is routed to train processing if OTI-02-TRAIN is true, cargo processing if OTI-02-CARGO is true, or other reference processing for all other cases
R-GCX122A-cbl-00070 Arrival Processing Required?
Decision Rules
📊 Business Logic Narrative
When the process 'Arrival Processing Required?' is invoked, and assuming that a cargo acknowledgment is being processed successfully, when the system checks the cargo arrival indicator, the desired outcome is that arrival processing is triggered if gccc-arrival-ind equals 'y', otherwise normal processing continues.
💻 Technical Criteria
Given A cargo acknowledgment is being processed successfully
When The system checks the cargo arrival indicator
Then Arrival processing is triggered if GCCC-ARRIVAL-IND equals 'Y', otherwise normal processing continues
R-GCX122A-cbl-00071 Process Cargo Arrival
Action Rules
📊 Business Logic Narrative
When the process 'Process Cargo Arrival' is invoked, and assuming that a cargo record has arrival indicator set to 'y', when cargo acknowledgment processing determines arrival processing is required, the desired outcome is that the arrival processing routine z700-process-arrival is executed to handle cargo arrival notifications.
💻 Technical Criteria
Given A cargo record has arrival indicator set to 'Y'
When Cargo acknowledgment processing determines arrival processing is required
Then The arrival processing routine Z700-PROCESS-ARRIVAL is executed to handle cargo arrival notifications
R-GCX122A-cbl-00072 Format Application Message
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Format Application Message', assuming that an acknowledgment message for a reference number that is neither train nor cargo, when the reference number oti-03-ref-num is not spaces, the desired outcome is that an application message is formatted using the reference number qualifier and advance number, and message counters are incremented.
💻 Technical Criteria
EXCLUDING An acknowledgment message for a reference number that is neither train nor cargo
When The reference number OTI-03-REF-NUM is not spaces
Then An application message is formatted using the reference number qualifier and advance number, and message counters are incremented
R-GCX122A-cbl-00088 Retrieve Cargo Control Record by Reference Number
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Cargo Control Record by Reference Number' is invoked, and assuming that a cargo acknowledgment message with reference number is received, when the system attempts to retrieve the cargo control record using the reference number, the desired outcome is that the system performs database lookup using the reference number as key for both cargo control and cargo segment records.
💻 Technical Criteria
Given A cargo acknowledgment message with reference number is received
When The system attempts to retrieve the cargo control record using the reference number
Then The system performs database lookup using the reference number as key for both cargo control and cargo segment records
R-GCX122A-cbl-00090 Update Cargo Status to ACK
Decision Rules
📊 Business Logic Narrative
When the process 'Update Cargo Status to ACK' is invoked, and assuming that a cargo control record is found and has status sent, when processing a cargo acknowledgment message, the desired outcome is that the system updates the cargo current status to 'ack'.
💻 Technical Criteria
Given A cargo control record is found and has status SENT
When Processing a cargo acknowledgment message
Then The system updates the cargo current status to 'ACK'
R-GCX122A-cbl-00091 Set Current Status to ACK
Process Rules
📊 Business Logic Narrative
When the process 'Set Current Status to ACK' is invoked, and assuming that a cargo control record is found in the database, when processing a cargo acknowledgment message, the desired outcome is that the system sets the working current status to 'ack'.
💻 Technical Criteria
Given A cargo control record is found in the database
When Processing a cargo acknowledgment message
Then The system sets the working current status to 'ACK'
R-GCX122A-cbl-00092 Use Last Modify Terminal for Processing
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Last Modify Terminal for Processing', assuming that a cargo control record is found with terminal information, when the last modify terminal field is not empty, the desired outcome is that the system uses the last modify terminal for processing operations.
💻 Technical Criteria
EXCLUDING A cargo control record is found with terminal information
When The last modify terminal field is not empty
Then The system uses the last modify terminal for processing operations
R-GCX122A-cbl-00093 Use Creation Terminal for Processing
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Creation Terminal for Processing', assuming that a cargo control record is found with terminal information, when the last modify terminal field is empty or not available, the desired outcome is that the system uses the creation terminal for processing operations.
💻 Technical Criteria
EXCLUDING A cargo control record is found with terminal information
When The last modify terminal field is empty or not available
Then The system uses the creation terminal for processing operations
R-GCX122A-cbl-00094 Process Arrival Notifications
Decision Rules
📊 Business Logic Narrative
When the process 'Process Arrival Notifications' is invoked, and assuming that a cargo control record is being processed for acknowledgment, when the arrival indicator field equals 'y', the desired outcome is that the system performs arrival processing operations.
💻 Technical Criteria
Given A cargo control record is being processed for acknowledgment
When The arrival indicator field equals 'Y'
Then The system performs arrival processing operations
R-GCX122A-cbl-00095 Update Cargo Control Record
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Control Record' is invoked, and assuming that cargo acknowledgment processing is complete with status and terminal updates, when all acknowledgment processing steps are finished, the desired outcome is that the system updates the cargo control record in the database with all modified fields.
💻 Technical Criteria
Given Cargo acknowledgment processing is complete with status and terminal updates
When All acknowledgment processing steps are finished
Then The system updates the cargo control record in the database with all modified fields
R-GCX122A-cbl-00363 Set Reference Number from Message
Process Rules
📊 Business Logic Narrative
When the process 'Set Reference Number from Message' is invoked, and assuming that an input message containing a reference number in oti-03-ref-num, when the system needs to retrieve cargo control records, the desired outcome is that the reference number is set as the key value for both ccrt-ssaq and a2rt-ssaq segments.
💻 Technical Criteria
Given An input message containing a reference number in OTI-03-REF-NUM
When The system needs to retrieve cargo control records
Then The reference number is set as the key value for both CCRT-SSAQ and A2RT-SSAQ segments
R-GCX122A-cbl-00364 Access GCSA2RT Segment First
Action Rules
📊 Business Logic Narrative
When the process 'Access GCSA2RT Segment First' is invoked, and assuming that a reference number has been set as the key value for a2rt-ssaq, when the system performs cargo control record retrieval, the desired outcome is that the system calls cims with ghu function to access gca2-pcb using gcsccs52 segment and a2rt-ssaq key.
💻 Technical Criteria
Given A reference number has been set as the key value for A2RT-SSAQ
When The system performs cargo control record retrieval
Then The system calls CIMS with GHU function to access GCA2-PCB using GCSCCS52 segment and A2RT-SSAQ key
R-GCX122A-cbl-00366 Access GCSCCRT Segment
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Access GCSCCRT Segment', assuming that the gcsa2rt segment processing has been completed (whether found or not found), when the system continues cargo control record retrieval, the desired outcome is that the system calls cims with ghu function to access gccc-pcb using gccc-cargo-report-segment and ccrt-ssaq key.
💻 Technical Criteria
EXCLUDING The GCSA2RT segment processing has been completed (whether found or not found)
When The system continues cargo control record retrieval
Then The system calls CIMS with GHU function to access GCCC-PCB using GCCC-CARGO-REPORT-SEGMENT and CCRT-SSAQ key
R-GCX122A-cbl-00367 Return Cargo Control Data
Process Rules
📊 Business Logic Narrative
When the process 'Return Cargo Control Data' is invoked, and assuming that the gcsccrt segment access has been attempted, when the status code indicates the gcsccrt record was found (cc-status-code is spaces), the desired outcome is that the system returns with the cargo control data available in gccc-cargo-report-segment for further processing.
💻 Technical Criteria
Given The GCSCCRT segment access has been attempted
When The status code indicates the GCSCCRT record was found (CC-STATUS-CODE is spaces)
Then The system returns with the cargo control data available in GCCC-CARGO-REPORT-SEGMENT for further processing
R-GCX122A-cbl-00368 Return Record Not Found Status
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Return Record Not Found Status', assuming that the gcsccrt segment access has been attempted, when the status code indicates the gcsccrt record was not found (cc-status-code is not spaces), the desired outcome is that the system returns with a not found status, making the cargo control data unavailable for processing.
💻 Technical Criteria
EXCLUDING The GCSCCRT segment access has been attempted
When The status code indicates the GCSCCRT record was not found (CC-STATUS-CODE is not spaces)
Then The system returns with a not found status, making the cargo control data unavailable for processing
R-GCX122A-cbl-00369 Retrieve Cargo Control Record by Reference Number
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Cargo Control Record by Reference Number' is invoked, and assuming that a cargo acknowledgment message with reference number is received, when the system attempts to retrieve the cargo control record using the reference number, the desired outcome is that the system performs database lookup using the reference number as the key for both cargo control and related segments.
💻 Technical Criteria
Given A cargo acknowledgment message with reference number is received
When The system attempts to retrieve the cargo control record using the reference number
Then The system performs database lookup using the reference number as the key for both cargo control and related segments
R-GCX122A-cbl-00371 Set Error Flag for DCP Interface
Process Rules
📊 Business Logic Narrative
When the process 'Set Error Flag for DCP Interface' is invoked, and assuming that cargo control record lookup has failed, when the system needs to indicate an interface error condition, the desired outcome is that the system sets the dcp interface error flag to true.
💻 Technical Criteria
Given Cargo control record lookup has failed
When The system needs to indicate an interface error condition
Then The system sets the DCP interface error flag to true
R-GCX122A-cbl-00372 Update Status to ACK
Decision Rules
📊 Business Logic Narrative
When the process 'Update Status to ACK' is invoked, and assuming that a cargo control record exists and acknowledgment is being processed, when the current cargo status is sent, the desired outcome is that the system updates the cargo current status to ack.
💻 Technical Criteria
Given A cargo control record exists and acknowledgment is being processed
When The current cargo status is SENT
Then The system updates the cargo current status to ACK
R-GCX122A-cbl-00373 Update Status to ACK
Process Rules
📊 Business Logic Narrative
When the process 'Update Status to ACK' is invoked, and assuming that a cargo acknowledgment is being processed and cargo record exists, when the system processes the acknowledgment, the desired outcome is that the system sets the working current status to ack for processing purposes.
💻 Technical Criteria
Given A cargo acknowledgment is being processed and cargo record exists
When The system processes the acknowledgment
Then The system sets the working current status to ACK for processing purposes
R-GCX122A-cbl-00374 Determine Processing Terminal
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Processing Terminal' is invoked, and assuming that a cargo record exists and needs terminal assignment for processing, when the system evaluates terminal information, the desired outcome is that the system uses last modify terminal if available, otherwise uses creation terminal as fallback.
💻 Technical Criteria
Given A cargo record exists and needs terminal assignment for processing
When The system evaluates terminal information
Then The system uses last modify terminal if available, otherwise uses creation terminal as fallback
R-GCX122A-cbl-00375 Use Last Modify Terminal
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Last Modify Terminal', assuming that cargo record has last modify terminal information, when the last modify terminal field is not empty, the desired outcome is that the system assigns the last modify terminal to the processing terminal variable.
💻 Technical Criteria
EXCLUDING Cargo record has last modify terminal information
When The last modify terminal field is not empty
Then The system assigns the last modify terminal to the processing terminal variable
R-GCX122A-cbl-00376 Use Creation Terminal
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Creation Terminal', assuming that cargo record exists but last modify terminal is not available, when the last modify terminal field is empty or spaces, the desired outcome is that the system assigns the creation terminal to the processing terminal variable.
💻 Technical Criteria
EXCLUDING Cargo record exists but last modify terminal is not available
When The last modify terminal field is empty or spaces
Then The system assigns the creation terminal to the processing terminal variable
R-GCX122A-cbl-00377 Process Arrival Notifications
Decision Rules
📊 Business Logic Narrative
When the process 'Process Arrival Notifications' is invoked, and assuming that a cargo acknowledgment is being processed and cargo record exists, when the cargo arrival indicator equals y, the desired outcome is that the system performs arrival processing notifications.
💻 Technical Criteria
Given A cargo acknowledgment is being processed and cargo record exists
When The cargo arrival indicator equals Y
Then The system performs arrival processing notifications
R-GCX122A-cbl-00378 Update Cargo Control Record
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Control Record' is invoked, and assuming that cargo acknowledgment processing is complete with all status and terminal updates, when the system needs to persist the changes, the desired outcome is that the system updates the cargo control record in the database with all modifications.
💻 Technical Criteria
Given Cargo acknowledgment processing is complete with all status and terminal updates
When The system needs to persist the changes
Then The system updates the cargo control record in the database with all modifications
R-GCX122A-cbl-00097 Is Test Message?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Test Message?' is invoked, and assuming that a cargo error message is received, when the reference number starts with '6105ecprstestcargo' or '6105etestcargo', the desired outcome is that the message is flagged as test data and special test processing is performed.
💻 Technical Criteria
Given A cargo error message is received
When The reference number starts with '6105ECPRSTESTCARGO' or '6105ETESTCARGO'
Then The message is flagged as test data and special test processing is performed
R-GCX122A-cbl-00098 Message Type?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Message Type?', assuming that an error message is received that is not test data, when the message type indicator is evaluated, the desired outcome is that the message is routed to either train error processing or cargo error processing based on the type indicator.
💻 Technical Criteria
EXCLUDING An error message is received that is not test data
When The message type indicator is evaluated
Then The message is routed to either train error processing or cargo error processing based on the type indicator
R-GCX122A-cbl-00105 Record Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Record Type?' is invoked, and assuming that an error status needs to be applied to a record, when the system evaluates which type of record was successfully found and processed, the desired outcome is that the appropriate update procedure is called for either train reports or cargo control records.
💻 Technical Criteria
Given An error status needs to be applied to a record
When The system evaluates which type of record was successfully found and processed
Then The appropriate update procedure is called for either train reports or cargo control records
R-GCX122A-cbl-00107 Update Cargo Control Status
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Control Status' is invoked, and assuming that a cargo control record exists and needs status update, when an error or reject status needs to be applied, the desired outcome is that the error status index is set to 'e', the error status is set to either 'e' for errors or 'r' for rejects, and the current status is updated accordingly.
💻 Technical Criteria
Given A cargo control record exists and needs status update
When An error or reject status needs to be applied
Then The error status index is set to 'E', the error status is set to either 'E' for errors or 'R' for rejects, and the current status is updated accordingly
R-GCX122A-cbl-00108 Retrieve Last Modified Terminal
Decision Rules
📊 Business Logic Narrative
When the process 'Retrieve Last Modified Terminal' is invoked, and assuming that a train report is found in the database, when terminal information is needed for message routing, the desired outcome is that if last modified terminal is not empty, use it; otherwise use the creation terminal for processing.
💻 Technical Criteria
Given A train report is found in the database
When Terminal information is needed for message routing
Then If last modified terminal is not empty, use it; otherwise use the creation terminal for processing
R-GCX122A-cbl-00115 Add Warning Message: Train/Cargo Not Found for V67 Warning
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Add Warning Message: Train/Cargo Not Found for V67 Warning', assuming that a train report is not found and the message is a v67 warning, when the system processes the missing train record, the desired outcome is that the message 'train/cargo not found on customs database for v67 warning' is added to the error text and mst entry.
💻 Technical Criteria
EXCLUDING A train report is not found and the message is a V67 warning
When The system processes the missing train record
Then The message 'TRAIN/CARGO NOT FOUND ON CUSTOMS DATABASE FOR V67 WARNING' is added to the error text and MST entry
R-GCX122A-cbl-00120 Capture Last Modified Terminal
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Capture Last Modified Terminal', assuming that a train report is found in the database, when the last modified terminal field is not empty, the desired outcome is that the last modified terminal is captured for processing terminal identification.
💻 Technical Criteria
EXCLUDING A train report is found in the database
When The last modified terminal field is not empty
Then The last modified terminal is captured for processing terminal identification
R-GCX122A-cbl-00121 Capture Creation Terminal if No Last Modified
Process Rules
📊 Business Logic Narrative
When the process 'Capture Creation Terminal if No Last Modified' is invoked, and assuming that a train report is found in the database, when the last modified terminal field is empty, the desired outcome is that the creation terminal is captured for processing terminal identification.
💻 Technical Criteria
Given A train report is found in the database
When The last modified terminal field is empty
Then The creation terminal is captured for processing terminal identification
R-GCX122A-cbl-00382 Set Train/Cargo Not Found Message for V67
Decision Rules
📊 Business Logic Narrative
When the process 'Set Train/Cargo Not Found Message for V67' is invoked, and assuming that a train report lookup that returns no results and the message is a v67 warning, when the free form message starts with 'v67', the desired outcome is that the system adds message 'train/cargo not found on customs database for v67 warning' and sets dcp interface error flag.
💻 Technical Criteria
Given A train report lookup that returns no results and the message is a V67 warning
When The free form message starts with 'V67'
Then The system adds message 'TRAIN/CARGO NOT FOUND ON CUSTOMS DATABASE FOR V67 WARNING' and sets DCP interface error flag
R-GCX122A-cbl-00386 Use Last Modified Terminal
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Use Last Modified Terminal', assuming that a found train report with terminal information, when the last modified terminal field is not empty, the desired outcome is that the system uses the last modified terminal for processing.
💻 Technical Criteria
EXCLUDING A found train report with terminal information
When The last modified terminal field is not empty
Then The system uses the last modified terminal for processing
R-GCX122A-cbl-00387 Use Creation Terminal
Decision Rules
📊 Business Logic Narrative
When the process 'Use Creation Terminal' is invoked, and assuming that a found train report with terminal information, when the last modified terminal field is empty, the desired outcome is that the system uses the creation terminal for processing.
💻 Technical Criteria
Given A found train report with terminal information
When The last modified terminal field is empty
Then The system uses the creation terminal for processing
R-GCX122A-cbl-00538 Update Test Train Acknowledgment Timestamp - Record current system date, century, and time in T2-358-ACK field
Process Rules
📊 Business Logic Narrative
When the process 'Update Test Train Acknowledgment Timestamp - Record current system date, century, and time in T2-358-ACK field' is invoked, and assuming that a test cargo message is being processed and the t2 table segment has been retrieved, when the system processes the test cargo acknowledgment, the desired outcome is that the current system date (6 digits), century (2 digits), and time (4 digits) are recorded in the t2-309-ack field with date in positions 3-8, century in positions 1-2, and time in positions 9-12.
💻 Technical Criteria
Given A test cargo message is being processed and the T2 table segment has been retrieved
When The system processes the test cargo acknowledgment
Then The current system date (6 digits), century (2 digits), and time (4 digits) are recorded in the T2-309-ACK field with date in positions 3-8, century in positions 1-2, and time in positions 9-12
R-GCX122A-cbl-00539 Retrieve T2 Table Segment
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve T2 Table Segment' is invoked, and assuming that a test message (train or cargo) needs timestamp processing, when the system prepares to update acknowledgment timestamps, the desired outcome is that the t2 table segment is retrieved using table id 't2' and empty sequence id, and if retrieval fails an error message 't2 check table entry not found' is generated.
💻 Technical Criteria
Given A test message (train or cargo) needs timestamp processing
When The system prepares to update acknowledgment timestamps
Then The T2 table segment is retrieved using table ID 'T2' and empty sequence ID, and if retrieval fails an error message 'T2 CHECK TABLE ENTRY NOT FOUND' is generated
R-GCX122A-cbl-00122 Is Test Cargo Message?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Test Cargo Message?' is invoked, and assuming that a cargo error message is being processed, when the reference number starts with '6105ecprstestcargo' or '6105etestcargo', the desired outcome is that the message is flagged as test cargo and routed to special test processing.
💻 Technical Criteria
Given A cargo error message is being processed
When The reference number starts with '6105ECPRSTESTCARGO' or '6105ETESTCARGO'
Then The message is flagged as test cargo and routed to special test processing
R-GCX122A-cbl-00123 Handle Test Cargo Processing
Process Rules
📊 Business Logic Narrative
When the process 'Handle Test Cargo Processing' is invoked, and assuming that a cargo message has been identified as test data, when the test cargo flag is set, the desired outcome is that the system performs special check processing and exits cargo error handling.
💻 Technical Criteria
Given A cargo message has been identified as test data
When The test cargo flag is set
Then The system performs special check processing and exits cargo error handling
R-GCX122A-cbl-00124 Set Cargo Error Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Cargo Error Flag' is invoked, and assuming that a non-test cargo error message is being processed, when the message is confirmed as production cargo data, the desired outcome is that the cargo error flag is set to true.
💻 Technical Criteria
Given A non-test cargo error message is being processed
When The message is confirmed as production cargo data
Then The cargo error flag is set to true
R-GCX122A-cbl-00125 Retrieve Cargo Control Record
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Cargo Control Record' is invoked, and assuming that a cargo error message with a reference number, when the system searches for the corresponding cargo control record, the desired outcome is that the cargo record is retrieved if it exists in the database.
💻 Technical Criteria
Given A cargo error message with a reference number
When The system searches for the corresponding cargo control record
Then The cargo record is retrieved if it exists in the database
R-GCX122A-cbl-00126 Is V67 Warning?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Is V67 Warning?', assuming that a cargo control record is not found in the database, when the free-form message starts with 'v67', the desired outcome is that the message is identified as a v67 warning requiring train error processing.
💻 Technical Criteria
EXCLUDING A cargo control record is not found in the database
When The free-form message starts with 'V67'
Then The message is identified as a V67 warning requiring train error processing
R-GCX122A-cbl-00127 Process as Train Error Instead
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Process as Train Error Instead', assuming that a cargo record is not found and the message is identified as v67 warning, when the v67 redirection rule is triggered, the desired outcome is that the system processes the message using train error handling procedures.
💻 Technical Criteria
EXCLUDING A cargo record is not found and the message is identified as V67 warning
When The V67 redirection rule is triggered
Then The system processes the message using train error handling procedures
R-GCX122A-cbl-00129 Set Error Flag for DCP Interface
Action Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Error Flag for DCP Interface', assuming that a cargo control record cannot be found in the database, when the cargo not found condition is confirmed, the desired outcome is that the dcp interface error flag is set to true.
💻 Technical Criteria
EXCLUDING A cargo control record cannot be found in the database
When The cargo not found condition is confirmed
Then The DCP interface error flag is set to true
R-GCX122A-cbl-00130 Save Current Cargo Status
Action Rules
📊 Business Logic Narrative
When the process 'Save Current Cargo Status' is invoked, and assuming that a cargo control record is successfully found, when the system prepares to process the cargo error, the desired outcome is that the current cargo status is saved for comparison and audit purposes.
💻 Technical Criteria
Given A cargo control record is successfully found
When The system prepares to process the cargo error
Then The current cargo status is saved for comparison and audit purposes
R-GCX122A-cbl-00131 Set Cargo Report Found Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Cargo Report Found Flag' is invoked, and assuming that a cargo control record is successfully retrieved from the database, when the cargo record exists and is accessible, the desired outcome is that the cargo report found flag is set to true.
💻 Technical Criteria
Given A cargo control record is successfully retrieved from the database
When The cargo record exists and is accessible
Then The cargo report found flag is set to true
R-GCX122A-cbl-00132 Capture Last Modify Terminal
Action Rules
📊 Business Logic Narrative
When the process 'Capture Last Modify Terminal' is invoked, and assuming that a cargo control record has been found and status saved, when the system needs to determine the appropriate terminal for notifications, the desired outcome is that the last modify terminal information is captured from the cargo record.
💻 Technical Criteria
Given A cargo control record has been found and status saved
When The system needs to determine the appropriate terminal for notifications
Then The last modify terminal information is captured from the cargo record
R-GCX122A-cbl-00134 Use Last Modify Terminal
Action Rules
📊 Business Logic Narrative
When the process 'Use Last Modify Terminal' is invoked, and assuming that a valid last modify terminal exists in the cargo record, when terminal selection logic is executed, the desired outcome is that the last modify terminal is selected for processing error notifications.
💻 Technical Criteria
Given A valid last modify terminal exists in the cargo record
When Terminal selection logic is executed
Then The last modify terminal is selected for processing error notifications
R-GCX122A-cbl-00135 Use Creation Terminal
Action Rules
📊 Business Logic Narrative
When the process 'Use Creation Terminal' is invoked, and assuming that no valid last modify terminal exists in the cargo record, when terminal selection fallback logic is triggered, the desired outcome is that the creation terminal is selected for processing error notifications.
💻 Technical Criteria
Given No valid last modify terminal exists in the cargo record
When Terminal selection fallback logic is triggered
Then The creation terminal is selected for processing error notifications
R-GCX122A-cbl-00388 Check if Test Cargo Message
Decision Rules
📊 Business Logic Narrative
When the process 'Check if Test Cargo Message' is invoked, and assuming that a cargo error message is being processed, when the reference number starts with '6105ecprstestcargo' or '6105etestcargo', the desired outcome is that the message is flagged as test cargo and routed to special test processing.
💻 Technical Criteria
Given A cargo error message is being processed
When The reference number starts with '6105ECPRSTESTCARGO' or '6105ETESTCARGO'
Then The message is flagged as test cargo and routed to special test processing
R-GCX122A-cbl-00389 Process Special Test Check
Action Rules
📊 Business Logic Narrative
When the process 'Process Special Test Check' is invoked, and assuming that a test cargo message has been identified, when special test processing is invoked, the desired outcome is that the system updates test timestamps in the t2 table and exits cargo error processing.
💻 Technical Criteria
Given A test cargo message has been identified
When Special test processing is invoked
Then The system updates test timestamps in the T2 table and exits cargo error processing
R-GCX122A-cbl-00390 Set Cargo Error Processing Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Cargo Error Processing Flag' is invoked, and assuming that a non-test cargo error message is being processed, when the cargo error processing begins, the desired outcome is that the cargo error flag is set to indicate cargo-specific error handling.
💻 Technical Criteria
Given A non-test cargo error message is being processed
When The cargo error processing begins
Then The cargo error flag is set to indicate cargo-specific error handling
R-GCX122A-cbl-00391 Access GCSCCRT Segment with Reference Number
Action Rules
📊 Business Logic Narrative
When the process 'Access GCSCCRT Segment with Reference Number' is invoked, and assuming that a cargo reference number is provided, when the system searches for the cargo control record, the desired outcome is that the gcsccrt segment is accessed using the reference number as the key.
💻 Technical Criteria
Given A cargo reference number is provided
When The system searches for the cargo control record
Then The GCSCCRT segment is accessed using the reference number as the key
R-GCX122A-cbl-00392 Access GCSA2RT Segment with Reference Number
Action Rules
📊 Business Logic Narrative
When the process 'Access GCSA2RT Segment with Reference Number' is invoked, and assuming that a cargo reference number is provided, when the system needs complete cargo information, the desired outcome is that the gcsa2rt segment is accessed using the same reference number.
💻 Technical Criteria
Given A cargo reference number is provided
When The system needs complete cargo information
Then The GCSA2RT segment is accessed using the same reference number
R-GCX122A-cbl-00393 Check for V67 Warning Message
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Check for V67 Warning Message', assuming that a cargo control record is not found in the database, when the free-form message starts with 'v67', the desired outcome is that the message is identified as a v67 warning requiring train error processing.
💻 Technical Criteria
EXCLUDING A cargo control record is not found in the database
When The free-form message starts with 'V67'
Then The message is identified as a V67 warning requiring train error processing
R-GCX122A-cbl-00394 Process as Train Error Instead
Action Rules
📊 Business Logic Narrative
When the process 'Process as Train Error Instead' is invoked, and assuming that a v67 warning message is detected for a missing cargo record, when the system processes the v67 warning, the desired outcome is that the message is routed to train error processing instead of cargo error processing.
💻 Technical Criteria
Given A V67 warning message is detected for a missing cargo record
When The system processes the V67 warning
Then The message is routed to train error processing instead of cargo error processing
R-GCX122A-cbl-00396 Set Error Flag for DCP Interface
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Error Flag for DCP Interface', assuming that a cargo control record is not found in the database, when the error is processed, the desired outcome is that the dcp interface error flag is set to indicate interface issues.
💻 Technical Criteria
EXCLUDING A cargo control record is not found in the database
When The error is processed
Then The DCP interface error flag is set to indicate interface issues
R-GCX122A-cbl-00397 Save Current Cargo Status
Process Rules
📊 Business Logic Narrative
When the process 'Save Current Cargo Status' is invoked, and assuming that a cargo control record is successfully found, when the cargo record is accessed, the desired outcome is that the current status is saved for later comparison and processing decisions.
💻 Technical Criteria
Given A cargo control record is successfully found
When The cargo record is accessed
Then The current status is saved for later comparison and processing decisions
R-GCX122A-cbl-00398 Set Cargo Report Found Flag
Process Rules
📊 Business Logic Narrative
When the process 'Set Cargo Report Found Flag' is invoked, and assuming that a cargo control record is successfully located, when the record retrieval is completed, the desired outcome is that the cargo report found flag is set to enable subsequent cargo processing.
💻 Technical Criteria
Given A cargo control record is successfully located
When The record retrieval is completed
Then The cargo report found flag is set to enable subsequent cargo processing
R-GCX122A-cbl-00399 Determine Last Modify Terminal
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Last Modify Terminal' is invoked, and assuming that a cargo control record has been found, when the system determines message routing, the desired outcome is that the last modify terminal field is checked for availability.
💻 Technical Criteria
Given A cargo control record has been found
When The system determines message routing
Then The last modify terminal field is checked for availability
R-GCX122A-cbl-00400 Use Last Modify Terminal
Decision Rules
📊 Business Logic Narrative
When the process 'Use Last Modify Terminal' is invoked, and assuming that a cargo record has a last modify terminal recorded, when terminal selection for processing is required, the desired outcome is that the last modify terminal is selected for message routing.
💻 Technical Criteria
Given A cargo record has a last modify terminal recorded
When Terminal selection for processing is required
Then The last modify terminal is selected for message routing
R-GCX122A-cbl-00401 Use Creation Terminal
Decision Rules
📊 Business Logic Narrative
When the process 'Use Creation Terminal' is invoked, and assuming that a cargo record has no last modify terminal recorded, when terminal selection for processing is required, the desired outcome is that the creation terminal is selected as the fallback for message routing.
💻 Technical Criteria
Given A cargo record has no last modify terminal recorded
When Terminal selection for processing is required
Then The creation terminal is selected as the fallback for message routing
R-GCX122A-cbl-00490 Check Reference Number
Validation Rules
📊 Business Logic Narrative
When the process 'Check Reference Number' is invoked, and assuming that a cargo error message is received with a reference number, when the reference number starts with '6105ecprstestcargo' or starts with '6105etestcargo', the desired outcome is that the system should identify this as test cargo data and set the test cargo flag.
💻 Technical Criteria
Given A cargo error message is received with a reference number
When The reference number starts with '6105ECPRSTESTCARGO' or starts with '6105ETESTCARGO'
Then The system should identify this as test cargo data and set the test cargo flag
R-GCX122A-cbl-00491 Set Test Cargo Flag
Action Rules
📊 Business Logic Narrative
When the process 'Set Test Cargo Flag' is invoked, and assuming that a cargo reference number matches test cargo patterns, when the reference starts with '6105ecprstestcargo' or '6105etestcargo', the desired outcome is that the system should set the test-cargo flag to true and perform special test processing.
💻 Technical Criteria
Given A cargo reference number matches test cargo patterns
When The reference starts with '6105ECPRSTESTCARGO' or '6105ETESTCARGO'
Then The system should set the TEST-CARGO flag to true and perform special test processing
R-GCX122A-cbl-00492 Retrieve T2 Test Table
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve T2 Test Table' is invoked, and assuming that test cargo processing is required, when the system needs to update test acknowledgment data, the desired outcome is that the system should retrieve the t2 table segment from the gcstbrt table with table id 't2'.
💻 Technical Criteria
Given Test cargo processing is required
When The system needs to update test acknowledgment data
Then The system should retrieve the T2 table segment from the GCSTBRT table with table ID 'T2'
R-GCX122A-cbl-00494 Update Test Acknowledgment Timestamp
Computation Rules
📊 Business Logic Narrative
When the process 'Update Test Acknowledgment Timestamp' is invoked, and assuming that test cargo processing is active and t2 table is available, when a cargo test acknowledgment needs to be recorded, the desired outcome is that the system should update t2-309-ack field with current machine date (positions 3-8), current century (positions 1-2), and current time first 4 digits (positions 9-12).
💻 Technical Criteria
Given Test cargo processing is active and T2 table is available
When A cargo test acknowledgment needs to be recorded
Then The system should update T2-309-ACK field with current machine date (positions 3-8), current century (positions 1-2), and current time first 4 digits (positions 9-12)
R-GCX122A-cbl-00496 Continue Normal Cargo Error Processing
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Continue Normal Cargo Error Processing', assuming that a cargo error message is received, when the reference number does not match test cargo patterns, the desired outcome is that the system should continue with normal cargo error processing workflow.
💻 Technical Criteria
EXCLUDING A cargo error message is received
When The reference number does not match test cargo patterns
Then The system should continue with normal cargo error processing workflow
R-GCX122A-cbl-00541 Retrieve T2 Test Table Entry
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve T2 Test Table Entry' is invoked, and assuming that a test acknowledgment processing request is initiated, when the system attempts to retrieve the t2 test table entry with empty sequence id, the desired outcome is that the system should fetch the t2 table segment for timestamp update operations.
💻 Technical Criteria
Given A test acknowledgment processing request is initiated
When The system attempts to retrieve the T2 test table entry with empty sequence ID
Then The system should fetch the T2 table segment for timestamp update operations
R-GCX122A-cbl-00543 Message Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Message Type?' is invoked, and assuming that a valid t2 test table entry has been retrieved, when the system evaluates the transaction type from the oti message, the desired outcome is that if oti-02-train is true, process as train test; if oti-02-cargo is true, process as cargo test.
💻 Technical Criteria
Given A valid T2 test table entry has been retrieved
When The system evaluates the transaction type from the OTI message
Then If OTI-02-TRAIN is true, process as train test; if OTI-02-CARGO is true, process as cargo test
R-GCX122A-cbl-00545 Update T2-309-ACK Field for Cargo Test
Process Rules
📊 Business Logic Narrative
When the process 'Update T2-309-ACK Field for Cargo Test' is invoked, and assuming that the message type is identified as cargo test (oti-02-cargo is true) and t2 table entry is available, when the system processes the cargo test acknowledgment, the desired outcome is that the system should move the machine century to positions 1-2, machine date to positions 3-8, and machine time (first 4 digits) to positions 9-12 of the t2-309-ack field.
💻 Technical Criteria
Given The message type is identified as cargo test (OTI-02-CARGO is true) and T2 table entry is available
When The system processes the cargo test acknowledgment
Then The system should move the machine century to positions 1-2, machine date to positions 3-8, and machine time (first 4 digits) to positions 9-12 of the T2-309-ACK field
R-GCX122A-cbl-00144 Prepare Message for Transaction Log
Process Rules
📊 Business Logic Narrative
When the process 'Prepare Message for Transaction Log' is invoked, and assuming that message text has been formatted for display, when the system prepares the message for transaction logging, the desired outcome is that set security byte to high-value, populate sending transaction as 'gct1221e', set acf2 user id, date, time, action code as 'zzz', and reference number, then determine record type based on cargo or train classification.
💻 Technical Criteria
Given Message text has been formatted for display
When The system prepares the message for transaction logging
Then Set security byte to high-value, populate sending transaction as 'GCT1221E', set ACF2 user ID, date, time, action code as 'ZZZ', and reference number, then determine record type based on cargo or train classification
R-GCX122A-cbl-00146 Error Type = 'X' Info?
Decision Rules
📊 Business Logic Narrative
When the process 'Error Type = 'X' Info?' is invoked, and assuming that an error message is being processed for train or cargo, when the error type from the message table is 'x' (informational), the desired outcome is that set current status to 'warning' if the original item was a warning, otherwise set to 'info', and exit without database updates.
💻 Technical Criteria
Given An error message is being processed for train or cargo
When The error type from the message table is 'X' (informational)
Then Set current status to 'WARNING' if the original item was a warning, otherwise set to 'INFO', and exit without database updates
R-GCX122A-cbl-00152 Set Error/Release Status Index
Process Rules
📊 Business Logic Narrative
When the process 'Set Error/Release Status Index' is invoked, and assuming that a cargo report is found and needs error processing, when processing an error message for cargo, the desired outcome is that set the error or release status index to 'e' to indicate error processing mode.
💻 Technical Criteria
Given A cargo report is found and needs error processing
When Processing an error message for cargo
Then Set the error or release status index to 'E' to indicate error processing mode
R-GCX122A-cbl-00153 Error Type = 'R' Reject?
Decision Rules
📊 Business Logic Narrative
When the process 'Error Type = 'R' Reject?' is invoked, and assuming that a cargo record is being updated with error information, when the message table error type is 'r', the desired outcome is that set cargo error status to 'r' and current status to 'reject', otherwise set cargo error status to 'e' and current status to 'error'.
💻 Technical Criteria
Given A cargo record is being updated with error information
When The message table error type is 'R'
Then Set cargo error status to 'R' and current status to 'REJECT', otherwise set cargo error status to 'E' and current status to 'ERROR'
R-GCX122A-cbl-00154 Update Cargo Record in Database
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record in Database' is invoked, and assuming that cargo record status and error information have been updated, when all cargo record modifications are complete, the desired outcome is that replace the cargo record in the database with the updated information.
💻 Technical Criteria
Given Cargo record status and error information have been updated
When All cargo record modifications are complete
Then Replace the cargo record in the database with the updated information
R-GCX122A-cbl-00420 Is Error Type 'X' Info?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Error Type 'X' Info?' is invoked, and assuming that a cargo error message is being processed with error type information available from the message table, when the error type from the message table is 'x' (informational), the desired outcome is that the system should set the current status to 'warning' for warning items or 'info' for other items and exit without updating the cargo database record.
💻 Technical Criteria
Given A cargo error message is being processed with error type information available from the message table
When The error type from the message table is 'X' (informational)
Then The system should set the current status to 'WARNING' for warning items or 'INFO' for other items and exit without updating the cargo database record
R-GCX122A-cbl-00421 Set Error/Release Status Index to 'E'
Process Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Error/Release Status Index to 'E'', assuming that a cargo error message is being processed and the error type is not informational ('x'), when the cargo report is found in the system, the desired outcome is that the system should set the error or release status index to 'e' to indicate error processing mode.
💻 Technical Criteria
EXCLUDING A cargo error message is being processed and the error type is not informational ('X')
When The cargo report is found in the system
Then The system should set the error or release status index to 'E' to indicate error processing mode
R-GCX122A-cbl-00422 Is Error Type 'R' Reject?
Decision Rules
📊 Business Logic Narrative
When the process 'Is Error Type 'R' Reject?' is invoked, and assuming that a cargo error message is being processed and the cargo report exists in the system, when the error type from the message table is 'r' (reject), the desired outcome is that the system should set the error status to 'r', set the current status to 'reject', and update the cargo record in the database.
💻 Technical Criteria
Given A cargo error message is being processed and the cargo report exists in the system
When The error type from the message table is 'R' (reject)
Then The system should set the error status to 'R', set the current status to 'REJECT', and update the cargo record in the database
R-GCX122A-cbl-00423 Set Current Status to ERROR
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Set Current Status to ERROR', assuming that a cargo error message is being processed and the cargo report exists in the system, when the error type from the message table is not 'r' (not a reject) and not 'x' (not informational), the desired outcome is that the system should set the error status to 'e', set the current status to 'error', and update the cargo record in the database.
💻 Technical Criteria
EXCLUDING A cargo error message is being processed and the cargo report exists in the system
When The error type from the message table is not 'R' (not a reject) and not 'X' (not informational)
Then The system should set the error status to 'E', set the current status to 'ERROR', and update the cargo record in the database
R-GCX122A-cbl-00424 Update Cargo Record in GCSCCRT
Action Rules
📊 Business Logic Narrative
When the process 'Update Cargo Record in GCSCCRT' is invoked, and assuming that a cargo error message has been processed and the appropriate error status has been determined, when the cargo record status needs to be persisted, the desired outcome is that the system should update the cargo record in the gcsccrt database with the new error status and current status.
💻 Technical Criteria
Given A cargo error message has been processed and the appropriate error status has been determined
When The cargo record status needs to be persisted
Then The system should update the cargo record in the GCSCCRT database with the new error status and current status
R-GCX122A-cbl-00156 Identify as Test Cargo Message 6105ECPRSTESTCARGO or 6105ETESTCARGO
Validation Rules
📊 Business Logic Narrative
When the process 'Identify as Test Cargo Message 6105ECPRSTESTCARGO or 6105ETESTCARGO' is invoked, and assuming that an error message is received with a reference number, when the reference number starts with '6105ecprstestcargo' or starts with '6105etestcargo', the desired outcome is that the message is identified as a cargo test message and test cargo indicator is set.
💻 Technical Criteria
Given An error message is received with a reference number
When The reference number starts with '6105ECPRSTESTCARGO' or starts with '6105ETESTCARGO'
Then The message is identified as a cargo test message and test cargo indicator is set
R-GCX122A-cbl-00157 Retrieve T2 Test Table Entry
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve T2 Test Table Entry' is invoked, and assuming that a test message has been identified (train or cargo), when the system needs to update test acknowledgment timestamps, the desired outcome is that the t2 test table entry is retrieved using table lookup function.
💻 Technical Criteria
Given A test message has been identified (train or cargo)
When The system needs to update test acknowledgment timestamps
Then The T2 test table entry is retrieved using table lookup function
R-GCX122A-cbl-00160 Update Cargo Test ACK Date/Time T2-309-ACK
Process Rules
📊 Business Logic Narrative
When the process 'Update Cargo Test ACK Date/Time T2-309-ACK' is invoked, and assuming that a cargo test message is being processed and t2 table entry exists, when the message type is identified as cargo test, the desired outcome is that the current machine date and time are stored in t2-309-ack field with century, date, and time components.
💻 Technical Criteria
Given A cargo test message is being processed and T2 table entry exists
When The message type is identified as cargo test
Then The current machine date and time are stored in T2-309-ACK field with century, date, and time components
R-GCX122A-cbl-00162 Skip Normal Error Processing
Process Rules
📊 Business Logic Narrative
When the process 'Skip Normal Error Processing' is invoked, and assuming that a message has been identified as a test message (train or cargo), when test message processing is complete, the desired outcome is that normal error processing is skipped and control proceeds to transaction logging.
💻 Technical Criteria
Given A message has been identified as a test message (train or cargo)
When Test message processing is complete
Then Normal error processing is skipped and control proceeds to transaction logging
R-GCX122A-cbl-00179 LTERM Available for Reference?
Validation Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'LTERM Available for Reference?', assuming that a reference number requires message routing, when the system checks if lterm process information is available and not empty, the desired outcome is that processing continues with lterm if available, otherwise an error message is generated indicating no lterm found.
💻 Technical Criteria
EXCLUDING A reference number requires message routing
When The system checks if LTERM process information is available and not empty
Then Processing continues with LTERM if available, otherwise an error message is generated indicating no LTERM found
R-GCX122A-cbl-00187 Determine Message Recipients
Decision Rules
📊 Business Logic Narrative
When the process 'Determine Message Recipients' is invoked, and assuming that merlin id validation is complete, when the system needs to determine message routing recipients, the desired outcome is that valid supervisor merlin ids are assigned as recipients, invalid ids result in empty recipient assignment.
💻 Technical Criteria
Given Merlin ID validation is complete
When The system needs to determine message routing recipients
Then Valid supervisor Merlin IDs are assigned as recipients, invalid IDs result in empty recipient assignment
R-GCX122A-cbl-00188 Error Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Error Type?' is invoked, and assuming that an error message needs to be routed, when the system evaluates the error context (train vs cargo), the desired outcome is that the message is routed to train-specific recipients if it's a train error, otherwise to cargo-specific recipients.
💻 Technical Criteria
Given An error message needs to be routed
When The system evaluates the error context (train vs cargo)
Then The message is routed to train-specific recipients if it's a train error, otherwise to cargo-specific recipients
R-GCX122A-cbl-00190 Route to Cargo Message Recipients
Action Rules
📊 Business Logic Narrative
When the process 'Route to Cargo Message Recipients' is invoked, and assuming that a cargo-related error message needs distribution, when the system routes the message to cargo recipients, the desired outcome is that the message is sent to the supervisor merlin id, with fallback to om01247 if the primary send fails.
💻 Technical Criteria
Given A cargo-related error message needs distribution
When The system routes the message to cargo recipients
Then The message is sent to the supervisor Merlin ID, with fallback to OM01247 if the primary send fails
R-GCX122A-cbl-00194 Alternate Terminal Configured?
Decision Rules
📊 Business Logic Narrative
<EXCLUSION LOGIC> For the process 'Alternate Terminal Configured?', assuming that terminal configuration has been successfully retrieved from the lt table, when the alternate terminal field in the configuration is not empty, the desired outcome is that the processing terminal is updated to the alternate terminal value and mst call letters are updated accordingly.
💻 Technical Criteria
EXCLUDING Terminal configuration has been successfully retrieved from the LT table
When The alternate terminal field in the configuration is not empty
Then The processing terminal is updated to the alternate terminal value and MST call letters are updated accordingly
R-GCX122A-cbl-00207 Clear Message Recipients
Process Rules
📊 Business Logic Narrative
When the process 'Clear Message Recipients' is invoked, and assuming that a cargo error message needs to be sent to merlin users, when the system prepares to route the message, the desired outcome is that all recipient fields are cleared to spaces to ensure no residual data affects message routing.
💻 Technical Criteria
Given A cargo error message needs to be sent to Merlin users
When The system prepares to route the message
Then All recipient fields are cleared to spaces to ensure no residual data affects message routing
R-GCX122A-cbl-00208 Set Primary Merlin User as Recipient
Action Rules
📊 Business Logic Narrative
When the process 'Set Primary Merlin User as Recipient' is invoked, and assuming that a cargo error message is ready to be sent and recipient fields are cleared, when the system sets up the primary message recipient, the desired outcome is that the supervisor merlin user id is assigned as the first recipient in the user codes array.
💻 Technical Criteria
Given A cargo error message is ready to be sent and recipient fields are cleared
When The system sets up the primary message recipient
Then The supervisor Merlin user ID is assigned as the first recipient in the user codes array
R-GCX122A-cbl-00209 Send Message to Primary User
Action Rules
📊 Business Logic Narrative
When the process 'Send Message to Primary User' is invoked, and assuming that a cargo error message is prepared with primary merlin user as recipient, when the system attempts to send the message via emcsend2 service, the desired outcome is that the message is transmitted to the merlin messaging system with all required message details including subject, keywords, and text content.
💻 Technical Criteria
Given A cargo error message is prepared with primary Merlin user as recipient
When The system attempts to send the message via EMCSEND2 service
Then The message is transmitted to the Merlin messaging system with all required message details including subject, keywords, and text content
R-GCX122A-cbl-00210 Message Delivery Successful?
Decision Rules
📊 Business Logic Narrative
When the process 'Message Delivery Successful?' is invoked, and assuming that a cargo error message has been sent to the primary merlin user, when the system checks the message delivery status, the desired outcome is that if the return status flag equals 0, the message delivery is considered successful, otherwise it is considered failed.
💻 Technical Criteria
Given A cargo error message has been sent to the primary Merlin user
When The system checks the message delivery status
Then If the return status flag equals 0, the message delivery is considered successful, otherwise it is considered failed
R-GCX122A-cbl-00211 Clear Recipients for Fallback
Process Rules
📊 Business Logic Narrative
When the process 'Clear Recipients for Fallback' is invoked, and assuming that the primary cargo error message delivery has failed, when the system prepares for fallback message routing, the desired outcome is that all recipient fields including copy usercode and to usercode are cleared to spaces.
💻 Technical Criteria
Given The primary cargo error message delivery has failed
When The system prepares for fallback message routing
Then All recipient fields including copy usercode and to usercode are cleared to spaces
R-GCX122A-cbl-00212 Set Default User OM01247 as Recipient
Action Rules
📊 Business Logic Narrative
When the process 'Set Default User OM01247 as Recipient' is invoked, and assuming that primary cargo error message delivery has failed and recipient fields are cleared, when the system sets up fallback message routing, the desired outcome is that the default user id 'om01247' is assigned as the first recipient in the user codes array.
💻 Technical Criteria
Given Primary cargo error message delivery has failed and recipient fields are cleared
When The system sets up fallback message routing
Then The default user ID 'OM01247' is assigned as the first recipient in the user codes array
R-GCX122A-cbl-00213 Send Message to Default User
Action Rules
📊 Business Logic Narrative
When the process 'Send Message to Default User' is invoked, and assuming that primary cargo message delivery failed and default user om01247 is set as recipient, when the system attempts fallback message delivery via emcsend2 service, the desired outcome is that the message is transmitted to the default user with the same message content including subject, keywords, and text.
💻 Technical Criteria
Given Primary cargo message delivery failed and default user OM01247 is set as recipient
When The system attempts fallback message delivery via EMCSEND2 service
Then The message is transmitted to the default user with the same message content including subject, keywords, and text
R-GCX122A-cbl-00214 Purge Message Queue
Process Rules
📊 Business Logic Narrative
When the process 'Purge Message Queue' is invoked, and assuming that cargo error message has been sent either successfully to primary user or to default user as fallback, when the system completes message processing, the desired outcome is that the message queue is purged using cims service with purg function to clean up resources.
💻 Technical Criteria
Given Cargo error message has been sent either successfully to primary user or to default user as fallback
When The system completes message processing
Then The message queue is purged using CIMS service with PURG function to clean up resources
R-GCX122A-cbl-00232 Check Cargo Arrival Indicator
Validation Rules
📊 Business Logic Narrative
When the process 'Check Cargo Arrival Indicator' is invoked, and assuming that a cargo record exists with an arrival indicator field, when the system processes cargo acknowledgment, the desired outcome is that the system checks if the arrival indicator equals 'y' to determine if arrival processing is required.
💻 Technical Criteria
Given A cargo record exists with an arrival indicator field
When The system processes cargo acknowledgment
Then The system checks if the arrival indicator equals 'Y' to determine if arrival processing is required
R-GCX122A-cbl-00233 Initialize Arrival Transaction Input
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Arrival Transaction Input' is invoked, and assuming that cargo has arrival indicator set to 'y', when the system begins arrival processing, the desired outcome is that the system initializes the arrival transaction input structure to prepare for transaction creation.
💻 Technical Criteria
Given Cargo has arrival indicator set to 'Y'
When The system begins arrival processing
Then The system initializes the arrival transaction input structure to prepare for transaction creation
R-GCX122A-cbl-00236 Set Transaction Type to 'CAA'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Transaction Type to 'CAA'' is invoked, and assuming that an arrival transaction is being created for cargo, when the system configures transaction parameters, the desired outcome is that the system sets the action code to 'caa' to identify this as a cargo arrival transaction.
💻 Technical Criteria
Given An arrival transaction is being created for cargo
When The system configures transaction parameters
Then The system sets the action code to 'CAA' to identify this as a cargo arrival transaction
R-GCX122A-cbl-00237 Get Port Code from Manifest
Definitional Rules
📊 Business Logic Narrative
When the process 'Get Port Code from Manifest' is invoked, and assuming that a cargo record contains manifest transaction code information, when the system creates arrival transaction, the desired outcome is that the system extracts the port code from the manifest from transaction code field and assigns it to the arrival transaction.
💻 Technical Criteria
Given A cargo record contains manifest transaction code information
When The system creates arrival transaction
Then The system extracts the port code from the manifest from transaction code field and assigns it to the arrival transaction
R-GCX122A-cbl-00239 Send Arrival Transaction to GCT1481E
Action Rules
📊 Business Logic Narrative
When the process 'Send Arrival Transaction to GCT1481E' is invoked, and assuming that a complete arrival message is prepared, when the system processes cargo arrival, the desired outcome is that the system sends the arrival transaction to gct1481e system for further processing.
💻 Technical Criteria
Given A complete arrival message is prepared
When The system processes cargo arrival
Then The system sends the arrival transaction to GCT1481E system for further processing
R-GCX122A-cbl-00440 Initialize GCX148 Input Structure
Process Rules
📊 Business Logic Narrative
When the process 'Initialize GCX148 Input Structure' is invoked, and assuming that a cargo arrival processing request is initiated, when the system begins arrival transaction initialization, the desired outcome is that the gcx148 input structure is initialized to clear any previous data.
💻 Technical Criteria
Given A cargo arrival processing request is initiated
When The system begins arrival transaction initialization
Then The GCX148 input structure is initialized to clear any previous data
R-GCX122A-cbl-00443 Set Transaction Type to CA-CARGO
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Transaction Type to CA-CARGO' is invoked, and assuming that an arrival transaction is being prepared for cargo, when the transaction type needs to be specified, the desired outcome is that the transaction type is set to ca-cargo to indicate this is a cargo-related arrival.
💻 Technical Criteria
Given An arrival transaction is being prepared for cargo
When The transaction type needs to be specified
Then The transaction type is set to CA-CARGO to indicate this is a cargo-related arrival
R-GCX122A-cbl-00444 Set Action Code to 'CAA'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Action Code to 'CAA'' is invoked, and assuming that a cargo arrival transaction is being prepared, when the action code needs to be specified, the desired outcome is that the action code is set to 'caa' to indicate cargo arrival processing.
💻 Technical Criteria
Given A cargo arrival transaction is being prepared
When The action code needs to be specified
Then The action code is set to 'CAA' to indicate cargo arrival processing
R-GCX122A-cbl-00445 Move Port Code from Manifest Transaction Code
Definitional Rules
📊 Business Logic Narrative
When the process 'Move Port Code from Manifest Transaction Code' is invoked, and assuming that a cargo record contains manifest transaction code information, when an arrival transaction is being prepared, the desired outcome is that the port code from the manifest transaction code is extracted and assigned to the arrival transaction.
💻 Technical Criteria
Given A cargo record contains manifest transaction code information
When An arrival transaction is being prepared
Then The port code from the manifest transaction code is extracted and assigned to the arrival transaction
R-GCX122A-cbl-00508 Initialize Arrival Message Structure
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Arrival Message Structure' is invoked, and assuming that a cargo arrival transaction needs to be processed, when the arrival processing begins, the desired outcome is that the arrival message structure is initialized to clear any previous data.
💻 Technical Criteria
Given A cargo arrival transaction needs to be processed
When The arrival processing begins
Then The arrival message structure is initialized to clear any previous data
R-GCX122A-cbl-00511 Set Message Type to Cargo Arrival
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Message Type to Cargo Arrival' is invoked, and assuming that an arrival message is being prepared for cargo, when the message type needs to be specified, the desired outcome is that the message type is set to cargo arrival indicator.
💻 Technical Criteria
Given An arrival message is being prepared for cargo
When The message type needs to be specified
Then The message type is set to cargo arrival indicator
R-GCX122A-cbl-00512 Set Action Code to 'CAA'
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Action Code to 'CAA'' is invoked, and assuming that a cargo arrival message is being prepared, when the action code needs to be specified, the desired outcome is that the action code is set to 'caa' to indicate cargo arrival action.
💻 Technical Criteria
Given A cargo arrival message is being prepared
When The action code needs to be specified
Then The action code is set to 'CAA' to indicate cargo arrival action
R-GCX122A-cbl-00513 Extract Port Code from Manifest
Action Rules
📊 Business Logic Narrative
When the process 'Extract Port Code from Manifest' is invoked, and assuming that a cargo record contains manifest transaction code information, when port information is needed for the arrival message, the desired outcome is that the port code is extracted from the manifest transaction code and assigned to the message port code field.
💻 Technical Criteria
Given A cargo record contains manifest transaction code information
When Port information is needed for the arrival message
Then The port code is extracted from the manifest transaction code and assigned to the message port code field
R-GCX122A-cbl-00547 Initialize Message Structure
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Message Structure' is invoked, and assuming that a cargo arrival processing request is initiated, when the system begins preparing the arrival message, the desired outcome is that the message input structure is completely cleared of any previous data.
💻 Technical Criteria
Given A cargo arrival processing request is initiated
When The system begins preparing the arrival message
Then The message input structure is completely cleared of any previous data
R-GCX122A-cbl-00550 Set Message Type to Cargo
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Message Type to Cargo' is invoked, and assuming that an arrival message is being prepared for cargo, when the message type classification is being set, the desired outcome is that the message is marked as a cargo-type message.
💻 Technical Criteria
Given An arrival message is being prepared for cargo
When The message type classification is being set
Then The message is marked as a cargo-type message
R-GCX122A-cbl-00551 Set Action Code to 'CAA' - Cargo Arrival
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Action Code to 'CAA' - Cargo Arrival' is invoked, and assuming that a cargo arrival message is being prepared, when the action code is being assigned, the desired outcome is that the action code is set to 'caa' to indicate cargo arrival.
💻 Technical Criteria
Given A cargo arrival message is being prepared
When The action code is being assigned
Then The action code is set to 'CAA' to indicate cargo arrival
R-GCX122A-cbl-00552 Extract Port Code from Manifest
Definitional Rules
📊 Business Logic Narrative
When the process 'Extract Port Code from Manifest' is invoked, and assuming that a cargo record contains manifest transaction information with a port code, when an arrival message is being prepared, the desired outcome is that the port code from the manifest transaction is extracted and assigned to the message port code field.
💻 Technical Criteria
Given A cargo record contains manifest transaction information with a port code
When An arrival message is being prepared
Then The port code from the manifest transaction is extracted and assigned to the message port code field
R-GCX122A-cbl-00242 Status Actually Changed?
Validation Rules
📊 Business Logic Narrative
When the process 'Status Actually Changed?' is invoked, and assuming that a cargo record has been processed and potentially updated, when the system compares the saved original status with the current cargo status, the desired outcome is that iron highway update processing continues only if the status values are different.
💻 Technical Criteria
Given A cargo record has been processed and potentially updated
When The system compares the saved original status with the current cargo status
Then Iron Highway update processing continues only if the status values are different
R-GCX122A-cbl-00243 Retrieve Iron Highway Configuration
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Iron Highway Configuration' is invoked, and assuming that a cargo status change requires iron highway notification, when the system looks up iron highway configuration using the cargo origin station number as the key, the desired outcome is that the system retrieves the ih table configuration if it exists.
💻 Technical Criteria
Given A cargo status change requires Iron Highway notification
When The system looks up Iron Highway configuration using the cargo origin station number as the key
Then The system retrieves the IH table configuration if it exists
R-GCX122A-cbl-00246 Process Reference Numbers
Decision Rules
📊 Business Logic Narrative
When the process 'Process Reference Numbers' is invoked, and assuming that iron highway transaction data is being prepared with cargo reference numbers, when the system processes up to 10 reference number entries and finds a reference qualifier of 'cn', the desired outcome is that the system extracts the corresponding reference number value and sets it as the shipment id.
💻 Technical Criteria
Given Iron Highway transaction data is being prepared with cargo reference numbers
When The system processes up to 10 reference number entries and finds a reference qualifier of 'CN'
Then The system extracts the corresponding reference number value and sets it as the shipment ID
R-GCX122A-cbl-00247 Call Iron Highway System Update
Action Rules
📊 Business Logic Narrative
When the process 'Call Iron Highway System Update' is invoked, and assuming that all iron highway transaction data has been prepared and validated, when the system calls the iron highway interface program gccih, the desired outcome is that the cargo status change is transmitted to the iron highway system with all relevant cargo details.
💻 Technical Criteria
Given All Iron Highway transaction data has been prepared and validated
When The system calls the Iron Highway interface program GCCIH
Then The cargo status change is transmitted to the Iron Highway system with all relevant cargo details
R-GCX122A-cbl-00447 Retrieve Iron Highway Configuration - Access IH table using origin station number to get Iron Highway system configuration
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Iron Highway Configuration - Access IH table using origin station number to get Iron Highway system configuration' is invoked, and assuming that a cargo record exists with an origin station number and the system needs iron highway configuration data, when the system accesses the ih table using the origin station number as the key, the desired outcome is that the iron highway configuration is retrieved if found, otherwise the configuration remains unavailable.
💻 Technical Criteria
Given A cargo record exists with an origin station number and the system needs Iron Highway configuration data
When The system accesses the IH table using the origin station number as the key
Then The Iron Highway configuration is retrieved if found, otherwise the configuration remains unavailable
R-GCX122A-cbl-00450 Get Iron Highway Configuration Table
Action Rules
📊 Business Logic Narrative
When the process 'Get Iron Highway Configuration Table' is invoked, and assuming that a cargo record exists with an origin station number, when the system needs to prepare iron highway transaction data, the desired outcome is that the system looks up the iron highway configuration table using the cargo origin station number as the key.
💻 Technical Criteria
Given A cargo record exists with an origin station number
When The system needs to prepare Iron Highway transaction data
Then The system looks up the Iron Highway configuration table using the cargo origin station number as the key
R-GCX122A-cbl-00454 Map Equipment ID for Index
Definitional Rules
📊 Business Logic Narrative
When the process 'Map Equipment ID for Index' is invoked, and assuming that a cargo record contains an equipment id for indexing, when the system prepares iron highway transaction data, the desired outcome is that the equipment id for index is mapped to the iron highway car id field.
💻 Technical Criteria
Given A cargo record contains an equipment ID for indexing
When The system prepares Iron Highway transaction data
Then The equipment ID for index is mapped to the Iron Highway car ID field
R-GCX122A-cbl-00457 Initialize Reference Counter
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Reference Counter' is invoked, and assuming that the system is preparing to process cargo reference numbers, when iron highway data mapping begins, the desired outcome is that the reference number counter is set to zero.
💻 Technical Criteria
Given The system is preparing to process cargo reference numbers
When Iron Highway data mapping begins
Then The reference number counter is set to zero
R-GCX122A-cbl-00458 Loop Through Reference Numbers
Process Rules
📊 Business Logic Narrative
When the process 'Loop Through Reference Numbers' is invoked, and assuming that cargo record contains multiple reference numbers, when the system processes iron highway data, the desired outcome is that the system loops through reference numbers incrementing the counter from 1 to 10.
💻 Technical Criteria
Given Cargo record contains multiple reference numbers
When The system processes Iron Highway data
Then The system loops through reference numbers incrementing the counter from 1 to 10
R-GCX122A-cbl-00459 Reference Qualifier = 'CN'?
Decision Rules
📊 Business Logic Narrative
When the process 'Reference Qualifier = 'CN'?' is invoked, and assuming that a cargo reference number entry is being processed, when the system checks the reference number qualifier, the desired outcome is that if the qualifier equals 'cn', the reference number is identified as a shipment id candidate.
💻 Technical Criteria
Given A cargo reference number entry is being processed
When The system checks the reference number qualifier
Then If the qualifier equals 'CN', the reference number is identified as a shipment ID candidate
R-GCX122A-cbl-00518 Check if Cargo Status Changed
Decision Rules
📊 Business Logic Narrative
When the process 'Check if Cargo Status Changed' is invoked, and assuming that a cargo record has been processed and may have a status change, when the system compares the saved status with the current cargo status, the desired outcome is that if the statuses are different, iron highway processing continues, otherwise it exits.
💻 Technical Criteria
Given A cargo record has been processed and may have a status change
When The system compares the saved status with the current cargo status
Then If the statuses are different, Iron Highway processing continues, otherwise it exits
R-GCX122A-cbl-00519 Retrieve Iron Highway Configuration
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Iron Highway Configuration' is invoked, and assuming that cargo status has changed and iron highway processing is required, when the system looks up iron highway configuration using the cargo origin station number as the key, the desired outcome is that the system retrieves the ih table configuration data for further processing.
💻 Technical Criteria
Given Cargo status has changed and Iron Highway processing is required
When The system looks up Iron Highway configuration using the cargo origin station number as the key
Then The system retrieves the IH table configuration data for further processing
R-GCX122A-cbl-00521 Set Record Type for Cargo
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Record Type for Cargo' is invoked, and assuming that iron highway configuration is available and cargo processing is active, when the system prepares transaction data for iron highway interface, the desired outcome is that the record type is set to cargo type using the gcx105 cargo indicator.
💻 Technical Criteria
Given Iron Highway configuration is available and cargo processing is active
When The system prepares transaction data for Iron Highway interface
Then The record type is set to cargo type using the GCX105 cargo indicator
R-GCX122A-cbl-00523 Map Equipment ID to Car ID
Computation Rules
📊 Business Logic Narrative
When the process 'Map Equipment ID to Car ID' is invoked, and assuming that iron highway transaction data is being prepared, when the system processes cargo equipment information, the desired outcome is that the cargo equipment id for index is mapped to the iron highway car id field.
💻 Technical Criteria
Given Iron Highway transaction data is being prepared
When The system processes cargo equipment information
Then The cargo equipment ID for index is mapped to the Iron Highway car ID field
R-GCX122A-cbl-00526 Extract Shipment ID from Reference Numbers
Process Rules
📊 Business Logic Narrative
When the process 'Extract Shipment ID from Reference Numbers' is invoked, and assuming that iron highway transaction data is being prepared with cargo reference numbers, when the system processes up to 10 reference number entries looking for cn qualifier, the desired outcome is that when a reference number qualifier equals 'cn', the corresponding reference number is mapped to the iron highway shipment id.
💻 Technical Criteria
Given Iron Highway transaction data is being prepared with cargo reference numbers
When The system processes up to 10 reference number entries looking for CN qualifier
Then When a reference number qualifier equals 'CN', the corresponding reference number is mapped to the Iron Highway shipment ID
R-GCX122A-cbl-00554 Extract Shipment ID from Reference Numbers - Loop through N901/N902 reference number pairs to find CN qualifier and extract shipment ID
Process Rules
📊 Business Logic Narrative
When the process 'Extract Shipment ID from Reference Numbers - Loop through N901/N902 reference number pairs to find CN qualifier and extract shipment ID' is invoked, and assuming that a cargo record exists with multiple n901/n902 reference number pairs, when the system processes the cargo record for shipment id extraction, the desired outcome is that the system loops through up to 10 reference number pairs, finds the pair where n901 qualifier equals 'cn', and extracts the corresponding n902 reference number as the shipment id.
💻 Technical Criteria
Given A cargo record exists with multiple N901/N902 reference number pairs
When The system processes the cargo record for shipment ID extraction
Then The system loops through up to 10 reference number pairs, finds the pair where N901 qualifier equals 'CN', and extracts the corresponding N902 reference number as the shipment ID
R-GCX122A-cbl-00264 Set Log Type as Cargo/Train/Other
Decision Rules
📊 Business Logic Narrative
When the process 'Set Log Type as Cargo/Train/Other' is invoked, and assuming that a transaction log entry needs to be classified by type, when the transaction type is evaluated, the desired outcome is that if the transaction is cargo type, set log type as cargo; if the transaction is train type, set log type as train; otherwise set log type as other.
💻 Technical Criteria
Given A transaction log entry needs to be classified by type
When The transaction type is evaluated
Then If the transaction is cargo type, set log type as cargo; if the transaction is train type, set log type as train; otherwise set log type as other
R-GCX122A-cbl-00271 Test Message Type?
Decision Rules
📊 Business Logic Narrative
When the process 'Test Message Type?' is invoked, and assuming that a test message is being processed and the t2 configuration table is available, when the system evaluates the message type indicator, the desired outcome is that if the message is train type, process train test acknowledgment; if cargo type, process cargo test acknowledgment.
💻 Technical Criteria
Given A test message is being processed and the T2 configuration table is available
When The system evaluates the message type indicator
Then If the message is train type, process train test acknowledgment; if cargo type, process cargo test acknowledgment
R-GCX122A-cbl-00273 Update Cargo Test Acknowledgment
Process Rules
📊 Business Logic Narrative
When the process 'Update Cargo Test Acknowledgment' is invoked, and assuming that a cargo test message is being processed and the t2 table is accessible, when the system processes the cargo test acknowledgment, the desired outcome is that the system updates the t2-309-ack field with current machine date (century and date) and current machine time (first 4 digits).
💻 Technical Criteria
Given A cargo test message is being processed and the T2 table is accessible
When The system processes the cargo test acknowledgment
Then The system updates the T2-309-ACK field with current machine date (century and date) and current machine time (first 4 digits)
R-GCX122A-cbl-00276 Initialize Message Processing Flags
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Message Processing Flags' is invoked, and assuming that a new message is being processed, when the system initializes message processing flags, the desired outcome is that sw-process-mst is set to true, sw-process-merlin is set to true, sw-not-train-error is set to true, and sw-not-cargo-error is set to true.
💻 Technical Criteria
Given A new message is being processed
When The system initializes message processing flags
Then SW-PROCESS-MST is set to TRUE, SW-PROCESS-MERLIN is set to TRUE, SW-NOT-TRAIN-ERROR is set to TRUE, and SW-NOT-CARGO-ERROR is set to TRUE
R-GCX122A-cbl-00280 Set Generic Reference Header Text
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Generic Reference Header Text' is invoked, and assuming that the input message is neither a train message nor a cargo message, when the system determines the message header text, the desired outcome is that msg-lib is set to 'reference number :'.
💻 Technical Criteria
Given The input message is neither a train message nor a cargo message
When The system determines the message header text
Then MSG-LIB is set to 'REFERENCE NUMBER :'
R-GCX122A-cbl-00283 Initialize Processing Flags
Process Rules
📊 Business Logic Narrative
When the process 'Initialize Processing Flags' is invoked, and assuming that the system is initializing reference processing, when processing flags need to be established, the desired outcome is that sw-process-mst and sw-process-merlin are set to true, and sw-not-train-error and sw-not-cargo-error are set to true.
💻 Technical Criteria
Given The system is initializing reference processing
When Processing flags need to be established
Then SW-PROCESS-MST and SW-PROCESS-MERLIN are set to TRUE, and SW-NOT-TRAIN-ERROR and SW-NOT-CARGO-ERROR are set to TRUE
R-GCX122A-cbl-00286 Set Generic Reference Label
Definitional Rules
📊 Business Logic Narrative
When the process 'Set Generic Reference Label' is invoked, and assuming that the incoming message is neither a train message nor a cargo message, when the system determines the message label, the desired outcome is that msg-lib is set to 'reference number :'.
💻 Technical Criteria
Given The incoming message is neither a train message nor a cargo message
When The system determines the message label
Then MSG-LIB is set to 'REFERENCE NUMBER :'
R-GCX122A-cbl-00292 Format Reference Number Message
Definitional Rules
📊 Business Logic Narrative
When the process 'Format Reference Number Message' is invoked, and assuming that a transaction message is being processed, when the transaction type is neither train nor cargo operation, the desired outcome is that the message library text is set to 'reference number :' as the default reference numbering format.
💻 Technical Criteria
Given A transaction message is being processed
When The transaction type is neither train nor cargo operation
Then The message library text is set to 'REFERENCE NUMBER :' as the default reference numbering format
R-GCX122A-cbl-00303 Format Subject Line
Decision Rules
📊 Business Logic Narrative
When the process 'Format Subject Line' is invoked, and assuming that message headers are being prepared with timestamps, when transaction type classification is needed for message routing, the desired outcome is that the system sets gcx105-ca-cargo flag for cargo transactions, gcx105-new-ca-train flag for train transactions, or continues without specific classification for other transaction types.
💻 Technical Criteria
Given Message headers are being prepared with timestamps
When Transaction type classification is needed for message routing
Then The system sets GCX105-CA-CARGO flag for cargo transactions, GCX105-NEW-CA-TRAIN flag for train transactions, or continues without specific classification for other transaction types
R-GCX122A-cbl-00316 Check Reference Number Pattern
Decision Rules
📊 Business Logic Narrative
When the process 'Check Reference Number Pattern' is invoked, and assuming that a reference number is provided in the message, when the reference number equals '6105etesttrain00000000000' or starts with '6105ecprstestcargo' or starts with '6105etestcargo', the desired outcome is that the message is classified as test data and special test processing is triggered.
💻 Technical Criteria
Given A reference number is provided in the message
When The reference number equals '6105ETESTTRAIN00000000000' OR starts with '6105ECPRSTESTCARGO' OR starts with '6105ETESTCARGO'
Then The message is classified as test data and special test processing is triggered
R-GCX122A-cbl-00317 Retrieve T2 Test Table Entry
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve T2 Test Table Entry' is invoked, and assuming that a test message has been identified, when the system attempts to retrieve the t2 table entry with empty sequence id, the desired outcome is that the t2 test table segment is loaded for timestamp updates.
💻 Technical Criteria
Given A test message has been identified
When The system attempts to retrieve the T2 table entry with empty sequence ID
Then The T2 test table segment is loaded for timestamp updates
R-GCX122A-cbl-00321 Update Cargo Test Acknowledgment Field
Process Rules
📊 Business Logic Narrative
When the process 'Update Cargo Test Acknowledgment Field' is invoked, and assuming that the message is identified as a cargo test message and t2 table entry is available, when the system processes the cargo test acknowledgment, the desired outcome is that the t2-309-ack field is updated with current date (century + date) and time.
💻 Technical Criteria
Given The message is identified as a cargo test message and T2 table entry is available
When The system processes the cargo test acknowledgment
Then The T2-309-ACK field is updated with current date (century + date) and time
R-GCX122A-cbl-00322 Set Current Date/Century to ACK Field
Computation Rules
📊 Business Logic Narrative
When the process 'Set Current Date/Century to ACK Field' is invoked, and assuming that the appropriate test acknowledgment field has been identified (train or cargo), when the system updates the timestamp, the desired outcome is that the current machine century is placed in positions 1-2 and current machine date is placed in positions 3-8 of the acknowledgment field.
💻 Technical Criteria
Given The appropriate test acknowledgment field has been identified (train or cargo)
When The system updates the timestamp
Then The current machine century is placed in positions 1-2 and current machine date is placed in positions 3-8 of the acknowledgment field
R-GCX122A-cbl-00325 Has Cargo Status Changed?
Decision Rules
📊 Business Logic Narrative
When the process 'Has Cargo Status Changed?' is invoked, and assuming that a cargo record has been processed and updated, when the system checks if the saved status differs from the current status, the desired outcome is that iron highway processing is triggered only when status has changed.
💻 Technical Criteria
Given A cargo record has been processed and updated
When The system checks if the saved status differs from the current status
Then Iron Highway processing is triggered only when status has changed
R-GCX122A-cbl-00326 Retrieve Iron Highway Configuration
Action Rules
📊 Business Logic Narrative
When the process 'Retrieve Iron Highway Configuration' is invoked, and assuming that a cargo status change has been detected, when the system retrieves iron highway configuration using the cargo origin station number as the key, the desired outcome is that the configuration data is loaded from the ih table for further processing.
💻 Technical Criteria
Given A cargo status change has been detected
When The system retrieves Iron Highway configuration using the cargo origin station number as the key
Then The configuration data is loaded from the IH table for further processing
R-GCX122A-cbl-00328 Set Up Iron Highway Transaction Record
Process Rules
📊 Business Logic Narrative
When the process 'Set Up Iron Highway Transaction Record' is invoked, and assuming that valid iron highway configuration has been found, when the system sets up the transaction record, the desired outcome is that the record type is set to cargo and the current cargo status is mapped to the transaction.
💻 Technical Criteria
Given Valid Iron Highway configuration has been found
When The system sets up the transaction record
Then The record type is set to cargo and the current cargo status is mapped to the transaction